+++ /dev/null
-#!/usr/bin/env python\r
-\r
-"""\r
-For each argument on the command line, look for it in the set of all Unicode\r
-names. Arguments are treated as case-insensitive regular expressions, e.g.:\r
-\r
- % find-uname 'small letter a$' 'horizontal line'\r
- *** small letter a$ matches ***\r
- LATIN SMALL LETTER A (97)\r
- COMBINING LATIN SMALL LETTER A (867)\r
- CYRILLIC SMALL LETTER A (1072)\r
- PARENTHESIZED LATIN SMALL LETTER A (9372)\r
- CIRCLED LATIN SMALL LETTER A (9424)\r
- FULLWIDTH LATIN SMALL LETTER A (65345)\r
- *** horizontal line matches ***\r
- HORIZONTAL LINE EXTENSION (9135)\r
-"""\r
-\r
-import unicodedata\r
-import sys\r
-import re\r
-\r
-def main(args):\r
- unicode_names = []\r
- for ix in range(sys.maxunicode+1):\r
- try:\r
- unicode_names.append((ix, unicodedata.name(unichr(ix))))\r
- except ValueError: # no name for the character\r
- pass\r
- for arg in args:\r
- pat = re.compile(arg, re.I)\r
- matches = [(y,x) for (x,y) in unicode_names\r
- if pat.search(y) is not None]\r
- if matches:\r
- print "***", arg, "matches", "***"\r
- for match in matches:\r
- print "%s (%d)" % match\r
-\r
-if __name__ == "__main__":\r
- main(sys.argv[1:])\r