The purpose of this notebook is to check for Unicode code points that do not parse in Julia.
using JuliaParser
unicodedatafilename = "UnicodeData.txt"
isfile(unicodedatafilename) || download("http://www.unicode.org/Public/UNIDATA/UnicodeData.txt", unicodedatafilename)
true
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
The first part is to read in the general description of each category. The second part reads in the associated category for each code point.
datafilename = "MathClass.txt"
revision=13
isfile(datafilename) || download("http://www.unicode.org/Public/math/revision-$revision/MathClass-$revision.txt", datafilename)
true
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
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
isparseable(s::String) = try
JuliaParser.Parser.parse(s)
true
catch
false
end
isparseable (generic function with 1 method)
printcharinfo(c::Char) = println("U+", hex(c,5), " (", c,
") ", get(character_description, c, "(no description)")
)
printcharinfo (generic function with 1 method)
#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
Check infix expressions of the form
a + a
and prefix expressions of the form
⨂(a, a)
#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
checkvalidprefix (generic function with 1 method)
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
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
Check infix expressions of the form
a + a + a
and prefix expressions of the form
⨂(a, a, a)
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
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