Module Expr Str Assign NameStore Str ImportFrom alias Assign NameStore Dict FunctionDef arguments args defaults body Expr Str Global identifier Expr Call AttributeLoad NameLoad attr Assign NameStore AttributeLoad NameLoad attr Assign NameStore DictComp NameLoad NameLoad comprehension TupleStore NameStore NameStore Call AttributeLoad NameLoad attr CompareLtE Call NameLoad Call AttributeLoad NameLoad attr NameLoad Num decorator_list Assign NameStore ListLoad Num Assign NameStore ListLoad Num Num Assign NameStore ListLoad Num Num Assign NameStore ListLoad Num Assign NameStore Dict Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str Str BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad BinOpAdd NameLoad NameLoad BinOpAdd NameLoad NameLoad BinOpAdd BinOpAdd NameLoad NameLoad NameLoad Assign NameStore Str Assign NameStore ListLoad Assign NameStore ListComp ListLoad comprehension NameStore Call NameLoad Num FunctionDef arguments args defaults body Expr Str If NameLoad body Return Assign NameStore Num For NameStore Call AttributeLoad NameLoad attr body Assign TupleStore NameStore NameStore NameStore Call AttributeLoad NameLoad attr Str Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr Str Assign NameStore Call NameLoad NameLoad Num Assign NameStore Call NameLoad NameLoad Num If NameLoad body Assign NameStore Call NameLoad NameLoad Assign NameStore TupleLoad NameLoad NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad SubscriptLoad NameLoad Index NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr decorator_list FunctionDef arguments args NameParam defaults body Expr Str Expr Call NameLoad Assign NameStore Num Assign NameStore Num Assign NameStore Call NameLoad NameLoad Assign NameStore ListLoad For NameStore Call NameLoad NameLoad body While CompareLt NameLoad NameLoad body Assign NameStore SubscriptLoad NameLoad Index NameLoad If CompareLtE NameLoad SubscriptLoad NameLoad Index Num body If CompareGtE NameLoad SubscriptLoad NameLoad Index Num body AugAssignAdd NameStore Num Break If NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad SubscriptLoad NameLoad Index NameLoad Assign NameStore Num AugAssignAdd NameStore Num If NameLoad body Expr Call AttributeLoad NameLoad attr TupleLoad NameLoad SubscriptLoad NameLoad Index NameLoad Return NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call AttributeLoad Str attr GeneratorExp SubscriptLoad NameLoad Index Num comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad GeneratorExp BinOpAdd BinOpSub SubscriptLoad NameLoad Index Num SubscriptLoad NameLoad Index Num Num comprehension NameStore NameLoad decorator_list FunctionDef arguments args NameParam defaults body If BoolOpOr CompareLt NameLoad Num CompareGtE NameLoad Num body Raise Call NameLoad BinOpMod Str NameLoad Expr Call NameLoad Return SubscriptLoad NameLoad Index NameLoad decorator_list FunctionDef arguments args NameParam defaults body Return Call NameLoad Call NameLoad NameLoad decorator_list If UnaryOpNot NameLoad body Expr Call NameLoad
N/A N/A OpenType-related data. N/A __author__ roozbeh@google.com (Roozbeh Pournader) nototools unicode_data N/A OMPL N/A _set_ompl N/A N/A N/A N/A N/A Set up OMPL.

    OMPL is defined to be the list of mirrored pairs in Unicode 5.1:
    http://www.microsoft.com/typography/otspec/ttochap1.htm#ltrrtl
     N/A OMPL N/A N/A N/A unicode_data load_data N/A bmg_data N/A unicode_data _bidi_mirroring_glyph_data N/A OMPL N/A char bmg N/A N/A char bmg N/A N/A bmg_data items N/A N/A float N/A N/A unicode_data age char 5.1 N/A N/A ZWSP N/A 8203 N/A JOINERS N/A 8204 8205 N/A BIDI_MARKS N/A 8206 8207 N/A DOTTED_CIRCLE N/A 9676 N/A SPECIAL_CHARACTERS_NEEDED N/A Arab Beng Bugi Deva Gujr Guru Hebr Java Khmr Knda Laoo Mlym Mymr Orya Sinh Syrc Taml Telu Thaa Thai Tibt N/A N/A JOINERS BIDI_MARKS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A BIDI_MARKS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A ZWSP DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A JOINERS BIDI_MARKS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A BIDI_MARKS DOTTED_CIRCLE N/A ZWSP DOTTED_CIRCLE N/A N/A ZWSP JOINERS DOTTED_CIRCLE N/A _unicoderange_data 0	Basic Latin	0000-007F
1	Latin-1 Supplement	0080-00FF
2	Latin Extended-A	0100-017F
3	Latin Extended-B	0180-024F
4	IPA Extensions	0250-02AF
	Phonetic Extensions	1D00-1D7F
	Phonetic Extensions Supplement	1D80-1DBF
5	Spacing Modifier Letters	02B0-02FF
	Modifier Tone Letters	A700-A71F
6	Combining Diacritical Marks	0300-036F
	Combining Diacritical Marks Supplement	1DC0-1DFF
7	Greek and Coptic	0370-03FF
8	Coptic	2C80-2CFF
9	Cyrillic	0400-04FF
	Cyrillic Supplement	0500-052F
	Cyrillic Extended-A	2DE0-2DFF
	Cyrillic Extended-B	A640-A69F
10	Armenian	0530-058F
11	Hebrew	0590-05FF
12	Vai	A500-A63F
13	Arabic	0600-06FF
	Arabic Supplement	0750-077F
14	NKo	07C0-07FF
15	Devanagari	0900-097F
16	Bengali	0980-09FF
17	Gurmukhi	0A00-0A7F
18	Gujarati	0A80-0AFF
19	Oriya	0B00-0B7F
20	Tamil	0B80-0BFF
21	Telugu	0C00-0C7F
22	Kannada	0C80-0CFF
23	Malayalam	0D00-0D7F
24	Thai	0E00-0E7F
25	Lao	0E80-0EFF
26	Georgian	10A0-10FF
	Georgian Supplement	2D00-2D2F
27	Balinese	1B00-1B7F
28	Hangul Jamo	1100-11FF
29	Latin Extended Additional	1E00-1EFF
	Latin Extended-C	2C60-2C7F
	Latin Extended-D	A720-A7FF
30	Greek Extended	1F00-1FFF
31	General Punctuation	2000-206F
	Supplemental Punctuation	2E00-2E7F
32	Superscripts And Subscripts	2070-209F
33	Currency Symbols	20A0-20CF
34	Combining Diacritical Marks For Symbols	20D0-20FF
35	Letterlike Symbols	2100-214F
36	Number Forms	2150-218F
37	Arrows	2190-21FF
	Supplemental Arrows-A	27F0-27FF
	Supplemental Arrows-B	2900-297F
	Miscellaneous Symbols and Arrows	2B00-2BFF
38	Mathematical Operators	2200-22FF
	Supplemental Mathematical Operators	2A00-2AFF
	Miscellaneous Mathematical Symbols-A	27C0-27EF
	Miscellaneous Mathematical Symbols-B	2980-29FF
39	Miscellaneous Technical	2300-23FF
40	Control Pictures	2400-243F
41	Optical Character Recognition	2440-245F
42	Enclosed Alphanumerics	2460-24FF
43	Box Drawing	2500-257F
44	Block Elements	2580-259F
45	Geometric Shapes	25A0-25FF
46	Miscellaneous Symbols	2600-26FF
47	Dingbats	2700-27BF
48	CJK Symbols And Punctuation	3000-303F
49	Hiragana	3040-309F
50	Katakana	30A0-30FF
	Katakana Phonetic Extensions	31F0-31FF
51	Bopomofo	3100-312F
	Bopomofo Extended	31A0-31BF
52	Hangul Compatibility Jamo	3130-318F
53	Phags-pa	A840-A87F
54	Enclosed CJK Letters And Months	3200-32FF
55	CJK Compatibility	3300-33FF
56	Hangul Syllables	AC00-D7AF
57	Non-Plane 0 *	D800-DFFF
58	Phoenician	10900-1091F
59	CJK Unified Ideographs	4E00-9FFF
	CJK Radicals Supplement	2E80-2EFF
	Kangxi Radicals	2F00-2FDF
	Ideographic Description Characters	2FF0-2FFF
	CJK Unified Ideographs Extension A	3400-4DBF
	CJK Unified Ideographs Extension B	20000-2A6DF
	Kanbun	3190-319F
60	Private Use Area (plane 0)	E000-F8FF
61	CJK Strokes	31C0-31EF
	CJK Compatibility Ideographs	F900-FAFF
	CJK Compatibility Ideographs Supplement	2F800-2FA1F
62	Alphabetic Presentation Forms	FB00-FB4F
63	Arabic Presentation Forms-A	FB50-FDFF
64	Combining Half Marks	FE20-FE2F
65	Vertical Forms	FE10-FE1F
	CJK Compatibility Forms	FE30-FE4F
66	Small Form Variants	FE50-FE6F
67	Arabic Presentation Forms-B	FE70-FEFF
68	Halfwidth And Fullwidth Forms	FF00-FFEF
69	Specials	FFF0-FFFF
70	Tibetan	0F00-0FFF
71	Syriac	0700-074F
72	Thaana	0780-07BF
73	Sinhala	0D80-0DFF
74	Myanmar	1000-109F
75	Ethiopic	1200-137F
	Ethiopic Supplement	1380-139F
	Ethiopic Extended	2D80-2DDF
76	Cherokee	13A0-13FF
77	Unified Canadian Aboriginal Syllabics	1400-167F
78	Ogham	1680-169F
79	Runic	16A0-16FF
80	Khmer	1780-17FF
	Khmer Symbols	19E0-19FF
81	Mongolian	1800-18AF
82	Braille Patterns	2800-28FF
83	Yi Syllables	A000-A48F
	Yi Radicals	A490-A4CF
84	Tagalog	1700-171F
	Hanunoo	1720-173F
	Buhid	1740-175F
	Tagbanwa	1760-177F
85	Old Italic	10300-1032F
86	Gothic	10330-1034F
87	Deseret	10400-1044F
88	Byzantine Musical Symbols	1D000-1D0FF
	Musical Symbols	1D100-1D1FF
	Ancient Greek Musical Notation	1D200-1D24F
89	Mathematical Alphanumeric Symbols	1D400-1D7FF
90	Private Use (plane 15)	FF000-FFFFD
	Private Use (plane 16)	100000-10FFFD
91	Variation Selectors	FE00-FE0F
	Variation Selectors Supplement	E0100-E01EF
92	Tags	E0000-E007F
93	Limbu	1900-194F
94	Tai Le	1950-197F
95	New Tai Lue	1980-19DF
96	Buginese	1A00-1A1F
97	Glagolitic	2C00-2C5F
98	Tifinagh	2D30-2D7F
99	Yijing Hexagram Symbols	4DC0-4DFF
100	Syloti Nagri	A800-A82F
101	Linear B Syllabary	10000-1007F
	Linear B Ideograms	10080-100FF
	Aegean Numbers	10100-1013F
102	Ancient Greek Numbers	10140-1018F
103	Ugaritic	10380-1039F
104	Old Persian	103A0-103DF
105	Shavian	10450-1047F
106	Osmanya	10480-104AF
107	Cypriot Syllabary	10800-1083F
108	Kharoshthi	10A00-10A5F
109	Tai Xuan Jing Symbols	1D300-1D35F
110	Cuneiform	12000-123FF
	Cuneiform Numbers and Punctuation	12400-1247F
