In [1]:
using JuliaParser
In [2]:
unicodedatafilename = "UnicodeData.txt"
isfile(unicodedatafilename) || download("http://www.unicode.org/Public/UNIDATA/UnicodeData.txt", unicodedatafilename)
Out[2]:
true
In [3]:
character_description = Dict{Char,String}()
#Read in category descriptors
open(unicodedatafilename) do f
for l in eachline(f)
tokens = split(l, ';')
unichar= char(uint("0x"*tokens[1]))
character_description[unichar] = tokens[2]*"/"tokens[11]
end
end
In [4]:
datafilename = "MathClass.txt"
revision=13
isfile(datafilename) || download("http://www.unicode.org/Public/math/revision-$revision/MathClass-$revision.txt", datafilename)
Out[4]:
true
In [5]:
category_description = Dict{String,String}()
#Read in category descriptors
open(datafilename) do f
for l in eachline(f)
(length(l)>0 && l[1]=='#') || break #Only parse beginning comment header
if contains(l, " - ")
tokens = split(l, ['-'], 2)
catcode = string(tokens[1][3])
desc = strip(tokens[2])
category_description[catcode] = desc
println(catcode, " - ", desc)
end
end
end
N - Normal - includes all digits and symbols requiring only one form
A - Alphabetic
B - Binary
C - Closing - usually paired with opening delimiter
D - Diacritic
F - Fence - unpaired delimiter (often used as opening or closing)
G - Glyph_Part - piece of large operator
L - Large - n-ary or large operator, often takes limits
O - Opening - usually paired with closing delimiter
P - Punctuation
R - Relation - includes arrows
S - Space
U - Unary - operators that are only unary
V - Vary - operators that can be unary or binary depending on context
X - Special - characters not covered by other classes
In [6]:
categories = Dict()
open(datafilename) do f
for l in eachline(f)
lt = split(l, '#')[1]
tokens = split(lt, ';')
length(tokens)≥2 || continue
codepoint_or_range, catcode = map(strip, split(lt, ';'))
if contains(codepoint_or_range, "..") #Range
lo, hi = map(x->int("0x"*x), split(codepoint_or_range, ".."))
categories[catcode] = append!(get(categories, catcode, Char[]), [lo:hi])
#println(codepoint_or_range, map(char, [lo:hi]),
# ") : ", category_description[catcode])
else #single codepoint
codepoint_or_range = split(codepoint_or_range, "=")[1]
codepoint = char(uint("0x"*codepoint_or_range))
categories[catcode] = push!(get(categories, catcode, Char[]), codepoint)
#println(codepoint_or_range, " (", char(uint("0x"*codepoint_or_range)),
# ") : ", category_description[catcode])
end
end
end
In [7]:
isparseable(s::String) = try
JuliaParser.Parser.parse(s)
true
catch
false
end
Out[7]:
isparseable (generic function with 1 method)
In [8]:
printcharinfo(c::Char) = println("U+", hex(c,5), " (", c,
") ", get(character_description, c, "(no description)")
)
Out[8]:
printcharinfo (generic function with 1 method)
In [9]:
#Check that all operators with category codes in catcodes parse
#in infix expressions where they are used in a given arity.
function checkvalidinfix(catcodes, arity::Int; printvalid=false)
for catcode in catcodes
println("Category: ", category_description[catcode])
numvalid = 0
for op in categories[catcode]
#Generate expressions of the form a, a+a, a+a+a, etc.
exprtokens = Char[]
for i=1:arity-1
append!(exprtokens, ['a', op])
end
length(exprtokens)>0 && pop!(exprtokens)
append!(exprtokens, [op, 'a'])
if !isparseable(string(exprtokens...))
print("INVALID: ")
printcharinfo(op)
else
numvalid += 1
if printvalid
print(" VALID: ")
printcharinfo(op)
end
end
end
println("Valid: ", numvalid, " Invalid: ", length(categories[catcode]) - numvalid, "\n")
end
end
checkvalidinfix([
"U", #- Unary - operators that are only unary
"V", #- Vary - operators that can be unary or binary depending on context
], 1)
Category: Unary - operators that are only unary
INVALID: U+02200 (∀) FOR ALL/
INVALID: U+02201 (∁) COMPLEMENT/
INVALID: U+02203 (∃) THERE EXISTS/
INVALID: U+02204 (∄) THERE DOES NOT EXIST/
Valid: 3 Invalid: 4
Category: Vary - operators that can be unary or binary depending on context
INVALID: U+000b1 (±) PLUS-MINUS SIGN/PLUS-OR-MINUS SIGN
INVALID: U+02212 (−) MINUS SIGN/
INVALID: U+02213 (∓) MINUS-OR-PLUS SIGN/
Valid: 1 Invalid: 3
In [10]:
#Check that all operators with category codes in catcodes parse
#in prefix expressions where they are used in a given arity.
function checkvalidprefix(catcodes, arity::Int; printvalid=true)
for catcode in catcodes
println("Category: ", category_description[catcode])
numvalid = 0
for op in categories[catcode]
#Generate expressions of the form +(a,a,a,), etc.
exprtokens = Char[op, '(']
for i=1:arity
append!(exprtokens, ['a', ','])
end
length(exprtokens)>0 && pop!(exprtokens)
append!(exprtokens, [')'])
if !isparseable(string(exprtokens...))
print("INVALID: ")
printcharinfo(op)
else
numvalid += 1
if printvalid
print(" VALID: ")
printcharinfo(op)
end
end
end
println("Valid: ", numvalid, " Invalid: ", length(categories[catcode]) - numvalid, "\n")
end
end
Out[10]:
checkvalidprefix (generic function with 1 method)
In [11]:
checkvalidinfix([
"B", #- Binary
"R", #- Relation - includes arrows
"V", #- Vary - operators that can be unary or binary depending on context
"X", #- Special - characters not covered by other classes "U", "V"
], 2)
Category: Binary
INVALID: U+02044 (⁄) FRACTION SLASH/
INVALID: U+02061 () FUNCTION APPLICATION/
INVALID: U+02062 () INVISIBLE TIMES/
INVALID: U+02215 (∕) DIVISION SLASH/
INVALID: U+02216 (∖) SET MINUS/
INVALID: U+0228c (⊌) MULTISET/
INVALID: U+0229d (⊝) CIRCLED DASH/
INVALID: U+022b9 (⊹) HERMITIAN CONJUGATE MATRIX/
INVALID: U+022ba (⊺) INTERCALATE/
INVALID: U+025b7 (▷) WHITE RIGHT-POINTING TRIANGLE/WHITE RIGHT POINTING TRIANGLE
INVALID: U+025c1 (◁) WHITE LEFT-POINTING TRIANGLE/WHITE LEFT POINTING TRIANGLE
INVALID: U+027ce (⟎) SQUARED LOGICAL AND/
INVALID: U+027cf (⟏) SQUARED LOGICAL OR/
INVALID: U+027e0 (⟠) LOZENGE DIVIDED BY HORIZONTAL RULE/
INVALID: U+027e1 (⟡) WHITE CONCAVE-SIDED DIAMOND/
INVALID: U+027e2 (⟢) WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK/
INVALID: U+027e3 (⟣) WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK/
INVALID: U+027e4 (⟤) WHITE SQUARE WITH LEFTWARDS TICK/
INVALID: U+027e5 (⟥) WHITE SQUARE WITH RIGHTWARDS TICK/
INVALID: U+029b6 (⦶) CIRCLED VERTICAL BAR/
INVALID: U+029b9 (⦹) CIRCLED PERPENDICULAR/
INVALID: U+029c4 (⧄) SQUARED RISING DIAGONAL SLASH/
INVALID: U+029c5 (⧅) SQUARED FALLING DIAGONAL SLASH/
INVALID: U+029c6 (⧆) SQUARED ASTERISK/
INVALID: U+029c7 (⧇) SQUARED SMALL CIRCLE/
INVALID: U+029c8 (⧈) SQUARED SQUARE/
INVALID: U+029d6 (⧖) WHITE HOURGLASS/
INVALID: U+029d7 (⧗) BLACK HOURGLASS/
INVALID: U+029e2 (⧢) SHUFFLE PRODUCT/
INVALID: U+029eb (⧫) BLACK LOZENGE/
INVALID: U+029f5 (⧵) REVERSE SOLIDUS OPERATOR/
INVALID: U+029fe (⧾) TINY/
INVALID: U+029ff (⧿) MINY/
INVALID: U+02a2f (⨯) VECTOR OR CROSS PRODUCT/
INVALID: U+02a3e (⨾) Z NOTATION RELATIONAL COMPOSITION/
INVALID: U+02a3f (⨿) AMALGAMATION OR COPRODUCT/
INVALID: U+02a46 (⩆) UNION ABOVE INTERSECTION/
INVALID: U+02a47 (⩇) INTERSECTION ABOVE UNION/
INVALID: U+02a48 (⩈) UNION ABOVE BAR ABOVE INTERSECTION/
INVALID: U+02a49 (⩉) INTERSECTION ABOVE BAR ABOVE UNION/
INVALID: U+02a64 (⩤) Z NOTATION DOMAIN ANTIRESTRICTION/
INVALID: U+02a65 (⩥) Z NOTATION RANGE ANTIRESTRICTION/
INVALID: U+02af4 (⫴) TRIPLE VERTICAL BAR BINARY RELATION/
INVALID: U+02af5 (⫵) TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE/
INVALID: U+02af6 (⫶) TRIPLE COLON OPERATOR/
INVALID: U+02afb (⫻) TRIPLE SOLIDUS BINARY RELATION/
INVALID: U+02afd (⫽) DOUBLE SOLIDUS OPERATOR/
INVALID: U+02afe (⫾) WHITE VERTICAL BAR/
Valid: 153 Invalid: 48
Category: Relation - includes arrows
INVALID: U+02223 (∣) DIVIDES/
INVALID: U+02234 (∴) THEREFORE/
INVALID: U+02235 (∵) BECAUSE/
INVALID: U+02236 (∶) RATIO/
INVALID: U+02239 (∹) EXCESS/
INVALID: U+0223c (∼) TILDE OPERATOR/
INVALID: U+022a6 (⊦) ASSERTION/
INVALID: U+022a7 (⊧) MODELS/
INVALID: U+022a8 (⊨) TRUE/
INVALID: U+022aa (⊪) TRIPLE VERTICAL BAR RIGHT TURNSTILE/
INVALID: U+022ab (⊫) DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE/
INVALID: U+022ad (⊭) NOT TRUE/
INVALID: U+022af (⊯) NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE/
INVALID: U+022b8 (⊸) MULTIMAP/
INVALID: U+022c8 (⋈) BOWTIE/
INVALID: U+022d4 (⋔) PITCHFORK/
INVALID: U+0237c (⍼) RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW/
INVALID: U+023b0 (⎰) UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION/
INVALID: U+023b1 (⎱) UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION/
INVALID: U+027c3 (⟃) OPEN SUBSET/
INVALID: U+027c4 (⟄) OPEN SUPERSET/
INVALID: U+027c5 (⟅) LEFT S-SHAPED BAG DELIMITER/
INVALID: U+027c6 (⟆) RIGHT S-SHAPED BAG DELIMITER/
INVALID: U+027c7 (⟇) OR WITH DOT INSIDE/
INVALID: U+027ca (⟊) VERTICAL BAR WITH HORIZONTAL STROKE/
INVALID: U+027cb (⟋) MATHEMATICAL RISING DIAGONAL/
INVALID: U+027cd (⟍) MATHEMATICAL FALLING DIAGONAL/
INVALID: U+027d3 (⟓) LOWER RIGHT CORNER WITH DOT/
INVALID: U+027d4 (⟔) UPPER LEFT CORNER WITH DOT/
INVALID: U+027da (⟚) LEFT AND RIGHT DOUBLE TURNSTILE/
INVALID: U+027db (⟛) LEFT AND RIGHT TACK/
INVALID: U+027dc (⟜) LEFT MULTIMAP/
INVALID: U+027dd (⟝) LONG RIGHT TACK/
INVALID: U+027de (⟞) LONG LEFT TACK/
INVALID: U+027df (⟟) UP TACK WITH CIRCLE ABOVE/
INVALID: U+027f2 (⟲) ANTICLOCKWISE GAPPED CIRCLE ARROW/
INVALID: U+027f3 (⟳) CLOCKWISE GAPPED CIRCLE ARROW/
INVALID: U+027f4 (⟴) RIGHT ARROW WITH CIRCLED PLUS/
INVALID: U+027f8 (⟸) LONG LEFTWARDS DOUBLE ARROW/
INVALID: U+02919 (⤙) LEFTWARDS ARROW-TAIL/
INVALID: U+0291a (⤚) RIGHTWARDS ARROW-TAIL/
INVALID: U+0291b (⤛) LEFTWARDS DOUBLE ARROW-TAIL/
INVALID: U+0291c (⤜) RIGHTWARDS DOUBLE ARROW-TAIL/
INVALID: U+02921 (⤡) NORTH WEST AND SOUTH EAST ARROW/
INVALID: U+02922 (⤢) NORTH EAST AND SOUTH WEST ARROW/
INVALID: U+02923 (⤣) NORTH WEST ARROW WITH HOOK/
INVALID: U+02924 (⤤) NORTH EAST ARROW WITH HOOK/
INVALID: U+02925 (⤥) SOUTH EAST ARROW WITH HOOK/
INVALID: U+02926 (⤦) SOUTH WEST ARROW WITH HOOK/
INVALID: U+02927 (⤧) NORTH WEST ARROW AND NORTH EAST ARROW/
INVALID: U+02928 (⤨) NORTH EAST ARROW AND SOUTH EAST ARROW/
INVALID: U+02929 (⤩) SOUTH EAST ARROW AND SOUTH WEST ARROW/
INVALID: U+0292a (⤪) SOUTH WEST ARROW AND NORTH WEST ARROW/
INVALID: U+0292b (⤫) RISING DIAGONAL CROSSING FALLING DIAGONAL/
INVALID: U+0292c (⤬) FALLING DIAGONAL CROSSING RISING DIAGONAL/
INVALID: U+0292d (⤭) SOUTH EAST ARROW CROSSING NORTH EAST ARROW/
INVALID: U+0292e (⤮) NORTH EAST ARROW CROSSING SOUTH EAST ARROW/
INVALID: U+0292f (⤯) FALLING DIAGONAL CROSSING NORTH EAST ARROW/
INVALID: U+02930 (⤰) RISING DIAGONAL CROSSING SOUTH EAST ARROW/
INVALID: U+02931 (⤱) NORTH EAST ARROW CROSSING NORTH WEST ARROW/
INVALID: U+02932 (⤲) NORTH WEST ARROW CROSSING NORTH EAST ARROW/
INVALID: U+02933 (⤳) WAVE ARROW POINTING DIRECTLY RIGHT/
INVALID: U+02934 (⤴) ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS/
INVALID: U+02935 (⤵) ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS/
INVALID: U+02936 (⤶) ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS/
INVALID: U+02937 (⤷) ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS/
INVALID: U+02938 (⤸) RIGHT-SIDE ARC CLOCKWISE ARROW/
INVALID: U+02939 (⤹) LEFT-SIDE ARC ANTICLOCKWISE ARROW/
INVALID: U+0293a (⤺) TOP ARC ANTICLOCKWISE ARROW/
INVALID: U+0293b (⤻) BOTTOM ARC ANTICLOCKWISE ARROW/
INVALID: U+0293c (⤼) TOP ARC CLOCKWISE ARROW WITH MINUS/
INVALID: U+0293d (⤽) TOP ARC ANTICLOCKWISE ARROW WITH PLUS/
INVALID: U+0293e (⤾) LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW/
INVALID: U+0293f (⤿) LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW/
INVALID: U+02940 (⥀) ANTICLOCKWISE CLOSED CIRCLE ARROW/
INVALID: U+02941 (⥁) CLOCKWISE CLOSED CIRCLE ARROW/
INVALID: U+02942 (⥂) RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW/
INVALID: U+02943 (⥃) LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW/
INVALID: U+02971 (⥱) EQUALS SIGN ABOVE RIGHTWARDS ARROW/
INVALID: U+02972 (⥲) TILDE OPERATOR ABOVE RIGHTWARDS ARROW/
INVALID: U+02973 (⥳) LEFTWARDS ARROW ABOVE TILDE OPERATOR/
INVALID: U+02974 (⥴) RIGHTWARDS ARROW ABOVE TILDE OPERATOR/
INVALID: U+02975 (⥵) RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO/
INVALID: U+02976 (⥶) LESS-THAN ABOVE LEFTWARDS ARROW/
INVALID: U+02977 (⥷) LEFTWARDS ARROW THROUGH LESS-THAN/
INVALID: U+02978 (⥸) GREATER-THAN ABOVE RIGHTWARDS ARROW/
INVALID: U+02979 (⥹) SUBSET ABOVE RIGHTWARDS ARROW/
INVALID: U+0297a (⥺) LEFTWARDS ARROW THROUGH SUBSET/
INVALID: U+0297b (⥻) SUPERSET ABOVE LEFTWARDS ARROW/
INVALID: U+0297c (⥼) LEFT FISH TAIL/
INVALID: U+0297d (⥽) RIGHT FISH TAIL/
INVALID: U+0297e (⥾) UP FISH TAIL/
INVALID: U+0297f (⥿) DOWN FISH TAIL/
INVALID: U+029ce (⧎) RIGHT TRIANGLE ABOVE LEFT TRIANGLE/
INVALID: U+029cf (⧏) LEFT TRIANGLE BESIDE VERTICAL BAR/
INVALID: U+029d0 (⧐) VERTICAL BAR BESIDE RIGHT TRIANGLE/
INVALID: U+029d1 (⧑) BOWTIE WITH LEFT HALF BLACK/
INVALID: U+029d2 (⧒) BOWTIE WITH RIGHT HALF BLACK/
INVALID: U+029d3 (⧓) BLACK BOWTIE/
INVALID: U+029d4 (⧔) TIMES WITH LEFT HALF BLACK/
INVALID: U+029d5 (⧕) TIMES WITH RIGHT HALF BLACK/
INVALID: U+029df (⧟) DOUBLE-ENDED MULTIMAP/
INVALID: U+029e6 (⧦) GLEICH STARK/
INVALID: U+02a59 (⩙) LOGICAL OR OVERLAPPING LOGICAL AND/
INVALID: U+02a68 (⩨) TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE/
INVALID: U+02a69 (⩩) TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE/
INVALID: U+02ada (⫚) PITCHFORK WITH TEE TOP/
INVALID: U+02adc (⫝̸) FORKING/
INVALID: U+02add (⫝) NONFORKING/
INVALID: U+02ade (⫞) SHORT LEFT TACK/
INVALID: U+02adf (⫟) SHORT DOWN TACK/
INVALID: U+02ae0 (⫠) SHORT UP TACK/
INVALID: U+02ae2 (⫢) VERTICAL BAR TRIPLE RIGHT TURNSTILE/
INVALID: U+02ae3 (⫣) DOUBLE VERTICAL BAR LEFT TURNSTILE/
INVALID: U+02ae4 (⫤) VERTICAL BAR DOUBLE LEFT TURNSTILE/
INVALID: U+02ae5 (⫥) DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE/
INVALID: U+02ae6 (⫦) LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL/
INVALID: U+02ae7 (⫧) SHORT DOWN TACK WITH OVERBAR/
INVALID: U+02ae8 (⫨) SHORT UP TACK WITH UNDERBAR/
INVALID: U+02ae9 (⫩) SHORT UP TACK ABOVE SHORT DOWN TACK/
INVALID: U+02aea (⫪) DOUBLE DOWN TACK/
INVALID: U+02aeb (⫫) DOUBLE UP TACK/
INVALID: U+02aec (⫬) DOUBLE STROKE NOT SIGN/
INVALID: U+02aed (⫭) REVERSED DOUBLE STROKE NOT SIGN/
INVALID: U+02aee (⫮) DOES NOT DIVIDE WITH REVERSED NEGATION SLASH/
INVALID: U+02aef (⫯) VERTICAL LINE WITH CIRCLE ABOVE/
INVALID: U+02af0 (⫰) VERTICAL LINE WITH CIRCLE BELOW/
INVALID: U+02af2 (⫲) PARALLEL WITH HORIZONTAL STROKE/
INVALID: U+02af3 (⫳) PARALLEL WITH TILDE OPERATOR/
Valid: 528 Invalid: 129
Category: Vary - operators that can be unary or binary depending on context
INVALID: U+02212 (−) MINUS SIGN/
Valid: 3 Invalid: 1
Category: Special - characters not covered by other classes
INVALID: U+02064 () INVISIBLE PLUS/
INVALID: U+03008 (〈) LEFT ANGLE BRACKET/OPENING ANGLE BRACKET
INVALID: U+03009 (〉) RIGHT ANGLE BRACKET/CLOSING ANGLE BRACKET
INVALID: U+0301a (〚) LEFT WHITE SQUARE BRACKET/OPENING WHITE SQUARE BRACKET
INVALID: U+0301b (〛) RIGHT WHITE SQUARE BRACKET/CLOSING WHITE SQUARE BRACKET
INVALID: U+0fb29 (﬩) HEBREW LETTER ALTERNATIVE PLUS SIGN/
INVALID: U+0fe62 (﹢) SMALL PLUS SIGN/
INVALID: U+0fe63 (﹣) SMALL HYPHEN-MINUS/
INVALID: U+0fe64 (﹤) SMALL LESS-THAN SIGN/
INVALID: U+0fe65 (﹥) SMALL GREATER-THAN SIGN/
INVALID: U+0fe66 (﹦) SMALL EQUALS SIGN/
INVALID: U+0fe67 () (no description)
INVALID: U+0ff0b (+) FULLWIDTH PLUS SIGN/
INVALID: U+0ff1c (<) FULLWIDTH LESS-THAN SIGN/
INVALID: U+0ff1d (=) FULLWIDTH EQUALS SIGN/
INVALID: U+0ff1e (>) FULLWIDTH GREATER-THAN SIGN/
INVALID: U+0ff5c (|) FULLWIDTH VERTICAL LINE/FULLWIDTH VERTICAL BAR
INVALID: U+0ff5e (~) FULLWIDTH TILDE/FULLWIDTH SPACING TILDE
INVALID: U+0ffe2 (¬) FULLWIDTH NOT SIGN/
Valid: 9 Invalid: 19
In [12]:
checkvalidprefix([
"B", #- Binary
"R", #- Relation - includes arrows
"V", #- Vary - operators that can be unary or binary depending on context
"X", #- Special - characters not covered by other classes "U", "V"
], 2)
Category: Binary
VALID: U+0002f (/) SOLIDUS/SLASH
VALID: U+0005c (\) REVERSE SOLIDUS/BACKSLASH
VALID: U+000b7 (·) MIDDLE DOT/
VALID: U+000d7 (×) MULTIPLICATION SIGN/
VALID: U+000f7 (÷) DIVISION SIGN/
VALID: U+02022 (•) BULLET/
INVALID: U+02040 (⁀) CHARACTER TIE/
INVALID: U+02044 (⁄) FRACTION SLASH/
VALID: U+0204e (⁎) LOW ASTERISK/
INVALID: U+02061 () FUNCTION APPLICATION/
INVALID: U+02062 () INVISIBLE TIMES/
VALID: U+02214 (∔) DOT PLUS/
INVALID: U+02215 (∕) DIVISION SLASH/
INVALID: U+02216 (∖) SET MINUS/
VALID: U+02217 (∗) ASTERISK OPERATOR/
VALID: U+02218 (∘) RING OPERATOR/
VALID: U+02219 (∙) BULLET OPERATOR/
VALID: U+02227 (∧) LOGICAL AND/
VALID: U+02228 (∨) LOGICAL OR/
VALID: U+02229 (∩) INTERSECTION/
VALID: U+0222a (∪) UNION/
VALID: U+02238 (∸) DOT MINUS/
VALID: U+0223e (∾) INVERTED LAZY S/
VALID: U+02240 (≀) WREATH PRODUCT/
INVALID: U+0228c (⊌) MULTISET/
VALID: U+0228d (⊍) MULTISET MULTIPLICATION/
VALID: U+0228e (⊎) MULTISET UNION/
VALID: U+02293 (⊓) SQUARE CAP/
VALID: U+02294 (⊔) SQUARE CUP/
VALID: U+02295 (⊕) CIRCLED PLUS/
VALID: U+02296 (⊖) CIRCLED MINUS/
VALID: U+02297 (⊗) CIRCLED TIMES/
VALID: U+02298 (⊘) CIRCLED DIVISION SLASH/
VALID: U+02299 (⊙) CIRCLED DOT OPERATOR/
VALID: U+0229a (⊚) CIRCLED RING OPERATOR/
VALID: U+0229b (⊛) CIRCLED ASTERISK OPERATOR/
VALID: U+0229c (⊜) CIRCLED EQUALS/
INVALID: U+0229d (⊝) CIRCLED DASH/
VALID: U+0229e (⊞) SQUARED PLUS/
VALID: U+0229f (⊟) SQUARED MINUS/
VALID: U+022a0 (⊠) SQUARED TIMES/
VALID: U+022a1 (⊡) SQUARED DOT OPERATOR/
INVALID: U+022b9 (⊹) HERMITIAN CONJUGATE MATRIX/
INVALID: U+022ba (⊺) INTERCALATE/
VALID: U+022bb (⊻) XOR/
VALID: U+022bc (⊼) NAND/
VALID: U+022bd (⊽) NOR/
VALID: U+022c4 (⋄) DIAMOND OPERATOR/
VALID: U+022c5 (⋅) DOT OPERATOR/
VALID: U+022c6 (⋆) STAR OPERATOR/
VALID: U+022c7 (⋇) DIVISION TIMES/
VALID: U+022c9 (⋉) LEFT NORMAL FACTOR SEMIDIRECT PRODUCT/
VALID: U+022ca (⋊) RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT/
VALID: U+022cb (⋋) LEFT SEMIDIRECT PRODUCT/
VALID: U+022cc (⋌) RIGHT SEMIDIRECT PRODUCT/
VALID: U+022ce (⋎) CURLY LOGICAL OR/
VALID: U+022cf (⋏) CURLY LOGICAL AND/
VALID: U+022d2 (⋒) DOUBLE INTERSECTION/
VALID: U+022d3 (⋓) DOUBLE UNION/
VALID: U+02305 (⌅) PROJECTIVE/
VALID: U+02306 (⌆) PERSPECTIVE/
VALID: U+0233d (⌽) APL FUNCTIONAL SYMBOL CIRCLE STILE/
VALID: U+025b2 (▲) BLACK UP-POINTING TRIANGLE/BLACK UP POINTING TRIANGLE
VALID: U+025b3 (△) WHITE UP-POINTING TRIANGLE/WHITE UP POINTING TRIANGLE
VALID: U+025b4 (▴) BLACK UP-POINTING SMALL TRIANGLE/BLACK UP POINTING SMALL TRIANGLE
VALID: U+025b5 (▵) WHITE UP-POINTING SMALL TRIANGLE/WHITE UP POINTING SMALL TRIANGLE
VALID: U+025b6 (▶) BLACK RIGHT-POINTING TRIANGLE/BLACK RIGHT POINTING TRIANGLE
INVALID: U+025b7 (▷) WHITE RIGHT-POINTING TRIANGLE/WHITE RIGHT POINTING TRIANGLE
VALID: U+025b8 (▸) BLACK RIGHT-POINTING SMALL TRIANGLE/BLACK RIGHT POINTING SMALL TRIANGLE
VALID: U+025b9 (▹) WHITE RIGHT-POINTING SMALL TRIANGLE/WHITE RIGHT POINTING SMALL TRIANGLE
VALID: U+025bc (▼) BLACK DOWN-POINTING TRIANGLE/BLACK DOWN POINTING TRIANGLE
VALID: U+025bd (▽) WHITE DOWN-POINTING TRIANGLE/WHITE DOWN POINTING TRIANGLE
VALID: U+025be (▾) BLACK DOWN-POINTING SMALL TRIANGLE/BLACK DOWN POINTING SMALL TRIANGLE
VALID: U+025bf (▿) WHITE DOWN-POINTING SMALL TRIANGLE/WHITE DOWN POINTING SMALL TRIANGLE
VALID: U+025c0 (◀) BLACK LEFT-POINTING TRIANGLE/BLACK LEFT POINTING TRIANGLE
INVALID: U+025c1 (◁) WHITE LEFT-POINTING TRIANGLE/WHITE LEFT POINTING TRIANGLE
VALID: U+025c2 (◂) BLACK LEFT-POINTING SMALL TRIANGLE/BLACK LEFT POINTING SMALL TRIANGLE
VALID: U+025c3 (◃) WHITE LEFT-POINTING SMALL TRIANGLE/WHITE LEFT POINTING SMALL TRIANGLE
VALID: U+025c4 (◄) BLACK LEFT-POINTING POINTER/BLACK LEFT POINTING POINTER
VALID: U+025c5 (◅) WHITE LEFT-POINTING POINTER/WHITE LEFT POINTING POINTER
VALID: U+025ca (◊) LOZENGE/
VALID: U+025cb (○) WHITE CIRCLE/
VALID: U+025e6 (◦) WHITE BULLET/
VALID: U+025eb (◫) WHITE SQUARE WITH VERTICAL BISECTING LINE/
VALID: U+025ec (◬) WHITE UP-POINTING TRIANGLE WITH DOT/WHITE UP POINTING TRIANGLE WITH DOT
VALID: U+025f8 (◸) UPPER LEFT TRIANGLE/
VALID: U+025f9 (◹) UPPER RIGHT TRIANGLE/
VALID: U+025fa (◺) LOWER LEFT TRIANGLE/
VALID: U+025fb (◻) WHITE MEDIUM SQUARE/
VALID: U+025fc (◼) BLACK MEDIUM SQUARE/
VALID: U+025fd (◽) WHITE MEDIUM SMALL SQUARE/
VALID: U+025fe (◾) BLACK MEDIUM SMALL SQUARE/
VALID: U+025ff (◿) LOWER RIGHT TRIANGLE/
VALID: U+02605 (★) BLACK STAR/
VALID: U+02606 (☆) WHITE STAR/
INVALID: U+027ce (⟎) SQUARED LOGICAL AND/
INVALID: U+027cf (⟏) SQUARED LOGICAL OR/
VALID: U+027d1 (⟑) AND WITH DOT/
INVALID: U+027e0 (⟠) LOZENGE DIVIDED BY HORIZONTAL RULE/
INVALID: U+027e1 (⟡) WHITE CONCAVE-SIDED DIAMOND/
INVALID: U+027e2 (⟢) WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK/
INVALID: U+027e3 (⟣) WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK/
INVALID: U+027e4 (⟤) WHITE SQUARE WITH LEFTWARDS TICK/
INVALID: U+027e5 (⟥) WHITE SQUARE WITH RIGHTWARDS TICK/
INVALID: U+029b6 (⦶) CIRCLED VERTICAL BAR/
VALID: U+029b7 (⦷) CIRCLED PARALLEL/
VALID: U+029b8 (⦸) CIRCLED REVERSE SOLIDUS/
INVALID: U+029b9 (⦹) CIRCLED PERPENDICULAR/
VALID: U+029c0 (⧀) CIRCLED LESS-THAN/
VALID: U+029c1 (⧁) CIRCLED GREATER-THAN/
INVALID: U+029c4 (⧄) SQUARED RISING DIAGONAL SLASH/
INVALID: U+029c5 (⧅) SQUARED FALLING DIAGONAL SLASH/
INVALID: U+029c6 (⧆) SQUARED ASTERISK/
INVALID: U+029c7 (⧇) SQUARED SMALL CIRCLE/
INVALID: U+029c8 (⧈) SQUARED SQUARE/
INVALID: U+029d6 (⧖) WHITE HOURGLASS/
INVALID: U+029d7 (⧗) BLACK HOURGLASS/
INVALID: U+029e2 (⧢) SHUFFLE PRODUCT/
INVALID: U+029eb (⧫) BLACK LOZENGE/
INVALID: U+029f5 (⧵) REVERSE SOLIDUS OPERATOR/
VALID: U+029f6 (⧶) SOLIDUS WITH OVERBAR/
VALID: U+029f7 (⧷) REVERSE SOLIDUS WITH HORIZONTAL STROKE/
VALID: U+029fa (⧺) DOUBLE PLUS/
VALID: U+029fb (⧻) TRIPLE PLUS/
INVALID: U+029fe (⧾) TINY/
INVALID: U+029ff (⧿) MINY/
VALID: U+02a22 (⨢) PLUS SIGN WITH SMALL CIRCLE ABOVE/
VALID: U+02a23 (⨣) PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE/
VALID: U+02a24 (⨤) PLUS SIGN WITH TILDE ABOVE/
VALID: U+02a25 (⨥) PLUS SIGN WITH DOT BELOW/
VALID: U+02a26 (⨦) PLUS SIGN WITH TILDE BELOW/
VALID: U+02a27 (⨧) PLUS SIGN WITH SUBSCRIPT TWO/
VALID: U+02a28 (⨨) PLUS SIGN WITH BLACK TRIANGLE/
VALID: U+02a29 (⨩) MINUS SIGN WITH COMMA ABOVE/
VALID: U+02a2a (⨪) MINUS SIGN WITH DOT BELOW/
VALID: U+02a2b (⨫) MINUS SIGN WITH FALLING DOTS/
VALID: U+02a2c (⨬) MINUS SIGN WITH RISING DOTS/
VALID: U+02a2d (⨭) PLUS SIGN IN LEFT HALF CIRCLE/
VALID: U+02a2e (⨮) PLUS SIGN IN RIGHT HALF CIRCLE/
INVALID: U+02a2f (⨯) VECTOR OR CROSS PRODUCT/
VALID: U+02a30 (⨰) MULTIPLICATION SIGN WITH DOT ABOVE/
VALID: U+02a31 (⨱) MULTIPLICATION SIGN WITH UNDERBAR/
VALID: U+02a32 (⨲) SEMIDIRECT PRODUCT WITH BOTTOM CLOSED/
VALID: U+02a33 (⨳) SMASH PRODUCT/
VALID: U+02a34 (⨴) MULTIPLICATION SIGN IN LEFT HALF CIRCLE/
VALID: U+02a35 (⨵) MULTIPLICATION SIGN IN RIGHT HALF CIRCLE/
VALID: U+02a36 (⨶) CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT/
VALID: U+02a37 (⨷) MULTIPLICATION SIGN IN DOUBLE CIRCLE/
VALID: U+02a38 (⨸) CIRCLED DIVISION SIGN/
VALID: U+02a39 (⨹) PLUS SIGN IN TRIANGLE/
VALID: U+02a3a (⨺) MINUS SIGN IN TRIANGLE/
VALID: U+02a3b (⨻) MULTIPLICATION SIGN IN TRIANGLE/
VALID: U+02a3c (⨼) INTERIOR PRODUCT/
VALID: U+02a3d (⨽) RIGHTHAND INTERIOR PRODUCT/
INVALID: U+02a3e (⨾) Z NOTATION RELATIONAL COMPOSITION/
INVALID: U+02a3f (⨿) AMALGAMATION OR COPRODUCT/
VALID: U+02a40 (⩀) INTERSECTION WITH DOT/
VALID: U+02a41 (⩁) UNION WITH MINUS SIGN/
VALID: U+02a42 (⩂) UNION WITH OVERBAR/
VALID: U+02a43 (⩃) INTERSECTION WITH OVERBAR/
VALID: U+02a44 (⩄) INTERSECTION WITH LOGICAL AND/
VALID: U+02a45 (⩅) UNION WITH LOGICAL OR/
INVALID: U+02a46 (⩆) UNION ABOVE INTERSECTION/
INVALID: U+02a47 (⩇) INTERSECTION ABOVE UNION/
INVALID: U+02a48 (⩈) UNION ABOVE BAR ABOVE INTERSECTION/
INVALID: U+02a49 (⩉) INTERSECTION ABOVE BAR ABOVE UNION/
VALID: U+02a4a (⩊) UNION BESIDE AND JOINED WITH UNION/
VALID: U+02a4b (⩋) INTERSECTION BESIDE AND JOINED WITH INTERSECTION/
VALID: U+02a4c (⩌) CLOSED UNION WITH SERIFS/
VALID: U+02a4d (⩍) CLOSED INTERSECTION WITH SERIFS/
VALID: U+02a4e (⩎) DOUBLE SQUARE INTERSECTION/
VALID: U+02a4f (⩏) DOUBLE SQUARE UNION/
VALID: U+02a50 (⩐) CLOSED UNION WITH SERIFS AND SMASH PRODUCT/
VALID: U+02a51 (⩑) LOGICAL AND WITH DOT ABOVE/
VALID: U+02a52 (⩒) LOGICAL OR WITH DOT ABOVE/
VALID: U+02a53 (⩓) DOUBLE LOGICAL AND/
VALID: U+02a54 (⩔) DOUBLE LOGICAL OR/
VALID: U+02a55 (⩕) TWO INTERSECTING LOGICAL AND/
VALID: U+02a56 (⩖) TWO INTERSECTING LOGICAL OR/
VALID: U+02a57 (⩗) SLOPING LARGE OR/
VALID: U+02a58 (⩘) SLOPING LARGE AND/
VALID: U+02a5a (⩚) LOGICAL AND WITH MIDDLE STEM/
VALID: U+02a5b (⩛) LOGICAL OR WITH MIDDLE STEM/
VALID: U+02a5c (⩜) LOGICAL AND WITH HORIZONTAL DASH/
VALID: U+02a5d (⩝) LOGICAL OR WITH HORIZONTAL DASH/
VALID: U+02a5e (⩞) LOGICAL AND WITH DOUBLE OVERBAR/
VALID: U+02a5f (⩟) LOGICAL AND WITH UNDERBAR/
VALID: U+02a60 (⩠) LOGICAL AND WITH DOUBLE UNDERBAR/
VALID: U+02a61 (⩡) SMALL VEE WITH UNDERBAR/
VALID: U+02a62 (⩢) LOGICAL OR WITH DOUBLE OVERBAR/
VALID: U+02a63 (⩣) LOGICAL OR WITH DOUBLE UNDERBAR/
INVALID: U+02a64 (⩤) Z NOTATION DOMAIN ANTIRESTRICTION/
INVALID: U+02a65 (⩥) Z NOTATION RANGE ANTIRESTRICTION/
VALID: U+02a71 (⩱) EQUALS SIGN ABOVE PLUS SIGN/
VALID: U+02a72 (⩲) PLUS SIGN ABOVE EQUALS SIGN/
INVALID: U+02af4 (⫴) TRIPLE VERTICAL BAR BINARY RELATION/
INVALID: U+02af5 (⫵) TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE/
INVALID: U+02af6 (⫶) TRIPLE COLON OPERATOR/
INVALID: U+02afb (⫻) TRIPLE SOLIDUS BINARY RELATION/
INVALID: U+02afd (⫽) DOUBLE SOLIDUS OPERATOR/
INVALID: U+02afe (⫾) WHITE VERTICAL BAR/
Valid: 152 Invalid: 49
Category: Relation - includes arrows
VALID: U+0003c (<) LESS-THAN SIGN/
INVALID: U+0003d (=) EQUALS SIGN/
VALID: U+0003e (>) GREATER-THAN SIGN/
VALID: U+02020 (†) DAGGER/
VALID: U+02021 (‡) DOUBLE DAGGER/
VALID: U+0204f (⁏) REVERSED SEMICOLON/
VALID: U+02050 (⁐) CLOSE UP/
VALID: U+02190 (←) LEFTWARDS ARROW/LEFT ARROW
VALID: U+02191 (↑) UPWARDS ARROW/UP ARROW
VALID: U+02192 (→) RIGHTWARDS ARROW/RIGHT ARROW
VALID: U+02193 (↓) DOWNWARDS ARROW/DOWN ARROW
VALID: U+02194 (↔) LEFT RIGHT ARROW/
VALID: U+02195 (↕) UP DOWN ARROW/
VALID: U+02196 (↖) NORTH WEST ARROW/UPPER LEFT ARROW
VALID: U+02197 (↗) NORTH EAST ARROW/UPPER RIGHT ARROW
VALID: U+02198 (↘) SOUTH EAST ARROW/LOWER RIGHT ARROW
VALID: U+02199 (↙) SOUTH WEST ARROW/LOWER LEFT ARROW
VALID: U+0219a (↚) LEFTWARDS ARROW WITH STROKE/LEFT ARROW WITH STROKE
VALID: U+0219b (↛) RIGHTWARDS ARROW WITH STROKE/RIGHT ARROW WITH STROKE
VALID: U+0219c (↜) LEFTWARDS WAVE ARROW/LEFT WAVE ARROW
VALID: U+0219d (↝) RIGHTWARDS WAVE ARROW/RIGHT WAVE ARROW
VALID: U+0219e (↞) LEFTWARDS TWO HEADED ARROW/LEFT TWO HEADED ARROW
VALID: U+0219f (↟) UPWARDS TWO HEADED ARROW/UP TWO HEADED ARROW
VALID: U+021a0 (↠) RIGHTWARDS TWO HEADED ARROW/RIGHT TWO HEADED ARROW
VALID: U+021a1 (↡) DOWNWARDS TWO HEADED ARROW/DOWN TWO HEADED ARROW
VALID: U+021a2 (↢) LEFTWARDS ARROW WITH TAIL/LEFT ARROW WITH TAIL
VALID: U+021a3 (↣) RIGHTWARDS ARROW WITH TAIL/RIGHT ARROW WITH TAIL
VALID: U+021a4 (↤) LEFTWARDS ARROW FROM BAR/LEFT ARROW FROM BAR
VALID: U+021a5 (↥) UPWARDS ARROW FROM BAR/UP ARROW FROM BAR
VALID: U+021a6 (↦) RIGHTWARDS ARROW FROM BAR/RIGHT ARROW FROM BAR
VALID: U+021a7 (↧) DOWNWARDS ARROW FROM BAR/DOWN ARROW FROM BAR
VALID: U+021a8 (↨) UP DOWN ARROW WITH BASE/
VALID: U+021a9 (↩) LEFTWARDS ARROW WITH HOOK/LEFT ARROW WITH HOOK
VALID: U+021aa (↪) RIGHTWARDS ARROW WITH HOOK/RIGHT ARROW WITH HOOK
VALID: U+021ab (↫) LEFTWARDS ARROW WITH LOOP/LEFT ARROW WITH LOOP
VALID: U+021ac (↬) RIGHTWARDS ARROW WITH LOOP/RIGHT ARROW WITH LOOP
VALID: U+021ad (↭) LEFT RIGHT WAVE ARROW/
VALID: U+021ae (↮) LEFT RIGHT ARROW WITH STROKE/
VALID: U+021af (↯) DOWNWARDS ZIGZAG ARROW/DOWN ZIGZAG ARROW
VALID: U+021b0 (↰) UPWARDS ARROW WITH TIP LEFTWARDS/UP ARROW WITH TIP LEFT
VALID: U+021b1 (↱) UPWARDS ARROW WITH TIP RIGHTWARDS/UP ARROW WITH TIP RIGHT
VALID: U+021b2 (↲) DOWNWARDS ARROW WITH TIP LEFTWARDS/DOWN ARROW WITH TIP LEFT
VALID: U+021b3 (↳) DOWNWARDS ARROW WITH TIP RIGHTWARDS/DOWN ARROW WITH TIP RIGHT
VALID: U+021b6 (↶) ANTICLOCKWISE TOP SEMICIRCLE ARROW/
VALID: U+021b7 (↷) CLOCKWISE TOP SEMICIRCLE ARROW/
VALID: U+021ba (↺) ANTICLOCKWISE OPEN CIRCLE ARROW/
VALID: U+021bb (↻) CLOCKWISE OPEN CIRCLE ARROW/
VALID: U+021bc (↼) LEFTWARDS HARPOON WITH BARB UPWARDS/LEFT HARPOON WITH BARB UP
VALID: U+021bd (↽) LEFTWARDS HARPOON WITH BARB DOWNWARDS/LEFT HARPOON WITH BARB DOWN
VALID: U+021be (↾) UPWARDS HARPOON WITH BARB RIGHTWARDS/UP HARPOON WITH BARB RIGHT
VALID: U+021bf (↿) UPWARDS HARPOON WITH BARB LEFTWARDS/UP HARPOON WITH BARB LEFT
VALID: U+021c0 (⇀) RIGHTWARDS HARPOON WITH BARB UPWARDS/RIGHT HARPOON WITH BARB UP
VALID: U+021c1 (⇁) RIGHTWARDS HARPOON WITH BARB DOWNWARDS/RIGHT HARPOON WITH BARB DOWN
VALID: U+021c2 (⇂) DOWNWARDS HARPOON WITH BARB RIGHTWARDS/DOWN HARPOON WITH BARB RIGHT
VALID: U+021c3 (⇃) DOWNWARDS HARPOON WITH BARB LEFTWARDS/DOWN HARPOON WITH BARB LEFT
VALID: U+021c4 (⇄) RIGHTWARDS ARROW OVER LEFTWARDS ARROW/RIGHT ARROW OVER LEFT ARROW
VALID: U+021c5 (⇅) UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW/UP ARROW LEFT OF DOWN ARROW
VALID: U+021c6 (⇆) LEFTWARDS ARROW OVER RIGHTWARDS ARROW/LEFT ARROW OVER RIGHT ARROW
VALID: U+021c7 (⇇) LEFTWARDS PAIRED ARROWS/LEFT PAIRED ARROWS
VALID: U+021c8 (⇈) UPWARDS PAIRED ARROWS/UP PAIRED ARROWS
VALID: U+021c9 (⇉) RIGHTWARDS PAIRED ARROWS/RIGHT PAIRED ARROWS
VALID: U+021ca (⇊) DOWNWARDS PAIRED ARROWS/DOWN PAIRED ARROWS
VALID: U+021cb (⇋) LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON/LEFT HARPOON OVER RIGHT HARPOON
VALID: U+021cc (⇌) RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON/RIGHT HARPOON OVER LEFT HARPOON
VALID: U+021cd (⇍) LEFTWARDS DOUBLE ARROW WITH STROKE/LEFT DOUBLE ARROW WITH STROKE
VALID: U+021ce (⇎) LEFT RIGHT DOUBLE ARROW WITH STROKE/
VALID: U+021cf (⇏) RIGHTWARDS DOUBLE ARROW WITH STROKE/RIGHT DOUBLE ARROW WITH STROKE
VALID: U+021d0 (⇐) LEFTWARDS DOUBLE ARROW/LEFT DOUBLE ARROW
VALID: U+021d1 (⇑) UPWARDS DOUBLE ARROW/UP DOUBLE ARROW
VALID: U+021d2 (⇒) RIGHTWARDS DOUBLE ARROW/RIGHT DOUBLE ARROW
VALID: U+021d3 (⇓) DOWNWARDS DOUBLE ARROW/DOWN DOUBLE ARROW
VALID: U+021d4 (⇔) LEFT RIGHT DOUBLE ARROW/
VALID: U+021d5 (⇕) UP DOWN DOUBLE ARROW/
VALID: U+021d6 (⇖) NORTH WEST DOUBLE ARROW/UPPER LEFT DOUBLE ARROW
VALID: U+021d7 (⇗) NORTH EAST DOUBLE ARROW/UPPER RIGHT DOUBLE ARROW
VALID: U+021d8 (⇘) SOUTH EAST DOUBLE ARROW/LOWER RIGHT DOUBLE ARROW
VALID: U+021d9 (⇙) SOUTH WEST DOUBLE ARROW/LOWER LEFT DOUBLE ARROW
VALID: U+021da (⇚) LEFTWARDS TRIPLE ARROW/LEFT TRIPLE ARROW
VALID: U+021db (⇛) RIGHTWARDS TRIPLE ARROW/RIGHT TRIPLE ARROW
VALID: U+021dc (⇜) LEFTWARDS SQUIGGLE ARROW/LEFT SQUIGGLE ARROW
VALID: U+021dd (⇝) RIGHTWARDS SQUIGGLE ARROW/RIGHT SQUIGGLE ARROW
VALID: U+021de (⇞) UPWARDS ARROW WITH DOUBLE STROKE/UP ARROW WITH DOUBLE STROKE
VALID: U+021df (⇟) DOWNWARDS ARROW WITH DOUBLE STROKE/DOWN ARROW WITH DOUBLE STROKE
VALID: U+021e0 (⇠) LEFTWARDS DASHED ARROW/LEFT DASHED ARROW
VALID: U+021e1 (⇡) UPWARDS DASHED ARROW/UP DASHED ARROW
VALID: U+021e2 (⇢) RIGHTWARDS DASHED ARROW/RIGHT DASHED ARROW
VALID: U+021e3 (⇣) DOWNWARDS DASHED ARROW/DOWN DASHED ARROW
VALID: U+021e4 (⇤) LEFTWARDS ARROW TO BAR/LEFT ARROW TO BAR
VALID: U+021e5 (⇥) RIGHTWARDS ARROW TO BAR/RIGHT ARROW TO BAR
VALID: U+021e6 (⇦) LEFTWARDS WHITE ARROW/WHITE LEFT ARROW
VALID: U+021e7 (⇧) UPWARDS WHITE ARROW/WHITE UP ARROW
VALID: U+021e8 (⇨) RIGHTWARDS WHITE ARROW/WHITE RIGHT ARROW
VALID: U+021e9 (⇩) DOWNWARDS WHITE ARROW/WHITE DOWN ARROW
VALID: U+021ea (⇪) UPWARDS WHITE ARROW FROM BAR/WHITE UP ARROW FROM BAR
VALID: U+021eb (⇫) UPWARDS WHITE ARROW ON PEDESTAL/
VALID: U+021ec (⇬) UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR/
VALID: U+021ed (⇭) UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR/
VALID: U+021ee (⇮) UPWARDS WHITE DOUBLE ARROW/
VALID: U+021ef (⇯) UPWARDS WHITE DOUBLE ARROW ON PEDESTAL/
VALID: U+021f0 (⇰) RIGHTWARDS WHITE ARROW FROM WALL/
VALID: U+021f1 (⇱) NORTH WEST ARROW TO CORNER/
VALID: U+021f2 (⇲) SOUTH EAST ARROW TO CORNER/
VALID: U+021f3 (⇳) UP DOWN WHITE ARROW/
VALID: U+021f4 (⇴) RIGHT ARROW WITH SMALL CIRCLE/
VALID: U+021f5 (⇵) DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW/
VALID: U+021f6 (⇶) THREE RIGHTWARDS ARROWS/
VALID: U+021f7 (⇷) LEFTWARDS ARROW WITH VERTICAL STROKE/
VALID: U+021f8 (⇸) RIGHTWARDS ARROW WITH VERTICAL STROKE/
VALID: U+021f9 (⇹) LEFT RIGHT ARROW WITH VERTICAL STROKE/
VALID: U+021fa (⇺) LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE/
VALID: U+021fb (⇻) RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE/
VALID: U+021fc (⇼) LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE/
VALID: U+021fd (⇽) LEFTWARDS OPEN-HEADED ARROW/
VALID: U+021fe (⇾) RIGHTWARDS OPEN-HEADED ARROW/
VALID: U+021ff (⇿) LEFT RIGHT OPEN-HEADED ARROW/
VALID: U+02208 (∈) ELEMENT OF/
VALID: U+02209 (∉) NOT AN ELEMENT OF/
VALID: U+0220a (∊) SMALL ELEMENT OF/
VALID: U+0220b (∋) CONTAINS AS MEMBER/
VALID: U+0220c (∌) DOES NOT CONTAIN AS MEMBER/
VALID: U+0220d (∍) SMALL CONTAINS AS MEMBER/
VALID: U+0221d (∝) PROPORTIONAL TO/
INVALID: U+02223 (∣) DIVIDES/
VALID: U+02224 (∤) DOES NOT DIVIDE/
VALID: U+02225 (∥) PARALLEL TO/
VALID: U+02226 (∦) NOT PARALLEL TO/
INVALID: U+02234 (∴) THEREFORE/
INVALID: U+02235 (∵) BECAUSE/
INVALID: U+02236 (∶) RATIO/
VALID: U+02237 (∷) PROPORTION/
INVALID: U+02239 (∹) EXCESS/
VALID: U+0223a (∺) GEOMETRIC PROPORTION/
VALID: U+0223b (∻) HOMOTHETIC/
INVALID: U+0223c (∼) TILDE OPERATOR/
VALID: U+0223d (∽) REVERSED TILDE/
VALID: U+02241 (≁) NOT TILDE/
VALID: U+02242 (≂) MINUS TILDE/
VALID: U+02243 (≃) ASYMPTOTICALLY EQUAL TO/
VALID: U+02244 (≄) NOT ASYMPTOTICALLY EQUAL TO/
VALID: U+02245 (≅) APPROXIMATELY EQUAL TO/
VALID: U+02246 (≆) APPROXIMATELY BUT NOT ACTUALLY EQUAL TO/
VALID: U+02247 (≇) NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO/
VALID: U+02248 (≈) ALMOST EQUAL TO/
VALID: U+02249 (≉) NOT ALMOST EQUAL TO/
VALID: U+0224a (≊) ALMOST EQUAL OR EQUAL TO/
VALID: U+0224b (≋) TRIPLE TILDE/
VALID: U+0224c (≌) ALL EQUAL TO/
VALID: U+0224d (≍) EQUIVALENT TO/
VALID: U+0224e (≎) GEOMETRICALLY EQUIVALENT TO/
VALID: U+0224f (≏) DIFFERENCE BETWEEN/
VALID: U+02250 (≐) APPROACHES THE LIMIT/
VALID: U+02251 (≑) GEOMETRICALLY EQUAL TO/
VALID: U+02252 (≒) APPROXIMATELY EQUAL TO OR THE IMAGE OF/
VALID: U+02253 (≓) IMAGE OF OR APPROXIMATELY EQUAL TO/
VALID: U+02254 (≔) COLON EQUALS/COLON EQUAL
VALID: U+02255 (≕) EQUALS COLON/EQUAL COLON
VALID: U+02256 (≖) RING IN EQUAL TO/
VALID: U+02257 (≗) RING EQUAL TO/
VALID: U+02258 (≘) CORRESPONDS TO/
VALID: U+02259 (≙) ESTIMATES/
VALID: U+0225a (≚) EQUIANGULAR TO/
VALID: U+0225b (≛) STAR EQUALS/
VALID: U+0225c (≜) DELTA EQUAL TO/
VALID: U+0225d (≝) EQUAL TO BY DEFINITION/
VALID: U+0225e (≞) MEASURED BY/
VALID: U+0225f (≟) QUESTIONED EQUAL TO/
VALID: U+02260 (≠) NOT EQUAL TO/
VALID: U+02261 (≡) IDENTICAL TO/
VALID: U+02262 (≢) NOT IDENTICAL TO/
VALID: U+02263 (≣) STRICTLY EQUIVALENT TO/
VALID: U+02264 (≤) LESS-THAN OR EQUAL TO/LESS THAN OR EQUAL TO
VALID: U+02265 (≥) GREATER-THAN OR EQUAL TO/GREATER THAN OR EQUAL TO
VALID: U+02266 (≦) LESS-THAN OVER EQUAL TO/LESS THAN OVER EQUAL TO
VALID: U+02267 (≧) GREATER-THAN OVER EQUAL TO/GREATER THAN OVER EQUAL TO
VALID: U+02268 (≨) LESS-THAN BUT NOT EQUAL TO/LESS THAN BUT NOT EQUAL TO
VALID: U+02269 (≩) GREATER-THAN BUT NOT EQUAL TO/GREATER THAN BUT NOT EQUAL TO
VALID: U+0226a (≪) MUCH LESS-THAN/MUCH LESS THAN
VALID: U+0226b (≫) MUCH GREATER-THAN/MUCH GREATER THAN
VALID: U+0226c (≬) BETWEEN/
VALID: U+0226d (≭) NOT EQUIVALENT TO/
VALID: U+0226e (≮) NOT LESS-THAN/NOT LESS THAN
VALID: U+0226f (≯) NOT GREATER-THAN/NOT GREATER THAN
VALID: U+02270 (≰) NEITHER LESS-THAN NOR EQUAL TO/NEITHER LESS THAN NOR EQUAL TO
VALID: U+02271 (≱) NEITHER GREATER-THAN NOR EQUAL TO/NEITHER GREATER THAN NOR EQUAL TO
VALID: U+02272 (≲) LESS-THAN OR EQUIVALENT TO/LESS THAN OR EQUIVALENT TO
VALID: U+02273 (≳) GREATER-THAN OR EQUIVALENT TO/GREATER THAN OR EQUIVALENT TO
VALID: U+02274 (≴) NEITHER LESS-THAN NOR EQUIVALENT TO/NEITHER LESS THAN NOR EQUIVALENT TO
VALID: U+02275 (≵) NEITHER GREATER-THAN NOR EQUIVALENT TO/NEITHER GREATER THAN NOR EQUIVALENT TO
VALID: U+02276 (≶) LESS-THAN OR GREATER-THAN/LESS THAN OR GREATER THAN
VALID: U+02277 (≷) GREATER-THAN OR LESS-THAN/GREATER THAN OR LESS THAN
VALID: U+02278 (≸) NEITHER LESS-THAN NOR GREATER-THAN/NEITHER LESS THAN NOR GREATER THAN
VALID: U+02279 (≹) NEITHER GREATER-THAN NOR LESS-THAN/NEITHER GREATER THAN NOR LESS THAN
VALID: U+0227a (≺) PRECEDES/
VALID: U+0227b (≻) SUCCEEDS/
VALID: U+0227c (≼) PRECEDES OR EQUAL TO/
VALID: U+0227d (≽) SUCCEEDS OR EQUAL TO/
VALID: U+0227e (≾) PRECEDES OR EQUIVALENT TO/
VALID: U+0227f (≿) SUCCEEDS OR EQUIVALENT TO/
VALID: U+02280 (⊀) DOES NOT PRECEDE/
VALID: U+02281 (⊁) DOES NOT SUCCEED/
VALID: U+02282 (⊂) SUBSET OF/
VALID: U+02283 (⊃) SUPERSET OF/
VALID: U+02284 (⊄) NOT A SUBSET OF/
VALID: U+02285 (⊅) NOT A SUPERSET OF/
VALID: U+02286 (⊆) SUBSET OF OR EQUAL TO/
VALID: U+02287 (⊇) SUPERSET OF OR EQUAL TO/
VALID: U+02288 (⊈) NEITHER A SUBSET OF NOR EQUAL TO/
VALID: U+02289 (⊉) NEITHER A SUPERSET OF NOR EQUAL TO/
VALID: U+0228a (⊊) SUBSET OF WITH NOT EQUAL TO/SUBSET OF OR NOT EQUAL TO
VALID: U+0228b (⊋) SUPERSET OF WITH NOT EQUAL TO/SUPERSET OF OR NOT EQUAL TO
VALID: U+0228f (⊏) SQUARE IMAGE OF/
VALID: U+02290 (⊐) SQUARE ORIGINAL OF/
VALID: U+02291 (⊑) SQUARE IMAGE OF OR EQUAL TO/
VALID: U+02292 (⊒) SQUARE ORIGINAL OF OR EQUAL TO/
VALID: U+022a2 (⊢) RIGHT TACK/
VALID: U+022a3 (⊣) LEFT TACK/
VALID: U+022a5 (⊥) UP TACK/
INVALID: U+022a6 (⊦) ASSERTION/
INVALID: U+022a7 (⊧) MODELS/
INVALID: U+022a8 (⊨) TRUE/
VALID: U+022a9 (⊩) FORCES/
INVALID: U+022aa (⊪) TRIPLE VERTICAL BAR RIGHT TURNSTILE/
INVALID: U+022ab (⊫) DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE/
VALID: U+022ac (⊬) DOES NOT PROVE/
INVALID: U+022ad (⊭) NOT TRUE/
VALID: U+022ae (⊮) DOES NOT FORCE/
INVALID: U+022af (⊯) NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE/
VALID: U+022b0 (⊰) PRECEDES UNDER RELATION/
VALID: U+022b1 (⊱) SUCCEEDS UNDER RELATION/
VALID: U+022b2 (⊲) NORMAL SUBGROUP OF/
VALID: U+022b3 (⊳) CONTAINS AS NORMAL SUBGROUP/
VALID: U+022b4 (⊴) NORMAL SUBGROUP OF OR EQUAL TO/
VALID: U+022b5 (⊵) CONTAINS AS NORMAL SUBGROUP OR EQUAL TO/
VALID: U+022b6 (⊶) ORIGINAL OF/
VALID: U+022b7 (⊷) IMAGE OF/
INVALID: U+022b8 (⊸) MULTIMAP/
INVALID: U+022c8 (⋈) BOWTIE/
VALID: U+022cd (⋍) REVERSED TILDE EQUALS/
VALID: U+022d0 (⋐) DOUBLE SUBSET/
VALID: U+022d1 (⋑) DOUBLE SUPERSET/
INVALID: U+022d4 (⋔) PITCHFORK/
VALID: U+022d5 (⋕) EQUAL AND PARALLEL TO/
VALID: U+022d6 (⋖) LESS-THAN WITH DOT/LESS THAN WITH DOT
VALID: U+022d7 (⋗) GREATER-THAN WITH DOT/GREATER THAN WITH DOT
VALID: U+022d8 (⋘) VERY MUCH LESS-THAN/VERY MUCH LESS THAN
VALID: U+022d9 (⋙) VERY MUCH GREATER-THAN/VERY MUCH GREATER THAN
VALID: U+022da (⋚) LESS-THAN EQUAL TO OR GREATER-THAN/LESS THAN EQUAL TO OR GREATER THAN
VALID: U+022db (⋛) GREATER-THAN EQUAL TO OR LESS-THAN/GREATER THAN EQUAL TO OR LESS THAN
VALID: U+022dc (⋜) EQUAL TO OR LESS-THAN/EQUAL TO OR LESS THAN
VALID: U+022dd (⋝) EQUAL TO OR GREATER-THAN/EQUAL TO OR GREATER THAN
VALID: U+022de (⋞) EQUAL TO OR PRECEDES/
VALID: U+022df (⋟) EQUAL TO OR SUCCEEDS/
VALID: U+022e0 (⋠) DOES NOT PRECEDE OR EQUAL/
VALID: U+022e1 (⋡) DOES NOT SUCCEED OR EQUAL/
VALID: U+022e2 (⋢) NOT SQUARE IMAGE OF OR EQUAL TO/
VALID: U+022e3 (⋣) NOT SQUARE ORIGINAL OF OR EQUAL TO/
VALID: U+022e4 (⋤) SQUARE IMAGE OF OR NOT EQUAL TO/
VALID: U+022e5 (⋥) SQUARE ORIGINAL OF OR NOT EQUAL TO/
VALID: U+022e6 (⋦) LESS-THAN BUT NOT EQUIVALENT TO/LESS THAN BUT NOT EQUIVALENT TO
VALID: U+022e7 (⋧) GREATER-THAN BUT NOT EQUIVALENT TO/GREATER THAN BUT NOT EQUIVALENT TO
VALID: U+022e8 (⋨) PRECEDES BUT NOT EQUIVALENT TO/
VALID: U+022e9 (⋩) SUCCEEDS BUT NOT EQUIVALENT TO/
VALID: U+022ea (⋪) NOT NORMAL SUBGROUP OF/
VALID: U+022eb (⋫) DOES NOT CONTAIN AS NORMAL SUBGROUP/
VALID: U+022ec (⋬) NOT NORMAL SUBGROUP OF OR EQUAL TO/
VALID: U+022ed (⋭) DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL/
VALID: U+022ee (⋮) VERTICAL ELLIPSIS/
VALID: U+022ef (⋯) MIDLINE HORIZONTAL ELLIPSIS/
VALID: U+022f0 (⋰) UP RIGHT DIAGONAL ELLIPSIS/
VALID: U+022f1 (⋱) DOWN RIGHT DIAGONAL ELLIPSIS/
VALID: U+022f2 (⋲) ELEMENT OF WITH LONG HORIZONTAL STROKE/
VALID: U+022f3 (⋳) ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE/
VALID: U+022f4 (⋴) SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE/
VALID: U+022f5 (⋵) ELEMENT OF WITH DOT ABOVE/
VALID: U+022f6 (⋶) ELEMENT OF WITH OVERBAR/
VALID: U+022f7 (⋷) SMALL ELEMENT OF WITH OVERBAR/
VALID: U+022f8 (⋸) ELEMENT OF WITH UNDERBAR/
VALID: U+022f9 (⋹) ELEMENT OF WITH TWO HORIZONTAL STROKES/
VALID: U+022fa (⋺) CONTAINS WITH LONG HORIZONTAL STROKE/
VALID: U+022fb (⋻) CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE/
VALID: U+022fc (⋼) SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE/
VALID: U+022fd (⋽) CONTAINS WITH OVERBAR/
VALID: U+022fe (⋾) SMALL CONTAINS WITH OVERBAR/
VALID: U+022ff (⋿) Z NOTATION BAG MEMBERSHIP/
VALID: U+02322 (⌢) FROWN/
VALID: U+02323 (⌣) SMILE/
VALID: U+0233f (⌿) APL FUNCTIONAL SYMBOL SLASH BAR/
INVALID: U+0237c (⍼) RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW/
INVALID: U+023b0 (⎰) UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION/
INVALID: U+023b1 (⎱) UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION/
VALID: U+027c2 (⟂) PERPENDICULAR/
INVALID: U+027c3 (⟃) OPEN SUBSET/
INVALID: U+027c4 (⟄) OPEN SUPERSET/
INVALID: U+027c5 (⟅) LEFT S-SHAPED BAG DELIMITER/
INVALID: U+027c6 (⟆) RIGHT S-SHAPED BAG DELIMITER/
INVALID: U+027c7 (⟇) OR WITH DOT INSIDE/
VALID: U+027c8 (⟈) REVERSE SOLIDUS PRECEDING SUBSET/
VALID: U+027c9 (⟉) SUPERSET PRECEDING SOLIDUS/
INVALID: U+027ca (⟊) VERTICAL BAR WITH HORIZONTAL STROKE/
INVALID: U+027cb (⟋) MATHEMATICAL RISING DIAGONAL/
INVALID: U+027cd (⟍) MATHEMATICAL FALLING DIAGONAL/
VALID: U+027d2 (⟒) ELEMENT OF OPENING UPWARDS/
INVALID: U+027d3 (⟓) LOWER RIGHT CORNER WITH DOT/
INVALID: U+027d4 (⟔) UPPER LEFT CORNER WITH DOT/
INVALID: U+027da (⟚) LEFT AND RIGHT DOUBLE TURNSTILE/
INVALID: U+027db (⟛) LEFT AND RIGHT TACK/
INVALID: U+027dc (⟜) LEFT MULTIMAP/
INVALID: U+027dd (⟝) LONG RIGHT TACK/
INVALID: U+027de (⟞) LONG LEFT TACK/
INVALID: U+027df (⟟) UP TACK WITH CIRCLE ABOVE/
VALID: U+027f0 (⟰) UPWARDS QUADRUPLE ARROW/
VALID: U+027f1 (⟱) DOWNWARDS QUADRUPLE ARROW/
INVALID: U+027f2 (⟲) ANTICLOCKWISE GAPPED CIRCLE ARROW/
INVALID: U+027f3 (⟳) CLOCKWISE GAPPED CIRCLE ARROW/
INVALID: U+027f4 (⟴) RIGHT ARROW WITH CIRCLED PLUS/
VALID: U+027f5 (⟵) LONG LEFTWARDS ARROW/
VALID: U+027f6 (⟶) LONG RIGHTWARDS ARROW/
VALID: U+027f7 (⟷) LONG LEFT RIGHT ARROW/
INVALID: U+027f8 (⟸) LONG LEFTWARDS DOUBLE ARROW/
VALID: U+027f9 (⟹) LONG RIGHTWARDS DOUBLE ARROW/
VALID: U+027fa (⟺) LONG LEFT RIGHT DOUBLE ARROW/
VALID: U+027fb (⟻) LONG LEFTWARDS ARROW FROM BAR/
VALID: U+027fc (⟼) LONG RIGHTWARDS ARROW FROM BAR/
VALID: U+027fd (⟽) LONG LEFTWARDS DOUBLE ARROW FROM BAR/
VALID: U+027fe (⟾) LONG RIGHTWARDS DOUBLE ARROW FROM BAR/
VALID: U+027ff (⟿) LONG RIGHTWARDS SQUIGGLE ARROW/
VALID: U+02900 (⤀) RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE/
VALID: U+02901 (⤁) RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE/
VALID: U+02902 (⤂) LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE/
VALID: U+02903 (⤃) RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE/
VALID: U+02904 (⤄) LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE/
VALID: U+02905 (⤅) RIGHTWARDS TWO-HEADED ARROW FROM BAR/
VALID: U+02906 (⤆) LEFTWARDS DOUBLE ARROW FROM BAR/
VALID: U+02907 (⤇) RIGHTWARDS DOUBLE ARROW FROM BAR/
VALID: U+02908 (⤈) DOWNWARDS ARROW WITH HORIZONTAL STROKE/
VALID: U+02909 (⤉) UPWARDS ARROW WITH HORIZONTAL STROKE/
VALID: U+0290a (⤊) UPWARDS TRIPLE ARROW/
VALID: U+0290b (⤋) DOWNWARDS TRIPLE ARROW/
VALID: U+0290c (⤌) LEFTWARDS DOUBLE DASH ARROW/
VALID: U+0290d (⤍) RIGHTWARDS DOUBLE DASH ARROW/
VALID: U+0290e (⤎) LEFTWARDS TRIPLE DASH ARROW/
VALID: U+0290f (⤏) RIGHTWARDS TRIPLE DASH ARROW/
VALID: U+02910 (⤐) RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW/
VALID: U+02911 (⤑) RIGHTWARDS ARROW WITH DOTTED STEM/
VALID: U+02912 (⤒) UPWARDS ARROW TO BAR/
VALID: U+02913 (⤓) DOWNWARDS ARROW TO BAR/
VALID: U+02914 (⤔) RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE/
VALID: U+02915 (⤕) RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE/
VALID: U+02916 (⤖) RIGHTWARDS TWO-HEADED ARROW WITH TAIL/
VALID: U+02917 (⤗) RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE/
VALID: U+02918 (⤘) RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE/
INVALID: U+02919 (⤙) LEFTWARDS ARROW-TAIL/
INVALID: U+0291a (⤚) RIGHTWARDS ARROW-TAIL/
INVALID: U+0291b (⤛) LEFTWARDS DOUBLE ARROW-TAIL/
INVALID: U+0291c (⤜) RIGHTWARDS DOUBLE ARROW-TAIL/
VALID: U+0291d (⤝) LEFTWARDS ARROW TO BLACK DIAMOND/
VALID: U+0291e (⤞) RIGHTWARDS ARROW TO BLACK DIAMOND/
VALID: U+0291f (⤟) LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND/
VALID: U+02920 (⤠) RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND/
INVALID: U+02921 (⤡) NORTH WEST AND SOUTH EAST ARROW/
INVALID: U+02922 (⤢) NORTH EAST AND SOUTH WEST ARROW/
INVALID: U+02923 (⤣) NORTH WEST ARROW WITH HOOK/
INVALID: U+02924 (⤤) NORTH EAST ARROW WITH HOOK/
INVALID: U+02925 (⤥) SOUTH EAST ARROW WITH HOOK/
INVALID: U+02926 (⤦) SOUTH WEST ARROW WITH HOOK/
INVALID: U+02927 (⤧) NORTH WEST ARROW AND NORTH EAST ARROW/
INVALID: U+02928 (⤨) NORTH EAST ARROW AND SOUTH EAST ARROW/
INVALID: U+02929 (⤩) SOUTH EAST ARROW AND SOUTH WEST ARROW/
INVALID: U+0292a (⤪) SOUTH WEST ARROW AND NORTH WEST ARROW/
INVALID: U+0292b (⤫) RISING DIAGONAL CROSSING FALLING DIAGONAL/
INVALID: U+0292c (⤬) FALLING DIAGONAL CROSSING RISING DIAGONAL/
INVALID: U+0292d (⤭) SOUTH EAST ARROW CROSSING NORTH EAST ARROW/
INVALID: U+0292e (⤮) NORTH EAST ARROW CROSSING SOUTH EAST ARROW/
INVALID: U+0292f (⤯) FALLING DIAGONAL CROSSING NORTH EAST ARROW/
INVALID: U+02930 (⤰) RISING DIAGONAL CROSSING SOUTH EAST ARROW/
INVALID: U+02931 (⤱) NORTH EAST ARROW CROSSING NORTH WEST ARROW/
INVALID: U+02932 (⤲) NORTH WEST ARROW CROSSING NORTH EAST ARROW/
INVALID: U+02933 (⤳) WAVE ARROW POINTING DIRECTLY RIGHT/
INVALID: U+02934 (⤴) ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS/
INVALID: U+02935 (⤵) ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS/
INVALID: U+02936 (⤶) ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS/
INVALID: U+02937 (⤷) ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS/
INVALID: U+02938 (⤸) RIGHT-SIDE ARC CLOCKWISE ARROW/
INVALID: U+02939 (⤹) LEFT-SIDE ARC ANTICLOCKWISE ARROW/
INVALID: U+0293a (⤺) TOP ARC ANTICLOCKWISE ARROW/
INVALID: U+0293b (⤻) BOTTOM ARC ANTICLOCKWISE ARROW/
INVALID: U+0293c (⤼) TOP ARC CLOCKWISE ARROW WITH MINUS/
INVALID: U+0293d (⤽) TOP ARC ANTICLOCKWISE ARROW WITH PLUS/
INVALID: U+0293e (⤾) LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW/
INVALID: U+0293f (⤿) LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW/
INVALID: U+02940 (⥀) ANTICLOCKWISE CLOSED CIRCLE ARROW/
INVALID: U+02941 (⥁) CLOCKWISE CLOSED CIRCLE ARROW/
INVALID: U+02942 (⥂) RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW/
INVALID: U+02943 (⥃) LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW/
VALID: U+02944 (⥄) SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW/
VALID: U+02945 (⥅) RIGHTWARDS ARROW WITH PLUS BELOW/
VALID: U+02946 (⥆) LEFTWARDS ARROW WITH PLUS BELOW/
VALID: U+02947 (⥇) RIGHTWARDS ARROW THROUGH X/
VALID: U+02948 (⥈) LEFT RIGHT ARROW THROUGH SMALL CIRCLE/
VALID: U+02949 (⥉) UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE/
VALID: U+0294a (⥊) LEFT BARB UP RIGHT BARB DOWN HARPOON/
VALID: U+0294b (⥋) LEFT BARB DOWN RIGHT BARB UP HARPOON/
VALID: U+0294c (⥌) UP BARB RIGHT DOWN BARB LEFT HARPOON/
VALID: U+0294d (⥍) UP BARB LEFT DOWN BARB RIGHT HARPOON/
VALID: U+0294e (⥎) LEFT BARB UP RIGHT BARB UP HARPOON/
VALID: U+0294f (⥏) UP BARB RIGHT DOWN BARB RIGHT HARPOON/
VALID: U+02950 (⥐) LEFT BARB DOWN RIGHT BARB DOWN HARPOON/
VALID: U+02951 (⥑) UP BARB LEFT DOWN BARB LEFT HARPOON/
VALID: U+02952 (⥒) LEFTWARDS HARPOON WITH BARB UP TO BAR/
VALID: U+02953 (⥓) RIGHTWARDS HARPOON WITH BARB UP TO BAR/
VALID: U+02954 (⥔) UPWARDS HARPOON WITH BARB RIGHT TO BAR/
VALID: U+02955 (⥕) DOWNWARDS HARPOON WITH BARB RIGHT TO BAR/
VALID: U+02956 (⥖) LEFTWARDS HARPOON WITH BARB DOWN TO BAR/
VALID: U+02957 (⥗) RIGHTWARDS HARPOON WITH BARB DOWN TO BAR/
VALID: U+02958 (⥘) UPWARDS HARPOON WITH BARB LEFT TO BAR/
VALID: U+02959 (⥙) DOWNWARDS HARPOON WITH BARB LEFT TO BAR/
VALID: U+0295a (⥚) LEFTWARDS HARPOON WITH BARB UP FROM BAR/
VALID: U+0295b (⥛) RIGHTWARDS HARPOON WITH BARB UP FROM BAR/
VALID: U+0295c (⥜) UPWARDS HARPOON WITH BARB RIGHT FROM BAR/
VALID: U+0295d (⥝) DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR/
VALID: U+0295e (⥞) LEFTWARDS HARPOON WITH BARB DOWN FROM BAR/
VALID: U+0295f (⥟) RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR/
VALID: U+02960 (⥠) UPWARDS HARPOON WITH BARB LEFT FROM BAR/
VALID: U+02961 (⥡) DOWNWARDS HARPOON WITH BARB LEFT FROM BAR/
VALID: U+02962 (⥢) LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN/
VALID: U+02963 (⥣) UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT/
VALID: U+02964 (⥤) RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN/
VALID: U+02965 (⥥) DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT/
VALID: U+02966 (⥦) LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP/
VALID: U+02967 (⥧) LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN/
VALID: U+02968 (⥨) RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP/
VALID: U+02969 (⥩) RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN/
VALID: U+0296a (⥪) LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH/
VALID: U+0296b (⥫) LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH/
VALID: U+0296c (⥬) RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH/
VALID: U+0296d (⥭) RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH/
VALID: U+0296e (⥮) UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT/
VALID: U+0296f (⥯) DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT/
VALID: U+02970 (⥰) RIGHT DOUBLE ARROW WITH ROUNDED HEAD/
INVALID: U+02971 (⥱) EQUALS SIGN ABOVE RIGHTWARDS ARROW/
INVALID: U+02972 (⥲) TILDE OPERATOR ABOVE RIGHTWARDS ARROW/
INVALID: U+02973 (⥳) LEFTWARDS ARROW ABOVE TILDE OPERATOR/
INVALID: U+02974 (⥴) RIGHTWARDS ARROW ABOVE TILDE OPERATOR/
INVALID: U+02975 (⥵) RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO/
INVALID: U+02976 (⥶) LESS-THAN ABOVE LEFTWARDS ARROW/
INVALID: U+02977 (⥷) LEFTWARDS ARROW THROUGH LESS-THAN/
INVALID: U+02978 (⥸) GREATER-THAN ABOVE RIGHTWARDS ARROW/
INVALID: U+02979 (⥹) SUBSET ABOVE RIGHTWARDS ARROW/
INVALID: U+0297a (⥺) LEFTWARDS ARROW THROUGH SUBSET/
INVALID: U+0297b (⥻) SUPERSET ABOVE LEFTWARDS ARROW/
INVALID: U+0297c (⥼) LEFT FISH TAIL/
INVALID: U+0297d (⥽) RIGHT FISH TAIL/
INVALID: U+0297e (⥾) UP FISH TAIL/
INVALID: U+0297f (⥿) DOWN FISH TAIL/
INVALID: U+029ce (⧎) RIGHT TRIANGLE ABOVE LEFT TRIANGLE/
INVALID: U+029cf (⧏) LEFT TRIANGLE BESIDE VERTICAL BAR/
INVALID: U+029d0 (⧐) VERTICAL BAR BESIDE RIGHT TRIANGLE/
INVALID: U+029d1 (⧑) BOWTIE WITH LEFT HALF BLACK/
INVALID: U+029d2 (⧒) BOWTIE WITH RIGHT HALF BLACK/
INVALID: U+029d3 (⧓) BLACK BOWTIE/
INVALID: U+029d4 (⧔) TIMES WITH LEFT HALF BLACK/
INVALID: U+029d5 (⧕) TIMES WITH RIGHT HALF BLACK/
INVALID: U+029df (⧟) DOUBLE-ENDED MULTIMAP/
VALID: U+029e1 (⧡) INCREASES AS/
VALID: U+029e3 (⧣) EQUALS SIGN AND SLANTED PARALLEL/
VALID: U+029e4 (⧤) EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE/
VALID: U+029e5 (⧥) IDENTICAL TO AND SLANTED PARALLEL/
INVALID: U+029e6 (⧦) GLEICH STARK/
VALID: U+029f4 (⧴) RULE-DELAYED/
INVALID: U+02a59 (⩙) LOGICAL OR OVERLAPPING LOGICAL AND/
VALID: U+02a66 (⩦) EQUALS SIGN WITH DOT BELOW/
VALID: U+02a67 (⩧) IDENTICAL WITH DOT ABOVE/
INVALID: U+02a68 (⩨) TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE/
INVALID: U+02a69 (⩩) TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE/
VALID: U+02a6a (⩪) TILDE OPERATOR WITH DOT ABOVE/
VALID: U+02a6b (⩫) TILDE OPERATOR WITH RISING DOTS/
VALID: U+02a6c (⩬) SIMILAR MINUS SIMILAR/
VALID: U+02a6d (⩭) CONGRUENT WITH DOT ABOVE/
VALID: U+02a6e (⩮) EQUALS WITH ASTERISK/
VALID: U+02a6f (⩯) ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT/
VALID: U+02a70 (⩰) APPROXIMATELY EQUAL OR EQUAL TO/
VALID: U+02a73 (⩳) EQUALS SIGN ABOVE TILDE OPERATOR/
VALID: U+02a74 (⩴) DOUBLE COLON EQUAL/
VALID: U+02a75 (⩵) TWO CONSECUTIVE EQUALS SIGNS/
VALID: U+02a76 (⩶) THREE CONSECUTIVE EQUALS SIGNS/
VALID: U+02a77 (⩷) EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW/
VALID: U+02a78 (⩸) EQUIVALENT WITH FOUR DOTS ABOVE/
VALID: U+02a79 (⩹) LESS-THAN WITH CIRCLE INSIDE/
VALID: U+02a7a (⩺) GREATER-THAN WITH CIRCLE INSIDE/
VALID: U+02a7b (⩻) LESS-THAN WITH QUESTION MARK ABOVE/
VALID: U+02a7c (⩼) GREATER-THAN WITH QUESTION MARK ABOVE/
VALID: U+02a7d (⩽) LESS-THAN OR SLANTED EQUAL TO/
VALID: U+02a7e (⩾) GREATER-THAN OR SLANTED EQUAL TO/
VALID: U+02a7f (⩿) LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE/
VALID: U+02a80 (⪀) GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE/
VALID: U+02a81 (⪁) LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE/
VALID: U+02a82 (⪂) GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE/
VALID: U+02a83 (⪃) LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT/
VALID: U+02a84 (⪄) GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT/
VALID: U+02a85 (⪅) LESS-THAN OR APPROXIMATE/
VALID: U+02a86 (⪆) GREATER-THAN OR APPROXIMATE/
VALID: U+02a87 (⪇) LESS-THAN AND SINGLE-LINE NOT EQUAL TO/
VALID: U+02a88 (⪈) GREATER-THAN AND SINGLE-LINE NOT EQUAL TO/
VALID: U+02a89 (⪉) LESS-THAN AND NOT APPROXIMATE/
VALID: U+02a8a (⪊) GREATER-THAN AND NOT APPROXIMATE/
VALID: U+02a8b (⪋) LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN/
VALID: U+02a8c (⪌) GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN/
VALID: U+02a8d (⪍) LESS-THAN ABOVE SIMILAR OR EQUAL/
VALID: U+02a8e (⪎) GREATER-THAN ABOVE SIMILAR OR EQUAL/
VALID: U+02a8f (⪏) LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN/
VALID: U+02a90 (⪐) GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN/
VALID: U+02a91 (⪑) LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL/
VALID: U+02a92 (⪒) GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL/
VALID: U+02a93 (⪓) LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL/
VALID: U+02a94 (⪔) GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL/
VALID: U+02a95 (⪕) SLANTED EQUAL TO OR LESS-THAN/
VALID: U+02a96 (⪖) SLANTED EQUAL TO OR GREATER-THAN/
VALID: U+02a97 (⪗) SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE/
VALID: U+02a98 (⪘) SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE/
VALID: U+02a99 (⪙) DOUBLE-LINE EQUAL TO OR LESS-THAN/
VALID: U+02a9a (⪚) DOUBLE-LINE EQUAL TO OR GREATER-THAN/
VALID: U+02a9b (⪛) DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN/
VALID: U+02a9c (⪜) DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN/
VALID: U+02a9d (⪝) SIMILAR OR LESS-THAN/
VALID: U+02a9e (⪞) SIMILAR OR GREATER-THAN/
VALID: U+02a9f (⪟) SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN/
VALID: U+02aa0 (⪠) SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN/
VALID: U+02aa1 (⪡) DOUBLE NESTED LESS-THAN/
VALID: U+02aa2 (⪢) DOUBLE NESTED GREATER-THAN/
VALID: U+02aa3 (⪣) DOUBLE NESTED LESS-THAN WITH UNDERBAR/
VALID: U+02aa4 (⪤) GREATER-THAN OVERLAPPING LESS-THAN/
VALID: U+02aa5 (⪥) GREATER-THAN BESIDE LESS-THAN/
VALID: U+02aa6 (⪦) LESS-THAN CLOSED BY CURVE/
VALID: U+02aa7 (⪧) GREATER-THAN CLOSED BY CURVE/
VALID: U+02aa8 (⪨) LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL/
VALID: U+02aa9 (⪩) GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL/
VALID: U+02aaa (⪪) SMALLER THAN/
VALID: U+02aab (⪫) LARGER THAN/
VALID: U+02aac (⪬) SMALLER THAN OR EQUAL TO/
VALID: U+02aad (⪭) LARGER THAN OR EQUAL TO/
VALID: U+02aae (⪮) EQUALS SIGN WITH BUMPY ABOVE/
VALID: U+02aaf (⪯) PRECEDES ABOVE SINGLE-LINE EQUALS SIGN/
VALID: U+02ab0 (⪰) SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN/
VALID: U+02ab1 (⪱) PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO/
VALID: U+02ab2 (⪲) SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO/
VALID: U+02ab3 (⪳) PRECEDES ABOVE EQUALS SIGN/
VALID: U+02ab4 (⪴) SUCCEEDS ABOVE EQUALS SIGN/
VALID: U+02ab5 (⪵) PRECEDES ABOVE NOT EQUAL TO/
VALID: U+02ab6 (⪶) SUCCEEDS ABOVE NOT EQUAL TO/
VALID: U+02ab7 (⪷) PRECEDES ABOVE ALMOST EQUAL TO/
VALID: U+02ab8 (⪸) SUCCEEDS ABOVE ALMOST EQUAL TO/
VALID: U+02ab9 (⪹) PRECEDES ABOVE NOT ALMOST EQUAL TO/
VALID: U+02aba (⪺) SUCCEEDS ABOVE NOT ALMOST EQUAL TO/
VALID: U+02abb (⪻) DOUBLE PRECEDES/
VALID: U+02abc (⪼) DOUBLE SUCCEEDS/
VALID: U+02abd (⪽) SUBSET WITH DOT/
VALID: U+02abe (⪾) SUPERSET WITH DOT/
VALID: U+02abf (⪿) SUBSET WITH PLUS SIGN BELOW/
VALID: U+02ac0 (⫀) SUPERSET WITH PLUS SIGN BELOW/
VALID: U+02ac1 (⫁) SUBSET WITH MULTIPLICATION SIGN BELOW/
VALID: U+02ac2 (⫂) SUPERSET WITH MULTIPLICATION SIGN BELOW/
VALID: U+02ac3 (⫃) SUBSET OF OR EQUAL TO WITH DOT ABOVE/
VALID: U+02ac4 (⫄) SUPERSET OF OR EQUAL TO WITH DOT ABOVE/
VALID: U+02ac5 (⫅) SUBSET OF ABOVE EQUALS SIGN/
VALID: U+02ac6 (⫆) SUPERSET OF ABOVE EQUALS SIGN/
VALID: U+02ac7 (⫇) SUBSET OF ABOVE TILDE OPERATOR/
VALID: U+02ac8 (⫈) SUPERSET OF ABOVE TILDE OPERATOR/
VALID: U+02ac9 (⫉) SUBSET OF ABOVE ALMOST EQUAL TO/
VALID: U+02aca (⫊) SUPERSET OF ABOVE ALMOST EQUAL TO/
VALID: U+02acb (⫋) SUBSET OF ABOVE NOT EQUAL TO/
VALID: U+02acc (⫌) SUPERSET OF ABOVE NOT EQUAL TO/
VALID: U+02acd (⫍) SQUARE LEFT OPEN BOX OPERATOR/
VALID: U+02ace (⫎) SQUARE RIGHT OPEN BOX OPERATOR/
VALID: U+02acf (⫏) CLOSED SUBSET/
VALID: U+02ad0 (⫐) CLOSED SUPERSET/
VALID: U+02ad1 (⫑) CLOSED SUBSET OR EQUAL TO/
VALID: U+02ad2 (⫒) CLOSED SUPERSET OR EQUAL TO/
VALID: U+02ad3 (⫓) SUBSET ABOVE SUPERSET/
VALID: U+02ad4 (⫔) SUPERSET ABOVE SUBSET/
VALID: U+02ad5 (⫕) SUBSET ABOVE SUBSET/
VALID: U+02ad6 (⫖) SUPERSET ABOVE SUPERSET/
VALID: U+02ad7 (⫗) SUPERSET BESIDE SUBSET/
VALID: U+02ad8 (⫘) SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET/
VALID: U+02ad9 (⫙) ELEMENT OF OPENING DOWNWARDS/
INVALID: U+02ada (⫚) PITCHFORK WITH TEE TOP/
VALID: U+02adb (⫛) TRANSVERSAL INTERSECTION/
INVALID: U+02adc (⫝̸) FORKING/
INVALID: U+02add (⫝) NONFORKING/
INVALID: U+02ade (⫞) SHORT LEFT TACK/
INVALID: U+02adf (⫟) SHORT DOWN TACK/
INVALID: U+02ae0 (⫠) SHORT UP TACK/
INVALID: U+02ae2 (⫢) VERTICAL BAR TRIPLE RIGHT TURNSTILE/
INVALID: U+02ae3 (⫣) DOUBLE VERTICAL BAR LEFT TURNSTILE/
INVALID: U+02ae4 (⫤) VERTICAL BAR DOUBLE LEFT TURNSTILE/
INVALID: U+02ae5 (⫥) DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE/
INVALID: U+02ae6 (⫦) LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL/
INVALID: U+02ae7 (⫧) SHORT DOWN TACK WITH OVERBAR/
INVALID: U+02ae8 (⫨) SHORT UP TACK WITH UNDERBAR/
INVALID: U+02ae9 (⫩) SHORT UP TACK ABOVE SHORT DOWN TACK/
INVALID: U+02aea (⫪) DOUBLE DOWN TACK/
INVALID: U+02aeb (⫫) DOUBLE UP TACK/
INVALID: U+02aec (⫬) DOUBLE STROKE NOT SIGN/
INVALID: U+02aed (⫭) REVERSED DOUBLE STROKE NOT SIGN/
INVALID: U+02aee (⫮) DOES NOT DIVIDE WITH REVERSED NEGATION SLASH/
INVALID: U+02aef (⫯) VERTICAL LINE WITH CIRCLE ABOVE/
INVALID: U+02af0 (⫰) VERTICAL LINE WITH CIRCLE BELOW/
INVALID: U+02af2 (⫲) PARALLEL WITH HORIZONTAL STROKE/
INVALID: U+02af3 (⫳) PARALLEL WITH TILDE OPERATOR/
VALID: U+02af7 (⫷) TRIPLE NESTED LESS-THAN/
VALID: U+02af8 (⫸) TRIPLE NESTED GREATER-THAN/
VALID: U+02af9 (⫹) DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO/
VALID: U+02afa (⫺) DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO/
VALID: U+02b00 (⬀) NORTH EAST WHITE ARROW/
VALID: U+02b01 (⬁) NORTH WEST WHITE ARROW/
VALID: U+02b02 (⬂) SOUTH EAST WHITE ARROW/
VALID: U+02b03 (⬃) SOUTH WEST WHITE ARROW/
VALID: U+02b04 (⬄) LEFT RIGHT WHITE ARROW/
VALID: U+02b05 (⬅) LEFTWARDS BLACK ARROW/
VALID: U+02b06 (⬆) UPWARDS BLACK ARROW/
VALID: U+02b07 (⬇) DOWNWARDS BLACK ARROW/
VALID: U+02b08 (⬈) NORTH EAST BLACK ARROW/
VALID: U+02b09 (⬉) NORTH WEST BLACK ARROW/
VALID: U+02b0a (⬊) SOUTH EAST BLACK ARROW/
VALID: U+02b0b (⬋) SOUTH WEST BLACK ARROW/
VALID: U+02b0c (⬌) LEFT RIGHT BLACK ARROW/
VALID: U+02b0d (⬍) UP DOWN BLACK ARROW/
VALID: U+02b0e (⬎) RIGHTWARDS ARROW WITH TIP DOWNWARDS/
VALID: U+02b0f (⬏) RIGHTWARDS ARROW WITH TIP UPWARDS/
VALID: U+02b10 (⬐) LEFTWARDS ARROW WITH TIP DOWNWARDS/
VALID: U+02b11 (⬑) LEFTWARDS ARROW WITH TIP UPWARDS/
VALID: U+02b30 (⬰) LEFT ARROW WITH SMALL CIRCLE/
VALID: U+02b31 (⬱) THREE LEFTWARDS ARROWS/
VALID: U+02b32 (⬲) LEFT ARROW WITH CIRCLED PLUS/
VALID: U+02b33 (⬳) LONG LEFTWARDS SQUIGGLE ARROW/
VALID: U+02b34 (⬴) LEFTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE/
VALID: U+02b35 (⬵) LEFTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE/
VALID: U+02b36 (⬶) LEFTWARDS TWO-HEADED ARROW FROM BAR/
VALID: U+02b37 (⬷) LEFTWARDS TWO-HEADED TRIPLE DASH ARROW/
VALID: U+02b38 (⬸) LEFTWARDS ARROW WITH DOTTED STEM/
VALID: U+02b39 (⬹) LEFTWARDS ARROW WITH TAIL WITH VERTICAL STROKE/
VALID: U+02b3a (⬺) LEFTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE/
VALID: U+02b3b (⬻) LEFTWARDS TWO-HEADED ARROW WITH TAIL/
VALID: U+02b3c (⬼) LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE/
VALID: U+02b3d (⬽) LEFTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE/
VALID: U+02b3e (⬾) LEFTWARDS ARROW THROUGH X/
VALID: U+02b3f (⬿) WAVE ARROW POINTING DIRECTLY LEFT/
VALID: U+02b40 (⭀) EQUALS SIGN ABOVE LEFTWARDS ARROW/
VALID: U+02b41 (⭁) REVERSE TILDE OPERATOR ABOVE LEFTWARDS ARROW/
VALID: U+02b42 (⭂) LEFTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO/
VALID: U+02b43 (⭃) RIGHTWARDS ARROW THROUGH GREATER-THAN/
VALID: U+02b44 (⭄) RIGHTWARDS ARROW THROUGH SUPERSET/
VALID: U+02b47 (⭇) REVERSE TILDE OPERATOR ABOVE RIGHTWARDS ARROW/
VALID: U+02b48 (⭈) RIGHTWARDS ARROW ABOVE REVERSE ALMOST EQUAL TO/
VALID: U+02b49 (⭉) TILDE OPERATOR ABOVE LEFTWARDS ARROW/
VALID: U+02b4a (⭊) LEFTWARDS ARROW ABOVE ALMOST EQUAL TO/
VALID: U+02b4b (⭋) LEFTWARDS ARROW ABOVE REVERSE TILDE OPERATOR/
VALID: U+02b4c (⭌) RIGHTWARDS ARROW ABOVE REVERSE TILDE OPERATOR/
Valid: 527 Invalid: 130
Category: Vary - operators that can be unary or binary depending on context
VALID: U+0002b (+) PLUS SIGN/
VALID: U+000b1 (±) PLUS-MINUS SIGN/PLUS-OR-MINUS SIGN
INVALID: U+02212 (−) MINUS SIGN/
VALID: U+02213 (∓) MINUS-OR-PLUS SIGN/
Valid: 3 Invalid: 1
Category: Special - characters not covered by other classes
INVALID: U+02064 () INVISIBLE PLUS/
INVALID: U+020d3 (⃓) COMBINING SHORT VERTICAL LINE OVERLAY/NON-SPACING SHORT VERTICAL BAR OVERLAY
INVALID: U+03008 (〈) LEFT ANGLE BRACKET/OPENING ANGLE BRACKET
INVALID: U+03009 (〉) RIGHT ANGLE BRACKET/CLOSING ANGLE BRACKET
INVALID: U+0301a (〚) LEFT WHITE SQUARE BRACKET/OPENING WHITE SQUARE BRACKET
INVALID: U+0301b (〛) RIGHT WHITE SQUARE BRACKET/CLOSING WHITE SQUARE BRACKET
INVALID: U+0fb29 (﬩) HEBREW LETTER ALTERNATIVE PLUS SIGN/
VALID: U+0fe61 (﹡) SMALL ASTERISK/
INVALID: U+0fe62 (﹢) SMALL PLUS SIGN/
INVALID: U+0fe63 (﹣) SMALL HYPHEN-MINUS/
INVALID: U+0fe64 (﹤) SMALL LESS-THAN SIGN/
INVALID: U+0fe65 (﹥) SMALL GREATER-THAN SIGN/
INVALID: U+0fe66 (﹦) SMALL EQUALS SIGN/
INVALID: U+0fe67 () (no description)
VALID: U+0fe68 (﹨) SMALL REVERSE SOLIDUS/SMALL BACKSLASH
INVALID: U+0ff0b (+) FULLWIDTH PLUS SIGN/
INVALID: U+0ff1c (<) FULLWIDTH LESS-THAN SIGN/
INVALID: U+0ff1d (=) FULLWIDTH EQUALS SIGN/
INVALID: U+0ff1e (>) FULLWIDTH GREATER-THAN SIGN/
VALID: U+0ff3c (\) FULLWIDTH REVERSE SOLIDUS/FULLWIDTH BACKSLASH
INVALID: U+0ff3e (^) FULLWIDTH CIRCUMFLEX ACCENT/FULLWIDTH SPACING CIRCUMFLEX
INVALID: U+0ff5c (|) FULLWIDTH VERTICAL LINE/FULLWIDTH VERTICAL BAR
INVALID: U+0ff5e (~) FULLWIDTH TILDE/FULLWIDTH SPACING TILDE
INVALID: U+0ffe2 (¬) FULLWIDTH NOT SIGN/
VALID: U+0ffe9 (←) HALFWIDTH LEFTWARDS ARROW/
VALID: U+0ffea (↑) HALFWIDTH UPWARDS ARROW/
VALID: U+0ffeb (→) HALFWIDTH RIGHTWARDS ARROW/
VALID: U+0ffec (↓) HALFWIDTH DOWNWARDS ARROW/
Valid: 7 Invalid: 21
In [13]:
checkvalidinfix([
"V", #- Vary - operators that can be unary or binary depending on context
], 3)
Category: Vary - operators that can be unary or binary depending on context
INVALID: U+02212 (−) MINUS SIGN/
Valid: 3 Invalid: 1
In [14]:
checkvalidprefix([
"G", #- Glyph_Part - piece of large operator
"L", #- Large - n-ary or large operator, often takes limits
], 3)
Category: Glyph_Part - piece of large operator
INVALID: U+02320 (⌠) TOP HALF INTEGRAL/
INVALID: U+02321 (⌡) BOTTOM HALF INTEGRAL/
INVALID: U+0239b (⎛) LEFT PARENTHESIS UPPER HOOK/
INVALID: U+0239c (⎜) LEFT PARENTHESIS EXTENSION/
INVALID: U+0239d (⎝) LEFT PARENTHESIS LOWER HOOK/
INVALID: U+0239e (⎞) RIGHT PARENTHESIS UPPER HOOK/
INVALID: U+0239f (⎟) RIGHT PARENTHESIS EXTENSION/
INVALID: U+023a0 (⎠) RIGHT PARENTHESIS LOWER HOOK/
INVALID: U+023a1 (⎡) LEFT SQUARE BRACKET UPPER CORNER/
INVALID: U+023a2 (⎢) LEFT SQUARE BRACKET EXTENSION/
INVALID: U+023a3 (⎣) LEFT SQUARE BRACKET LOWER CORNER/
INVALID: U+023a4 (⎤) RIGHT SQUARE BRACKET UPPER CORNER/
INVALID: U+023a5 (⎥) RIGHT SQUARE BRACKET EXTENSION/
INVALID: U+023a6 (⎦) RIGHT SQUARE BRACKET LOWER CORNER/
INVALID: U+023a7 (⎧) LEFT CURLY BRACKET UPPER HOOK/
INVALID: U+023a8 (⎨) LEFT CURLY BRACKET MIDDLE PIECE/
INVALID: U+023a9 (⎩) LEFT CURLY BRACKET LOWER HOOK/
INVALID: U+023aa (⎪) CURLY BRACKET EXTENSION/
INVALID: U+023ab (⎫) RIGHT CURLY BRACKET UPPER HOOK/
INVALID: U+023ac (⎬) RIGHT CURLY BRACKET MIDDLE PIECE/
INVALID: U+023ad (⎭) RIGHT CURLY BRACKET LOWER HOOK/
INVALID: U+023ae (⎮) INTEGRAL EXTENSION/
INVALID: U+023af (⎯) HORIZONTAL LINE EXTENSION/
INVALID: U+023b2 (⎲) SUMMATION TOP/
INVALID: U+023b3 (⎳) SUMMATION BOTTOM/
VALID: U+023b7 (⎷) RADICAL SYMBOL BOTTOM/
VALID: U+023d0 (⏐) VERTICAL LINE EXTENSION/
Valid: 2 Invalid: 25
Category: Large - n-ary or large operator, often takes limits
INVALID: U+00606 (؆) ARABIC-INDIC CUBE ROOT/
INVALID: U+00607 (؇) ARABIC-INDIC FOURTH ROOT/
VALID: U+02140 (⅀) DOUBLE-STRUCK N-ARY SUMMATION/
VALID: U+0220f (∏) N-ARY PRODUCT/
VALID: U+02210 (∐) N-ARY COPRODUCT/
VALID: U+02211 (∑) N-ARY SUMMATION/
VALID: U+0221a (√) SQUARE ROOT/
VALID: U+0221b (∛) CUBE ROOT/
VALID: U+0221c (∜) FOURTH ROOT/
VALID: U+0222b (∫) INTEGRAL/
VALID: U+0222c (∬) DOUBLE INTEGRAL/
VALID: U+0222d (∭) TRIPLE INTEGRAL/
VALID: U+0222e (∮) CONTOUR INTEGRAL/
VALID: U+0222f (∯) SURFACE INTEGRAL/
VALID: U+02230 (∰) VOLUME INTEGRAL/
VALID: U+02231 (∱) CLOCKWISE INTEGRAL/
VALID: U+02232 (∲) CLOCKWISE CONTOUR INTEGRAL/
VALID: U+02233 (∳) ANTICLOCKWISE CONTOUR INTEGRAL/
VALID: U+022c0 (⋀) N-ARY LOGICAL AND/
VALID: U+022c1 (⋁) N-ARY LOGICAL OR/
VALID: U+022c2 (⋂) N-ARY INTERSECTION/
VALID: U+022c3 (⋃) N-ARY UNION/
INVALID: U+027cc (⟌) LONG DIVISION/
INVALID: U+027d5 (⟕) LEFT OUTER JOIN/
INVALID: U+027d6 (⟖) RIGHT OUTER JOIN/
INVALID: U+027d7 (⟗) FULL OUTER JOIN/
VALID: U+027d8 (⟘) LARGE UP TACK/
VALID: U+027d9 (⟙) LARGE DOWN TACK/
INVALID: U+029f8 (⧸) BIG SOLIDUS/
INVALID: U+029f9 (⧹) BIG REVERSE SOLIDUS/
VALID: U+02a00 (⨀) N-ARY CIRCLED DOT OPERATOR/
VALID: U+02a01 (⨁) N-ARY CIRCLED PLUS OPERATOR/
VALID: U+02a02 (⨂) N-ARY CIRCLED TIMES OPERATOR/
VALID: U+02a03 (⨃) N-ARY UNION OPERATOR WITH DOT/
VALID: U+02a04 (⨄) N-ARY UNION OPERATOR WITH PLUS/
VALID: U+02a05 (⨅) N-ARY SQUARE INTERSECTION OPERATOR/
VALID: U+02a06 (⨆) N-ARY SQUARE UNION OPERATOR/
VALID: U+02a07 (⨇) TWO LOGICAL AND OPERATOR/
VALID: U+02a08 (⨈) TWO LOGICAL OR OPERATOR/
VALID: U+02a09 (⨉) N-ARY TIMES OPERATOR/
VALID: U+02a0a (⨊) MODULO TWO SUM/
VALID: U+02a0b (⨋) SUMMATION WITH INTEGRAL/
VALID: U+02a0c (⨌) QUADRUPLE INTEGRAL OPERATOR/
VALID: U+02a0d (⨍) FINITE PART INTEGRAL/
VALID: U+02a0e (⨎) INTEGRAL WITH DOUBLE STROKE/
VALID: U+02a0f (⨏) INTEGRAL AVERAGE WITH SLASH/
VALID: U+02a10 (⨐) CIRCULATION FUNCTION/
VALID: U+02a11 (⨑) ANTICLOCKWISE INTEGRATION/
VALID: U+02a12 (⨒) LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE/
VALID: U+02a13 (⨓) LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE/
VALID: U+02a14 (⨔) LINE INTEGRATION NOT INCLUDING THE POLE/
VALID: U+02a15 (⨕) INTEGRAL AROUND A POINT OPERATOR/
VALID: U+02a16 (⨖) QUATERNION INTEGRAL OPERATOR/
INVALID: U+02a17 (⨗) INTEGRAL WITH LEFTWARDS ARROW WITH HOOK/
INVALID: U+02a18 (⨘) INTEGRAL WITH TIMES SIGN/
INVALID: U+02a19 (⨙) INTEGRAL WITH INTERSECTION/
INVALID: U+02a1a (⨚) INTEGRAL WITH UNION/
VALID: U+02a1b (⨛) INTEGRAL WITH OVERBAR/
VALID: U+02a1c (⨜) INTEGRAL WITH UNDERBAR/
INVALID: U+02a1d (⨝) JOIN/
INVALID: U+02a1e (⨞) LARGE LEFT TRIANGLE OPERATOR/
INVALID: U+02a1f (⨟) Z NOTATION SCHEMA COMPOSITION/
INVALID: U+02a20 (⨠) Z NOTATION SCHEMA PIPING/
INVALID: U+02a21 (⨡) Z NOTATION SCHEMA PROJECTION/
INVALID: U+02afc (⫼) LARGE TRIPLE VERTICAL BAR OPERATOR/
INVALID: U+02aff (⫿) N-ARY WHITE VERTICAL BAR/
Valid: 47 Invalid: 19
Content source: jiahao/jin
Similar notebooks: