bidi 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,34 @@
1
+ #!/usr/bin/ruby
2
+
3
+ # Make a simplified version of the BidiMirroring.txt file,
4
+ # that contains characters value and their mirrored version only.
5
+
6
+ datFile = File.open("../data/BidiMirroring.dat", 'w');
7
+
8
+ File.open('BidiMirroring.txt', 'r'){|file|
9
+ file.each_line {|line|
10
+ next if line[0]=='#' or line[0].chr=='#'
11
+ sCIndex=line.index(';'); # Where is the semicolon?
12
+ next if not sCIndex # No semicolon - skip
13
+ ucode=line[0..sCIndex-1] # Up to the semicolon is
14
+ # the unicode value.
15
+ hexValue=ucode.hex # The integer value of the code
16
+ keyMask = 0xff0000
17
+ bitsToShift = 16;
18
+ while keyMask > 0 do
19
+ datFile.write ((hexValue & keyMask) >> bitsToShift).chr
20
+ keyMask >>= 8
21
+ bitsToShift -= 8
22
+ end
23
+ mirroredValueString = line[sCIndex + 1..-1]
24
+ mirroredValue=mirroredValueString.hex
25
+ mirroedValueMask = 0xff0000
26
+ bitsToShift = 16
27
+ while mirroedValueMask > 0 do
28
+ datFile.write ((mirroredValue & mirroedValueMask) >> bitsToShift).chr
29
+ mirroedValueMask >>= 8
30
+ bitsToShift -= 8
31
+ end
32
+ }
33
+ }
34
+ datFile.close
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/ruby
2
+
3
+ # Create an index file for the unicode text. The file is sorted by the
4
+ # char unicode value (24 bits). Each record consists of the key and
5
+ # position(32 bits).
6
+ idxFile = File.open("UnicodeData.idx", 'w');
7
+ pos=0
8
+ File.open('UnicodeData.txt', 'r'){|file|
9
+ file.each_line {|line|
10
+ sCIndex=line.index(';'); # Where is the semicolon?
11
+ ucode=line[0..sCIndex-1] # Up to the semicolon is
12
+ # the unicode value.
13
+ hexValue=ucode.hex # The integer value of the code
14
+ keyMask = 0xff0000
15
+ bitsToShift = 16;
16
+ while keyMask > 0 do
17
+ idxFile.write ((hexValue & keyMask) >> bitsToShift).chr
18
+ keyMask >>= 8
19
+ bitsToShift -= 8
20
+ end
21
+ posMask = 0xff000000
22
+ bitsToShift = 24
23
+ while posMask > 0 do
24
+ idxFile.write ((pos & posMask) >> bitsToShift).chr
25
+ posMask >>= 8
26
+ bitsToShift -= 8
27
+ end
28
+ pos = file.pos
29
+ }
30
+ }
31
+ idxFile.close
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/ruby
2
+ require 'weakref'
3
+
4
+ class WeakHashMap
5
+ def initialize
6
+ @internalHash=Hash.new
7
+ @mutex=Mutex.new
8
+ end
9
+
10
+ class RefDetails
11
+ attr_reader :key, :value
12
+ def initialize (hash, key, value)
13
+
14
+ @hash = hash
15
+ @key = key
16
+ @value = value
17
+ begin
18
+ ObjectSpace.define_finalizer(value, proc {@hash.delete(@key)});
19
+ rescue ArgumentError
20
+ end
21
+ end
22
+ end
23
+
24
+ def []= key, value
25
+ refDetails=RefDetails.new @internalHash, key, value
26
+ ref=WeakRef.new (refDetails)
27
+ @mutex.synchronize do
28
+ @internalHash[key]=ref
29
+ end
30
+ end
31
+
32
+ def [] key
33
+ ref=@internalHash[key]
34
+ return nil unless ref
35
+ GC.disable
36
+ unless ref.weakref_alive? {
37
+ GC.enable
38
+ return nil
39
+ }
40
+
41
+ ret_value = ref.__getobj__.value
42
+ GC.enable
43
+ ret_value
44
+ end
45
+
46
+ def delete key
47
+ @mutex.synchronize do
48
+ @internalHash.delete key
49
+ end
50
+ end
51
+ end
52
+
53
+ end
@@ -0,0 +1,611 @@
1
+ # BidiMirroring-6.1.0.txt
2
+ # Date: 2011-12-20, 19:31:00 GMT [KW, LI]
3
+ #
4
+ # Bidi_Mirroring_Glyph Property
5
+ #
6
+ # This file is an informative contributory data file in the
7
+ # Unicode Character Database.
8
+ #
9
+ # Copyright (c) 1991-2011 Unicode, Inc.
10
+ # For terms of use, see http://www.unicode.org/terms_of_use.html
11
+ #
12
+ # This data file lists characters that have the Bidi_Mirrored=Yes property
13
+ # value, for which there is another Unicode character that typically has a glyph
14
+ # that is the mirror image of the original character's glyph.
15
+ #
16
+ # The repertoire covered by the file is Unicode 6.1.0.
17
+ #
18
+ # The file contains a list of lines with mappings from one code point
19
+ # to another one for character-based mirroring.
20
+ # Note that for "real" mirroring, a rendering engine needs to select
21
+ # appropriate alternative glyphs, and that many Unicode characters do not
22
+ # have a mirror-image Unicode character.
23
+ #
24
+ # Each mapping line contains two fields, separated by a semicolon (';').
25
+ # Each of the two fields contains a code point represented as a
26
+ # variable-length hexadecimal value with 4 to 6 digits.
27
+ # A comment indicates where the characters are "BEST FIT" mirroring.
28
+ #
29
+ # Code points for which Bidi_Mirrored=Yes, but for which no appropriate
30
+ # characters exist with mirrored glyphs, are
31
+ # listed as comments at the end of the file.
32
+ #
33
+ # Note: (2011-12-19) There is an inconsistency between the
34
+ # following statement about the default value
35
+ # of the Bidi_Mirroring_Glyph property and the
36
+ # value of the @missing line for Bidi_Mirroring_Glyph in
37
+ # PropertyValueAliases.txt. This inconsistency was discovered too
38
+ # late in the release process to be resolved by
39
+ # the UTC. The inconsistency will be resolved in a future revision.
40
+ #
41
+ # Formally, the default value of the Bidi_Mirroring_Glyph property
42
+ # for each code point is the code point itself, unless a mapping to
43
+ # some other character is specified in this data file. When a code
44
+ # point has the default value for the Bidi_Mirroring_Glyph property,
45
+ # that means that no other character exists whose glyph is suitable
46
+ # for character-based mirroring.
47
+ #
48
+ # For information on bidi mirroring, see UAX #9: Bidirectional Algorithm,
49
+ # at http://www.unicode.org/unicode/reports/tr9/
50
+ #
51
+ # This file was originally created by Markus Scherer.
52
+ # Extended for Unicode 3.2, 4.0, 4.1, 5.0, 5.1, 5.2, and 6.0 by Ken Whistler,
53
+ # and for Unicode 6.1 by Ken Whistler and Laurentiu Iancu.
54
+ #
55
+ # ############################################################
56
+ #
57
+ # Property: Bidi_Mirroring_Glyph
58
+ #
59
+
60
+ 0028; 0029 # LEFT PARENTHESIS
61
+ 0029; 0028 # RIGHT PARENTHESIS
62
+ 003C; 003E # LESS-THAN SIGN
63
+ 003E; 003C # GREATER-THAN SIGN
64
+ 005B; 005D # LEFT SQUARE BRACKET
65
+ 005D; 005B # RIGHT SQUARE BRACKET
66
+ 007B; 007D # LEFT CURLY BRACKET
67
+ 007D; 007B # RIGHT CURLY BRACKET
68
+ 00AB; 00BB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
69
+ 00BB; 00AB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
70
+ 0F3A; 0F3B # TIBETAN MARK GUG RTAGS GYON
71
+ 0F3B; 0F3A # TIBETAN MARK GUG RTAGS GYAS
72
+ 0F3C; 0F3D # TIBETAN MARK ANG KHANG GYON
73
+ 0F3D; 0F3C # TIBETAN MARK ANG KHANG GYAS
74
+ 169B; 169C # OGHAM FEATHER MARK
75
+ 169C; 169B # OGHAM REVERSED FEATHER MARK
76
+ 2039; 203A # SINGLE LEFT-POINTING ANGLE QUOTATION MARK
77
+ 203A; 2039 # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
78
+ 2045; 2046 # LEFT SQUARE BRACKET WITH QUILL
79
+ 2046; 2045 # RIGHT SQUARE BRACKET WITH QUILL
80
+ 207D; 207E # SUPERSCRIPT LEFT PARENTHESIS
81
+ 207E; 207D # SUPERSCRIPT RIGHT PARENTHESIS
82
+ 208D; 208E # SUBSCRIPT LEFT PARENTHESIS
83
+ 208E; 208D # SUBSCRIPT RIGHT PARENTHESIS
84
+ 2208; 220B # ELEMENT OF
85
+ 2209; 220C # NOT AN ELEMENT OF
86
+ 220A; 220D # SMALL ELEMENT OF
87
+ 220B; 2208 # CONTAINS AS MEMBER
88
+ 220C; 2209 # DOES NOT CONTAIN AS MEMBER
89
+ 220D; 220A # SMALL CONTAINS AS MEMBER
90
+ 2215; 29F5 # DIVISION SLASH
91
+ 223C; 223D # TILDE OPERATOR
92
+ 223D; 223C # REVERSED TILDE
93
+ 2243; 22CD # ASYMPTOTICALLY EQUAL TO
94
+ 2252; 2253 # APPROXIMATELY EQUAL TO OR THE IMAGE OF
95
+ 2253; 2252 # IMAGE OF OR APPROXIMATELY EQUAL TO
96
+ 2254; 2255 # COLON EQUALS
97
+ 2255; 2254 # EQUALS COLON
98
+ 2264; 2265 # LESS-THAN OR EQUAL TO
99
+ 2265; 2264 # GREATER-THAN OR EQUAL TO
100
+ 2266; 2267 # LESS-THAN OVER EQUAL TO
101
+ 2267; 2266 # GREATER-THAN OVER EQUAL TO
102
+ 2268; 2269 # [BEST FIT] LESS-THAN BUT NOT EQUAL TO
103
+ 2269; 2268 # [BEST FIT] GREATER-THAN BUT NOT EQUAL TO
104
+ 226A; 226B # MUCH LESS-THAN
105
+ 226B; 226A # MUCH GREATER-THAN
106
+ 226E; 226F # [BEST FIT] NOT LESS-THAN
107
+ 226F; 226E # [BEST FIT] NOT GREATER-THAN
108
+ 2270; 2271 # [BEST FIT] NEITHER LESS-THAN NOR EQUAL TO
109
+ 2271; 2270 # [BEST FIT] NEITHER GREATER-THAN NOR EQUAL TO
110
+ 2272; 2273 # [BEST FIT] LESS-THAN OR EQUIVALENT TO
111
+ 2273; 2272 # [BEST FIT] GREATER-THAN OR EQUIVALENT TO
112
+ 2274; 2275 # [BEST FIT] NEITHER LESS-THAN NOR EQUIVALENT TO
113
+ 2275; 2274 # [BEST FIT] NEITHER GREATER-THAN NOR EQUIVALENT TO
114
+ 2276; 2277 # LESS-THAN OR GREATER-THAN
115
+ 2277; 2276 # GREATER-THAN OR LESS-THAN
116
+ 2278; 2279 # [BEST FIT] NEITHER LESS-THAN NOR GREATER-THAN
117
+ 2279; 2278 # [BEST FIT] NEITHER GREATER-THAN NOR LESS-THAN
118
+ 227A; 227B # PRECEDES
119
+ 227B; 227A # SUCCEEDS
120
+ 227C; 227D # PRECEDES OR EQUAL TO
121
+ 227D; 227C # SUCCEEDS OR EQUAL TO
122
+ 227E; 227F # [BEST FIT] PRECEDES OR EQUIVALENT TO
123
+ 227F; 227E # [BEST FIT] SUCCEEDS OR EQUIVALENT TO
124
+ 2280; 2281 # [BEST FIT] DOES NOT PRECEDE
125
+ 2281; 2280 # [BEST FIT] DOES NOT SUCCEED
126
+ 2282; 2283 # SUBSET OF
127
+ 2283; 2282 # SUPERSET OF
128
+ 2284; 2285 # [BEST FIT] NOT A SUBSET OF
129
+ 2285; 2284 # [BEST FIT] NOT A SUPERSET OF
130
+ 2286; 2287 # SUBSET OF OR EQUAL TO
131
+ 2287; 2286 # SUPERSET OF OR EQUAL TO
132
+ 2288; 2289 # [BEST FIT] NEITHER A SUBSET OF NOR EQUAL TO
133
+ 2289; 2288 # [BEST FIT] NEITHER A SUPERSET OF NOR EQUAL TO
134
+ 228A; 228B # [BEST FIT] SUBSET OF WITH NOT EQUAL TO
135
+ 228B; 228A # [BEST FIT] SUPERSET OF WITH NOT EQUAL TO
136
+ 228F; 2290 # SQUARE IMAGE OF
137
+ 2290; 228F # SQUARE ORIGINAL OF
138
+ 2291; 2292 # SQUARE IMAGE OF OR EQUAL TO
139
+ 2292; 2291 # SQUARE ORIGINAL OF OR EQUAL TO
140
+ 2298; 29B8 # CIRCLED DIVISION SLASH
141
+ 22A2; 22A3 # RIGHT TACK
142
+ 22A3; 22A2 # LEFT TACK
143
+ 22A6; 2ADE # ASSERTION
144
+ 22A8; 2AE4 # TRUE
145
+ 22A9; 2AE3 # FORCES
146
+ 22AB; 2AE5 # DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
147
+ 22B0; 22B1 # PRECEDES UNDER RELATION
148
+ 22B1; 22B0 # SUCCEEDS UNDER RELATION
149
+ 22B2; 22B3 # NORMAL SUBGROUP OF
150
+ 22B3; 22B2 # CONTAINS AS NORMAL SUBGROUP
151
+ 22B4; 22B5 # NORMAL SUBGROUP OF OR EQUAL TO
152
+ 22B5; 22B4 # CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
153
+ 22B6; 22B7 # ORIGINAL OF
154
+ 22B7; 22B6 # IMAGE OF
155
+ 22C9; 22CA # LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
156
+ 22CA; 22C9 # RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
157
+ 22CB; 22CC # LEFT SEMIDIRECT PRODUCT
158
+ 22CC; 22CB # RIGHT SEMIDIRECT PRODUCT
159
+ 22CD; 2243 # REVERSED TILDE EQUALS
160
+ 22D0; 22D1 # DOUBLE SUBSET
161
+ 22D1; 22D0 # DOUBLE SUPERSET
162
+ 22D6; 22D7 # LESS-THAN WITH DOT
163
+ 22D7; 22D6 # GREATER-THAN WITH DOT
164
+ 22D8; 22D9 # VERY MUCH LESS-THAN
165
+ 22D9; 22D8 # VERY MUCH GREATER-THAN
166
+ 22DA; 22DB # LESS-THAN EQUAL TO OR GREATER-THAN
167
+ 22DB; 22DA # GREATER-THAN EQUAL TO OR LESS-THAN
168
+ 22DC; 22DD # EQUAL TO OR LESS-THAN
169
+ 22DD; 22DC # EQUAL TO OR GREATER-THAN
170
+ 22DE; 22DF # EQUAL TO OR PRECEDES
171
+ 22DF; 22DE # EQUAL TO OR SUCCEEDS
172
+ 22E0; 22E1 # [BEST FIT] DOES NOT PRECEDE OR EQUAL
173
+ 22E1; 22E0 # [BEST FIT] DOES NOT SUCCEED OR EQUAL
174
+ 22E2; 22E3 # [BEST FIT] NOT SQUARE IMAGE OF OR EQUAL TO
175
+ 22E3; 22E2 # [BEST FIT] NOT SQUARE ORIGINAL OF OR EQUAL TO
176
+ 22E4; 22E5 # [BEST FIT] SQUARE IMAGE OF OR NOT EQUAL TO
177
+ 22E5; 22E4 # [BEST FIT] SQUARE ORIGINAL OF OR NOT EQUAL TO
178
+ 22E6; 22E7 # [BEST FIT] LESS-THAN BUT NOT EQUIVALENT TO
179
+ 22E7; 22E6 # [BEST FIT] GREATER-THAN BUT NOT EQUIVALENT TO
180
+ 22E8; 22E9 # [BEST FIT] PRECEDES BUT NOT EQUIVALENT TO
181
+ 22E9; 22E8 # [BEST FIT] SUCCEEDS BUT NOT EQUIVALENT TO
182
+ 22EA; 22EB # [BEST FIT] NOT NORMAL SUBGROUP OF
183
+ 22EB; 22EA # [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP
184
+ 22EC; 22ED # [BEST FIT] NOT NORMAL SUBGROUP OF OR EQUAL TO
185
+ 22ED; 22EC # [BEST FIT] DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
186
+ 22F0; 22F1 # UP RIGHT DIAGONAL ELLIPSIS
187
+ 22F1; 22F0 # DOWN RIGHT DIAGONAL ELLIPSIS
188
+ 22F2; 22FA # ELEMENT OF WITH LONG HORIZONTAL STROKE
189
+ 22F3; 22FB # ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
190
+ 22F4; 22FC # SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
191
+ 22F6; 22FD # ELEMENT OF WITH OVERBAR
192
+ 22F7; 22FE # SMALL ELEMENT OF WITH OVERBAR
193
+ 22FA; 22F2 # CONTAINS WITH LONG HORIZONTAL STROKE
194
+ 22FB; 22F3 # CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
195
+ 22FC; 22F4 # SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
196
+ 22FD; 22F6 # CONTAINS WITH OVERBAR
197
+ 22FE; 22F7 # SMALL CONTAINS WITH OVERBAR
198
+ 2308; 2309 # LEFT CEILING
199
+ 2309; 2308 # RIGHT CEILING
200
+ 230A; 230B # LEFT FLOOR
201
+ 230B; 230A # RIGHT FLOOR
202
+ 2329; 232A # LEFT-POINTING ANGLE BRACKET
203
+ 232A; 2329 # RIGHT-POINTING ANGLE BRACKET
204
+ 2768; 2769 # MEDIUM LEFT PARENTHESIS ORNAMENT
205
+ 2769; 2768 # MEDIUM RIGHT PARENTHESIS ORNAMENT
206
+ 276A; 276B # MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT
207
+ 276B; 276A # MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT
208
+ 276C; 276D # MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT
209
+ 276D; 276C # MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT
210
+ 276E; 276F # HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT
211
+ 276F; 276E # HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT
212
+ 2770; 2771 # HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
213
+ 2771; 2770 # HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
214
+ 2772; 2773 # LIGHT LEFT TORTOISE SHELL BRACKET
215
+ 2773; 2772 # LIGHT RIGHT TORTOISE SHELL BRACKET
216
+ 2774; 2775 # MEDIUM LEFT CURLY BRACKET ORNAMENT
217
+ 2775; 2774 # MEDIUM RIGHT CURLY BRACKET ORNAMENT
218
+ 27C3; 27C4 # OPEN SUBSET
219
+ 27C4; 27C3 # OPEN SUPERSET
220
+ 27C5; 27C6 # LEFT S-SHAPED BAG DELIMITER
221
+ 27C6; 27C5 # RIGHT S-SHAPED BAG DELIMITER
222
+ 27C8; 27C9 # REVERSE SOLIDUS PRECEDING SUBSET
223
+ 27C9; 27C8 # SUPERSET PRECEDING SOLIDUS
224
+ 27CB; 27CD # MATHEMATICAL RISING DIAGONAL
225
+ 27CD; 27CB # MATHEMATICAL FALLING DIAGONAL
226
+ 27D5; 27D6 # LEFT OUTER JOIN
227
+ 27D6; 27D5 # RIGHT OUTER JOIN
228
+ 27DD; 27DE # LONG RIGHT TACK
229
+ 27DE; 27DD # LONG LEFT TACK
230
+ 27E2; 27E3 # WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK
231
+ 27E3; 27E2 # WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK
232
+ 27E4; 27E5 # WHITE SQUARE WITH LEFTWARDS TICK
233
+ 27E5; 27E4 # WHITE SQUARE WITH RIGHTWARDS TICK
234
+ 27E6; 27E7 # MATHEMATICAL LEFT WHITE SQUARE BRACKET
235
+ 27E7; 27E6 # MATHEMATICAL RIGHT WHITE SQUARE BRACKET
236
+ 27E8; 27E9 # MATHEMATICAL LEFT ANGLE BRACKET
237
+ 27E9; 27E8 # MATHEMATICAL RIGHT ANGLE BRACKET
238
+ 27EA; 27EB # MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
239
+ 27EB; 27EA # MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
240
+ 27EC; 27ED # MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
241
+ 27ED; 27EC # MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
242
+ 27EE; 27EF # MATHEMATICAL LEFT FLATTENED PARENTHESIS
243
+ 27EF; 27EE # MATHEMATICAL RIGHT FLATTENED PARENTHESIS
244
+ 2983; 2984 # LEFT WHITE CURLY BRACKET
245
+ 2984; 2983 # RIGHT WHITE CURLY BRACKET
246
+ 2985; 2986 # LEFT WHITE PARENTHESIS
247
+ 2986; 2985 # RIGHT WHITE PARENTHESIS
248
+ 2987; 2988 # Z NOTATION LEFT IMAGE BRACKET
249
+ 2988; 2987 # Z NOTATION RIGHT IMAGE BRACKET
250
+ 2989; 298A # Z NOTATION LEFT BINDING BRACKET
251
+ 298A; 2989 # Z NOTATION RIGHT BINDING BRACKET
252
+ 298B; 298C # LEFT SQUARE BRACKET WITH UNDERBAR
253
+ 298C; 298B # RIGHT SQUARE BRACKET WITH UNDERBAR
254
+ 298D; 2990 # LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
255
+ 298E; 298F # RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
256
+ 298F; 298E # LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
257
+ 2990; 298D # RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
258
+ 2991; 2992 # LEFT ANGLE BRACKET WITH DOT
259
+ 2992; 2991 # RIGHT ANGLE BRACKET WITH DOT
260
+ 2993; 2994 # LEFT ARC LESS-THAN BRACKET
261
+ 2994; 2993 # RIGHT ARC GREATER-THAN BRACKET
262
+ 2995; 2996 # DOUBLE LEFT ARC GREATER-THAN BRACKET
263
+ 2996; 2995 # DOUBLE RIGHT ARC LESS-THAN BRACKET
264
+ 2997; 2998 # LEFT BLACK TORTOISE SHELL BRACKET
265
+ 2998; 2997 # RIGHT BLACK TORTOISE SHELL BRACKET
266
+ 29B8; 2298 # CIRCLED REVERSE SOLIDUS
267
+ 29C0; 29C1 # CIRCLED LESS-THAN
268
+ 29C1; 29C0 # CIRCLED GREATER-THAN
269
+ 29C4; 29C5 # SQUARED RISING DIAGONAL SLASH
270
+ 29C5; 29C4 # SQUARED FALLING DIAGONAL SLASH
271
+ 29CF; 29D0 # LEFT TRIANGLE BESIDE VERTICAL BAR
272
+ 29D0; 29CF # VERTICAL BAR BESIDE RIGHT TRIANGLE
273
+ 29D1; 29D2 # BOWTIE WITH LEFT HALF BLACK
274
+ 29D2; 29D1 # BOWTIE WITH RIGHT HALF BLACK
275
+ 29D4; 29D5 # TIMES WITH LEFT HALF BLACK
276
+ 29D5; 29D4 # TIMES WITH RIGHT HALF BLACK
277
+ 29D8; 29D9 # LEFT WIGGLY FENCE
278
+ 29D9; 29D8 # RIGHT WIGGLY FENCE
279
+ 29DA; 29DB # LEFT DOUBLE WIGGLY FENCE
280
+ 29DB; 29DA # RIGHT DOUBLE WIGGLY FENCE
281
+ 29F5; 2215 # REVERSE SOLIDUS OPERATOR
282
+ 29F8; 29F9 # BIG SOLIDUS
283
+ 29F9; 29F8 # BIG REVERSE SOLIDUS
284
+ 29FC; 29FD # LEFT-POINTING CURVED ANGLE BRACKET
285
+ 29FD; 29FC # RIGHT-POINTING CURVED ANGLE BRACKET
286
+ 2A2B; 2A2C # MINUS SIGN WITH FALLING DOTS
287
+ 2A2C; 2A2B # MINUS SIGN WITH RISING DOTS
288
+ 2A2D; 2A2E # PLUS SIGN IN LEFT HALF CIRCLE
289
+ 2A2E; 2A2D # PLUS SIGN IN RIGHT HALF CIRCLE
290
+ 2A34; 2A35 # MULTIPLICATION SIGN IN LEFT HALF CIRCLE
291
+ 2A35; 2A34 # MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
292
+ 2A3C; 2A3D # INTERIOR PRODUCT
293
+ 2A3D; 2A3C # RIGHTHAND INTERIOR PRODUCT
294
+ 2A64; 2A65 # Z NOTATION DOMAIN ANTIRESTRICTION
295
+ 2A65; 2A64 # Z NOTATION RANGE ANTIRESTRICTION
296
+ 2A79; 2A7A # LESS-THAN WITH CIRCLE INSIDE
297
+ 2A7A; 2A79 # GREATER-THAN WITH CIRCLE INSIDE
298
+ 2A7D; 2A7E # LESS-THAN OR SLANTED EQUAL TO
299
+ 2A7E; 2A7D # GREATER-THAN OR SLANTED EQUAL TO
300
+ 2A7F; 2A80 # LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
301
+ 2A80; 2A7F # GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
302
+ 2A81; 2A82 # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
303
+ 2A82; 2A81 # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
304
+ 2A83; 2A84 # LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
305
+ 2A84; 2A83 # GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
306
+ 2A8B; 2A8C # LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
307
+ 2A8C; 2A8B # GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
308
+ 2A91; 2A92 # LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
309
+ 2A92; 2A91 # GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
310
+ 2A93; 2A94 # LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
311
+ 2A94; 2A93 # GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
312
+ 2A95; 2A96 # SLANTED EQUAL TO OR LESS-THAN
313
+ 2A96; 2A95 # SLANTED EQUAL TO OR GREATER-THAN
314
+ 2A97; 2A98 # SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
315
+ 2A98; 2A97 # SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
316
+ 2A99; 2A9A # DOUBLE-LINE EQUAL TO OR LESS-THAN
317
+ 2A9A; 2A99 # DOUBLE-LINE EQUAL TO OR GREATER-THAN
318
+ 2A9B; 2A9C # DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN
319
+ 2A9C; 2A9B # DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN
320
+ 2AA1; 2AA2 # DOUBLE NESTED LESS-THAN
321
+ 2AA2; 2AA1 # DOUBLE NESTED GREATER-THAN
322
+ 2AA6; 2AA7 # LESS-THAN CLOSED BY CURVE
323
+ 2AA7; 2AA6 # GREATER-THAN CLOSED BY CURVE
324
+ 2AA8; 2AA9 # LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
325
+ 2AA9; 2AA8 # GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
326
+ 2AAA; 2AAB # SMALLER THAN
327
+ 2AAB; 2AAA # LARGER THAN
328
+ 2AAC; 2AAD # SMALLER THAN OR EQUAL TO
329
+ 2AAD; 2AAC # LARGER THAN OR EQUAL TO
330
+ 2AAF; 2AB0 # PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
331
+ 2AB0; 2AAF # SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
332
+ 2AB3; 2AB4 # PRECEDES ABOVE EQUALS SIGN
333
+ 2AB4; 2AB3 # SUCCEEDS ABOVE EQUALS SIGN
334
+ 2ABB; 2ABC # DOUBLE PRECEDES
335
+ 2ABC; 2ABB # DOUBLE SUCCEEDS
336
+ 2ABD; 2ABE # SUBSET WITH DOT
337
+ 2ABE; 2ABD # SUPERSET WITH DOT
338
+ 2ABF; 2AC0 # SUBSET WITH PLUS SIGN BELOW
339
+ 2AC0; 2ABF # SUPERSET WITH PLUS SIGN BELOW
340
+ 2AC1; 2AC2 # SUBSET WITH MULTIPLICATION SIGN BELOW
341
+ 2AC2; 2AC1 # SUPERSET WITH MULTIPLICATION SIGN BELOW
342
+ 2AC3; 2AC4 # SUBSET OF OR EQUAL TO WITH DOT ABOVE
343
+ 2AC4; 2AC3 # SUPERSET OF OR EQUAL TO WITH DOT ABOVE
344
+ 2AC5; 2AC6 # SUBSET OF ABOVE EQUALS SIGN
345
+ 2AC6; 2AC5 # SUPERSET OF ABOVE EQUALS SIGN
346
+ 2ACD; 2ACE # SQUARE LEFT OPEN BOX OPERATOR
347
+ 2ACE; 2ACD # SQUARE RIGHT OPEN BOX OPERATOR
348
+ 2ACF; 2AD0 # CLOSED SUBSET
349
+ 2AD0; 2ACF # CLOSED SUPERSET
350
+ 2AD1; 2AD2 # CLOSED SUBSET OR EQUAL TO
351
+ 2AD2; 2AD1 # CLOSED SUPERSET OR EQUAL TO
352
+ 2AD3; 2AD4 # SUBSET ABOVE SUPERSET
353
+ 2AD4; 2AD3 # SUPERSET ABOVE SUBSET
354
+ 2AD5; 2AD6 # SUBSET ABOVE SUBSET
355
+ 2AD6; 2AD5 # SUPERSET ABOVE SUPERSET
356
+ 2ADE; 22A6 # SHORT LEFT TACK
357
+ 2AE3; 22A9 # DOUBLE VERTICAL BAR LEFT TURNSTILE
358
+ 2AE4; 22A8 # VERTICAL BAR DOUBLE LEFT TURNSTILE
359
+ 2AE5; 22AB # DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE
360
+ 2AEC; 2AED # DOUBLE STROKE NOT SIGN
361
+ 2AED; 2AEC # REVERSED DOUBLE STROKE NOT SIGN
362
+ 2AF7; 2AF8 # TRIPLE NESTED LESS-THAN
363
+ 2AF8; 2AF7 # TRIPLE NESTED GREATER-THAN
364
+ 2AF9; 2AFA # DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO
365
+ 2AFA; 2AF9 # DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO
366
+ 2E02; 2E03 # LEFT SUBSTITUTION BRACKET
367
+ 2E03; 2E02 # RIGHT SUBSTITUTION BRACKET
368
+ 2E04; 2E05 # LEFT DOTTED SUBSTITUTION BRACKET
369
+ 2E05; 2E04 # RIGHT DOTTED SUBSTITUTION BRACKET
370
+ 2E09; 2E0A # LEFT TRANSPOSITION BRACKET
371
+ 2E0A; 2E09 # RIGHT TRANSPOSITION BRACKET
372
+ 2E0C; 2E0D # LEFT RAISED OMISSION BRACKET
373
+ 2E0D; 2E0C # RIGHT RAISED OMISSION BRACKET
374
+ 2E1C; 2E1D # LEFT LOW PARAPHRASE BRACKET
375
+ 2E1D; 2E1C # RIGHT LOW PARAPHRASE BRACKET
376
+ 2E20; 2E21 # LEFT VERTICAL BAR WITH QUILL
377
+ 2E21; 2E20 # RIGHT VERTICAL BAR WITH QUILL
378
+ 2E22; 2E23 # TOP LEFT HALF BRACKET
379
+ 2E23; 2E22 # TOP RIGHT HALF BRACKET
380
+ 2E24; 2E25 # BOTTOM LEFT HALF BRACKET
381
+ 2E25; 2E24 # BOTTOM RIGHT HALF BRACKET
382
+ 2E26; 2E27 # LEFT SIDEWAYS U BRACKET
383
+ 2E27; 2E26 # RIGHT SIDEWAYS U BRACKET
384
+ 2E28; 2E29 # LEFT DOUBLE PARENTHESIS
385
+ 2E29; 2E28 # RIGHT DOUBLE PARENTHESIS
386
+ 3008; 3009 # LEFT ANGLE BRACKET
387
+ 3009; 3008 # RIGHT ANGLE BRACKET
388
+ 300A; 300B # LEFT DOUBLE ANGLE BRACKET
389
+ 300B; 300A # RIGHT DOUBLE ANGLE BRACKET
390
+ 300C; 300D # [BEST FIT] LEFT CORNER BRACKET
391
+ 300D; 300C # [BEST FIT] RIGHT CORNER BRACKET
392
+ 300E; 300F # [BEST FIT] LEFT WHITE CORNER BRACKET
393
+ 300F; 300E # [BEST FIT] RIGHT WHITE CORNER BRACKET
394
+ 3010; 3011 # LEFT BLACK LENTICULAR BRACKET
395
+ 3011; 3010 # RIGHT BLACK LENTICULAR BRACKET
396
+ 3014; 3015 # LEFT TORTOISE SHELL BRACKET
397
+ 3015; 3014 # RIGHT TORTOISE SHELL BRACKET
398
+ 3016; 3017 # LEFT WHITE LENTICULAR BRACKET
399
+ 3017; 3016 # RIGHT WHITE LENTICULAR BRACKET
400
+ 3018; 3019 # LEFT WHITE TORTOISE SHELL BRACKET
401
+ 3019; 3018 # RIGHT WHITE TORTOISE SHELL BRACKET
402
+ 301A; 301B # LEFT WHITE SQUARE BRACKET
403
+ 301B; 301A # RIGHT WHITE SQUARE BRACKET
404
+ FE59; FE5A # SMALL LEFT PARENTHESIS
405
+ FE5A; FE59 # SMALL RIGHT PARENTHESIS
406
+ FE5B; FE5C # SMALL LEFT CURLY BRACKET
407
+ FE5C; FE5B # SMALL RIGHT CURLY BRACKET
408
+ FE5D; FE5E # SMALL LEFT TORTOISE SHELL BRACKET
409
+ FE5E; FE5D # SMALL RIGHT TORTOISE SHELL BRACKET
410
+ FE64; FE65 # SMALL LESS-THAN SIGN
411
+ FE65; FE64 # SMALL GREATER-THAN SIGN
412
+ FF08; FF09 # FULLWIDTH LEFT PARENTHESIS
413
+ FF09; FF08 # FULLWIDTH RIGHT PARENTHESIS
414
+ FF1C; FF1E # FULLWIDTH LESS-THAN SIGN
415
+ FF1E; FF1C # FULLWIDTH GREATER-THAN SIGN
416
+ FF3B; FF3D # FULLWIDTH LEFT SQUARE BRACKET
417
+ FF3D; FF3B # FULLWIDTH RIGHT SQUARE BRACKET
418
+ FF5B; FF5D # FULLWIDTH LEFT CURLY BRACKET
419
+ FF5D; FF5B # FULLWIDTH RIGHT CURLY BRACKET
420
+ FF5F; FF60 # FULLWIDTH LEFT WHITE PARENTHESIS
421
+ FF60; FF5F # FULLWIDTH RIGHT WHITE PARENTHESIS
422
+ FF62; FF63 # [BEST FIT] HALFWIDTH LEFT CORNER BRACKET
423
+ FF63; FF62 # [BEST FIT] HALFWIDTH RIGHT CORNER BRACKET
424
+
425
+ # The following characters have no appropriate mirroring character.
426
+ # For these characters it is up to the rendering system
427
+ # to provide mirrored glyphs.
428
+
429
+ # 2140; DOUBLE-STRUCK N-ARY SUMMATION
430
+ # 2201; COMPLEMENT
431
+ # 2202; PARTIAL DIFFERENTIAL
432
+ # 2203; THERE EXISTS
433
+ # 2204; THERE DOES NOT EXIST
434
+ # 2211; N-ARY SUMMATION
435
+ # 2216; SET MINUS
436
+ # 221A; SQUARE ROOT
437
+ # 221B; CUBE ROOT
438
+ # 221C; FOURTH ROOT
439
+ # 221D; PROPORTIONAL TO
440
+ # 221F; RIGHT ANGLE
441
+ # 2220; ANGLE
442
+ # 2221; MEASURED ANGLE
443
+ # 2222; SPHERICAL ANGLE
444
+ # 2224; DOES NOT DIVIDE
445
+ # 2226; NOT PARALLEL TO
446
+ # 222B; INTEGRAL
447
+ # 222C; DOUBLE INTEGRAL
448
+ # 222D; TRIPLE INTEGRAL
449
+ # 222E; CONTOUR INTEGRAL
450
+ # 222F; SURFACE INTEGRAL
451
+ # 2230; VOLUME INTEGRAL
452
+ # 2231; CLOCKWISE INTEGRAL
453
+ # 2232; CLOCKWISE CONTOUR INTEGRAL
454
+ # 2233; ANTICLOCKWISE CONTOUR INTEGRAL
455
+ # 2239; EXCESS
456
+ # 223B; HOMOTHETIC
457
+ # 223E; INVERTED LAZY S
458
+ # 223F; SINE WAVE
459
+ # 2240; WREATH PRODUCT
460
+ # 2241; NOT TILDE
461
+ # 2242; MINUS TILDE
462
+ # 2244; NOT ASYMPTOTICALLY EQUAL TO
463
+ # 2245; APPROXIMATELY EQUAL TO
464
+ # 2246; APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
465
+ # 2247; NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
466
+ # 2248; ALMOST EQUAL TO
467
+ # 2249; NOT ALMOST EQUAL TO
468
+ # 224A; ALMOST EQUAL OR EQUAL TO
469
+ # 224B; TRIPLE TILDE
470
+ # 224C; ALL EQUAL TO
471
+ # 225F; QUESTIONED EQUAL TO
472
+ # 2260; NOT EQUAL TO
473
+ # 2262; NOT IDENTICAL TO
474
+ # 228C; MULTISET
475
+ # 22A7; MODELS
476
+ # 22AA; TRIPLE VERTICAL BAR RIGHT TURNSTILE
477
+ # 22AC; DOES NOT PROVE
478
+ # 22AD; NOT TRUE
479
+ # 22AE; DOES NOT FORCE
480
+ # 22AF; NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
481
+ # 22B8; MULTIMAP
482
+ # 22BE; RIGHT ANGLE WITH ARC
483
+ # 22BF; RIGHT TRIANGLE
484
+ # 22F5; ELEMENT OF WITH DOT ABOVE
485
+ # 22F8; ELEMENT OF WITH UNDERBAR
486
+ # 22F9; ELEMENT OF WITH TWO HORIZONTAL STROKES
487
+ # 22FF; Z NOTATION BAG MEMBERSHIP
488
+ # 2320; TOP HALF INTEGRAL
489
+ # 2321; BOTTOM HALF INTEGRAL
490
+ # 27C0; THREE DIMENSIONAL ANGLE
491
+ # 27CC; LONG DIVISION
492
+ # 27D3; LOWER RIGHT CORNER WITH DOT
493
+ # 27D4; UPPER LEFT CORNER WITH DOT
494
+ # 27DC; LEFT MULTIMAP
495
+ # 299B; MEASURED ANGLE OPENING LEFT
496
+ # 299C; RIGHT ANGLE VARIANT WITH SQUARE
497
+ # 299D; MEASURED RIGHT ANGLE WITH DOT
498
+ # 299E; ANGLE WITH S INSIDE
499
+ # 299F; ACUTE ANGLE
500
+ # 29A0; SPHERICAL ANGLE OPENING LEFT
501
+ # 29A1; SPHERICAL ANGLE OPENING UP
502
+ # 29A2; TURNED ANGLE
503
+ # 29A3; REVERSED ANGLE
504
+ # 29A4; ANGLE WITH UNDERBAR
505
+ # 29A5; REVERSED ANGLE WITH UNDERBAR
506
+ # 29A6; OBLIQUE ANGLE OPENING UP
507
+ # 29A7; OBLIQUE ANGLE OPENING DOWN
508
+ # 29A8; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
509
+ # 29A9; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
510
+ # 29AA; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
511
+ # 29AB; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
512
+ # 29AC; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
513
+ # 29AD; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
514
+ # 29AE; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
515
+ # 29AF; MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
516
+ # 29C2; CIRCLE WITH SMALL CIRCLE TO THE RIGHT
517
+ # 29C3; CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
518
+ # 29C9; TWO JOINED SQUARES
519
+ # 29CE; RIGHT TRIANGLE ABOVE LEFT TRIANGLE
520
+ # 29DC; INCOMPLETE INFINITY
521
+ # 29E1; INCREASES AS
522
+ # 29E3; EQUALS SIGN AND SLANTED PARALLEL
523
+ # 29E4; EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
524
+ # 29E5; IDENTICAL TO AND SLANTED PARALLEL
525
+ # 29E8; DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
526
+ # 29E9; DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
527
+ # 29F4; RULE-DELAYED
528
+ # 29F6; SOLIDUS WITH OVERBAR
529
+ # 29F7; REVERSE SOLIDUS WITH HORIZONTAL STROKE
530
+ # 2A0A; MODULO TWO SUM
531
+ # 2A0B; SUMMATION WITH INTEGRAL
532
+ # 2A0C; QUADRUPLE INTEGRAL OPERATOR
533
+ # 2A0D; FINITE PART INTEGRAL
534
+ # 2A0E; INTEGRAL WITH DOUBLE STROKE
535
+ # 2A0F; INTEGRAL AVERAGE WITH SLASH
536
+ # 2A10; CIRCULATION FUNCTION
537
+ # 2A11; ANTICLOCKWISE INTEGRATION
538
+ # 2A12; LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
539
+ # 2A13; LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
540
+ # 2A14; LINE INTEGRATION NOT INCLUDING THE POLE
541
+ # 2A15; INTEGRAL AROUND A POINT OPERATOR
542
+ # 2A16; QUATERNION INTEGRAL OPERATOR
543
+ # 2A17; INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
544
+ # 2A18; INTEGRAL WITH TIMES SIGN
545
+ # 2A19; INTEGRAL WITH INTERSECTION
546
+ # 2A1A; INTEGRAL WITH UNION
547
+ # 2A1B; INTEGRAL WITH OVERBAR
548
+ # 2A1C; INTEGRAL WITH UNDERBAR
549
+ # 2A1E; LARGE LEFT TRIANGLE OPERATOR
550
+ # 2A1F; Z NOTATION SCHEMA COMPOSITION
551
+ # 2A20; Z NOTATION SCHEMA PIPING
552
+ # 2A21; Z NOTATION SCHEMA PROJECTION
553
+ # 2A24; PLUS SIGN WITH TILDE ABOVE
554
+ # 2A26; PLUS SIGN WITH TILDE BELOW
555
+ # 2A29; MINUS SIGN WITH COMMA ABOVE
556
+ # 2A3E; Z NOTATION RELATIONAL COMPOSITION
557
+ # 2A57; SLOPING LARGE OR
558
+ # 2A58; SLOPING LARGE AND
559
+ # 2A6A; TILDE OPERATOR WITH DOT ABOVE
560
+ # 2A6B; TILDE OPERATOR WITH RISING DOTS
561
+ # 2A6C; SIMILAR MINUS SIMILAR
562
+ # 2A6D; CONGRUENT WITH DOT ABOVE
563
+ # 2A6F; ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
564
+ # 2A70; APPROXIMATELY EQUAL OR EQUAL TO
565
+ # 2A73; EQUALS SIGN ABOVE TILDE OPERATOR
566
+ # 2A74; DOUBLE COLON EQUAL
567
+ # 2A7B; LESS-THAN WITH QUESTION MARK ABOVE
568
+ # 2A7C; GREATER-THAN WITH QUESTION MARK ABOVE
569
+ # 2A85; LESS-THAN OR APPROXIMATE
570
+ # 2A86; GREATER-THAN OR APPROXIMATE
571
+ # 2A87; LESS-THAN AND SINGLE-LINE NOT EQUAL TO
572
+ # 2A88; GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
573
+ # 2A89; LESS-THAN AND NOT APPROXIMATE
574
+ # 2A8A; GREATER-THAN AND NOT APPROXIMATE
575
+ # 2A8D; LESS-THAN ABOVE SIMILAR OR EQUAL
576
+ # 2A8E; GREATER-THAN ABOVE SIMILAR OR EQUAL
577
+ # 2A8F; LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
578
+ # 2A90; GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
579
+ # 2A9D; SIMILAR OR LESS-THAN
580
+ # 2A9E; SIMILAR OR GREATER-THAN
581
+ # 2A9F; SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
582
+ # 2AA0; SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
583
+ # 2AA3; DOUBLE NESTED LESS-THAN WITH UNDERBAR
584
+ # 2AB1; PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO
585
+ # 2AB2; SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO
586
+ # 2AB5; PRECEDES ABOVE NOT EQUAL TO
587
+ # 2AB6; SUCCEEDS ABOVE NOT EQUAL TO
588
+ # 2AB7; PRECEDES ABOVE ALMOST EQUAL TO
589
+ # 2AB8; SUCCEEDS ABOVE ALMOST EQUAL TO
590
+ # 2AB9; PRECEDES ABOVE NOT ALMOST EQUAL TO
591
+ # 2ABA; SUCCEEDS ABOVE NOT ALMOST EQUAL TO
592
+ # 2AC7; SUBSET OF ABOVE TILDE OPERATOR
593
+ # 2AC8; SUPERSET OF ABOVE TILDE OPERATOR
594
+ # 2AC9; SUBSET OF ABOVE ALMOST EQUAL TO
595
+ # 2ACA; SUPERSET OF ABOVE ALMOST EQUAL TO
596
+ # 2ACB; SUBSET OF ABOVE NOT EQUAL TO
597
+ # 2ACC; SUPERSET OF ABOVE NOT EQUAL TO
598
+ # 2ADC; FORKING
599
+ # 2AE2; VERTICAL BAR TRIPLE RIGHT TURNSTILE
600
+ # 2AE6; LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
601
+ # 2AEE; DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
602
+ # 2AF3; PARALLEL WITH TILDE OPERATOR
603
+ # 2AFB; TRIPLE SOLIDUS BINARY RELATION
604
+ # 2AFD; DOUBLE SOLIDUS OPERATOR
605
+ # 1D6DB; MATHEMATICAL BOLD PARTIAL DIFFERENTIAL
606
+ # 1D715; MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL
607
+ # 1D74F; MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL
608
+ # 1D789; MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL
609
+ # 1D7C3; MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL
610
+
611
+ # EOF