111	Counting Rod Numerals	1D360-1D37F
112	Sundanese	1B80-1BBF
113	Lepcha	1C00-1C4F
114	Ol Chiki	1C50-1C7F
115	Saurashtra	A880-A8DF
116	Kayah Li	A900-A92F
117	Rejang	A930-A95F
118	Cham	AA00-AA5F
119	Ancient Symbols	10190-101CF
120	Phaistos Disc	101D0-101FF
121	Carian	102A0-102DF
	Lycian	10280-1029F
	Lydian	10920-1093F
122	Domino Tiles	1F030-1F09F
	Mahjong Tiles	1F000-1F02F
 N/A ur_data N/A N/A ur_bucket_info N/A N/A N/A i N/A range 128 _setup_unicoderange_data N/A N/A N/A N/A N/A The unicoderange data used in the os/2 table consists of slightly under
    128 'buckets', each of which consists of one or more 'ranges' of codepoints.
    Each range has a name, start, and end.  Bucket 57 is special, it consists of
    all non-BMP codepoints and overlaps the other ranges, though in the data it
    corresponds to the high and low UTF-16 surrogate code units.  The other ranges
    are all disjoint.

    We build two tables.  ur_data is a list of the ranges, consisting of the
    start, end, bucket index, and name.  It is sorted by range start.  ur_bucket_info
    is a list of buckets in bucket index order; each entry is a list of the tuples
    in ur_data that belong to that bucket.

    This is called by functions that require these tables.  On first use it builds
    ur_data and ur_bucket_info, which should remain unchanged thereafter. N/A ur_data N/A N/A N/A index 0 N/A line N/A N/A _unicoderange_data splitlines N/A N/A N/A index_str name urange N/A N/A line split N/A N/A range_start_str range_end_str N/A N/A urange split - N/A range_start N/A int range_start_str 16 N/A range_end N/A int range_end_str 16 N/A index_str N/A N/A index N/A int index_str N/A tup N/A range_start range_end index name N/A N/A N/A ur_data append tup N/A N/A N/A N/A ur_bucket_info N/A index append tup N/A N/A N/A ur_data sort N/A collect_unicoderange_info N/A N/A cmap N/A N/A N/A Return a list of 2-tuples, the first element a count of the characters in a
    range, the second element the 4-tuple of information about that range: start,
    end, bucket number, and name.  Only ranges for which the cmap has a character
    are included. N/A N/A _setup_unicoderange_data N/A range_count 0 N/A index 0 N/A limit N/A len ur_data N/A result N/A N/A cp N/A sorted cmap N/A N/A N/A index limit N/A N/A tup N/A ur_data N/A index N/A N/A cp N/A tup N/A 1 N/A N/A N/A cp N/A tup N/A 0 N/A N/A range_count 1 N/A N/A range_count N/A N/A N/A N/A result append N/A range_count N/A ur_data N/A index N/A range_count 0 N/A index 1 N/A range_count N/A N/A N/A N/A result append N/A range_count N/A ur_data N/A index N/A result N/A unicoderange_bucket_info_name N/A N/A bucket_info N/A N/A N/A N/A N/A ,  join N/A N/A t N/A 3 N/A t bucket_info N/A unicoderange_bucket_info_size N/A N/A bucket_info N/A N/A N/A N/A sum N/A N/A N/A N/A t N/A 1 N/A t N/A 0 1 N/A t bucket_info N/A unicoderange_bucket_index_to_info N/A N/A bucket_index N/A N/A N/A N/A N/A bucket_index 0 N/A bucket_index 128 N/A N/A N/A ValueError N/A bucket_index %s out of range bucket_index N/A N/A _setup_unicoderange_data N/A N/A ur_bucket_info N/A bucket_index N/A unicoderange_bucket_index_to_name N/A N/A bucket_index N/A N/A N/A N/A unicoderange_bucket_info_name N/A unicoderange_bucket_index_to_info bucket_index N/A N/A N/A OMPL N/A N/A N/A _set_ompl