generated.odin 242 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091
  1. package encoding_unicode_entity
  2. /*
  3. ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------
  4. */
  5. /*
  6. This file is generated from "https://github.com/w3c/xml-entities/blob/gh-pages/unicode.xml".
  7. UPDATE:
  8. - Ensure the XML file was downloaded using "tests\core\download_assets.py".
  9. - Run "core/unicode/tools/generate_entity_table.odin"
  10. Odin unicode generated tables: https://github.com/odin-lang/Odin/tree/master/core/encoding/entity
  11. Copyright David Carlisle 1999-2023
  12. Use and distribution of this code are permitted under the terms of the
  13. W3C Software Notice and License.
  14. http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231.html
  15. This file is a collection of information about how to map
  16. Unicode entities to LaTeX, and various SGML/XML entity
  17. sets (ISO and MathML/HTML). A Unicode character may be mapped
  18. to several entities.
  19. Originally designed by Sebastian Rahtz in conjunction with
  20. Barbara Beeton for the STIX project
  21. See also: LICENSE_table.md
  22. */
  23. // `<`
  24. XML_NAME_TO_RUNE_MIN_LENGTH :: 2
  25. // `&CounterClockwiseContourIntegral;`
  26. XML_NAME_TO_RUNE_MAX_LENGTH :: 31
  27. /*
  28. Input:
  29. entity_name - a string, like "copy" that describes a user-encoded Unicode entity as used in XML.
  30. Output:
  31. "decoded" - The decoded rune if found by name, or -1 otherwise.
  32. "ok" - true if found, false if not.
  33. IMPORTANT: XML processors (including browsers) treat these names as case-sensitive. So do we.
  34. */
  35. named_xml_entity_to_rune :: proc(name: string) -> (decoded: rune, ok: bool) {
  36. /*
  37. Early out if the name is too short or too long.
  38. min as a precaution in case the generated table has a bogus value.
  39. */
  40. if len(name) < min(1, XML_NAME_TO_RUNE_MIN_LENGTH) || len(name) > XML_NAME_TO_RUNE_MAX_LENGTH {
  41. return -1, false
  42. }
  43. switch rune(name[0]) {
  44. case 'A':
  45. switch name {
  46. case "AElig": // LATIN CAPITAL LETTER AE
  47. return rune(0xc6), true
  48. case "AMP": // AMPERSAND
  49. return rune(0x26), true
  50. case "Aacgr": // GREEK CAPITAL LETTER ALPHA WITH TONOS
  51. return rune(0x0386), true
  52. case "Aacute": // LATIN CAPITAL LETTER A WITH ACUTE
  53. return rune(0xc1), true
  54. case "Abreve": // LATIN CAPITAL LETTER A WITH BREVE
  55. return rune(0x0102), true
  56. case "Acirc": // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
  57. return rune(0xc2), true
  58. case "Acy": // CYRILLIC CAPITAL LETTER A
  59. return rune(0x0410), true
  60. case "Afr": // MATHEMATICAL FRAKTUR CAPITAL A
  61. return rune(0x01d504), true
  62. case "Agr": // GREEK CAPITAL LETTER ALPHA
  63. return rune(0x0391), true
  64. case "Agrave": // LATIN CAPITAL LETTER A WITH GRAVE
  65. return rune(0xc0), true
  66. case "Alpha": // GREEK CAPITAL LETTER ALPHA
  67. return rune(0x0391), true
  68. case "Amacr": // LATIN CAPITAL LETTER A WITH MACRON
  69. return rune(0x0100), true
  70. case "And": // DOUBLE LOGICAL AND
  71. return rune(0x2a53), true
  72. case "Aogon": // LATIN CAPITAL LETTER A WITH OGONEK
  73. return rune(0x0104), true
  74. case "Aopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL A
  75. return rune(0x01d538), true
  76. case "ApplyFunction": // FUNCTION APPLICATION
  77. return rune(0x2061), true
  78. case "Aring": // LATIN CAPITAL LETTER A WITH RING ABOVE
  79. return rune(0xc5), true
  80. case "Ascr": // MATHEMATICAL SCRIPT CAPITAL A
  81. return rune(0x01d49c), true
  82. case "Assign": // COLON EQUALS
  83. return rune(0x2254), true
  84. case "Ast": // TWO ASTERISKS ALIGNED VERTICALLY
  85. return rune(0x2051), true
  86. case "Atilde": // LATIN CAPITAL LETTER A WITH TILDE
  87. return rune(0xc3), true
  88. case "Auml": // LATIN CAPITAL LETTER A WITH DIAERESIS
  89. return rune(0xc4), true
  90. }
  91. case 'B':
  92. switch name {
  93. case "Backslash": // SET MINUS
  94. return rune(0x2216), true
  95. case "Barint": // INTEGRAL WITH DOUBLE STROKE
  96. return rune(0x2a0e), true
  97. case "Barv": // SHORT DOWN TACK WITH OVERBAR
  98. return rune(0x2ae7), true
  99. case "Barwed": // PERSPECTIVE
  100. return rune(0x2306), true
  101. case "Barwedl": // LOGICAL AND WITH DOUBLE OVERBAR
  102. return rune(0x2a5e), true
  103. case "Bcy": // CYRILLIC CAPITAL LETTER BE
  104. return rune(0x0411), true
  105. case "Because": // BECAUSE
  106. return rune(0x2235), true
  107. case "Bernoullis": // SCRIPT CAPITAL B
  108. return rune(0x212c), true
  109. case "Beta": // GREEK CAPITAL LETTER BETA
  110. return rune(0x0392), true
  111. case "Bfr": // MATHEMATICAL FRAKTUR CAPITAL B
  112. return rune(0x01d505), true
  113. case "Bgr": // GREEK CAPITAL LETTER BETA
  114. return rune(0x0392), true
  115. case "Bopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL B
  116. return rune(0x01d539), true
  117. case "Breve": // BREVE
  118. return rune(0x02d8), true
  119. case "Bscr": // SCRIPT CAPITAL B
  120. return rune(0x212c), true
  121. case "Bumpeq": // GEOMETRICALLY EQUIVALENT TO
  122. return rune(0x224e), true
  123. case "Bvert": // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
  124. return rune(0x2506), true
  125. }
  126. case 'C':
  127. switch name {
  128. case "CHcy": // CYRILLIC CAPITAL LETTER CHE
  129. return rune(0x0427), true
  130. case "COPY": // COPYRIGHT SIGN
  131. return rune(0xa9), true
  132. case "Cacute": // LATIN CAPITAL LETTER C WITH ACUTE
  133. return rune(0x0106), true
  134. case "Cap": // DOUBLE INTERSECTION
  135. return rune(0x22d2), true
  136. case "CapitalDifferentialD": // DOUBLE-STRUCK ITALIC CAPITAL D
  137. return rune(0x2145), true
  138. case "Cayleys": // BLACK-LETTER CAPITAL C
  139. return rune(0x212d), true
  140. case "Ccaron": // LATIN CAPITAL LETTER C WITH CARON
  141. return rune(0x010c), true
  142. case "Ccedil": // LATIN CAPITAL LETTER C WITH CEDILLA
  143. return rune(0xc7), true
  144. case "Ccirc": // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
  145. return rune(0x0108), true
  146. case "Cconint": // VOLUME INTEGRAL
  147. return rune(0x2230), true
  148. case "Cdot": // LATIN CAPITAL LETTER C WITH DOT ABOVE
  149. return rune(0x010a), true
  150. case "Cedilla": // CEDILLA
  151. return rune(0xb8), true
  152. case "CenterDot": // MIDDLE DOT
  153. return rune(0xb7), true
  154. case "Cfr": // BLACK-LETTER CAPITAL C
  155. return rune(0x212d), true
  156. case "Chi": // GREEK CAPITAL LETTER CHI
  157. return rune(0x03a7), true
  158. case "CircleDot": // CIRCLED DOT OPERATOR
  159. return rune(0x2299), true
  160. case "CircleMinus": // CIRCLED MINUS
  161. return rune(0x2296), true
  162. case "CirclePlus": // CIRCLED PLUS
  163. return rune(0x2295), true
  164. case "CircleTimes": // CIRCLED TIMES
  165. return rune(0x2297), true
  166. case "ClockwiseContourIntegral": // CLOCKWISE CONTOUR INTEGRAL
  167. return rune(0x2232), true
  168. case "CloseCurlyDoubleQuote": // RIGHT DOUBLE QUOTATION MARK
  169. return rune(0x201d), true
  170. case "CloseCurlyQuote": // RIGHT SINGLE QUOTATION MARK
  171. return rune(0x2019), true
  172. case "Colon": // PROPORTION
  173. return rune(0x2237), true
  174. case "Colone": // DOUBLE COLON EQUAL
  175. return rune(0x2a74), true
  176. case "Congruent": // IDENTICAL TO
  177. return rune(0x2261), true
  178. case "Conint": // SURFACE INTEGRAL
  179. return rune(0x222f), true
  180. case "ContourIntegral": // CONTOUR INTEGRAL
  181. return rune(0x222e), true
  182. case "Copf": // DOUBLE-STRUCK CAPITAL C
  183. return rune(0x2102), true
  184. case "Coproduct": // N-ARY COPRODUCT
  185. return rune(0x2210), true
  186. case "CounterClockwiseContourIntegral": // ANTICLOCKWISE CONTOUR INTEGRAL
  187. return rune(0x2233), true
  188. case "Cross": // VECTOR OR CROSS PRODUCT
  189. return rune(0x2a2f), true
  190. case "Cscr": // MATHEMATICAL SCRIPT CAPITAL C
  191. return rune(0x01d49e), true
  192. case "Cup": // DOUBLE UNION
  193. return rune(0x22d3), true
  194. case "CupCap": // EQUIVALENT TO
  195. return rune(0x224d), true
  196. }
  197. case 'D':
  198. switch name {
  199. case "DD": // DOUBLE-STRUCK ITALIC CAPITAL D
  200. return rune(0x2145), true
  201. case "DDotrahd": // RIGHTWARDS ARROW WITH DOTTED STEM
  202. return rune(0x2911), true
  203. case "DJcy": // CYRILLIC CAPITAL LETTER DJE
  204. return rune(0x0402), true
  205. case "DScy": // CYRILLIC CAPITAL LETTER DZE
  206. return rune(0x0405), true
  207. case "DZcy": // CYRILLIC CAPITAL LETTER DZHE
  208. return rune(0x040f), true
  209. case "Dagger": // DOUBLE DAGGER
  210. return rune(0x2021), true
  211. case "Darr": // DOWNWARDS TWO HEADED ARROW
  212. return rune(0x21a1), true
  213. case "Dashv": // VERTICAL BAR DOUBLE LEFT TURNSTILE
  214. return rune(0x2ae4), true
  215. case "Dcaron": // LATIN CAPITAL LETTER D WITH CARON
  216. return rune(0x010e), true
  217. case "Dcy": // CYRILLIC CAPITAL LETTER DE
  218. return rune(0x0414), true
  219. case "Del": // NABLA
  220. return rune(0x2207), true
  221. case "Delta": // GREEK CAPITAL LETTER DELTA
  222. return rune(0x0394), true
  223. case "Dfr": // MATHEMATICAL FRAKTUR CAPITAL D
  224. return rune(0x01d507), true
  225. case "Dgr": // GREEK CAPITAL LETTER DELTA
  226. return rune(0x0394), true
  227. case "DiacriticalAcute": // ACUTE ACCENT
  228. return rune(0xb4), true
  229. case "DiacriticalDot": // DOT ABOVE
  230. return rune(0x02d9), true
  231. case "DiacriticalDoubleAcute": // DOUBLE ACUTE ACCENT
  232. return rune(0x02dd), true
  233. case "DiacriticalGrave": // GRAVE ACCENT
  234. return rune(0x60), true
  235. case "DiacriticalTilde": // SMALL TILDE
  236. return rune(0x02dc), true
  237. case "Diamond": // DIAMOND OPERATOR
  238. return rune(0x22c4), true
  239. case "DifferentialD": // DOUBLE-STRUCK ITALIC SMALL D
  240. return rune(0x2146), true
  241. case "Dopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL D
  242. return rune(0x01d53b), true
  243. case "Dot": // DIAERESIS
  244. return rune(0xa8), true
  245. case "DotDot": // COMBINING FOUR DOTS ABOVE
  246. return rune(0x20dc), true
  247. case "DotEqual": // APPROACHES THE LIMIT
  248. return rune(0x2250), true
  249. case "DoubleContourIntegral": // SURFACE INTEGRAL
  250. return rune(0x222f), true
  251. case "DoubleDot": // DIAERESIS
  252. return rune(0xa8), true
  253. case "DoubleDownArrow": // DOWNWARDS DOUBLE ARROW
  254. return rune(0x21d3), true
  255. case "DoubleLeftArrow": // LEFTWARDS DOUBLE ARROW
  256. return rune(0x21d0), true
  257. case "DoubleLeftRightArrow": // LEFT RIGHT DOUBLE ARROW
  258. return rune(0x21d4), true
  259. case "DoubleLeftTee": // VERTICAL BAR DOUBLE LEFT TURNSTILE
  260. return rune(0x2ae4), true
  261. case "DoubleLongLeftArrow": // LONG LEFTWARDS DOUBLE ARROW
  262. return rune(0x27f8), true
  263. case "DoubleLongLeftRightArrow": // LONG LEFT RIGHT DOUBLE ARROW
  264. return rune(0x27fa), true
  265. case "DoubleLongRightArrow": // LONG RIGHTWARDS DOUBLE ARROW
  266. return rune(0x27f9), true
  267. case "DoubleRightArrow": // RIGHTWARDS DOUBLE ARROW
  268. return rune(0x21d2), true
  269. case "DoubleRightTee": // TRUE
  270. return rune(0x22a8), true
  271. case "DoubleUpArrow": // UPWARDS DOUBLE ARROW
  272. return rune(0x21d1), true
  273. case "DoubleUpDownArrow": // UP DOWN DOUBLE ARROW
  274. return rune(0x21d5), true
  275. case "DoubleVerticalBar": // PARALLEL TO
  276. return rune(0x2225), true
  277. case "DownArrow": // DOWNWARDS ARROW
  278. return rune(0x2193), true
  279. case "DownArrowBar": // DOWNWARDS ARROW TO BAR
  280. return rune(0x2913), true
  281. case "DownArrowUpArrow": // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
  282. return rune(0x21f5), true
  283. case "DownBreve": // COMBINING INVERTED BREVE
  284. return rune(0x0311), true
  285. case "DownLeftRightVector": // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
  286. return rune(0x2950), true
  287. case "DownLeftTeeVector": // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
  288. return rune(0x295e), true
  289. case "DownLeftVector": // LEFTWARDS HARPOON WITH BARB DOWNWARDS
  290. return rune(0x21bd), true
  291. case "DownLeftVectorBar": // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
  292. return rune(0x2956), true
  293. case "DownRightTeeVector": // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
  294. return rune(0x295f), true
  295. case "DownRightVector": // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
  296. return rune(0x21c1), true
  297. case "DownRightVectorBar": // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
  298. return rune(0x2957), true
  299. case "DownTee": // DOWN TACK
  300. return rune(0x22a4), true
  301. case "DownTeeArrow": // DOWNWARDS ARROW FROM BAR
  302. return rune(0x21a7), true
  303. case "Downarrow": // DOWNWARDS DOUBLE ARROW
  304. return rune(0x21d3), true
  305. case "Dscr": // MATHEMATICAL SCRIPT CAPITAL D
  306. return rune(0x01d49f), true
  307. case "Dstrok": // LATIN CAPITAL LETTER D WITH STROKE
  308. return rune(0x0110), true
  309. }
  310. case 'E':
  311. switch name {
  312. case "EEacgr": // GREEK CAPITAL LETTER ETA WITH TONOS
  313. return rune(0x0389), true
  314. case "EEgr": // GREEK CAPITAL LETTER ETA
  315. return rune(0x0397), true
  316. case "ENG": // LATIN CAPITAL LETTER ENG
  317. return rune(0x014a), true
  318. case "ETH": // LATIN CAPITAL LETTER ETH
  319. return rune(0xd0), true
  320. case "Eacgr": // GREEK CAPITAL LETTER EPSILON WITH TONOS
  321. return rune(0x0388), true
  322. case "Eacute": // LATIN CAPITAL LETTER E WITH ACUTE
  323. return rune(0xc9), true
  324. case "Ecaron": // LATIN CAPITAL LETTER E WITH CARON
  325. return rune(0x011a), true
  326. case "Ecirc": // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
  327. return rune(0xca), true
  328. case "Ecy": // CYRILLIC CAPITAL LETTER E
  329. return rune(0x042d), true
  330. case "Edot": // LATIN CAPITAL LETTER E WITH DOT ABOVE
  331. return rune(0x0116), true
  332. case "Efr": // MATHEMATICAL FRAKTUR CAPITAL E
  333. return rune(0x01d508), true
  334. case "Egr": // GREEK CAPITAL LETTER EPSILON
  335. return rune(0x0395), true
  336. case "Egrave": // LATIN CAPITAL LETTER E WITH GRAVE
  337. return rune(0xc8), true
  338. case "Element": // ELEMENT OF
  339. return rune(0x2208), true
  340. case "Emacr": // LATIN CAPITAL LETTER E WITH MACRON
  341. return rune(0x0112), true
  342. case "EmptySmallSquare": // WHITE MEDIUM SQUARE
  343. return rune(0x25fb), true
  344. case "EmptyVerySmallSquare": // WHITE SMALL SQUARE
  345. return rune(0x25ab), true
  346. case "Eogon": // LATIN CAPITAL LETTER E WITH OGONEK
  347. return rune(0x0118), true
  348. case "Eopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL E
  349. return rune(0x01d53c), true
  350. case "Epsilon": // GREEK CAPITAL LETTER EPSILON
  351. return rune(0x0395), true
  352. case "Equal": // TWO CONSECUTIVE EQUALS SIGNS
  353. return rune(0x2a75), true
  354. case "EqualTilde": // MINUS TILDE
  355. return rune(0x2242), true
  356. case "Equilibrium": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  357. return rune(0x21cc), true
  358. case "Escr": // SCRIPT CAPITAL E
  359. return rune(0x2130), true
  360. case "Esim": // EQUALS SIGN ABOVE TILDE OPERATOR
  361. return rune(0x2a73), true
  362. case "Eta": // GREEK CAPITAL LETTER ETA
  363. return rune(0x0397), true
  364. case "Euml": // LATIN CAPITAL LETTER E WITH DIAERESIS
  365. return rune(0xcb), true
  366. case "Exists": // THERE EXISTS
  367. return rune(0x2203), true
  368. case "ExponentialE": // DOUBLE-STRUCK ITALIC SMALL E
  369. return rune(0x2147), true
  370. }
  371. case 'F':
  372. switch name {
  373. case "Fcy": // CYRILLIC CAPITAL LETTER EF
  374. return rune(0x0424), true
  375. case "Ffr": // MATHEMATICAL FRAKTUR CAPITAL F
  376. return rune(0x01d509), true
  377. case "FilledSmallSquare": // BLACK MEDIUM SQUARE
  378. return rune(0x25fc), true
  379. case "FilledVerySmallSquare": // BLACK SMALL SQUARE
  380. return rune(0x25aa), true
  381. case "Fopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL F
  382. return rune(0x01d53d), true
  383. case "ForAll": // FOR ALL
  384. return rune(0x2200), true
  385. case "Fouriertrf": // SCRIPT CAPITAL F
  386. return rune(0x2131), true
  387. case "Fscr": // SCRIPT CAPITAL F
  388. return rune(0x2131), true
  389. }
  390. case 'G':
  391. switch name {
  392. case "GJcy": // CYRILLIC CAPITAL LETTER GJE
  393. return rune(0x0403), true
  394. case "GT": // GREATER-THAN SIGN
  395. return rune(0x3e), true
  396. case "Game": // TURNED SANS-SERIF CAPITAL G
  397. return rune(0x2141), true
  398. case "Gamma": // GREEK CAPITAL LETTER GAMMA
  399. return rune(0x0393), true
  400. case "Gammad": // GREEK LETTER DIGAMMA
  401. return rune(0x03dc), true
  402. case "Gbreve": // LATIN CAPITAL LETTER G WITH BREVE
  403. return rune(0x011e), true
  404. case "Gcedil": // LATIN CAPITAL LETTER G WITH CEDILLA
  405. return rune(0x0122), true
  406. case "Gcirc": // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
  407. return rune(0x011c), true
  408. case "Gcy": // CYRILLIC CAPITAL LETTER GHE
  409. return rune(0x0413), true
  410. case "Gdot": // LATIN CAPITAL LETTER G WITH DOT ABOVE
  411. return rune(0x0120), true
  412. case "Gfr": // MATHEMATICAL FRAKTUR CAPITAL G
  413. return rune(0x01d50a), true
  414. case "Gg": // VERY MUCH GREATER-THAN
  415. return rune(0x22d9), true
  416. case "Ggr": // GREEK CAPITAL LETTER GAMMA
  417. return rune(0x0393), true
  418. case "Gopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL G
  419. return rune(0x01d53e), true
  420. case "GreaterEqual": // GREATER-THAN OR EQUAL TO
  421. return rune(0x2265), true
  422. case "GreaterEqualLess": // GREATER-THAN EQUAL TO OR LESS-THAN
  423. return rune(0x22db), true
  424. case "GreaterFullEqual": // GREATER-THAN OVER EQUAL TO
  425. return rune(0x2267), true
  426. case "GreaterGreater": // DOUBLE NESTED GREATER-THAN
  427. return rune(0x2aa2), true
  428. case "GreaterLess": // GREATER-THAN OR LESS-THAN
  429. return rune(0x2277), true
  430. case "GreaterSlantEqual": // GREATER-THAN OR SLANTED EQUAL TO
  431. return rune(0x2a7e), true
  432. case "GreaterTilde": // GREATER-THAN OR EQUIVALENT TO
  433. return rune(0x2273), true
  434. case "Gscr": // MATHEMATICAL SCRIPT CAPITAL G
  435. return rune(0x01d4a2), true
  436. case "Gt": // MUCH GREATER-THAN
  437. return rune(0x226b), true
  438. }
  439. case 'H':
  440. switch name {
  441. case "HARDcy": // CYRILLIC CAPITAL LETTER HARD SIGN
  442. return rune(0x042a), true
  443. case "Hacek": // CARON
  444. return rune(0x02c7), true
  445. case "Hat": // CIRCUMFLEX ACCENT
  446. return rune(0x5e), true
  447. case "Hcirc": // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
  448. return rune(0x0124), true
  449. case "Hfr": // BLACK-LETTER CAPITAL H
  450. return rune(0x210c), true
  451. case "HilbertSpace": // SCRIPT CAPITAL H
  452. return rune(0x210b), true
  453. case "Hopf": // DOUBLE-STRUCK CAPITAL H
  454. return rune(0x210d), true
  455. case "HorizontalLine": // BOX DRAWINGS LIGHT HORIZONTAL
  456. return rune(0x2500), true
  457. case "Hscr": // SCRIPT CAPITAL H
  458. return rune(0x210b), true
  459. case "Hstrok": // LATIN CAPITAL LETTER H WITH STROKE
  460. return rune(0x0126), true
  461. case "HumpDownHump": // GEOMETRICALLY EQUIVALENT TO
  462. return rune(0x224e), true
  463. case "HumpEqual": // DIFFERENCE BETWEEN
  464. return rune(0x224f), true
  465. }
  466. case 'I':
  467. switch name {
  468. case "IEcy": // CYRILLIC CAPITAL LETTER IE
  469. return rune(0x0415), true
  470. case "IJlig": // LATIN CAPITAL LIGATURE IJ
  471. return rune(0x0132), true
  472. case "IOcy": // CYRILLIC CAPITAL LETTER IO
  473. return rune(0x0401), true
  474. case "Iacgr": // GREEK CAPITAL LETTER IOTA WITH TONOS
  475. return rune(0x038a), true
  476. case "Iacute": // LATIN CAPITAL LETTER I WITH ACUTE
  477. return rune(0xcd), true
  478. case "Icirc": // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
  479. return rune(0xce), true
  480. case "Icy": // CYRILLIC CAPITAL LETTER I
  481. return rune(0x0418), true
  482. case "Idigr": // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
  483. return rune(0x03aa), true
  484. case "Idot": // LATIN CAPITAL LETTER I WITH DOT ABOVE
  485. return rune(0x0130), true
  486. case "Ifr": // BLACK-LETTER CAPITAL I
  487. return rune(0x2111), true
  488. case "Igr": // GREEK CAPITAL LETTER IOTA
  489. return rune(0x0399), true
  490. case "Igrave": // LATIN CAPITAL LETTER I WITH GRAVE
  491. return rune(0xcc), true
  492. case "Im": // BLACK-LETTER CAPITAL I
  493. return rune(0x2111), true
  494. case "Imacr": // LATIN CAPITAL LETTER I WITH MACRON
  495. return rune(0x012a), true
  496. case "ImaginaryI": // DOUBLE-STRUCK ITALIC SMALL I
  497. return rune(0x2148), true
  498. case "Implies": // RIGHTWARDS DOUBLE ARROW
  499. return rune(0x21d2), true
  500. case "Int": // DOUBLE INTEGRAL
  501. return rune(0x222c), true
  502. case "Integral": // INTEGRAL
  503. return rune(0x222b), true
  504. case "Intersection": // N-ARY INTERSECTION
  505. return rune(0x22c2), true
  506. case "InvisibleComma": // INVISIBLE SEPARATOR
  507. return rune(0x2063), true
  508. case "InvisibleTimes": // INVISIBLE TIMES
  509. return rune(0x2062), true
  510. case "Iogon": // LATIN CAPITAL LETTER I WITH OGONEK
  511. return rune(0x012e), true
  512. case "Iopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL I
  513. return rune(0x01d540), true
  514. case "Iota": // GREEK CAPITAL LETTER IOTA
  515. return rune(0x0399), true
  516. case "Iscr": // SCRIPT CAPITAL I
  517. return rune(0x2110), true
  518. case "Itilde": // LATIN CAPITAL LETTER I WITH TILDE
  519. return rune(0x0128), true
  520. case "Iukcy": // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
  521. return rune(0x0406), true
  522. case "Iuml": // LATIN CAPITAL LETTER I WITH DIAERESIS
  523. return rune(0xcf), true
  524. }
  525. case 'J':
  526. switch name {
  527. case "Jcirc": // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
  528. return rune(0x0134), true
  529. case "Jcy": // CYRILLIC CAPITAL LETTER SHORT I
  530. return rune(0x0419), true
  531. case "Jfr": // MATHEMATICAL FRAKTUR CAPITAL J
  532. return rune(0x01d50d), true
  533. case "Jopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL J
  534. return rune(0x01d541), true
  535. case "Jscr": // MATHEMATICAL SCRIPT CAPITAL J
  536. return rune(0x01d4a5), true
  537. case "Jsercy": // CYRILLIC CAPITAL LETTER JE
  538. return rune(0x0408), true
  539. case "Jukcy": // CYRILLIC CAPITAL LETTER UKRAINIAN IE
  540. return rune(0x0404), true
  541. }
  542. case 'K':
  543. switch name {
  544. case "KHcy": // CYRILLIC CAPITAL LETTER HA
  545. return rune(0x0425), true
  546. case "KHgr": // GREEK CAPITAL LETTER CHI
  547. return rune(0x03a7), true
  548. case "KJcy": // CYRILLIC CAPITAL LETTER KJE
  549. return rune(0x040c), true
  550. case "Kappa": // GREEK CAPITAL LETTER KAPPA
  551. return rune(0x039a), true
  552. case "Kcedil": // LATIN CAPITAL LETTER K WITH CEDILLA
  553. return rune(0x0136), true
  554. case "Kcy": // CYRILLIC CAPITAL LETTER KA
  555. return rune(0x041a), true
  556. case "Kfr": // MATHEMATICAL FRAKTUR CAPITAL K
  557. return rune(0x01d50e), true
  558. case "Kgr": // GREEK CAPITAL LETTER KAPPA
  559. return rune(0x039a), true
  560. case "Kopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL K
  561. return rune(0x01d542), true
  562. case "Kscr": // MATHEMATICAL SCRIPT CAPITAL K
  563. return rune(0x01d4a6), true
  564. }
  565. case 'L':
  566. switch name {
  567. case "LJcy": // CYRILLIC CAPITAL LETTER LJE
  568. return rune(0x0409), true
  569. case "LT": // LESS-THAN SIGN
  570. return rune(0x3c), true
  571. case "Lacute": // LATIN CAPITAL LETTER L WITH ACUTE
  572. return rune(0x0139), true
  573. case "Lambda": // GREEK CAPITAL LETTER LAMDA
  574. return rune(0x039b), true
  575. case "Lang": // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
  576. return rune(0x27ea), true
  577. case "Laplacetrf": // SCRIPT CAPITAL L
  578. return rune(0x2112), true
  579. case "Larr": // LEFTWARDS TWO HEADED ARROW
  580. return rune(0x219e), true
  581. case "Lcaron": // LATIN CAPITAL LETTER L WITH CARON
  582. return rune(0x013d), true
  583. case "Lcedil": // LATIN CAPITAL LETTER L WITH CEDILLA
  584. return rune(0x013b), true
  585. case "Lcy": // CYRILLIC CAPITAL LETTER EL
  586. return rune(0x041b), true
  587. case "LeftAngleBracket": // MATHEMATICAL LEFT ANGLE BRACKET
  588. return rune(0x27e8), true
  589. case "LeftArrow": // LEFTWARDS ARROW
  590. return rune(0x2190), true
  591. case "LeftArrowBar": // LEFTWARDS ARROW TO BAR
  592. return rune(0x21e4), true
  593. case "LeftArrowRightArrow": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  594. return rune(0x21c6), true
  595. case "LeftCeiling": // LEFT CEILING
  596. return rune(0x2308), true
  597. case "LeftDoubleBracket": // MATHEMATICAL LEFT WHITE SQUARE BRACKET
  598. return rune(0x27e6), true
  599. case "LeftDownTeeVector": // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
  600. return rune(0x2961), true
  601. case "LeftDownVector": // DOWNWARDS HARPOON WITH BARB LEFTWARDS
  602. return rune(0x21c3), true
  603. case "LeftDownVectorBar": // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
  604. return rune(0x2959), true
  605. case "LeftFloor": // LEFT FLOOR
  606. return rune(0x230a), true
  607. case "LeftRightArrow": // LEFT RIGHT ARROW
  608. return rune(0x2194), true
  609. case "LeftRightVector": // LEFT BARB UP RIGHT BARB UP HARPOON
  610. return rune(0x294e), true
  611. case "LeftTee": // LEFT TACK
  612. return rune(0x22a3), true
  613. case "LeftTeeArrow": // LEFTWARDS ARROW FROM BAR
  614. return rune(0x21a4), true
  615. case "LeftTeeVector": // LEFTWARDS HARPOON WITH BARB UP FROM BAR
  616. return rune(0x295a), true
  617. case "LeftTriangle": // NORMAL SUBGROUP OF
  618. return rune(0x22b2), true
  619. case "LeftTriangleBar": // LEFT TRIANGLE BESIDE VERTICAL BAR
  620. return rune(0x29cf), true
  621. case "LeftTriangleEqual": // NORMAL SUBGROUP OF OR EQUAL TO
  622. return rune(0x22b4), true
  623. case "LeftUpDownVector": // UP BARB LEFT DOWN BARB LEFT HARPOON
  624. return rune(0x2951), true
  625. case "LeftUpTeeVector": // UPWARDS HARPOON WITH BARB LEFT FROM BAR
  626. return rune(0x2960), true
  627. case "LeftUpVector": // UPWARDS HARPOON WITH BARB LEFTWARDS
  628. return rune(0x21bf), true
  629. case "LeftUpVectorBar": // UPWARDS HARPOON WITH BARB LEFT TO BAR
  630. return rune(0x2958), true
  631. case "LeftVector": // LEFTWARDS HARPOON WITH BARB UPWARDS
  632. return rune(0x21bc), true
  633. case "LeftVectorBar": // LEFTWARDS HARPOON WITH BARB UP TO BAR
  634. return rune(0x2952), true
  635. case "Leftarrow": // LEFTWARDS DOUBLE ARROW
  636. return rune(0x21d0), true
  637. case "Leftrightarrow": // LEFT RIGHT DOUBLE ARROW
  638. return rune(0x21d4), true
  639. case "LessEqualGreater": // LESS-THAN EQUAL TO OR GREATER-THAN
  640. return rune(0x22da), true
  641. case "LessFullEqual": // LESS-THAN OVER EQUAL TO
  642. return rune(0x2266), true
  643. case "LessGreater": // LESS-THAN OR GREATER-THAN
  644. return rune(0x2276), true
  645. case "LessLess": // DOUBLE NESTED LESS-THAN
  646. return rune(0x2aa1), true
  647. case "LessSlantEqual": // LESS-THAN OR SLANTED EQUAL TO
  648. return rune(0x2a7d), true
  649. case "LessTilde": // LESS-THAN OR EQUIVALENT TO
  650. return rune(0x2272), true
  651. case "Lfr": // MATHEMATICAL FRAKTUR CAPITAL L
  652. return rune(0x01d50f), true
  653. case "Lgr": // GREEK CAPITAL LETTER LAMDA
  654. return rune(0x039b), true
  655. case "Ll": // VERY MUCH LESS-THAN
  656. return rune(0x22d8), true
  657. case "Lleftarrow": // LEFTWARDS TRIPLE ARROW
  658. return rune(0x21da), true
  659. case "Lmidot": // LATIN CAPITAL LETTER L WITH MIDDLE DOT
  660. return rune(0x013f), true
  661. case "LongLeftArrow": // LONG LEFTWARDS ARROW
  662. return rune(0x27f5), true
  663. case "LongLeftRightArrow": // LONG LEFT RIGHT ARROW
  664. return rune(0x27f7), true
  665. case "LongRightArrow": // LONG RIGHTWARDS ARROW
  666. return rune(0x27f6), true
  667. case "Longleftarrow": // LONG LEFTWARDS DOUBLE ARROW
  668. return rune(0x27f8), true
  669. case "Longleftrightarrow": // LONG LEFT RIGHT DOUBLE ARROW
  670. return rune(0x27fa), true
  671. case "Longrightarrow": // LONG RIGHTWARDS DOUBLE ARROW
  672. return rune(0x27f9), true
  673. case "Lopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL L
  674. return rune(0x01d543), true
  675. case "LowerLeftArrow": // SOUTH WEST ARROW
  676. return rune(0x2199), true
  677. case "LowerRightArrow": // SOUTH EAST ARROW
  678. return rune(0x2198), true
  679. case "Lscr": // SCRIPT CAPITAL L
  680. return rune(0x2112), true
  681. case "Lsh": // UPWARDS ARROW WITH TIP LEFTWARDS
  682. return rune(0x21b0), true
  683. case "Lstrok": // LATIN CAPITAL LETTER L WITH STROKE
  684. return rune(0x0141), true
  685. case "Lt": // MUCH LESS-THAN
  686. return rune(0x226a), true
  687. case "Ltbar": // DOUBLE NESTED LESS-THAN WITH UNDERBAR
  688. return rune(0x2aa3), true
  689. }
  690. case 'M':
  691. switch name {
  692. case "Map": // RIGHTWARDS TWO-HEADED ARROW FROM BAR
  693. return rune(0x2905), true
  694. case "Mapfrom": // LEFTWARDS DOUBLE ARROW FROM BAR
  695. return rune(0x2906), true
  696. case "Mapto": // RIGHTWARDS DOUBLE ARROW FROM BAR
  697. return rune(0x2907), true
  698. case "Mcy": // CYRILLIC CAPITAL LETTER EM
  699. return rune(0x041c), true
  700. case "MediumSpace": // MEDIUM MATHEMATICAL SPACE
  701. return rune(0x205f), true
  702. case "Mellintrf": // SCRIPT CAPITAL M
  703. return rune(0x2133), true
  704. case "Mfr": // MATHEMATICAL FRAKTUR CAPITAL M
  705. return rune(0x01d510), true
  706. case "Mgr": // GREEK CAPITAL LETTER MU
  707. return rune(0x039c), true
  708. case "MinusPlus": // MINUS-OR-PLUS SIGN
  709. return rune(0x2213), true
  710. case "Mopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL M
  711. return rune(0x01d544), true
  712. case "Mscr": // SCRIPT CAPITAL M
  713. return rune(0x2133), true
  714. case "Mu": // GREEK CAPITAL LETTER MU
  715. return rune(0x039c), true
  716. }
  717. case 'N':
  718. switch name {
  719. case "NJcy": // CYRILLIC CAPITAL LETTER NJE
  720. return rune(0x040a), true
  721. case "Nacute": // LATIN CAPITAL LETTER N WITH ACUTE
  722. return rune(0x0143), true
  723. case "Ncaron": // LATIN CAPITAL LETTER N WITH CARON
  724. return rune(0x0147), true
  725. case "Ncedil": // LATIN CAPITAL LETTER N WITH CEDILLA
  726. return rune(0x0145), true
  727. case "Ncy": // CYRILLIC CAPITAL LETTER EN
  728. return rune(0x041d), true
  729. case "NegativeMediumSpace": // ZERO WIDTH SPACE
  730. return rune(0x200b), true
  731. case "NegativeThickSpace": // ZERO WIDTH SPACE
  732. return rune(0x200b), true
  733. case "NegativeThinSpace": // ZERO WIDTH SPACE
  734. return rune(0x200b), true
  735. case "NegativeVeryThinSpace": // ZERO WIDTH SPACE
  736. return rune(0x200b), true
  737. case "NestedGreaterGreater": // MUCH GREATER-THAN
  738. return rune(0x226b), true
  739. case "NestedLessLess": // MUCH LESS-THAN
  740. return rune(0x226a), true
  741. case "NewLine": // LINE FEED (LF)
  742. return rune(0x0a), true
  743. case "Nfr": // MATHEMATICAL FRAKTUR CAPITAL N
  744. return rune(0x01d511), true
  745. case "Ngr": // GREEK CAPITAL LETTER NU
  746. return rune(0x039d), true
  747. case "NoBreak": // WORD JOINER
  748. return rune(0x2060), true
  749. case "NonBreakingSpace": // NO-BREAK SPACE
  750. return rune(0xa0), true
  751. case "Nopf": // DOUBLE-STRUCK CAPITAL N
  752. return rune(0x2115), true
  753. case "Not": // DOUBLE STROKE NOT SIGN
  754. return rune(0x2aec), true
  755. case "NotCongruent": // NOT IDENTICAL TO
  756. return rune(0x2262), true
  757. case "NotCupCap": // NOT EQUIVALENT TO
  758. return rune(0x226d), true
  759. case "NotDoubleVerticalBar": // NOT PARALLEL TO
  760. return rune(0x2226), true
  761. case "NotElement": // NOT AN ELEMENT OF
  762. return rune(0x2209), true
  763. case "NotEqual": // NOT EQUAL TO
  764. return rune(0x2260), true
  765. case "NotEqualTilde": // MINUS TILDE with slash
  766. return rune(0x2242), true
  767. case "NotExists": // THERE DOES NOT EXIST
  768. return rune(0x2204), true
  769. case "NotGreater": // NOT GREATER-THAN
  770. return rune(0x226f), true
  771. case "NotGreaterEqual": // NEITHER GREATER-THAN NOR EQUAL TO
  772. return rune(0x2271), true
  773. case "NotGreaterFullEqual": // GREATER-THAN OVER EQUAL TO with slash
  774. return rune(0x2267), true
  775. case "NotGreaterGreater": // MUCH GREATER THAN with slash
  776. return rune(0x226b), true
  777. case "NotGreaterLess": // NEITHER GREATER-THAN NOR LESS-THAN
  778. return rune(0x2279), true
  779. case "NotGreaterSlantEqual": // GREATER-THAN OR SLANTED EQUAL TO with slash
  780. return rune(0x2a7e), true
  781. case "NotGreaterTilde": // NEITHER GREATER-THAN NOR EQUIVALENT TO
  782. return rune(0x2275), true
  783. case "NotHumpDownHump": // GEOMETRICALLY EQUIVALENT TO with slash
  784. return rune(0x224e), true
  785. case "NotHumpEqual": // DIFFERENCE BETWEEN with slash
  786. return rune(0x224f), true
  787. case "NotLeftTriangle": // NOT NORMAL SUBGROUP OF
  788. return rune(0x22ea), true
  789. case "NotLeftTriangleBar": // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
  790. return rune(0x29cf), true
  791. case "NotLeftTriangleEqual": // NOT NORMAL SUBGROUP OF OR EQUAL TO
  792. return rune(0x22ec), true
  793. case "NotLess": // NOT LESS-THAN
  794. return rune(0x226e), true
  795. case "NotLessEqual": // NEITHER LESS-THAN NOR EQUAL TO
  796. return rune(0x2270), true
  797. case "NotLessGreater": // NEITHER LESS-THAN NOR GREATER-THAN
  798. return rune(0x2278), true
  799. case "NotLessLess": // MUCH LESS THAN with slash
  800. return rune(0x226a), true
  801. case "NotLessSlantEqual": // LESS-THAN OR SLANTED EQUAL TO with slash
  802. return rune(0x2a7d), true
  803. case "NotLessTilde": // NEITHER LESS-THAN NOR EQUIVALENT TO
  804. return rune(0x2274), true
  805. case "NotNestedGreaterGreater": // DOUBLE NESTED GREATER-THAN with slash
  806. return rune(0x2aa2), true
  807. case "NotNestedLessLess": // DOUBLE NESTED LESS-THAN with slash
  808. return rune(0x2aa1), true
  809. case "NotPrecedes": // DOES NOT PRECEDE
  810. return rune(0x2280), true
  811. case "NotPrecedesEqual": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
  812. return rune(0x2aaf), true
  813. case "NotPrecedesSlantEqual": // DOES NOT PRECEDE OR EQUAL
  814. return rune(0x22e0), true
  815. case "NotReverseElement": // DOES NOT CONTAIN AS MEMBER
  816. return rune(0x220c), true
  817. case "NotRightTriangle": // DOES NOT CONTAIN AS NORMAL SUBGROUP
  818. return rune(0x22eb), true
  819. case "NotRightTriangleBar": // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
  820. return rune(0x29d0), true
  821. case "NotRightTriangleEqual": // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
  822. return rune(0x22ed), true
  823. case "NotSquareSubset": // SQUARE IMAGE OF with slash
  824. return rune(0x228f), true
  825. case "NotSquareSubsetEqual": // NOT SQUARE IMAGE OF OR EQUAL TO
  826. return rune(0x22e2), true
  827. case "NotSquareSuperset": // SQUARE ORIGINAL OF with slash
  828. return rune(0x2290), true
  829. case "NotSquareSupersetEqual": // NOT SQUARE ORIGINAL OF OR EQUAL TO
  830. return rune(0x22e3), true
  831. case "NotSubset": // SUBSET OF with vertical line
  832. return rune(0x2282), true
  833. case "NotSubsetEqual": // NEITHER A SUBSET OF NOR EQUAL TO
  834. return rune(0x2288), true
  835. case "NotSucceeds": // DOES NOT SUCCEED
  836. return rune(0x2281), true
  837. case "NotSucceedsEqual": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
  838. return rune(0x2ab0), true
  839. case "NotSucceedsSlantEqual": // DOES NOT SUCCEED OR EQUAL
  840. return rune(0x22e1), true
  841. case "NotSucceedsTilde": // SUCCEEDS OR EQUIVALENT TO with slash
  842. return rune(0x227f), true
  843. case "NotSuperset": // SUPERSET OF with vertical line
  844. return rune(0x2283), true
  845. case "NotSupersetEqual": // NEITHER A SUPERSET OF NOR EQUAL TO
  846. return rune(0x2289), true
  847. case "NotTilde": // NOT TILDE
  848. return rune(0x2241), true
  849. case "NotTildeEqual": // NOT ASYMPTOTICALLY EQUAL TO
  850. return rune(0x2244), true
  851. case "NotTildeFullEqual": // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
  852. return rune(0x2247), true
  853. case "NotTildeTilde": // NOT ALMOST EQUAL TO
  854. return rune(0x2249), true
  855. case "NotVerticalBar": // DOES NOT DIVIDE
  856. return rune(0x2224), true
  857. case "Nscr": // MATHEMATICAL SCRIPT CAPITAL N
  858. return rune(0x01d4a9), true
  859. case "Ntilde": // LATIN CAPITAL LETTER N WITH TILDE
  860. return rune(0xd1), true
  861. case "Nu": // GREEK CAPITAL LETTER NU
  862. return rune(0x039d), true
  863. }
  864. case 'O':
  865. switch name {
  866. case "OElig": // LATIN CAPITAL LIGATURE OE
  867. return rune(0x0152), true
  868. case "OHacgr": // GREEK CAPITAL LETTER OMEGA WITH TONOS
  869. return rune(0x038f), true
  870. case "OHgr": // GREEK CAPITAL LETTER OMEGA
  871. return rune(0x03a9), true
  872. case "Oacgr": // GREEK CAPITAL LETTER OMICRON WITH TONOS
  873. return rune(0x038c), true
  874. case "Oacute": // LATIN CAPITAL LETTER O WITH ACUTE
  875. return rune(0xd3), true
  876. case "Ocirc": // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
  877. return rune(0xd4), true
  878. case "Ocy": // CYRILLIC CAPITAL LETTER O
  879. return rune(0x041e), true
  880. case "Odblac": // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
  881. return rune(0x0150), true
  882. case "Ofr": // MATHEMATICAL FRAKTUR CAPITAL O
  883. return rune(0x01d512), true
  884. case "Ogr": // GREEK CAPITAL LETTER OMICRON
  885. return rune(0x039f), true
  886. case "Ograve": // LATIN CAPITAL LETTER O WITH GRAVE
  887. return rune(0xd2), true
  888. case "Omacr": // LATIN CAPITAL LETTER O WITH MACRON
  889. return rune(0x014c), true
  890. case "Omega": // GREEK CAPITAL LETTER OMEGA
  891. return rune(0x03a9), true
  892. case "Omicron": // GREEK CAPITAL LETTER OMICRON
  893. return rune(0x039f), true
  894. case "Oopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL O
  895. return rune(0x01d546), true
  896. case "OpenCurlyDoubleQuote": // LEFT DOUBLE QUOTATION MARK
  897. return rune(0x201c), true
  898. case "OpenCurlyQuote": // LEFT SINGLE QUOTATION MARK
  899. return rune(0x2018), true
  900. case "Or": // DOUBLE LOGICAL OR
  901. return rune(0x2a54), true
  902. case "Oscr": // MATHEMATICAL SCRIPT CAPITAL O
  903. return rune(0x01d4aa), true
  904. case "Oslash": // LATIN CAPITAL LETTER O WITH STROKE
  905. return rune(0xd8), true
  906. case "Otilde": // LATIN CAPITAL LETTER O WITH TILDE
  907. return rune(0xd5), true
  908. case "Otimes": // MULTIPLICATION SIGN IN DOUBLE CIRCLE
  909. return rune(0x2a37), true
  910. case "Ouml": // LATIN CAPITAL LETTER O WITH DIAERESIS
  911. return rune(0xd6), true
  912. case "OverBar": // OVERLINE
  913. return rune(0x203e), true
  914. case "OverBrace": // TOP CURLY BRACKET
  915. return rune(0x23de), true
  916. case "OverBracket": // TOP SQUARE BRACKET
  917. return rune(0x23b4), true
  918. case "OverParenthesis": // TOP PARENTHESIS
  919. return rune(0x23dc), true
  920. }
  921. case 'P':
  922. switch name {
  923. case "PHgr": // GREEK CAPITAL LETTER PHI
  924. return rune(0x03a6), true
  925. case "PSgr": // GREEK CAPITAL LETTER PSI
  926. return rune(0x03a8), true
  927. case "PartialD": // PARTIAL DIFFERENTIAL
  928. return rune(0x2202), true
  929. case "Pcy": // CYRILLIC CAPITAL LETTER PE
  930. return rune(0x041f), true
  931. case "Pfr": // MATHEMATICAL FRAKTUR CAPITAL P
  932. return rune(0x01d513), true
  933. case "Pgr": // GREEK CAPITAL LETTER PI
  934. return rune(0x03a0), true
  935. case "Phi": // GREEK CAPITAL LETTER PHI
  936. return rune(0x03a6), true
  937. case "Pi": // GREEK CAPITAL LETTER PI
  938. return rune(0x03a0), true
  939. case "PlusMinus": // PLUS-MINUS SIGN
  940. return rune(0xb1), true
  941. case "Poincareplane": // BLACK-LETTER CAPITAL H
  942. return rune(0x210c), true
  943. case "Popf": // DOUBLE-STRUCK CAPITAL P
  944. return rune(0x2119), true
  945. case "Pr": // DOUBLE PRECEDES
  946. return rune(0x2abb), true
  947. case "Precedes": // PRECEDES
  948. return rune(0x227a), true
  949. case "PrecedesEqual": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
  950. return rune(0x2aaf), true
  951. case "PrecedesSlantEqual": // PRECEDES OR EQUAL TO
  952. return rune(0x227c), true
  953. case "PrecedesTilde": // PRECEDES OR EQUIVALENT TO
  954. return rune(0x227e), true
  955. case "Prime": // DOUBLE PRIME
  956. return rune(0x2033), true
  957. case "Product": // N-ARY PRODUCT
  958. return rune(0x220f), true
  959. case "Proportion": // PROPORTION
  960. return rune(0x2237), true
  961. case "Proportional": // PROPORTIONAL TO
  962. return rune(0x221d), true
  963. case "Pscr": // MATHEMATICAL SCRIPT CAPITAL P
  964. return rune(0x01d4ab), true
  965. case "Psi": // GREEK CAPITAL LETTER PSI
  966. return rune(0x03a8), true
  967. }
  968. case 'Q':
  969. switch name {
  970. case "QUOT": // QUOTATION MARK
  971. return rune(0x22), true
  972. case "Qfr": // MATHEMATICAL FRAKTUR CAPITAL Q
  973. return rune(0x01d514), true
  974. case "Qopf": // DOUBLE-STRUCK CAPITAL Q
  975. return rune(0x211a), true
  976. case "Qscr": // MATHEMATICAL SCRIPT CAPITAL Q
  977. return rune(0x01d4ac), true
  978. }
  979. case 'R':
  980. switch name {
  981. case "RBarr": // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
  982. return rune(0x2910), true
  983. case "REG": // REGISTERED SIGN
  984. return rune(0xae), true
  985. case "Racute": // LATIN CAPITAL LETTER R WITH ACUTE
  986. return rune(0x0154), true
  987. case "Rang": // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
  988. return rune(0x27eb), true
  989. case "Rarr": // RIGHTWARDS TWO HEADED ARROW
  990. return rune(0x21a0), true
  991. case "Rarrtl": // RIGHTWARDS TWO-HEADED ARROW WITH TAIL
  992. return rune(0x2916), true
  993. case "Rcaron": // LATIN CAPITAL LETTER R WITH CARON
  994. return rune(0x0158), true
  995. case "Rcedil": // LATIN CAPITAL LETTER R WITH CEDILLA
  996. return rune(0x0156), true
  997. case "Rcy": // CYRILLIC CAPITAL LETTER ER
  998. return rune(0x0420), true
  999. case "Re": // BLACK-LETTER CAPITAL R
  1000. return rune(0x211c), true
  1001. case "ReverseElement": // CONTAINS AS MEMBER
  1002. return rune(0x220b), true
  1003. case "ReverseEquilibrium": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  1004. return rune(0x21cb), true
  1005. case "ReverseUpEquilibrium": // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
  1006. return rune(0x296f), true
  1007. case "Rfr": // BLACK-LETTER CAPITAL R
  1008. return rune(0x211c), true
  1009. case "Rgr": // GREEK CAPITAL LETTER RHO
  1010. return rune(0x03a1), true
  1011. case "Rho": // GREEK CAPITAL LETTER RHO
  1012. return rune(0x03a1), true
  1013. case "RightAngleBracket": // MATHEMATICAL RIGHT ANGLE BRACKET
  1014. return rune(0x27e9), true
  1015. case "RightArrow": // RIGHTWARDS ARROW
  1016. return rune(0x2192), true
  1017. case "RightArrowBar": // RIGHTWARDS ARROW TO BAR
  1018. return rune(0x21e5), true
  1019. case "RightArrowLeftArrow": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  1020. return rune(0x21c4), true
  1021. case "RightCeiling": // RIGHT CEILING
  1022. return rune(0x2309), true
  1023. case "RightDoubleBracket": // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
  1024. return rune(0x27e7), true
  1025. case "RightDownTeeVector": // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
  1026. return rune(0x295d), true
  1027. case "RightDownVector": // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
  1028. return rune(0x21c2), true
  1029. case "RightDownVectorBar": // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
  1030. return rune(0x2955), true
  1031. case "RightFloor": // RIGHT FLOOR
  1032. return rune(0x230b), true
  1033. case "RightTee": // RIGHT TACK
  1034. return rune(0x22a2), true
  1035. case "RightTeeArrow": // RIGHTWARDS ARROW FROM BAR
  1036. return rune(0x21a6), true
  1037. case "RightTeeVector": // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
  1038. return rune(0x295b), true
  1039. case "RightTriangle": // CONTAINS AS NORMAL SUBGROUP
  1040. return rune(0x22b3), true
  1041. case "RightTriangleBar": // VERTICAL BAR BESIDE RIGHT TRIANGLE
  1042. return rune(0x29d0), true
  1043. case "RightTriangleEqual": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
  1044. return rune(0x22b5), true
  1045. case "RightUpDownVector": // UP BARB RIGHT DOWN BARB RIGHT HARPOON
  1046. return rune(0x294f), true
  1047. case "RightUpTeeVector": // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
  1048. return rune(0x295c), true
  1049. case "RightUpVector": // UPWARDS HARPOON WITH BARB RIGHTWARDS
  1050. return rune(0x21be), true
  1051. case "RightUpVectorBar": // UPWARDS HARPOON WITH BARB RIGHT TO BAR
  1052. return rune(0x2954), true
  1053. case "RightVector": // RIGHTWARDS HARPOON WITH BARB UPWARDS
  1054. return rune(0x21c0), true
  1055. case "RightVectorBar": // RIGHTWARDS HARPOON WITH BARB UP TO BAR
  1056. return rune(0x2953), true
  1057. case "Rightarrow": // RIGHTWARDS DOUBLE ARROW
  1058. return rune(0x21d2), true
  1059. case "Ropf": // DOUBLE-STRUCK CAPITAL R
  1060. return rune(0x211d), true
  1061. case "RoundImplies": // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
  1062. return rune(0x2970), true
  1063. case "Rrightarrow": // RIGHTWARDS TRIPLE ARROW
  1064. return rune(0x21db), true
  1065. case "Rscr": // SCRIPT CAPITAL R
  1066. return rune(0x211b), true
  1067. case "Rsh": // UPWARDS ARROW WITH TIP RIGHTWARDS
  1068. return rune(0x21b1), true
  1069. case "RuleDelayed": // RULE-DELAYED
  1070. return rune(0x29f4), true
  1071. }
  1072. case 'S':
  1073. switch name {
  1074. case "SHCHcy": // CYRILLIC CAPITAL LETTER SHCHA
  1075. return rune(0x0429), true
  1076. case "SHcy": // CYRILLIC CAPITAL LETTER SHA
  1077. return rune(0x0428), true
  1078. case "SOFTcy": // CYRILLIC CAPITAL LETTER SOFT SIGN
  1079. return rune(0x042c), true
  1080. case "Sacute": // LATIN CAPITAL LETTER S WITH ACUTE
  1081. return rune(0x015a), true
  1082. case "Sc": // DOUBLE SUCCEEDS
  1083. return rune(0x2abc), true
  1084. case "Scaron": // LATIN CAPITAL LETTER S WITH CARON
  1085. return rune(0x0160), true
  1086. case "Scedil": // LATIN CAPITAL LETTER S WITH CEDILLA
  1087. return rune(0x015e), true
  1088. case "Scirc": // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
  1089. return rune(0x015c), true
  1090. case "Scy": // CYRILLIC CAPITAL LETTER ES
  1091. return rune(0x0421), true
  1092. case "Sfr": // MATHEMATICAL FRAKTUR CAPITAL S
  1093. return rune(0x01d516), true
  1094. case "Sgr": // GREEK CAPITAL LETTER SIGMA
  1095. return rune(0x03a3), true
  1096. case "ShortDownArrow": // DOWNWARDS ARROW
  1097. return rune(0x2193), true
  1098. case "ShortLeftArrow": // LEFTWARDS ARROW
  1099. return rune(0x2190), true
  1100. case "ShortRightArrow": // RIGHTWARDS ARROW
  1101. return rune(0x2192), true
  1102. case "ShortUpArrow": // UPWARDS ARROW
  1103. return rune(0x2191), true
  1104. case "Sigma": // GREEK CAPITAL LETTER SIGMA
  1105. return rune(0x03a3), true
  1106. case "SmallCircle": // RING OPERATOR
  1107. return rune(0x2218), true
  1108. case "Sopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL S
  1109. return rune(0x01d54a), true
  1110. case "Sqrt": // SQUARE ROOT
  1111. return rune(0x221a), true
  1112. case "Square": // WHITE SQUARE
  1113. return rune(0x25a1), true
  1114. case "SquareIntersection": // SQUARE CAP
  1115. return rune(0x2293), true
  1116. case "SquareSubset": // SQUARE IMAGE OF
  1117. return rune(0x228f), true
  1118. case "SquareSubsetEqual": // SQUARE IMAGE OF OR EQUAL TO
  1119. return rune(0x2291), true
  1120. case "SquareSuperset": // SQUARE ORIGINAL OF
  1121. return rune(0x2290), true
  1122. case "SquareSupersetEqual": // SQUARE ORIGINAL OF OR EQUAL TO
  1123. return rune(0x2292), true
  1124. case "SquareUnion": // SQUARE CUP
  1125. return rune(0x2294), true
  1126. case "Sscr": // MATHEMATICAL SCRIPT CAPITAL S
  1127. return rune(0x01d4ae), true
  1128. case "Star": // STAR OPERATOR
  1129. return rune(0x22c6), true
  1130. case "Sub": // DOUBLE SUBSET
  1131. return rune(0x22d0), true
  1132. case "Subset": // DOUBLE SUBSET
  1133. return rune(0x22d0), true
  1134. case "SubsetEqual": // SUBSET OF OR EQUAL TO
  1135. return rune(0x2286), true
  1136. case "Succeeds": // SUCCEEDS
  1137. return rune(0x227b), true
  1138. case "SucceedsEqual": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
  1139. return rune(0x2ab0), true
  1140. case "SucceedsSlantEqual": // SUCCEEDS OR EQUAL TO
  1141. return rune(0x227d), true
  1142. case "SucceedsTilde": // SUCCEEDS OR EQUIVALENT TO
  1143. return rune(0x227f), true
  1144. case "SuchThat": // CONTAINS AS MEMBER
  1145. return rune(0x220b), true
  1146. case "Sum": // N-ARY SUMMATION
  1147. return rune(0x2211), true
  1148. case "Sup": // DOUBLE SUPERSET
  1149. return rune(0x22d1), true
  1150. case "Superset": // SUPERSET OF
  1151. return rune(0x2283), true
  1152. case "SupersetEqual": // SUPERSET OF OR EQUAL TO
  1153. return rune(0x2287), true
  1154. case "Supset": // DOUBLE SUPERSET
  1155. return rune(0x22d1), true
  1156. }
  1157. case 'T':
  1158. switch name {
  1159. case "THORN": // LATIN CAPITAL LETTER THORN
  1160. return rune(0xde), true
  1161. case "THgr": // GREEK CAPITAL LETTER THETA
  1162. return rune(0x0398), true
  1163. case "TRADE": // TRADE MARK SIGN
  1164. return rune(0x2122), true
  1165. case "TSHcy": // CYRILLIC CAPITAL LETTER TSHE
  1166. return rune(0x040b), true
  1167. case "TScy": // CYRILLIC CAPITAL LETTER TSE
  1168. return rune(0x0426), true
  1169. case "Tab": // CHARACTER TABULATION
  1170. return rune(0x09), true
  1171. case "Tau": // GREEK CAPITAL LETTER TAU
  1172. return rune(0x03a4), true
  1173. case "Tcaron": // LATIN CAPITAL LETTER T WITH CARON
  1174. return rune(0x0164), true
  1175. case "Tcedil": // LATIN CAPITAL LETTER T WITH CEDILLA
  1176. return rune(0x0162), true
  1177. case "Tcy": // CYRILLIC CAPITAL LETTER TE
  1178. return rune(0x0422), true
  1179. case "Tfr": // MATHEMATICAL FRAKTUR CAPITAL T
  1180. return rune(0x01d517), true
  1181. case "Tgr": // GREEK CAPITAL LETTER TAU
  1182. return rune(0x03a4), true
  1183. case "Therefore": // THEREFORE
  1184. return rune(0x2234), true
  1185. case "Theta": // GREEK CAPITAL LETTER THETA
  1186. return rune(0x0398), true
  1187. case "Thetav": // GREEK CAPITAL THETA SYMBOL
  1188. return rune(0x03f4), true
  1189. case "ThickSpace": // space of width 5/18 em
  1190. return rune(0x205f), true
  1191. case "ThinSpace": // THIN SPACE
  1192. return rune(0x2009), true
  1193. case "Tilde": // TILDE OPERATOR
  1194. return rune(0x223c), true
  1195. case "TildeEqual": // ASYMPTOTICALLY EQUAL TO
  1196. return rune(0x2243), true
  1197. case "TildeFullEqual": // APPROXIMATELY EQUAL TO
  1198. return rune(0x2245), true
  1199. case "TildeTilde": // ALMOST EQUAL TO
  1200. return rune(0x2248), true
  1201. case "Topf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL T
  1202. return rune(0x01d54b), true
  1203. case "TripleDot": // COMBINING THREE DOTS ABOVE
  1204. return rune(0x20db), true
  1205. case "Tscr": // MATHEMATICAL SCRIPT CAPITAL T
  1206. return rune(0x01d4af), true
  1207. case "Tstrok": // LATIN CAPITAL LETTER T WITH STROKE
  1208. return rune(0x0166), true
  1209. }
  1210. case 'U':
  1211. switch name {
  1212. case "Uacgr": // GREEK CAPITAL LETTER UPSILON WITH TONOS
  1213. return rune(0x038e), true
  1214. case "Uacute": // LATIN CAPITAL LETTER U WITH ACUTE
  1215. return rune(0xda), true
  1216. case "Uarr": // UPWARDS TWO HEADED ARROW
  1217. return rune(0x219f), true
  1218. case "Uarrocir": // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
  1219. return rune(0x2949), true
  1220. case "Ubrcy": // CYRILLIC CAPITAL LETTER SHORT U
  1221. return rune(0x040e), true
  1222. case "Ubreve": // LATIN CAPITAL LETTER U WITH BREVE
  1223. return rune(0x016c), true
  1224. case "Ucirc": // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
  1225. return rune(0xdb), true
  1226. case "Ucy": // CYRILLIC CAPITAL LETTER U
  1227. return rune(0x0423), true
  1228. case "Udblac": // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
  1229. return rune(0x0170), true
  1230. case "Udigr": // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
  1231. return rune(0x03ab), true
  1232. case "Ufr": // MATHEMATICAL FRAKTUR CAPITAL U
  1233. return rune(0x01d518), true
  1234. case "Ugr": // GREEK CAPITAL LETTER UPSILON
  1235. return rune(0x03a5), true
  1236. case "Ugrave": // LATIN CAPITAL LETTER U WITH GRAVE
  1237. return rune(0xd9), true
  1238. case "Umacr": // LATIN CAPITAL LETTER U WITH MACRON
  1239. return rune(0x016a), true
  1240. case "UnderBar": // LOW LINE
  1241. return rune(0x5f), true
  1242. case "UnderBrace": // BOTTOM CURLY BRACKET
  1243. return rune(0x23df), true
  1244. case "UnderBracket": // BOTTOM SQUARE BRACKET
  1245. return rune(0x23b5), true
  1246. case "UnderParenthesis": // BOTTOM PARENTHESIS
  1247. return rune(0x23dd), true
  1248. case "Union": // N-ARY UNION
  1249. return rune(0x22c3), true
  1250. case "UnionPlus": // MULTISET UNION
  1251. return rune(0x228e), true
  1252. case "Uogon": // LATIN CAPITAL LETTER U WITH OGONEK
  1253. return rune(0x0172), true
  1254. case "Uopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL U
  1255. return rune(0x01d54c), true
  1256. case "UpArrow": // UPWARDS ARROW
  1257. return rune(0x2191), true
  1258. case "UpArrowBar": // UPWARDS ARROW TO BAR
  1259. return rune(0x2912), true
  1260. case "UpArrowDownArrow": // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
  1261. return rune(0x21c5), true
  1262. case "UpDownArrow": // UP DOWN ARROW
  1263. return rune(0x2195), true
  1264. case "UpEquilibrium": // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
  1265. return rune(0x296e), true
  1266. case "UpTee": // UP TACK
  1267. return rune(0x22a5), true
  1268. case "UpTeeArrow": // UPWARDS ARROW FROM BAR
  1269. return rune(0x21a5), true
  1270. case "Uparrow": // UPWARDS DOUBLE ARROW
  1271. return rune(0x21d1), true
  1272. case "Updownarrow": // UP DOWN DOUBLE ARROW
  1273. return rune(0x21d5), true
  1274. case "UpperLeftArrow": // NORTH WEST ARROW
  1275. return rune(0x2196), true
  1276. case "UpperRightArrow": // NORTH EAST ARROW
  1277. return rune(0x2197), true
  1278. case "Upsi": // GREEK UPSILON WITH HOOK SYMBOL
  1279. return rune(0x03d2), true
  1280. case "Upsilon": // GREEK CAPITAL LETTER UPSILON
  1281. return rune(0x03a5), true
  1282. case "Uring": // LATIN CAPITAL LETTER U WITH RING ABOVE
  1283. return rune(0x016e), true
  1284. case "Uscr": // MATHEMATICAL SCRIPT CAPITAL U
  1285. return rune(0x01d4b0), true
  1286. case "Utilde": // LATIN CAPITAL LETTER U WITH TILDE
  1287. return rune(0x0168), true
  1288. case "Uuml": // LATIN CAPITAL LETTER U WITH DIAERESIS
  1289. return rune(0xdc), true
  1290. }
  1291. case 'V':
  1292. switch name {
  1293. case "VDash": // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
  1294. return rune(0x22ab), true
  1295. case "Vbar": // DOUBLE UP TACK
  1296. return rune(0x2aeb), true
  1297. case "Vcy": // CYRILLIC CAPITAL LETTER VE
  1298. return rune(0x0412), true
  1299. case "Vdash": // FORCES
  1300. return rune(0x22a9), true
  1301. case "Vdashl": // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
  1302. return rune(0x2ae6), true
  1303. case "Vee": // N-ARY LOGICAL OR
  1304. return rune(0x22c1), true
  1305. case "Verbar": // DOUBLE VERTICAL LINE
  1306. return rune(0x2016), true
  1307. case "Vert": // DOUBLE VERTICAL LINE
  1308. return rune(0x2016), true
  1309. case "VerticalBar": // DIVIDES
  1310. return rune(0x2223), true
  1311. case "VerticalLine": // VERTICAL LINE
  1312. return rune(0x7c), true
  1313. case "VerticalSeparator": // LIGHT VERTICAL BAR
  1314. return rune(0x2758), true
  1315. case "VerticalTilde": // WREATH PRODUCT
  1316. return rune(0x2240), true
  1317. case "VeryThinSpace": // HAIR SPACE
  1318. return rune(0x200a), true
  1319. case "Vfr": // MATHEMATICAL FRAKTUR CAPITAL V
  1320. return rune(0x01d519), true
  1321. case "Vopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL V
  1322. return rune(0x01d54d), true
  1323. case "Vscr": // MATHEMATICAL SCRIPT CAPITAL V
  1324. return rune(0x01d4b1), true
  1325. case "Vvdash": // TRIPLE VERTICAL BAR RIGHT TURNSTILE
  1326. return rune(0x22aa), true
  1327. }
  1328. case 'W':
  1329. switch name {
  1330. case "Wcirc": // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
  1331. return rune(0x0174), true
  1332. case "Wedge": // N-ARY LOGICAL AND
  1333. return rune(0x22c0), true
  1334. case "Wfr": // MATHEMATICAL FRAKTUR CAPITAL W
  1335. return rune(0x01d51a), true
  1336. case "Wopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL W
  1337. return rune(0x01d54e), true
  1338. case "Wscr": // MATHEMATICAL SCRIPT CAPITAL W
  1339. return rune(0x01d4b2), true
  1340. }
  1341. case 'X':
  1342. switch name {
  1343. case "Xfr": // MATHEMATICAL FRAKTUR CAPITAL X
  1344. return rune(0x01d51b), true
  1345. case "Xgr": // GREEK CAPITAL LETTER XI
  1346. return rune(0x039e), true
  1347. case "Xi": // GREEK CAPITAL LETTER XI
  1348. return rune(0x039e), true
  1349. case "Xopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL X
  1350. return rune(0x01d54f), true
  1351. case "Xscr": // MATHEMATICAL SCRIPT CAPITAL X
  1352. return rune(0x01d4b3), true
  1353. }
  1354. case 'Y':
  1355. switch name {
  1356. case "YAcy": // CYRILLIC CAPITAL LETTER YA
  1357. return rune(0x042f), true
  1358. case "YIcy": // CYRILLIC CAPITAL LETTER YI
  1359. return rune(0x0407), true
  1360. case "YUcy": // CYRILLIC CAPITAL LETTER YU
  1361. return rune(0x042e), true
  1362. case "Yacute": // LATIN CAPITAL LETTER Y WITH ACUTE
  1363. return rune(0xdd), true
  1364. case "Ycirc": // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
  1365. return rune(0x0176), true
  1366. case "Ycy": // CYRILLIC CAPITAL LETTER YERU
  1367. return rune(0x042b), true
  1368. case "Yfr": // MATHEMATICAL FRAKTUR CAPITAL Y
  1369. return rune(0x01d51c), true
  1370. case "Yopf": // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
  1371. return rune(0x01d550), true
  1372. case "Yscr": // MATHEMATICAL SCRIPT CAPITAL Y
  1373. return rune(0x01d4b4), true
  1374. case "Yuml": // LATIN CAPITAL LETTER Y WITH DIAERESIS
  1375. return rune(0x0178), true
  1376. }
  1377. case 'Z':
  1378. switch name {
  1379. case "ZHcy": // CYRILLIC CAPITAL LETTER ZHE
  1380. return rune(0x0416), true
  1381. case "Zacute": // LATIN CAPITAL LETTER Z WITH ACUTE
  1382. return rune(0x0179), true
  1383. case "Zcaron": // LATIN CAPITAL LETTER Z WITH CARON
  1384. return rune(0x017d), true
  1385. case "Zcy": // CYRILLIC CAPITAL LETTER ZE
  1386. return rune(0x0417), true
  1387. case "Zdot": // LATIN CAPITAL LETTER Z WITH DOT ABOVE
  1388. return rune(0x017b), true
  1389. case "ZeroWidthSpace": // ZERO WIDTH SPACE
  1390. return rune(0x200b), true
  1391. case "Zeta": // GREEK CAPITAL LETTER ZETA
  1392. return rune(0x0396), true
  1393. case "Zfr": // BLACK-LETTER CAPITAL Z
  1394. return rune(0x2128), true
  1395. case "Zgr": // GREEK CAPITAL LETTER ZETA
  1396. return rune(0x0396), true
  1397. case "Zopf": // DOUBLE-STRUCK CAPITAL Z
  1398. return rune(0x2124), true
  1399. case "Zscr": // MATHEMATICAL SCRIPT CAPITAL Z
  1400. return rune(0x01d4b5), true
  1401. }
  1402. case 'a':
  1403. switch name {
  1404. case "aacgr": // GREEK SMALL LETTER ALPHA WITH TONOS
  1405. return rune(0x03ac), true
  1406. case "aacute": // LATIN SMALL LETTER A WITH ACUTE
  1407. return rune(0xe1), true
  1408. case "abreve": // LATIN SMALL LETTER A WITH BREVE
  1409. return rune(0x0103), true
  1410. case "ac": // INVERTED LAZY S
  1411. return rune(0x223e), true
  1412. case "acE": // INVERTED LAZY S with double underline
  1413. return rune(0x223e), true
  1414. case "acd": // SINE WAVE
  1415. return rune(0x223f), true
  1416. case "acirc": // LATIN SMALL LETTER A WITH CIRCUMFLEX
  1417. return rune(0xe2), true
  1418. case "actuary": // COMBINING ANNUITY SYMBOL
  1419. return rune(0x20e7), true
  1420. case "acute": // ACUTE ACCENT
  1421. return rune(0xb4), true
  1422. case "acy": // CYRILLIC SMALL LETTER A
  1423. return rune(0x0430), true
  1424. case "aelig": // LATIN SMALL LETTER AE
  1425. return rune(0xe6), true
  1426. case "af": // FUNCTION APPLICATION
  1427. return rune(0x2061), true
  1428. case "afr": // MATHEMATICAL FRAKTUR SMALL A
  1429. return rune(0x01d51e), true
  1430. case "agr": // GREEK SMALL LETTER ALPHA
  1431. return rune(0x03b1), true
  1432. case "agrave": // LATIN SMALL LETTER A WITH GRAVE
  1433. return rune(0xe0), true
  1434. case "alefsym": // ALEF SYMBOL
  1435. return rune(0x2135), true
  1436. case "aleph": // ALEF SYMBOL
  1437. return rune(0x2135), true
  1438. case "alpha": // GREEK SMALL LETTER ALPHA
  1439. return rune(0x03b1), true
  1440. case "amacr": // LATIN SMALL LETTER A WITH MACRON
  1441. return rune(0x0101), true
  1442. case "amalg": // AMALGAMATION OR COPRODUCT
  1443. return rune(0x2a3f), true
  1444. case "amp": // AMPERSAND
  1445. return rune(0x26), true
  1446. case "and": // LOGICAL AND
  1447. return rune(0x2227), true
  1448. case "andand": // TWO INTERSECTING LOGICAL AND
  1449. return rune(0x2a55), true
  1450. case "andd": // LOGICAL AND WITH HORIZONTAL DASH
  1451. return rune(0x2a5c), true
  1452. case "andslope": // SLOPING LARGE AND
  1453. return rune(0x2a58), true
  1454. case "andv": // LOGICAL AND WITH MIDDLE STEM
  1455. return rune(0x2a5a), true
  1456. case "ang": // ANGLE
  1457. return rune(0x2220), true
  1458. case "ang90": // RIGHT ANGLE
  1459. return rune(0x221f), true
  1460. case "angdnl": // TURNED ANGLE
  1461. return rune(0x29a2), true
  1462. case "angdnr": // ACUTE ANGLE
  1463. return rune(0x299f), true
  1464. case "ange": // ANGLE WITH UNDERBAR
  1465. return rune(0x29a4), true
  1466. case "angle": // ANGLE
  1467. return rune(0x2220), true
  1468. case "angles": // ANGLE WITH S INSIDE
  1469. return rune(0x299e), true
  1470. case "angmsd": // MEASURED ANGLE
  1471. return rune(0x2221), true
  1472. case "angmsdaa": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
  1473. return rune(0x29a8), true
  1474. case "angmsdab": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
  1475. return rune(0x29a9), true
  1476. case "angmsdac": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
  1477. return rune(0x29aa), true
  1478. case "angmsdad": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
  1479. return rune(0x29ab), true
  1480. case "angmsdae": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
  1481. return rune(0x29ac), true
  1482. case "angmsdaf": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
  1483. return rune(0x29ad), true
  1484. case "angmsdag": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
  1485. return rune(0x29ae), true
  1486. case "angmsdah": // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
  1487. return rune(0x29af), true
  1488. case "angrt": // RIGHT ANGLE
  1489. return rune(0x221f), true
  1490. case "angrtvb": // RIGHT ANGLE WITH ARC
  1491. return rune(0x22be), true
  1492. case "angrtvbd": // MEASURED RIGHT ANGLE WITH DOT
  1493. return rune(0x299d), true
  1494. case "angsph": // SPHERICAL ANGLE
  1495. return rune(0x2222), true
  1496. case "angst": // LATIN CAPITAL LETTER A WITH RING ABOVE
  1497. return rune(0xc5), true
  1498. case "angupl": // REVERSED ANGLE
  1499. return rune(0x29a3), true
  1500. case "angzarr": // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
  1501. return rune(0x237c), true
  1502. case "aogon": // LATIN SMALL LETTER A WITH OGONEK
  1503. return rune(0x0105), true
  1504. case "aopf": // MATHEMATICAL DOUBLE-STRUCK SMALL A
  1505. return rune(0x01d552), true
  1506. case "ap": // ALMOST EQUAL TO
  1507. return rune(0x2248), true
  1508. case "apE": // APPROXIMATELY EQUAL OR EQUAL TO
  1509. return rune(0x2a70), true
  1510. case "apacir": // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
  1511. return rune(0x2a6f), true
  1512. case "ape": // ALMOST EQUAL OR EQUAL TO
  1513. return rune(0x224a), true
  1514. case "apid": // TRIPLE TILDE
  1515. return rune(0x224b), true
  1516. case "apos": // APOSTROPHE
  1517. return rune(0x27), true
  1518. case "approx": // ALMOST EQUAL TO
  1519. return rune(0x2248), true
  1520. case "approxeq": // ALMOST EQUAL OR EQUAL TO
  1521. return rune(0x224a), true
  1522. case "aring": // LATIN SMALL LETTER A WITH RING ABOVE
  1523. return rune(0xe5), true
  1524. case "arrllsr": // LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
  1525. return rune(0x2943), true
  1526. case "arrlrsl": // RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
  1527. return rune(0x2942), true
  1528. case "arrsrll": // SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
  1529. return rune(0x2944), true
  1530. case "ascr": // MATHEMATICAL SCRIPT SMALL A
  1531. return rune(0x01d4b6), true
  1532. case "ast": // ASTERISK
  1533. return rune(0x2a), true
  1534. case "astb": // SQUARED ASTERISK
  1535. return rune(0x29c6), true
  1536. case "asymp": // ALMOST EQUAL TO
  1537. return rune(0x2248), true
  1538. case "asympeq": // EQUIVALENT TO
  1539. return rune(0x224d), true
  1540. case "atilde": // LATIN SMALL LETTER A WITH TILDE
  1541. return rune(0xe3), true
  1542. case "auml": // LATIN SMALL LETTER A WITH DIAERESIS
  1543. return rune(0xe4), true
  1544. case "awconint": // ANTICLOCKWISE CONTOUR INTEGRAL
  1545. return rune(0x2233), true
  1546. case "awint": // ANTICLOCKWISE INTEGRATION
  1547. return rune(0x2a11), true
  1548. }
  1549. case 'b':
  1550. switch name {
  1551. case "b.Delta": // MATHEMATICAL BOLD CAPITAL DELTA
  1552. return rune(0x01d6ab), true
  1553. case "b.Gamma": // MATHEMATICAL BOLD CAPITAL GAMMA
  1554. return rune(0x01d6aa), true
  1555. case "b.Gammad": // MATHEMATICAL BOLD CAPITAL DIGAMMA
  1556. return rune(0x01d7ca), true
  1557. case "b.Lambda": // MATHEMATICAL BOLD CAPITAL LAMDA
  1558. return rune(0x01d6b2), true
  1559. case "b.Omega": // MATHEMATICAL BOLD CAPITAL OMEGA
  1560. return rune(0x01d6c0), true
  1561. case "b.Phi": // MATHEMATICAL BOLD CAPITAL PHI
  1562. return rune(0x01d6bd), true
  1563. case "b.Pi": // MATHEMATICAL BOLD CAPITAL PI
  1564. return rune(0x01d6b7), true
  1565. case "b.Psi": // MATHEMATICAL BOLD CAPITAL PSI
  1566. return rune(0x01d6bf), true
  1567. case "b.Sigma": // MATHEMATICAL BOLD CAPITAL SIGMA
  1568. return rune(0x01d6ba), true
  1569. case "b.Theta": // MATHEMATICAL BOLD CAPITAL THETA
  1570. return rune(0x01d6af), true
  1571. case "b.Upsi": // MATHEMATICAL BOLD CAPITAL UPSILON
  1572. return rune(0x01d6bc), true
  1573. case "b.Xi": // MATHEMATICAL BOLD CAPITAL XI
  1574. return rune(0x01d6b5), true
  1575. case "b.alpha": // MATHEMATICAL BOLD SMALL ALPHA
  1576. return rune(0x01d6c2), true
  1577. case "b.beta": // MATHEMATICAL BOLD SMALL BETA
  1578. return rune(0x01d6c3), true
  1579. case "b.chi": // MATHEMATICAL BOLD SMALL CHI
  1580. return rune(0x01d6d8), true
  1581. case "b.delta": // MATHEMATICAL BOLD SMALL DELTA
  1582. return rune(0x01d6c5), true
  1583. case "b.epsi": // MATHEMATICAL BOLD SMALL EPSILON
  1584. return rune(0x01d6c6), true
  1585. case "b.epsiv": // MATHEMATICAL BOLD EPSILON SYMBOL
  1586. return rune(0x01d6dc), true
  1587. case "b.eta": // MATHEMATICAL BOLD SMALL ETA
  1588. return rune(0x01d6c8), true
  1589. case "b.gamma": // MATHEMATICAL BOLD SMALL GAMMA
  1590. return rune(0x01d6c4), true
  1591. case "b.gammad": // MATHEMATICAL BOLD SMALL DIGAMMA
  1592. return rune(0x01d7cb), true
  1593. case "b.iota": // MATHEMATICAL BOLD SMALL IOTA
  1594. return rune(0x01d6ca), true
  1595. case "b.kappa": // MATHEMATICAL BOLD SMALL KAPPA
  1596. return rune(0x01d6cb), true
  1597. case "b.kappav": // MATHEMATICAL BOLD KAPPA SYMBOL
  1598. return rune(0x01d6de), true
  1599. case "b.lambda": // MATHEMATICAL BOLD SMALL LAMDA
  1600. return rune(0x01d6cc), true
  1601. case "b.mu": // MATHEMATICAL BOLD SMALL MU
  1602. return rune(0x01d6cd), true
  1603. case "b.nu": // MATHEMATICAL BOLD SMALL NU
  1604. return rune(0x01d6ce), true
  1605. case "b.omega": // MATHEMATICAL BOLD SMALL OMEGA
  1606. return rune(0x01d6da), true
  1607. case "b.phi": // MATHEMATICAL BOLD SMALL PHI
  1608. return rune(0x01d6d7), true
  1609. case "b.phiv": // MATHEMATICAL BOLD PHI SYMBOL
  1610. return rune(0x01d6df), true
  1611. case "b.pi": // MATHEMATICAL BOLD SMALL PI
  1612. return rune(0x01d6d1), true
  1613. case "b.piv": // MATHEMATICAL BOLD PI SYMBOL
  1614. return rune(0x01d6e1), true
  1615. case "b.psi": // MATHEMATICAL BOLD SMALL PSI
  1616. return rune(0x01d6d9), true
  1617. case "b.rho": // MATHEMATICAL BOLD SMALL RHO
  1618. return rune(0x01d6d2), true
  1619. case "b.rhov": // MATHEMATICAL BOLD RHO SYMBOL
  1620. return rune(0x01d6e0), true
  1621. case "b.sigma": // MATHEMATICAL BOLD SMALL SIGMA
  1622. return rune(0x01d6d4), true
  1623. case "b.sigmav": // MATHEMATICAL BOLD SMALL FINAL SIGMA
  1624. return rune(0x01d6d3), true
  1625. case "b.tau": // MATHEMATICAL BOLD SMALL TAU
  1626. return rune(0x01d6d5), true
  1627. case "b.thetas": // MATHEMATICAL BOLD SMALL THETA
  1628. return rune(0x01d6c9), true
  1629. case "b.thetav": // MATHEMATICAL BOLD THETA SYMBOL
  1630. return rune(0x01d6dd), true
  1631. case "b.upsi": // MATHEMATICAL BOLD SMALL UPSILON
  1632. return rune(0x01d6d6), true
  1633. case "b.xi": // MATHEMATICAL BOLD SMALL XI
  1634. return rune(0x01d6cf), true
  1635. case "b.zeta": // MATHEMATICAL BOLD SMALL ZETA
  1636. return rune(0x01d6c7), true
  1637. case "bNot": // REVERSED DOUBLE STROKE NOT SIGN
  1638. return rune(0x2aed), true
  1639. case "backcong": // ALL EQUAL TO
  1640. return rune(0x224c), true
  1641. case "backepsilon": // GREEK REVERSED LUNATE EPSILON SYMBOL
  1642. return rune(0x03f6), true
  1643. case "backprime": // REVERSED PRIME
  1644. return rune(0x2035), true
  1645. case "backsim": // REVERSED TILDE
  1646. return rune(0x223d), true
  1647. case "backsimeq": // REVERSED TILDE EQUALS
  1648. return rune(0x22cd), true
  1649. case "barV": // DOUBLE DOWN TACK
  1650. return rune(0x2aea), true
  1651. case "barvee": // NOR
  1652. return rune(0x22bd), true
  1653. case "barwed": // PROJECTIVE
  1654. return rune(0x2305), true
  1655. case "barwedge": // PROJECTIVE
  1656. return rune(0x2305), true
  1657. case "bbrk": // BOTTOM SQUARE BRACKET
  1658. return rune(0x23b5), true
  1659. case "bbrktbrk": // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
  1660. return rune(0x23b6), true
  1661. case "bcong": // ALL EQUAL TO
  1662. return rune(0x224c), true
  1663. case "bcy": // CYRILLIC SMALL LETTER BE
  1664. return rune(0x0431), true
  1665. case "bdlhar": // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
  1666. return rune(0x2961), true
  1667. case "bdquo": // DOUBLE LOW-9 QUOTATION MARK
  1668. return rune(0x201e), true
  1669. case "bdrhar": // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
  1670. return rune(0x295d), true
  1671. case "becaus": // BECAUSE
  1672. return rune(0x2235), true
  1673. case "because": // BECAUSE
  1674. return rune(0x2235), true
  1675. case "bemptyv": // REVERSED EMPTY SET
  1676. return rune(0x29b0), true
  1677. case "bepsi": // GREEK REVERSED LUNATE EPSILON SYMBOL
  1678. return rune(0x03f6), true
  1679. case "bernou": // SCRIPT CAPITAL B
  1680. return rune(0x212c), true
  1681. case "beta": // GREEK SMALL LETTER BETA
  1682. return rune(0x03b2), true
  1683. case "beth": // BET SYMBOL
  1684. return rune(0x2136), true
  1685. case "between": // BETWEEN
  1686. return rune(0x226c), true
  1687. case "bfr": // MATHEMATICAL FRAKTUR SMALL B
  1688. return rune(0x01d51f), true
  1689. case "bgr": // GREEK SMALL LETTER BETA
  1690. return rune(0x03b2), true
  1691. case "bigcap": // N-ARY INTERSECTION
  1692. return rune(0x22c2), true
  1693. case "bigcirc": // LARGE CIRCLE
  1694. return rune(0x25ef), true
  1695. case "bigcup": // N-ARY UNION
  1696. return rune(0x22c3), true
  1697. case "bigodot": // N-ARY CIRCLED DOT OPERATOR
  1698. return rune(0x2a00), true
  1699. case "bigoplus": // N-ARY CIRCLED PLUS OPERATOR
  1700. return rune(0x2a01), true
  1701. case "bigotimes": // N-ARY CIRCLED TIMES OPERATOR
  1702. return rune(0x2a02), true
  1703. case "bigsqcup": // N-ARY SQUARE UNION OPERATOR
  1704. return rune(0x2a06), true
  1705. case "bigstar": // BLACK STAR
  1706. return rune(0x2605), true
  1707. case "bigtriangledown": // WHITE DOWN-POINTING TRIANGLE
  1708. return rune(0x25bd), true
  1709. case "bigtriangleup": // WHITE UP-POINTING TRIANGLE
  1710. return rune(0x25b3), true
  1711. case "biguplus": // N-ARY UNION OPERATOR WITH PLUS
  1712. return rune(0x2a04), true
  1713. case "bigvee": // N-ARY LOGICAL OR
  1714. return rune(0x22c1), true
  1715. case "bigwedge": // N-ARY LOGICAL AND
  1716. return rune(0x22c0), true
  1717. case "bkarow": // RIGHTWARDS DOUBLE DASH ARROW
  1718. return rune(0x290d), true
  1719. case "blacklozenge": // BLACK LOZENGE
  1720. return rune(0x29eb), true
  1721. case "blacksquare": // BLACK SMALL SQUARE
  1722. return rune(0x25aa), true
  1723. case "blacktriangle": // BLACK UP-POINTING SMALL TRIANGLE
  1724. return rune(0x25b4), true
  1725. case "blacktriangledown": // BLACK DOWN-POINTING SMALL TRIANGLE
  1726. return rune(0x25be), true
  1727. case "blacktriangleleft": // BLACK LEFT-POINTING SMALL TRIANGLE
  1728. return rune(0x25c2), true
  1729. case "blacktriangleright": // BLACK RIGHT-POINTING SMALL TRIANGLE
  1730. return rune(0x25b8), true
  1731. case "blank": // BLANK SYMBOL
  1732. return rune(0x2422), true
  1733. case "bldhar": // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
  1734. return rune(0x295e), true
  1735. case "blk12": // MEDIUM SHADE
  1736. return rune(0x2592), true
  1737. case "blk14": // LIGHT SHADE
  1738. return rune(0x2591), true
  1739. case "blk34": // DARK SHADE
  1740. return rune(0x2593), true
  1741. case "block": // FULL BLOCK
  1742. return rune(0x2588), true
  1743. case "bluhar": // LEFTWARDS HARPOON WITH BARB UP FROM BAR
  1744. return rune(0x295a), true
  1745. case "bne": // EQUALS SIGN with reverse slash
  1746. return rune(0x3d), true
  1747. case "bnequiv": // IDENTICAL TO with reverse slash
  1748. return rune(0x2261), true
  1749. case "bnot": // REVERSED NOT SIGN
  1750. return rune(0x2310), true
  1751. case "bopf": // MATHEMATICAL DOUBLE-STRUCK SMALL B
  1752. return rune(0x01d553), true
  1753. case "bot": // UP TACK
  1754. return rune(0x22a5), true
  1755. case "bottom": // UP TACK
  1756. return rune(0x22a5), true
  1757. case "bowtie": // BOWTIE
  1758. return rune(0x22c8), true
  1759. case "boxDL": // BOX DRAWINGS DOUBLE DOWN AND LEFT
  1760. return rune(0x2557), true
  1761. case "boxDR": // BOX DRAWINGS DOUBLE DOWN AND RIGHT
  1762. return rune(0x2554), true
  1763. case "boxDl": // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
  1764. return rune(0x2556), true
  1765. case "boxDr": // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
  1766. return rune(0x2553), true
  1767. case "boxH": // BOX DRAWINGS DOUBLE HORIZONTAL
  1768. return rune(0x2550), true
  1769. case "boxHD": // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
  1770. return rune(0x2566), true
  1771. case "boxHU": // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
  1772. return rune(0x2569), true
  1773. case "boxHd": // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
  1774. return rune(0x2564), true
  1775. case "boxHu": // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
  1776. return rune(0x2567), true
  1777. case "boxUL": // BOX DRAWINGS DOUBLE UP AND LEFT
  1778. return rune(0x255d), true
  1779. case "boxUR": // BOX DRAWINGS DOUBLE UP AND RIGHT
  1780. return rune(0x255a), true
  1781. case "boxUl": // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
  1782. return rune(0x255c), true
  1783. case "boxUr": // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
  1784. return rune(0x2559), true
  1785. case "boxV": // BOX DRAWINGS DOUBLE VERTICAL
  1786. return rune(0x2551), true
  1787. case "boxVH": // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
  1788. return rune(0x256c), true
  1789. case "boxVL": // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
  1790. return rune(0x2563), true
  1791. case "boxVR": // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
  1792. return rune(0x2560), true
  1793. case "boxVh": // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
  1794. return rune(0x256b), true
  1795. case "boxVl": // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
  1796. return rune(0x2562), true
  1797. case "boxVr": // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
  1798. return rune(0x255f), true
  1799. case "boxbox": // TWO JOINED SQUARES
  1800. return rune(0x29c9), true
  1801. case "boxdL": // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
  1802. return rune(0x2555), true
  1803. case "boxdR": // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
  1804. return rune(0x2552), true
  1805. case "boxdl": // BOX DRAWINGS LIGHT DOWN AND LEFT
  1806. return rune(0x2510), true
  1807. case "boxdr": // BOX DRAWINGS LIGHT DOWN AND RIGHT
  1808. return rune(0x250c), true
  1809. case "boxh": // BOX DRAWINGS LIGHT HORIZONTAL
  1810. return rune(0x2500), true
  1811. case "boxhD": // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
  1812. return rune(0x2565), true
  1813. case "boxhU": // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
  1814. return rune(0x2568), true
  1815. case "boxhd": // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
  1816. return rune(0x252c), true
  1817. case "boxhu": // BOX DRAWINGS LIGHT UP AND HORIZONTAL
  1818. return rune(0x2534), true
  1819. case "boxminus": // SQUARED MINUS
  1820. return rune(0x229f), true
  1821. case "boxplus": // SQUARED PLUS
  1822. return rune(0x229e), true
  1823. case "boxtimes": // SQUARED TIMES
  1824. return rune(0x22a0), true
  1825. case "boxuL": // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
  1826. return rune(0x255b), true
  1827. case "boxuR": // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
  1828. return rune(0x2558), true
  1829. case "boxul": // BOX DRAWINGS LIGHT UP AND LEFT
  1830. return rune(0x2518), true
  1831. case "boxur": // BOX DRAWINGS LIGHT UP AND RIGHT
  1832. return rune(0x2514), true
  1833. case "boxv": // BOX DRAWINGS LIGHT VERTICAL
  1834. return rune(0x2502), true
  1835. case "boxvH": // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
  1836. return rune(0x256a), true
  1837. case "boxvL": // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
  1838. return rune(0x2561), true
  1839. case "boxvR": // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
  1840. return rune(0x255e), true
  1841. case "boxvh": // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
  1842. return rune(0x253c), true
  1843. case "boxvl": // BOX DRAWINGS LIGHT VERTICAL AND LEFT
  1844. return rune(0x2524), true
  1845. case "boxvr": // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
  1846. return rune(0x251c), true
  1847. case "bprime": // REVERSED PRIME
  1848. return rune(0x2035), true
  1849. case "brdhar": // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
  1850. return rune(0x295f), true
  1851. case "breve": // BREVE
  1852. return rune(0x02d8), true
  1853. case "bruhar": // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
  1854. return rune(0x295b), true
  1855. case "brvbar": // BROKEN BAR
  1856. return rune(0xa6), true
  1857. case "bscr": // MATHEMATICAL SCRIPT SMALL B
  1858. return rune(0x01d4b7), true
  1859. case "bsemi": // REVERSED SEMICOLON
  1860. return rune(0x204f), true
  1861. case "bsim": // REVERSED TILDE
  1862. return rune(0x223d), true
  1863. case "bsime": // REVERSED TILDE EQUALS
  1864. return rune(0x22cd), true
  1865. case "bsol": // REVERSE SOLIDUS
  1866. return rune(0x5c), true
  1867. case "bsolb": // SQUARED FALLING DIAGONAL SLASH
  1868. return rune(0x29c5), true
  1869. case "bsolhsub": // REVERSE SOLIDUS PRECEDING SUBSET
  1870. return rune(0x27c8), true
  1871. case "btimes": // SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
  1872. return rune(0x2a32), true
  1873. case "bulhar": // UPWARDS HARPOON WITH BARB LEFT FROM BAR
  1874. return rune(0x2960), true
  1875. case "bull": // BULLET
  1876. return rune(0x2022), true
  1877. case "bullet": // BULLET
  1878. return rune(0x2022), true
  1879. case "bump": // GEOMETRICALLY EQUIVALENT TO
  1880. return rune(0x224e), true
  1881. case "bumpE": // EQUALS SIGN WITH BUMPY ABOVE
  1882. return rune(0x2aae), true
  1883. case "bumpe": // DIFFERENCE BETWEEN
  1884. return rune(0x224f), true
  1885. case "bumpeq": // DIFFERENCE BETWEEN
  1886. return rune(0x224f), true
  1887. case "burhar": // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
  1888. return rune(0x295c), true
  1889. }
  1890. case 'c':
  1891. switch name {
  1892. case "cacute": // LATIN SMALL LETTER C WITH ACUTE
  1893. return rune(0x0107), true
  1894. case "cap": // INTERSECTION
  1895. return rune(0x2229), true
  1896. case "capand": // INTERSECTION WITH LOGICAL AND
  1897. return rune(0x2a44), true
  1898. case "capbrcup": // INTERSECTION ABOVE BAR ABOVE UNION
  1899. return rune(0x2a49), true
  1900. case "capcap": // INTERSECTION BESIDE AND JOINED WITH INTERSECTION
  1901. return rune(0x2a4b), true
  1902. case "capcup": // INTERSECTION ABOVE UNION
  1903. return rune(0x2a47), true
  1904. case "capdot": // INTERSECTION WITH DOT
  1905. return rune(0x2a40), true
  1906. case "capint": // INTEGRAL WITH INTERSECTION
  1907. return rune(0x2a19), true
  1908. case "caps": // INTERSECTION with serifs
  1909. return rune(0x2229), true
  1910. case "caret": // CARET INSERTION POINT
  1911. return rune(0x2041), true
  1912. case "caron": // CARON
  1913. return rune(0x02c7), true
  1914. case "ccaps": // CLOSED INTERSECTION WITH SERIFS
  1915. return rune(0x2a4d), true
  1916. case "ccaron": // LATIN SMALL LETTER C WITH CARON
  1917. return rune(0x010d), true
  1918. case "ccedil": // LATIN SMALL LETTER C WITH CEDILLA
  1919. return rune(0xe7), true
  1920. case "ccirc": // LATIN SMALL LETTER C WITH CIRCUMFLEX
  1921. return rune(0x0109), true
  1922. case "ccups": // CLOSED UNION WITH SERIFS
  1923. return rune(0x2a4c), true
  1924. case "ccupssm": // CLOSED UNION WITH SERIFS AND SMASH PRODUCT
  1925. return rune(0x2a50), true
  1926. case "cdot": // LATIN SMALL LETTER C WITH DOT ABOVE
  1927. return rune(0x010b), true
  1928. case "cedil": // CEDILLA
  1929. return rune(0xb8), true
  1930. case "cemptyv": // EMPTY SET WITH SMALL CIRCLE ABOVE
  1931. return rune(0x29b2), true
  1932. case "cent": // CENT SIGN
  1933. return rune(0xa2), true
  1934. case "centerdot": // MIDDLE DOT
  1935. return rune(0xb7), true
  1936. case "cfr": // MATHEMATICAL FRAKTUR SMALL C
  1937. return rune(0x01d520), true
  1938. case "chcy": // CYRILLIC SMALL LETTER CHE
  1939. return rune(0x0447), true
  1940. case "check": // CHECK MARK
  1941. return rune(0x2713), true
  1942. case "checkmark": // CHECK MARK
  1943. return rune(0x2713), true
  1944. case "chi": // GREEK SMALL LETTER CHI
  1945. return rune(0x03c7), true
  1946. case "cir": // WHITE CIRCLE
  1947. return rune(0x25cb), true
  1948. case "cirE": // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
  1949. return rune(0x29c3), true
  1950. case "cirb": // SQUARED SMALL CIRCLE
  1951. return rune(0x29c7), true
  1952. case "circ": // MODIFIER LETTER CIRCUMFLEX ACCENT
  1953. return rune(0x02c6), true
  1954. case "circeq": // RING EQUAL TO
  1955. return rune(0x2257), true
  1956. case "circlearrowleft": // ANTICLOCKWISE OPEN CIRCLE ARROW
  1957. return rune(0x21ba), true
  1958. case "circlearrowright": // CLOCKWISE OPEN CIRCLE ARROW
  1959. return rune(0x21bb), true
  1960. case "circledR": // REGISTERED SIGN
  1961. return rune(0xae), true
  1962. case "circledS": // CIRCLED LATIN CAPITAL LETTER S
  1963. return rune(0x24c8), true
  1964. case "circledast": // CIRCLED ASTERISK OPERATOR
  1965. return rune(0x229b), true
  1966. case "circledcirc": // CIRCLED RING OPERATOR
  1967. return rune(0x229a), true
  1968. case "circleddash": // CIRCLED DASH
  1969. return rune(0x229d), true
  1970. case "cirdarr": // WHITE CIRCLE WITH DOWN ARROW
  1971. return rune(0x29ec), true
  1972. case "cire": // RING EQUAL TO
  1973. return rune(0x2257), true
  1974. case "cirerr": // ERROR-BARRED WHITE CIRCLE
  1975. return rune(0x29f2), true
  1976. case "cirfdarr": // BLACK CIRCLE WITH DOWN ARROW
  1977. return rune(0x29ed), true
  1978. case "cirferr": // ERROR-BARRED BLACK CIRCLE
  1979. return rune(0x29f3), true
  1980. case "cirfnint": // CIRCULATION FUNCTION
  1981. return rune(0x2a10), true
  1982. case "cirmid": // VERTICAL LINE WITH CIRCLE ABOVE
  1983. return rune(0x2aef), true
  1984. case "cirscir": // CIRCLE WITH SMALL CIRCLE TO THE RIGHT
  1985. return rune(0x29c2), true
  1986. case "closur": // CLOSE UP
  1987. return rune(0x2050), true
  1988. case "clubs": // BLACK CLUB SUIT
  1989. return rune(0x2663), true
  1990. case "clubsuit": // BLACK CLUB SUIT
  1991. return rune(0x2663), true
  1992. case "colon": // COLON
  1993. return rune(0x3a), true
  1994. case "colone": // COLON EQUALS
  1995. return rune(0x2254), true
  1996. case "coloneq": // COLON EQUALS
  1997. return rune(0x2254), true
  1998. case "comma": // COMMA
  1999. return rune(0x2c), true
  2000. case "commat": // COMMERCIAL AT
  2001. return rune(0x40), true
  2002. case "comp": // COMPLEMENT
  2003. return rune(0x2201), true
  2004. case "compfn": // RING OPERATOR
  2005. return rune(0x2218), true
  2006. case "complement": // COMPLEMENT
  2007. return rune(0x2201), true
  2008. case "complexes": // DOUBLE-STRUCK CAPITAL C
  2009. return rune(0x2102), true
  2010. case "cong": // APPROXIMATELY EQUAL TO
  2011. return rune(0x2245), true
  2012. case "congdot": // CONGRUENT WITH DOT ABOVE
  2013. return rune(0x2a6d), true
  2014. case "conint": // CONTOUR INTEGRAL
  2015. return rune(0x222e), true
  2016. case "copf": // MATHEMATICAL DOUBLE-STRUCK SMALL C
  2017. return rune(0x01d554), true
  2018. case "coprod": // N-ARY COPRODUCT
  2019. return rune(0x2210), true
  2020. case "copy": // COPYRIGHT SIGN
  2021. return rune(0xa9), true
  2022. case "copysr": // SOUND RECORDING COPYRIGHT
  2023. return rune(0x2117), true
  2024. case "crarr": // DOWNWARDS ARROW WITH CORNER LEFTWARDS
  2025. return rune(0x21b5), true
  2026. case "cross": // BALLOT X
  2027. return rune(0x2717), true
  2028. case "cscr": // MATHEMATICAL SCRIPT SMALL C
  2029. return rune(0x01d4b8), true
  2030. case "csub": // CLOSED SUBSET
  2031. return rune(0x2acf), true
  2032. case "csube": // CLOSED SUBSET OR EQUAL TO
  2033. return rune(0x2ad1), true
  2034. case "csup": // CLOSED SUPERSET
  2035. return rune(0x2ad0), true
  2036. case "csupe": // CLOSED SUPERSET OR EQUAL TO
  2037. return rune(0x2ad2), true
  2038. case "ctdot": // MIDLINE HORIZONTAL ELLIPSIS
  2039. return rune(0x22ef), true
  2040. case "cudarrl": // RIGHT-SIDE ARC CLOCKWISE ARROW
  2041. return rune(0x2938), true
  2042. case "cudarrr": // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
  2043. return rune(0x2935), true
  2044. case "cuepr": // EQUAL TO OR PRECEDES
  2045. return rune(0x22de), true
  2046. case "cuesc": // EQUAL TO OR SUCCEEDS
  2047. return rune(0x22df), true
  2048. case "cularr": // ANTICLOCKWISE TOP SEMICIRCLE ARROW
  2049. return rune(0x21b6), true
  2050. case "cularrp": // TOP ARC ANTICLOCKWISE ARROW WITH PLUS
  2051. return rune(0x293d), true
  2052. case "cup": // UNION
  2053. return rune(0x222a), true
  2054. case "cupbrcap": // UNION ABOVE BAR ABOVE INTERSECTION
  2055. return rune(0x2a48), true
  2056. case "cupcap": // UNION ABOVE INTERSECTION
  2057. return rune(0x2a46), true
  2058. case "cupcup": // UNION BESIDE AND JOINED WITH UNION
  2059. return rune(0x2a4a), true
  2060. case "cupdot": // MULTISET MULTIPLICATION
  2061. return rune(0x228d), true
  2062. case "cupint": // INTEGRAL WITH UNION
  2063. return rune(0x2a1a), true
  2064. case "cupor": // UNION WITH LOGICAL OR
  2065. return rune(0x2a45), true
  2066. case "cupre": // PRECEDES OR EQUAL TO
  2067. return rune(0x227c), true
  2068. case "cups": // UNION with serifs
  2069. return rune(0x222a), true
  2070. case "curarr": // CLOCKWISE TOP SEMICIRCLE ARROW
  2071. return rune(0x21b7), true
  2072. case "curarrm": // TOP ARC CLOCKWISE ARROW WITH MINUS
  2073. return rune(0x293c), true
  2074. case "curlyeqprec": // EQUAL TO OR PRECEDES
  2075. return rune(0x22de), true
  2076. case "curlyeqsucc": // EQUAL TO OR SUCCEEDS
  2077. return rune(0x22df), true
  2078. case "curlyvee": // CURLY LOGICAL OR
  2079. return rune(0x22ce), true
  2080. case "curlywedge": // CURLY LOGICAL AND
  2081. return rune(0x22cf), true
  2082. case "curren": // CURRENCY SIGN
  2083. return rune(0xa4), true
  2084. case "curvearrowleft": // ANTICLOCKWISE TOP SEMICIRCLE ARROW
  2085. return rune(0x21b6), true
  2086. case "curvearrowright": // CLOCKWISE TOP SEMICIRCLE ARROW
  2087. return rune(0x21b7), true
  2088. case "cuvee": // CURLY LOGICAL OR
  2089. return rune(0x22ce), true
  2090. case "cuwed": // CURLY LOGICAL AND
  2091. return rune(0x22cf), true
  2092. case "cwconint": // CLOCKWISE CONTOUR INTEGRAL
  2093. return rune(0x2232), true
  2094. case "cwint": // CLOCKWISE INTEGRAL
  2095. return rune(0x2231), true
  2096. case "cylcty": // CYLINDRICITY
  2097. return rune(0x232d), true
  2098. }
  2099. case 'd':
  2100. switch name {
  2101. case "dAarr": // DOWNWARDS TRIPLE ARROW
  2102. return rune(0x290b), true
  2103. case "dArr": // DOWNWARDS DOUBLE ARROW
  2104. return rune(0x21d3), true
  2105. case "dHar": // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
  2106. return rune(0x2965), true
  2107. case "dagger": // DAGGER
  2108. return rune(0x2020), true
  2109. case "dalembrt": // SQUARE WITH CONTOURED OUTLINE
  2110. return rune(0x29e0), true
  2111. case "daleth": // DALET SYMBOL
  2112. return rune(0x2138), true
  2113. case "darr": // DOWNWARDS ARROW
  2114. return rune(0x2193), true
  2115. case "darr2": // DOWNWARDS PAIRED ARROWS
  2116. return rune(0x21ca), true
  2117. case "darrb": // DOWNWARDS ARROW TO BAR
  2118. return rune(0x2913), true
  2119. case "darrln": // DOWNWARDS ARROW WITH HORIZONTAL STROKE
  2120. return rune(0x2908), true
  2121. case "dash": // HYPHEN
  2122. return rune(0x2010), true
  2123. case "dashV": // DOUBLE VERTICAL BAR LEFT TURNSTILE
  2124. return rune(0x2ae3), true
  2125. case "dashv": // LEFT TACK
  2126. return rune(0x22a3), true
  2127. case "dbkarow": // RIGHTWARDS TRIPLE DASH ARROW
  2128. return rune(0x290f), true
  2129. case "dblac": // DOUBLE ACUTE ACCENT
  2130. return rune(0x02dd), true
  2131. case "dcaron": // LATIN SMALL LETTER D WITH CARON
  2132. return rune(0x010f), true
  2133. case "dcy": // CYRILLIC SMALL LETTER DE
  2134. return rune(0x0434), true
  2135. case "dd": // DOUBLE-STRUCK ITALIC SMALL D
  2136. return rune(0x2146), true
  2137. case "ddagger": // DOUBLE DAGGER
  2138. return rune(0x2021), true
  2139. case "ddarr": // DOWNWARDS PAIRED ARROWS
  2140. return rune(0x21ca), true
  2141. case "ddotseq": // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
  2142. return rune(0x2a77), true
  2143. case "deg": // DEGREE SIGN
  2144. return rune(0xb0), true
  2145. case "delta": // GREEK SMALL LETTER DELTA
  2146. return rune(0x03b4), true
  2147. case "demptyv": // EMPTY SET WITH OVERBAR
  2148. return rune(0x29b1), true
  2149. case "dfisht": // DOWN FISH TAIL
  2150. return rune(0x297f), true
  2151. case "dfr": // MATHEMATICAL FRAKTUR SMALL D
  2152. return rune(0x01d521), true
  2153. case "dgr": // GREEK SMALL LETTER DELTA
  2154. return rune(0x03b4), true
  2155. case "dharl": // DOWNWARDS HARPOON WITH BARB LEFTWARDS
  2156. return rune(0x21c3), true
  2157. case "dharr": // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
  2158. return rune(0x21c2), true
  2159. case "diam": // DIAMOND OPERATOR
  2160. return rune(0x22c4), true
  2161. case "diamdarr": // BLACK DIAMOND WITH DOWN ARROW
  2162. return rune(0x29ea), true
  2163. case "diamerr": // ERROR-BARRED WHITE DIAMOND
  2164. return rune(0x29f0), true
  2165. case "diamerrf": // ERROR-BARRED BLACK DIAMOND
  2166. return rune(0x29f1), true
  2167. case "diamond": // DIAMOND OPERATOR
  2168. return rune(0x22c4), true
  2169. case "diamondsuit": // BLACK DIAMOND SUIT
  2170. return rune(0x2666), true
  2171. case "diams": // BLACK DIAMOND SUIT
  2172. return rune(0x2666), true
  2173. case "die": // DIAERESIS
  2174. return rune(0xa8), true
  2175. case "digamma": // GREEK SMALL LETTER DIGAMMA
  2176. return rune(0x03dd), true
  2177. case "disin": // ELEMENT OF WITH LONG HORIZONTAL STROKE
  2178. return rune(0x22f2), true
  2179. case "div": // DIVISION SIGN
  2180. return rune(0xf7), true
  2181. case "divide": // DIVISION SIGN
  2182. return rune(0xf7), true
  2183. case "divideontimes": // DIVISION TIMES
  2184. return rune(0x22c7), true
  2185. case "divonx": // DIVISION TIMES
  2186. return rune(0x22c7), true
  2187. case "djcy": // CYRILLIC SMALL LETTER DJE
  2188. return rune(0x0452), true
  2189. case "dlarr": // SOUTH WEST ARROW
  2190. return rune(0x2199), true
  2191. case "dlcorn": // BOTTOM LEFT CORNER
  2192. return rune(0x231e), true
  2193. case "dlcrop": // BOTTOM LEFT CROP
  2194. return rune(0x230d), true
  2195. case "dlharb": // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
  2196. return rune(0x2959), true
  2197. case "dollar": // DOLLAR SIGN
  2198. return rune(0x24), true
  2199. case "dopf": // MATHEMATICAL DOUBLE-STRUCK SMALL D
  2200. return rune(0x01d555), true
  2201. case "dot": // DOT ABOVE
  2202. return rune(0x02d9), true
  2203. case "doteq": // APPROACHES THE LIMIT
  2204. return rune(0x2250), true
  2205. case "doteqdot": // GEOMETRICALLY EQUAL TO
  2206. return rune(0x2251), true
  2207. case "dotminus": // DOT MINUS
  2208. return rune(0x2238), true
  2209. case "dotplus": // DOT PLUS
  2210. return rune(0x2214), true
  2211. case "dotsquare": // SQUARED DOT OPERATOR
  2212. return rune(0x22a1), true
  2213. case "doublebarwedge": // PERSPECTIVE
  2214. return rune(0x2306), true
  2215. case "downarrow": // DOWNWARDS ARROW
  2216. return rune(0x2193), true
  2217. case "downdownarrows": // DOWNWARDS PAIRED ARROWS
  2218. return rune(0x21ca), true
  2219. case "downharpoonleft": // DOWNWARDS HARPOON WITH BARB LEFTWARDS
  2220. return rune(0x21c3), true
  2221. case "downharpoonright": // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
  2222. return rune(0x21c2), true
  2223. case "drarr": // SOUTH EAST ARROW
  2224. return rune(0x2198), true
  2225. case "drbkarow": // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
  2226. return rune(0x2910), true
  2227. case "drcorn": // BOTTOM RIGHT CORNER
  2228. return rune(0x231f), true
  2229. case "drcrop": // BOTTOM RIGHT CROP
  2230. return rune(0x230c), true
  2231. case "drharb": // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
  2232. return rune(0x2955), true
  2233. case "dscr": // MATHEMATICAL SCRIPT SMALL D
  2234. return rune(0x01d4b9), true
  2235. case "dscy": // CYRILLIC SMALL LETTER DZE
  2236. return rune(0x0455), true
  2237. case "dsol": // SOLIDUS WITH OVERBAR
  2238. return rune(0x29f6), true
  2239. case "dstrok": // LATIN SMALL LETTER D WITH STROKE
  2240. return rune(0x0111), true
  2241. case "dtdot": // DOWN RIGHT DIAGONAL ELLIPSIS
  2242. return rune(0x22f1), true
  2243. case "dtri": // WHITE DOWN-POINTING SMALL TRIANGLE
  2244. return rune(0x25bf), true
  2245. case "dtrif": // BLACK DOWN-POINTING SMALL TRIANGLE
  2246. return rune(0x25be), true
  2247. case "dtrilf": // DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
  2248. return rune(0x29e8), true
  2249. case "dtrirf": // DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
  2250. return rune(0x29e9), true
  2251. case "duarr": // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
  2252. return rune(0x21f5), true
  2253. case "duhar": // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
  2254. return rune(0x296f), true
  2255. case "dumap": // DOUBLE-ENDED MULTIMAP
  2256. return rune(0x29df), true
  2257. case "dwangle": // OBLIQUE ANGLE OPENING UP
  2258. return rune(0x29a6), true
  2259. case "dzcy": // CYRILLIC SMALL LETTER DZHE
  2260. return rune(0x045f), true
  2261. case "dzigrarr": // LONG RIGHTWARDS SQUIGGLE ARROW
  2262. return rune(0x27ff), true
  2263. }
  2264. case 'e':
  2265. switch name {
  2266. case "eDDot": // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
  2267. return rune(0x2a77), true
  2268. case "eDot": // GEOMETRICALLY EQUAL TO
  2269. return rune(0x2251), true
  2270. case "eacgr": // GREEK SMALL LETTER EPSILON WITH TONOS
  2271. return rune(0x03ad), true
  2272. case "eacute": // LATIN SMALL LETTER E WITH ACUTE
  2273. return rune(0xe9), true
  2274. case "easter": // EQUALS WITH ASTERISK
  2275. return rune(0x2a6e), true
  2276. case "ecaron": // LATIN SMALL LETTER E WITH CARON
  2277. return rune(0x011b), true
  2278. case "ecir": // RING IN EQUAL TO
  2279. return rune(0x2256), true
  2280. case "ecirc": // LATIN SMALL LETTER E WITH CIRCUMFLEX
  2281. return rune(0xea), true
  2282. case "ecolon": // EQUALS COLON
  2283. return rune(0x2255), true
  2284. case "ecy": // CYRILLIC SMALL LETTER E
  2285. return rune(0x044d), true
  2286. case "edot": // LATIN SMALL LETTER E WITH DOT ABOVE
  2287. return rune(0x0117), true
  2288. case "ee": // DOUBLE-STRUCK ITALIC SMALL E
  2289. return rune(0x2147), true
  2290. case "eeacgr": // GREEK SMALL LETTER ETA WITH TONOS
  2291. return rune(0x03ae), true
  2292. case "eegr": // GREEK SMALL LETTER ETA
  2293. return rune(0x03b7), true
  2294. case "efDot": // APPROXIMATELY EQUAL TO OR THE IMAGE OF
  2295. return rune(0x2252), true
  2296. case "efr": // MATHEMATICAL FRAKTUR SMALL E
  2297. return rune(0x01d522), true
  2298. case "eg": // DOUBLE-LINE EQUAL TO OR GREATER-THAN
  2299. return rune(0x2a9a), true
  2300. case "egr": // GREEK SMALL LETTER EPSILON
  2301. return rune(0x03b5), true
  2302. case "egrave": // LATIN SMALL LETTER E WITH GRAVE
  2303. return rune(0xe8), true
  2304. case "egs": // SLANTED EQUAL TO OR GREATER-THAN
  2305. return rune(0x2a96), true
  2306. case "egsdot": // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
  2307. return rune(0x2a98), true
  2308. case "el": // DOUBLE-LINE EQUAL TO OR LESS-THAN
  2309. return rune(0x2a99), true
  2310. case "elinters": // ELECTRICAL INTERSECTION
  2311. return rune(0x23e7), true
  2312. case "ell": // SCRIPT SMALL L
  2313. return rune(0x2113), true
  2314. case "els": // SLANTED EQUAL TO OR LESS-THAN
  2315. return rune(0x2a95), true
  2316. case "elsdot": // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
  2317. return rune(0x2a97), true
  2318. case "emacr": // LATIN SMALL LETTER E WITH MACRON
  2319. return rune(0x0113), true
  2320. case "empty": // EMPTY SET
  2321. return rune(0x2205), true
  2322. case "emptyset": // EMPTY SET
  2323. return rune(0x2205), true
  2324. case "emptyv": // EMPTY SET
  2325. return rune(0x2205), true
  2326. case "emsp": // EM SPACE
  2327. return rune(0x2003), true
  2328. case "emsp13": // THREE-PER-EM SPACE
  2329. return rune(0x2004), true
  2330. case "emsp14": // FOUR-PER-EM SPACE
  2331. return rune(0x2005), true
  2332. case "eng": // LATIN SMALL LETTER ENG
  2333. return rune(0x014b), true
  2334. case "ensp": // EN SPACE
  2335. return rune(0x2002), true
  2336. case "eogon": // LATIN SMALL LETTER E WITH OGONEK
  2337. return rune(0x0119), true
  2338. case "eopf": // MATHEMATICAL DOUBLE-STRUCK SMALL E
  2339. return rune(0x01d556), true
  2340. case "epar": // EQUAL AND PARALLEL TO
  2341. return rune(0x22d5), true
  2342. case "eparsl": // EQUALS SIGN AND SLANTED PARALLEL
  2343. return rune(0x29e3), true
  2344. case "eplus": // EQUALS SIGN ABOVE PLUS SIGN
  2345. return rune(0x2a71), true
  2346. case "epsi": // GREEK SMALL LETTER EPSILON
  2347. return rune(0x03b5), true
  2348. case "epsilon": // GREEK SMALL LETTER EPSILON
  2349. return rune(0x03b5), true
  2350. case "epsis": // GREEK LUNATE EPSILON SYMBOL
  2351. return rune(0x03f5), true
  2352. case "epsiv": // GREEK LUNATE EPSILON SYMBOL
  2353. return rune(0x03f5), true
  2354. case "eqcirc": // RING IN EQUAL TO
  2355. return rune(0x2256), true
  2356. case "eqcolon": // EQUALS COLON
  2357. return rune(0x2255), true
  2358. case "eqeq": // TWO CONSECUTIVE EQUALS SIGNS
  2359. return rune(0x2a75), true
  2360. case "eqsim": // MINUS TILDE
  2361. return rune(0x2242), true
  2362. case "eqslantgtr": // SLANTED EQUAL TO OR GREATER-THAN
  2363. return rune(0x2a96), true
  2364. case "eqslantless": // SLANTED EQUAL TO OR LESS-THAN
  2365. return rune(0x2a95), true
  2366. case "equals": // EQUALS SIGN
  2367. return rune(0x3d), true
  2368. case "equest": // QUESTIONED EQUAL TO
  2369. return rune(0x225f), true
  2370. case "equiv": // IDENTICAL TO
  2371. return rune(0x2261), true
  2372. case "equivDD": // EQUIVALENT WITH FOUR DOTS ABOVE
  2373. return rune(0x2a78), true
  2374. case "eqvparsl": // IDENTICAL TO AND SLANTED PARALLEL
  2375. return rune(0x29e5), true
  2376. case "erDot": // IMAGE OF OR APPROXIMATELY EQUAL TO
  2377. return rune(0x2253), true
  2378. case "erarr": // EQUALS SIGN ABOVE RIGHTWARDS ARROW
  2379. return rune(0x2971), true
  2380. case "escr": // SCRIPT SMALL E
  2381. return rune(0x212f), true
  2382. case "esdot": // APPROACHES THE LIMIT
  2383. return rune(0x2250), true
  2384. case "esim": // MINUS TILDE
  2385. return rune(0x2242), true
  2386. case "eta": // GREEK SMALL LETTER ETA
  2387. return rune(0x03b7), true
  2388. case "eth": // LATIN SMALL LETTER ETH
  2389. return rune(0xf0), true
  2390. case "euml": // LATIN SMALL LETTER E WITH DIAERESIS
  2391. return rune(0xeb), true
  2392. case "euro": // EURO SIGN
  2393. return rune(0x20ac), true
  2394. case "excl": // EXCLAMATION MARK
  2395. return rune(0x21), true
  2396. case "exist": // THERE EXISTS
  2397. return rune(0x2203), true
  2398. case "expectation": // SCRIPT CAPITAL E
  2399. return rune(0x2130), true
  2400. case "exponentiale": // DOUBLE-STRUCK ITALIC SMALL E
  2401. return rune(0x2147), true
  2402. }
  2403. case 'f':
  2404. switch name {
  2405. case "fallingdotseq": // APPROXIMATELY EQUAL TO OR THE IMAGE OF
  2406. return rune(0x2252), true
  2407. case "fbowtie": // BLACK BOWTIE
  2408. return rune(0x29d3), true
  2409. case "fcy": // CYRILLIC SMALL LETTER EF
  2410. return rune(0x0444), true
  2411. case "fdiag": // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
  2412. return rune(0x2572), true
  2413. case "fdiordi": // FALLING DIAGONAL CROSSING RISING DIAGONAL
  2414. return rune(0x292c), true
  2415. case "fdonearr": // FALLING DIAGONAL CROSSING NORTH EAST ARROW
  2416. return rune(0x292f), true
  2417. case "female": // FEMALE SIGN
  2418. return rune(0x2640), true
  2419. case "ffilig": // LATIN SMALL LIGATURE FFI
  2420. return rune(0xfb03), true
  2421. case "fflig": // LATIN SMALL LIGATURE FF
  2422. return rune(0xfb00), true
  2423. case "ffllig": // LATIN SMALL LIGATURE FFL
  2424. return rune(0xfb04), true
  2425. case "ffr": // MATHEMATICAL FRAKTUR SMALL F
  2426. return rune(0x01d523), true
  2427. case "fhrglass": // BLACK HOURGLASS
  2428. return rune(0x29d7), true
  2429. case "filig": // LATIN SMALL LIGATURE FI
  2430. return rune(0xfb01), true
  2431. case "fjlig": // fj ligature
  2432. return rune(0x66), true
  2433. case "flat": // MUSIC FLAT SIGN
  2434. return rune(0x266d), true
  2435. case "fllig": // LATIN SMALL LIGATURE FL
  2436. return rune(0xfb02), true
  2437. case "fltns": // WHITE PARALLELOGRAM
  2438. return rune(0x25b1), true
  2439. case "fnof": // LATIN SMALL LETTER F WITH HOOK
  2440. return rune(0x0192), true
  2441. case "fopf": // MATHEMATICAL DOUBLE-STRUCK SMALL F
  2442. return rune(0x01d557), true
  2443. case "forall": // FOR ALL
  2444. return rune(0x2200), true
  2445. case "fork": // PITCHFORK
  2446. return rune(0x22d4), true
  2447. case "forkv": // ELEMENT OF OPENING DOWNWARDS
  2448. return rune(0x2ad9), true
  2449. case "fpartint": // FINITE PART INTEGRAL
  2450. return rune(0x2a0d), true
  2451. case "frac12": // VULGAR FRACTION ONE HALF
  2452. return rune(0xbd), true
  2453. case "frac13": // VULGAR FRACTION ONE THIRD
  2454. return rune(0x2153), true
  2455. case "frac14": // VULGAR FRACTION ONE QUARTER
  2456. return rune(0xbc), true
  2457. case "frac15": // VULGAR FRACTION ONE FIFTH
  2458. return rune(0x2155), true
  2459. case "frac16": // VULGAR FRACTION ONE SIXTH
  2460. return rune(0x2159), true
  2461. case "frac18": // VULGAR FRACTION ONE EIGHTH
  2462. return rune(0x215b), true
  2463. case "frac23": // VULGAR FRACTION TWO THIRDS
  2464. return rune(0x2154), true
  2465. case "frac25": // VULGAR FRACTION TWO FIFTHS
  2466. return rune(0x2156), true
  2467. case "frac34": // VULGAR FRACTION THREE QUARTERS
  2468. return rune(0xbe), true
  2469. case "frac35": // VULGAR FRACTION THREE FIFTHS
  2470. return rune(0x2157), true
  2471. case "frac38": // VULGAR FRACTION THREE EIGHTHS
  2472. return rune(0x215c), true
  2473. case "frac45": // VULGAR FRACTION FOUR FIFTHS
  2474. return rune(0x2158), true
  2475. case "frac56": // VULGAR FRACTION FIVE SIXTHS
  2476. return rune(0x215a), true
  2477. case "frac58": // VULGAR FRACTION FIVE EIGHTHS
  2478. return rune(0x215d), true
  2479. case "frac78": // VULGAR FRACTION SEVEN EIGHTHS
  2480. return rune(0x215e), true
  2481. case "frasl": // FRACTION SLASH
  2482. return rune(0x2044), true
  2483. case "frown": // FROWN
  2484. return rune(0x2322), true
  2485. case "fscr": // MATHEMATICAL SCRIPT SMALL F
  2486. return rune(0x01d4bb), true
  2487. }
  2488. case 'g':
  2489. switch name {
  2490. case "gE": // GREATER-THAN OVER EQUAL TO
  2491. return rune(0x2267), true
  2492. case "gEl": // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
  2493. return rune(0x2a8c), true
  2494. case "gacute": // LATIN SMALL LETTER G WITH ACUTE
  2495. return rune(0x01f5), true
  2496. case "gamma": // GREEK SMALL LETTER GAMMA
  2497. return rune(0x03b3), true
  2498. case "gammad": // GREEK SMALL LETTER DIGAMMA
  2499. return rune(0x03dd), true
  2500. case "gap": // GREATER-THAN OR APPROXIMATE
  2501. return rune(0x2a86), true
  2502. case "gbreve": // LATIN SMALL LETTER G WITH BREVE
  2503. return rune(0x011f), true
  2504. case "gcedil": // LATIN SMALL LETTER G WITH CEDILLA
  2505. return rune(0x0123), true
  2506. case "gcirc": // LATIN SMALL LETTER G WITH CIRCUMFLEX
  2507. return rune(0x011d), true
  2508. case "gcy": // CYRILLIC SMALL LETTER GHE
  2509. return rune(0x0433), true
  2510. case "gdot": // LATIN SMALL LETTER G WITH DOT ABOVE
  2511. return rune(0x0121), true
  2512. case "ge": // GREATER-THAN OR EQUAL TO
  2513. return rune(0x2265), true
  2514. case "gel": // GREATER-THAN EQUAL TO OR LESS-THAN
  2515. return rune(0x22db), true
  2516. case "geq": // GREATER-THAN OR EQUAL TO
  2517. return rune(0x2265), true
  2518. case "geqq": // GREATER-THAN OVER EQUAL TO
  2519. return rune(0x2267), true
  2520. case "geqslant": // GREATER-THAN OR SLANTED EQUAL TO
  2521. return rune(0x2a7e), true
  2522. case "ges": // GREATER-THAN OR SLANTED EQUAL TO
  2523. return rune(0x2a7e), true
  2524. case "gescc": // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
  2525. return rune(0x2aa9), true
  2526. case "gesdot": // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
  2527. return rune(0x2a80), true
  2528. case "gesdoto": // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
  2529. return rune(0x2a82), true
  2530. case "gesdotol": // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
  2531. return rune(0x2a84), true
  2532. case "gesl": // GREATER-THAN slanted EQUAL TO OR LESS-THAN
  2533. return rune(0x22db), true
  2534. case "gesles": // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
  2535. return rune(0x2a94), true
  2536. case "gfr": // MATHEMATICAL FRAKTUR SMALL G
  2537. return rune(0x01d524), true
  2538. case "gg": // MUCH GREATER-THAN
  2539. return rune(0x226b), true
  2540. case "ggg": // VERY MUCH GREATER-THAN
  2541. return rune(0x22d9), true
  2542. case "ggr": // GREEK SMALL LETTER GAMMA
  2543. return rune(0x03b3), true
  2544. case "gimel": // GIMEL SYMBOL
  2545. return rune(0x2137), true
  2546. case "gjcy": // CYRILLIC SMALL LETTER GJE
  2547. return rune(0x0453), true
  2548. case "gl": // GREATER-THAN OR LESS-THAN
  2549. return rune(0x2277), true
  2550. case "glE": // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
  2551. return rune(0x2a92), true
  2552. case "gla": // GREATER-THAN BESIDE LESS-THAN
  2553. return rune(0x2aa5), true
  2554. case "glj": // GREATER-THAN OVERLAPPING LESS-THAN
  2555. return rune(0x2aa4), true
  2556. case "gnE": // GREATER-THAN BUT NOT EQUAL TO
  2557. return rune(0x2269), true
  2558. case "gnap": // GREATER-THAN AND NOT APPROXIMATE
  2559. return rune(0x2a8a), true
  2560. case "gnapprox": // GREATER-THAN AND NOT APPROXIMATE
  2561. return rune(0x2a8a), true
  2562. case "gne": // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
  2563. return rune(0x2a88), true
  2564. case "gneq": // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
  2565. return rune(0x2a88), true
  2566. case "gneqq": // GREATER-THAN BUT NOT EQUAL TO
  2567. return rune(0x2269), true
  2568. case "gnsim": // GREATER-THAN BUT NOT EQUIVALENT TO
  2569. return rune(0x22e7), true
  2570. case "gopf": // MATHEMATICAL DOUBLE-STRUCK SMALL G
  2571. return rune(0x01d558), true
  2572. case "grave": // GRAVE ACCENT
  2573. return rune(0x60), true
  2574. case "gscr": // SCRIPT SMALL G
  2575. return rune(0x210a), true
  2576. case "gsdot": // GREATER-THAN WITH DOT
  2577. return rune(0x22d7), true
  2578. case "gsim": // GREATER-THAN OR EQUIVALENT TO
  2579. return rune(0x2273), true
  2580. case "gsime": // GREATER-THAN ABOVE SIMILAR OR EQUAL
  2581. return rune(0x2a8e), true
  2582. case "gsiml": // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
  2583. return rune(0x2a90), true
  2584. case "gt": // GREATER-THAN SIGN
  2585. return rune(0x3e), true
  2586. case "gtcc": // GREATER-THAN CLOSED BY CURVE
  2587. return rune(0x2aa7), true
  2588. case "gtcir": // GREATER-THAN WITH CIRCLE INSIDE
  2589. return rune(0x2a7a), true
  2590. case "gtdot": // GREATER-THAN WITH DOT
  2591. return rune(0x22d7), true
  2592. case "gtlPar": // DOUBLE LEFT ARC GREATER-THAN BRACKET
  2593. return rune(0x2995), true
  2594. case "gtquest": // GREATER-THAN WITH QUESTION MARK ABOVE
  2595. return rune(0x2a7c), true
  2596. case "gtrapprox": // GREATER-THAN OR APPROXIMATE
  2597. return rune(0x2a86), true
  2598. case "gtrarr": // GREATER-THAN ABOVE RIGHTWARDS ARROW
  2599. return rune(0x2978), true
  2600. case "gtrdot": // GREATER-THAN WITH DOT
  2601. return rune(0x22d7), true
  2602. case "gtreqless": // GREATER-THAN EQUAL TO OR LESS-THAN
  2603. return rune(0x22db), true
  2604. case "gtreqqless": // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
  2605. return rune(0x2a8c), true
  2606. case "gtrless": // GREATER-THAN OR LESS-THAN
  2607. return rune(0x2277), true
  2608. case "gtrpar": // SPHERICAL ANGLE OPENING LEFT
  2609. return rune(0x29a0), true
  2610. case "gtrsim": // GREATER-THAN OR EQUIVALENT TO
  2611. return rune(0x2273), true
  2612. case "gvertneqq": // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
  2613. return rune(0x2269), true
  2614. case "gvnE": // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
  2615. return rune(0x2269), true
  2616. }
  2617. case 'h':
  2618. switch name {
  2619. case "hArr": // LEFT RIGHT DOUBLE ARROW
  2620. return rune(0x21d4), true
  2621. case "hairsp": // HAIR SPACE
  2622. return rune(0x200a), true
  2623. case "half": // VULGAR FRACTION ONE HALF
  2624. return rune(0xbd), true
  2625. case "hamilt": // SCRIPT CAPITAL H
  2626. return rune(0x210b), true
  2627. case "hardcy": // CYRILLIC SMALL LETTER HARD SIGN
  2628. return rune(0x044a), true
  2629. case "harr": // LEFT RIGHT ARROW
  2630. return rune(0x2194), true
  2631. case "harrcir": // LEFT RIGHT ARROW THROUGH SMALL CIRCLE
  2632. return rune(0x2948), true
  2633. case "harrw": // LEFT RIGHT WAVE ARROW
  2634. return rune(0x21ad), true
  2635. case "hbar": // PLANCK CONSTANT OVER TWO PI
  2636. return rune(0x210f), true
  2637. case "hcirc": // LATIN SMALL LETTER H WITH CIRCUMFLEX
  2638. return rune(0x0125), true
  2639. case "hearts": // BLACK HEART SUIT
  2640. return rune(0x2665), true
  2641. case "heartsuit": // BLACK HEART SUIT
  2642. return rune(0x2665), true
  2643. case "hellip": // HORIZONTAL ELLIPSIS
  2644. return rune(0x2026), true
  2645. case "hercon": // HERMITIAN CONJUGATE MATRIX
  2646. return rune(0x22b9), true
  2647. case "hfr": // MATHEMATICAL FRAKTUR SMALL H
  2648. return rune(0x01d525), true
  2649. case "hksearow": // SOUTH EAST ARROW WITH HOOK
  2650. return rune(0x2925), true
  2651. case "hkswarow": // SOUTH WEST ARROW WITH HOOK
  2652. return rune(0x2926), true
  2653. case "hoarr": // LEFT RIGHT OPEN-HEADED ARROW
  2654. return rune(0x21ff), true
  2655. case "homtht": // HOMOTHETIC
  2656. return rune(0x223b), true
  2657. case "hookleftarrow": // LEFTWARDS ARROW WITH HOOK
  2658. return rune(0x21a9), true
  2659. case "hookrightarrow": // RIGHTWARDS ARROW WITH HOOK
  2660. return rune(0x21aa), true
  2661. case "hopf": // MATHEMATICAL DOUBLE-STRUCK SMALL H
  2662. return rune(0x01d559), true
  2663. case "horbar": // HORIZONTAL BAR
  2664. return rune(0x2015), true
  2665. case "hrglass": // WHITE HOURGLASS
  2666. return rune(0x29d6), true
  2667. case "hscr": // MATHEMATICAL SCRIPT SMALL H
  2668. return rune(0x01d4bd), true
  2669. case "hslash": // PLANCK CONSTANT OVER TWO PI
  2670. return rune(0x210f), true
  2671. case "hstrok": // LATIN SMALL LETTER H WITH STROKE
  2672. return rune(0x0127), true
  2673. case "htimes": // VECTOR OR CROSS PRODUCT
  2674. return rune(0x2a2f), true
  2675. case "hybull": // HYPHEN BULLET
  2676. return rune(0x2043), true
  2677. case "hyphen": // HYPHEN
  2678. return rune(0x2010), true
  2679. }
  2680. case 'i':
  2681. switch name {
  2682. case "iacgr": // GREEK SMALL LETTER IOTA WITH TONOS
  2683. return rune(0x03af), true
  2684. case "iacute": // LATIN SMALL LETTER I WITH ACUTE
  2685. return rune(0xed), true
  2686. case "ic": // INVISIBLE SEPARATOR
  2687. return rune(0x2063), true
  2688. case "icirc": // LATIN SMALL LETTER I WITH CIRCUMFLEX
  2689. return rune(0xee), true
  2690. case "icy": // CYRILLIC SMALL LETTER I
  2691. return rune(0x0438), true
  2692. case "idiagr": // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
  2693. return rune(0x0390), true
  2694. case "idigr": // GREEK SMALL LETTER IOTA WITH DIALYTIKA
  2695. return rune(0x03ca), true
  2696. case "iecy": // CYRILLIC SMALL LETTER IE
  2697. return rune(0x0435), true
  2698. case "iexcl": // INVERTED EXCLAMATION MARK
  2699. return rune(0xa1), true
  2700. case "iff": // LEFT RIGHT DOUBLE ARROW
  2701. return rune(0x21d4), true
  2702. case "ifr": // MATHEMATICAL FRAKTUR SMALL I
  2703. return rune(0x01d526), true
  2704. case "igr": // GREEK SMALL LETTER IOTA
  2705. return rune(0x03b9), true
  2706. case "igrave": // LATIN SMALL LETTER I WITH GRAVE
  2707. return rune(0xec), true
  2708. case "ii": // DOUBLE-STRUCK ITALIC SMALL I
  2709. return rune(0x2148), true
  2710. case "iiiint": // QUADRUPLE INTEGRAL OPERATOR
  2711. return rune(0x2a0c), true
  2712. case "iiint": // TRIPLE INTEGRAL
  2713. return rune(0x222d), true
  2714. case "iinfin": // INCOMPLETE INFINITY
  2715. return rune(0x29dc), true
  2716. case "iiota": // TURNED GREEK SMALL LETTER IOTA
  2717. return rune(0x2129), true
  2718. case "ijlig": // LATIN SMALL LIGATURE IJ
  2719. return rune(0x0133), true
  2720. case "imacr": // LATIN SMALL LETTER I WITH MACRON
  2721. return rune(0x012b), true
  2722. case "image": // BLACK-LETTER CAPITAL I
  2723. return rune(0x2111), true
  2724. case "imagline": // SCRIPT CAPITAL I
  2725. return rune(0x2110), true
  2726. case "imagpart": // BLACK-LETTER CAPITAL I
  2727. return rune(0x2111), true
  2728. case "imath": // LATIN SMALL LETTER DOTLESS I
  2729. return rune(0x0131), true
  2730. case "imof": // IMAGE OF
  2731. return rune(0x22b7), true
  2732. case "imped": // LATIN CAPITAL LETTER Z WITH STROKE
  2733. return rune(0x01b5), true
  2734. case "in": // ELEMENT OF
  2735. return rune(0x2208), true
  2736. case "incare": // CARE OF
  2737. return rune(0x2105), true
  2738. case "infin": // INFINITY
  2739. return rune(0x221e), true
  2740. case "infintie": // TIE OVER INFINITY
  2741. return rune(0x29dd), true
  2742. case "inodot": // LATIN SMALL LETTER DOTLESS I
  2743. return rune(0x0131), true
  2744. case "int": // INTEGRAL
  2745. return rune(0x222b), true
  2746. case "intcal": // INTERCALATE
  2747. return rune(0x22ba), true
  2748. case "integers": // DOUBLE-STRUCK CAPITAL Z
  2749. return rune(0x2124), true
  2750. case "intercal": // INTERCALATE
  2751. return rune(0x22ba), true
  2752. case "intlarhk": // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
  2753. return rune(0x2a17), true
  2754. case "intprod": // INTERIOR PRODUCT
  2755. return rune(0x2a3c), true
  2756. case "iocy": // CYRILLIC SMALL LETTER IO
  2757. return rune(0x0451), true
  2758. case "iogon": // LATIN SMALL LETTER I WITH OGONEK
  2759. return rune(0x012f), true
  2760. case "iopf": // MATHEMATICAL DOUBLE-STRUCK SMALL I
  2761. return rune(0x01d55a), true
  2762. case "iota": // GREEK SMALL LETTER IOTA
  2763. return rune(0x03b9), true
  2764. case "iprod": // INTERIOR PRODUCT
  2765. return rune(0x2a3c), true
  2766. case "iprodr": // RIGHTHAND INTERIOR PRODUCT
  2767. return rune(0x2a3d), true
  2768. case "iquest": // INVERTED QUESTION MARK
  2769. return rune(0xbf), true
  2770. case "iscr": // MATHEMATICAL SCRIPT SMALL I
  2771. return rune(0x01d4be), true
  2772. case "isin": // ELEMENT OF
  2773. return rune(0x2208), true
  2774. case "isinE": // ELEMENT OF WITH TWO HORIZONTAL STROKES
  2775. return rune(0x22f9), true
  2776. case "isindot": // ELEMENT OF WITH DOT ABOVE
  2777. return rune(0x22f5), true
  2778. case "isins": // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  2779. return rune(0x22f4), true
  2780. case "isinsv": // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  2781. return rune(0x22f3), true
  2782. case "isinv": // ELEMENT OF
  2783. return rune(0x2208), true
  2784. case "isinvb": // ELEMENT OF WITH UNDERBAR
  2785. return rune(0x22f8), true
  2786. case "it": // INVISIBLE TIMES
  2787. return rune(0x2062), true
  2788. case "itilde": // LATIN SMALL LETTER I WITH TILDE
  2789. return rune(0x0129), true
  2790. case "iukcy": // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
  2791. return rune(0x0456), true
  2792. case "iuml": // LATIN SMALL LETTER I WITH DIAERESIS
  2793. return rune(0xef), true
  2794. }
  2795. case 'j':
  2796. switch name {
  2797. case "jcirc": // LATIN SMALL LETTER J WITH CIRCUMFLEX
  2798. return rune(0x0135), true
  2799. case "jcy": // CYRILLIC SMALL LETTER SHORT I
  2800. return rune(0x0439), true
  2801. case "jfr": // MATHEMATICAL FRAKTUR SMALL J
  2802. return rune(0x01d527), true
  2803. case "jmath": // LATIN SMALL LETTER DOTLESS J
  2804. return rune(0x0237), true
  2805. case "jnodot": // LATIN SMALL LETTER DOTLESS J
  2806. return rune(0x0237), true
  2807. case "jopf": // MATHEMATICAL DOUBLE-STRUCK SMALL J
  2808. return rune(0x01d55b), true
  2809. case "jscr": // MATHEMATICAL SCRIPT SMALL J
  2810. return rune(0x01d4bf), true
  2811. case "jsercy": // CYRILLIC SMALL LETTER JE
  2812. return rune(0x0458), true
  2813. case "jukcy": // CYRILLIC SMALL LETTER UKRAINIAN IE
  2814. return rune(0x0454), true
  2815. }
  2816. case 'k':
  2817. switch name {
  2818. case "kappa": // GREEK SMALL LETTER KAPPA
  2819. return rune(0x03ba), true
  2820. case "kappav": // GREEK KAPPA SYMBOL
  2821. return rune(0x03f0), true
  2822. case "kcedil": // LATIN SMALL LETTER K WITH CEDILLA
  2823. return rune(0x0137), true
  2824. case "kcy": // CYRILLIC SMALL LETTER KA
  2825. return rune(0x043a), true
  2826. case "kfr": // MATHEMATICAL FRAKTUR SMALL K
  2827. return rune(0x01d528), true
  2828. case "kgr": // GREEK SMALL LETTER KAPPA
  2829. return rune(0x03ba), true
  2830. case "kgreen": // LATIN SMALL LETTER KRA
  2831. return rune(0x0138), true
  2832. case "khcy": // CYRILLIC SMALL LETTER HA
  2833. return rune(0x0445), true
  2834. case "khgr": // GREEK SMALL LETTER CHI
  2835. return rune(0x03c7), true
  2836. case "kjcy": // CYRILLIC SMALL LETTER KJE
  2837. return rune(0x045c), true
  2838. case "kopf": // MATHEMATICAL DOUBLE-STRUCK SMALL K
  2839. return rune(0x01d55c), true
  2840. case "koppa": // GREEK LETTER KOPPA
  2841. return rune(0x03de), true
  2842. case "kscr": // MATHEMATICAL SCRIPT SMALL K
  2843. return rune(0x01d4c0), true
  2844. }
  2845. case 'l':
  2846. switch name {
  2847. case "lAarr": // LEFTWARDS TRIPLE ARROW
  2848. return rune(0x21da), true
  2849. case "lArr": // LEFTWARDS DOUBLE ARROW
  2850. return rune(0x21d0), true
  2851. case "lAtail": // LEFTWARDS DOUBLE ARROW-TAIL
  2852. return rune(0x291b), true
  2853. case "lBarr": // LEFTWARDS TRIPLE DASH ARROW
  2854. return rune(0x290e), true
  2855. case "lE": // LESS-THAN OVER EQUAL TO
  2856. return rune(0x2266), true
  2857. case "lEg": // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
  2858. return rune(0x2a8b), true
  2859. case "lHar": // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
  2860. return rune(0x2962), true
  2861. case "lacute": // LATIN SMALL LETTER L WITH ACUTE
  2862. return rune(0x013a), true
  2863. case "laemptyv": // EMPTY SET WITH LEFT ARROW ABOVE
  2864. return rune(0x29b4), true
  2865. case "lagran": // SCRIPT CAPITAL L
  2866. return rune(0x2112), true
  2867. case "lambda": // GREEK SMALL LETTER LAMDA
  2868. return rune(0x03bb), true
  2869. case "lang": // MATHEMATICAL LEFT ANGLE BRACKET
  2870. return rune(0x27e8), true
  2871. case "langd": // LEFT ANGLE BRACKET WITH DOT
  2872. return rune(0x2991), true
  2873. case "langle": // MATHEMATICAL LEFT ANGLE BRACKET
  2874. return rune(0x27e8), true
  2875. case "lap": // LESS-THAN OR APPROXIMATE
  2876. return rune(0x2a85), true
  2877. case "laquo": // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
  2878. return rune(0xab), true
  2879. case "larr": // LEFTWARDS ARROW
  2880. return rune(0x2190), true
  2881. case "larr2": // LEFTWARDS PAIRED ARROWS
  2882. return rune(0x21c7), true
  2883. case "larrb": // LEFTWARDS ARROW TO BAR
  2884. return rune(0x21e4), true
  2885. case "larrbfs": // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
  2886. return rune(0x291f), true
  2887. case "larrfs": // LEFTWARDS ARROW TO BLACK DIAMOND
  2888. return rune(0x291d), true
  2889. case "larrhk": // LEFTWARDS ARROW WITH HOOK
  2890. return rune(0x21a9), true
  2891. case "larrlp": // LEFTWARDS ARROW WITH LOOP
  2892. return rune(0x21ab), true
  2893. case "larrpl": // LEFT-SIDE ARC ANTICLOCKWISE ARROW
  2894. return rune(0x2939), true
  2895. case "larrsim": // LEFTWARDS ARROW ABOVE TILDE OPERATOR
  2896. return rune(0x2973), true
  2897. case "larrtl": // LEFTWARDS ARROW WITH TAIL
  2898. return rune(0x21a2), true
  2899. case "lat": // LARGER THAN
  2900. return rune(0x2aab), true
  2901. case "latail": // LEFTWARDS ARROW-TAIL
  2902. return rune(0x2919), true
  2903. case "late": // LARGER THAN OR EQUAL TO
  2904. return rune(0x2aad), true
  2905. case "lates": // LARGER THAN OR slanted EQUAL
  2906. return rune(0x2aad), true
  2907. case "lbarr": // LEFTWARDS DOUBLE DASH ARROW
  2908. return rune(0x290c), true
  2909. case "lbbrk": // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
  2910. return rune(0x2772), true
  2911. case "lbrace": // LEFT CURLY BRACKET
  2912. return rune(0x7b), true
  2913. case "lbrack": // LEFT SQUARE BRACKET
  2914. return rune(0x5b), true
  2915. case "lbrke": // LEFT SQUARE BRACKET WITH UNDERBAR
  2916. return rune(0x298b), true
  2917. case "lbrksld": // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
  2918. return rune(0x298f), true
  2919. case "lbrkslu": // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
  2920. return rune(0x298d), true
  2921. case "lcaron": // LATIN SMALL LETTER L WITH CARON
  2922. return rune(0x013e), true
  2923. case "lcedil": // LATIN SMALL LETTER L WITH CEDILLA
  2924. return rune(0x013c), true
  2925. case "lceil": // LEFT CEILING
  2926. return rune(0x2308), true
  2927. case "lcub": // LEFT CURLY BRACKET
  2928. return rune(0x7b), true
  2929. case "lcy": // CYRILLIC SMALL LETTER EL
  2930. return rune(0x043b), true
  2931. case "ldca": // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
  2932. return rune(0x2936), true
  2933. case "ldharb": // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
  2934. return rune(0x2956), true
  2935. case "ldot": // LESS-THAN WITH DOT
  2936. return rune(0x22d6), true
  2937. case "ldquo": // LEFT DOUBLE QUOTATION MARK
  2938. return rune(0x201c), true
  2939. case "ldquor": // DOUBLE LOW-9 QUOTATION MARK
  2940. return rune(0x201e), true
  2941. case "ldrdhar": // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
  2942. return rune(0x2967), true
  2943. case "ldrdshar": // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
  2944. return rune(0x2950), true
  2945. case "ldrushar": // LEFT BARB DOWN RIGHT BARB UP HARPOON
  2946. return rune(0x294b), true
  2947. case "ldsh": // DOWNWARDS ARROW WITH TIP LEFTWARDS
  2948. return rune(0x21b2), true
  2949. case "le": // LESS-THAN OR EQUAL TO
  2950. return rune(0x2264), true
  2951. case "leftarrow": // LEFTWARDS ARROW
  2952. return rune(0x2190), true
  2953. case "leftarrowtail": // LEFTWARDS ARROW WITH TAIL
  2954. return rune(0x21a2), true
  2955. case "leftharpoondown": // LEFTWARDS HARPOON WITH BARB DOWNWARDS
  2956. return rune(0x21bd), true
  2957. case "leftharpoonup": // LEFTWARDS HARPOON WITH BARB UPWARDS
  2958. return rune(0x21bc), true
  2959. case "leftleftarrows": // LEFTWARDS PAIRED ARROWS
  2960. return rune(0x21c7), true
  2961. case "leftrightarrow": // LEFT RIGHT ARROW
  2962. return rune(0x2194), true
  2963. case "leftrightarrows": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  2964. return rune(0x21c6), true
  2965. case "leftrightharpoons": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  2966. return rune(0x21cb), true
  2967. case "leftrightsquigarrow": // LEFT RIGHT WAVE ARROW
  2968. return rune(0x21ad), true
  2969. case "leftthreetimes": // LEFT SEMIDIRECT PRODUCT
  2970. return rune(0x22cb), true
  2971. case "leg": // LESS-THAN EQUAL TO OR GREATER-THAN
  2972. return rune(0x22da), true
  2973. case "leq": // LESS-THAN OR EQUAL TO
  2974. return rune(0x2264), true
  2975. case "leqq": // LESS-THAN OVER EQUAL TO
  2976. return rune(0x2266), true
  2977. case "leqslant": // LESS-THAN OR SLANTED EQUAL TO
  2978. return rune(0x2a7d), true
  2979. case "les": // LESS-THAN OR SLANTED EQUAL TO
  2980. return rune(0x2a7d), true
  2981. case "lescc": // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
  2982. return rune(0x2aa8), true
  2983. case "lesdot": // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
  2984. return rune(0x2a7f), true
  2985. case "lesdoto": // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
  2986. return rune(0x2a81), true
  2987. case "lesdotor": // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
  2988. return rune(0x2a83), true
  2989. case "lesg": // LESS-THAN slanted EQUAL TO OR GREATER-THAN
  2990. return rune(0x22da), true
  2991. case "lesges": // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
  2992. return rune(0x2a93), true
  2993. case "lessapprox": // LESS-THAN OR APPROXIMATE
  2994. return rune(0x2a85), true
  2995. case "lessdot": // LESS-THAN WITH DOT
  2996. return rune(0x22d6), true
  2997. case "lesseqgtr": // LESS-THAN EQUAL TO OR GREATER-THAN
  2998. return rune(0x22da), true
  2999. case "lesseqqgtr": // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
  3000. return rune(0x2a8b), true
  3001. case "lessgtr": // LESS-THAN OR GREATER-THAN
  3002. return rune(0x2276), true
  3003. case "lesssim": // LESS-THAN OR EQUIVALENT TO
  3004. return rune(0x2272), true
  3005. case "lfbowtie": // BOWTIE WITH LEFT HALF BLACK
  3006. return rune(0x29d1), true
  3007. case "lfisht": // LEFT FISH TAIL
  3008. return rune(0x297c), true
  3009. case "lfloor": // LEFT FLOOR
  3010. return rune(0x230a), true
  3011. case "lfr": // MATHEMATICAL FRAKTUR SMALL L
  3012. return rune(0x01d529), true
  3013. case "lftimes": // TIMES WITH LEFT HALF BLACK
  3014. return rune(0x29d4), true
  3015. case "lg": // LESS-THAN OR GREATER-THAN
  3016. return rune(0x2276), true
  3017. case "lgE": // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
  3018. return rune(0x2a91), true
  3019. case "lgr": // GREEK SMALL LETTER LAMDA
  3020. return rune(0x03bb), true
  3021. case "lhard": // LEFTWARDS HARPOON WITH BARB DOWNWARDS
  3022. return rune(0x21bd), true
  3023. case "lharu": // LEFTWARDS HARPOON WITH BARB UPWARDS
  3024. return rune(0x21bc), true
  3025. case "lharul": // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
  3026. return rune(0x296a), true
  3027. case "lhblk": // LOWER HALF BLOCK
  3028. return rune(0x2584), true
  3029. case "ljcy": // CYRILLIC SMALL LETTER LJE
  3030. return rune(0x0459), true
  3031. case "ll": // MUCH LESS-THAN
  3032. return rune(0x226a), true
  3033. case "llarr": // LEFTWARDS PAIRED ARROWS
  3034. return rune(0x21c7), true
  3035. case "llcorner": // BOTTOM LEFT CORNER
  3036. return rune(0x231e), true
  3037. case "llhard": // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
  3038. return rune(0x296b), true
  3039. case "lltri": // LOWER LEFT TRIANGLE
  3040. return rune(0x25fa), true
  3041. case "lltrif": // BLACK LOWER LEFT TRIANGLE
  3042. return rune(0x25e3), true
  3043. case "lmidot": // LATIN SMALL LETTER L WITH MIDDLE DOT
  3044. return rune(0x0140), true
  3045. case "lmoust": // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
  3046. return rune(0x23b0), true
  3047. case "lmoustache": // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
  3048. return rune(0x23b0), true
  3049. case "lnE": // LESS-THAN BUT NOT EQUAL TO
  3050. return rune(0x2268), true
  3051. case "lnap": // LESS-THAN AND NOT APPROXIMATE
  3052. return rune(0x2a89), true
  3053. case "lnapprox": // LESS-THAN AND NOT APPROXIMATE
  3054. return rune(0x2a89), true
  3055. case "lne": // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
  3056. return rune(0x2a87), true
  3057. case "lneq": // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
  3058. return rune(0x2a87), true
  3059. case "lneqq": // LESS-THAN BUT NOT EQUAL TO
  3060. return rune(0x2268), true
  3061. case "lnsim": // LESS-THAN BUT NOT EQUIVALENT TO
  3062. return rune(0x22e6), true
  3063. case "loang": // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
  3064. return rune(0x27ec), true
  3065. case "loarr": // LEFTWARDS OPEN-HEADED ARROW
  3066. return rune(0x21fd), true
  3067. case "lobrk": // MATHEMATICAL LEFT WHITE SQUARE BRACKET
  3068. return rune(0x27e6), true
  3069. case "locub": // LEFT WHITE CURLY BRACKET
  3070. return rune(0x2983), true
  3071. case "longleftarrow": // LONG LEFTWARDS ARROW
  3072. return rune(0x27f5), true
  3073. case "longleftrightarrow": // LONG LEFT RIGHT ARROW
  3074. return rune(0x27f7), true
  3075. case "longmapsto": // LONG RIGHTWARDS ARROW FROM BAR
  3076. return rune(0x27fc), true
  3077. case "longrightarrow": // LONG RIGHTWARDS ARROW
  3078. return rune(0x27f6), true
  3079. case "looparrowleft": // LEFTWARDS ARROW WITH LOOP
  3080. return rune(0x21ab), true
  3081. case "looparrowright": // RIGHTWARDS ARROW WITH LOOP
  3082. return rune(0x21ac), true
  3083. case "lopar": // LEFT WHITE PARENTHESIS
  3084. return rune(0x2985), true
  3085. case "lopf": // MATHEMATICAL DOUBLE-STRUCK SMALL L
  3086. return rune(0x01d55d), true
  3087. case "loplus": // PLUS SIGN IN LEFT HALF CIRCLE
  3088. return rune(0x2a2d), true
  3089. case "lotimes": // MULTIPLICATION SIGN IN LEFT HALF CIRCLE
  3090. return rune(0x2a34), true
  3091. case "lowast": // LOW ASTERISK
  3092. return rune(0x204e), true
  3093. case "lowbar": // LOW LINE
  3094. return rune(0x5f), true
  3095. case "lowint": // INTEGRAL WITH UNDERBAR
  3096. return rune(0x2a1c), true
  3097. case "loz": // LOZENGE
  3098. return rune(0x25ca), true
  3099. case "lozenge": // LOZENGE
  3100. return rune(0x25ca), true
  3101. case "lozf": // BLACK LOZENGE
  3102. return rune(0x29eb), true
  3103. case "lpar": // LEFT PARENTHESIS
  3104. return rune(0x28), true
  3105. case "lpargt": // SPHERICAL ANGLE OPENING LEFT
  3106. return rune(0x29a0), true
  3107. case "lparlt": // LEFT ARC LESS-THAN BRACKET
  3108. return rune(0x2993), true
  3109. case "lrarr": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  3110. return rune(0x21c6), true
  3111. case "lrarr2": // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  3112. return rune(0x21c6), true
  3113. case "lrcorner": // BOTTOM RIGHT CORNER
  3114. return rune(0x231f), true
  3115. case "lrhar": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  3116. return rune(0x21cb), true
  3117. case "lrhar2": // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  3118. return rune(0x21cb), true
  3119. case "lrhard": // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
  3120. return rune(0x296d), true
  3121. case "lrm": // LEFT-TO-RIGHT MARK
  3122. return rune(0x200e), true
  3123. case "lrtri": // RIGHT TRIANGLE
  3124. return rune(0x22bf), true
  3125. case "lsaquo": // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
  3126. return rune(0x2039), true
  3127. case "lscr": // MATHEMATICAL SCRIPT SMALL L
  3128. return rune(0x01d4c1), true
  3129. case "lsh": // UPWARDS ARROW WITH TIP LEFTWARDS
  3130. return rune(0x21b0), true
  3131. case "lsim": // LESS-THAN OR EQUIVALENT TO
  3132. return rune(0x2272), true
  3133. case "lsime": // LESS-THAN ABOVE SIMILAR OR EQUAL
  3134. return rune(0x2a8d), true
  3135. case "lsimg": // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
  3136. return rune(0x2a8f), true
  3137. case "lsqb": // LEFT SQUARE BRACKET
  3138. return rune(0x5b), true
  3139. case "lsquo": // LEFT SINGLE QUOTATION MARK
  3140. return rune(0x2018), true
  3141. case "lsquor": // SINGLE LOW-9 QUOTATION MARK
  3142. return rune(0x201a), true
  3143. case "lstrok": // LATIN SMALL LETTER L WITH STROKE
  3144. return rune(0x0142), true
  3145. case "lt": // LESS-THAN SIGN
  3146. return rune(0x3c), true
  3147. case "ltcc": // LESS-THAN CLOSED BY CURVE
  3148. return rune(0x2aa6), true
  3149. case "ltcir": // LESS-THAN WITH CIRCLE INSIDE
  3150. return rune(0x2a79), true
  3151. case "ltdot": // LESS-THAN WITH DOT
  3152. return rune(0x22d6), true
  3153. case "lthree": // LEFT SEMIDIRECT PRODUCT
  3154. return rune(0x22cb), true
  3155. case "ltimes": // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
  3156. return rune(0x22c9), true
  3157. case "ltlarr": // LESS-THAN ABOVE LEFTWARDS ARROW
  3158. return rune(0x2976), true
  3159. case "ltquest": // LESS-THAN WITH QUESTION MARK ABOVE
  3160. return rune(0x2a7b), true
  3161. case "ltrPar": // DOUBLE RIGHT ARC LESS-THAN BRACKET
  3162. return rune(0x2996), true
  3163. case "ltri": // WHITE LEFT-POINTING SMALL TRIANGLE
  3164. return rune(0x25c3), true
  3165. case "ltrie": // NORMAL SUBGROUP OF OR EQUAL TO
  3166. return rune(0x22b4), true
  3167. case "ltrif": // BLACK LEFT-POINTING SMALL TRIANGLE
  3168. return rune(0x25c2), true
  3169. case "ltrivb": // LEFT TRIANGLE BESIDE VERTICAL BAR
  3170. return rune(0x29cf), true
  3171. case "luharb": // LEFTWARDS HARPOON WITH BARB UP TO BAR
  3172. return rune(0x2952), true
  3173. case "lurdshar": // LEFT BARB UP RIGHT BARB DOWN HARPOON
  3174. return rune(0x294a), true
  3175. case "luruhar": // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
  3176. return rune(0x2966), true
  3177. case "lurushar": // LEFT BARB UP RIGHT BARB UP HARPOON
  3178. return rune(0x294e), true
  3179. case "lvertneqq": // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
  3180. return rune(0x2268), true
  3181. case "lvnE": // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
  3182. return rune(0x2268), true
  3183. }
  3184. case 'm':
  3185. switch name {
  3186. case "mDDot": // GEOMETRIC PROPORTION
  3187. return rune(0x223a), true
  3188. case "macr": // MACRON
  3189. return rune(0xaf), true
  3190. case "male": // MALE SIGN
  3191. return rune(0x2642), true
  3192. case "malt": // MALTESE CROSS
  3193. return rune(0x2720), true
  3194. case "maltese": // MALTESE CROSS
  3195. return rune(0x2720), true
  3196. case "map": // RIGHTWARDS ARROW FROM BAR
  3197. return rune(0x21a6), true
  3198. case "mapsto": // RIGHTWARDS ARROW FROM BAR
  3199. return rune(0x21a6), true
  3200. case "mapstodown": // DOWNWARDS ARROW FROM BAR
  3201. return rune(0x21a7), true
  3202. case "mapstoleft": // LEFTWARDS ARROW FROM BAR
  3203. return rune(0x21a4), true
  3204. case "mapstoup": // UPWARDS ARROW FROM BAR
  3205. return rune(0x21a5), true
  3206. case "marker": // BLACK VERTICAL RECTANGLE
  3207. return rune(0x25ae), true
  3208. case "mcomma": // MINUS SIGN WITH COMMA ABOVE
  3209. return rune(0x2a29), true
  3210. case "mcy": // CYRILLIC SMALL LETTER EM
  3211. return rune(0x043c), true
  3212. case "mdash": // EM DASH
  3213. return rune(0x2014), true
  3214. case "measuredangle": // MEASURED ANGLE
  3215. return rune(0x2221), true
  3216. case "mfr": // MATHEMATICAL FRAKTUR SMALL M
  3217. return rune(0x01d52a), true
  3218. case "mgr": // GREEK SMALL LETTER MU
  3219. return rune(0x03bc), true
  3220. case "mho": // INVERTED OHM SIGN
  3221. return rune(0x2127), true
  3222. case "micro": // MICRO SIGN
  3223. return rune(0xb5), true
  3224. case "mid": // DIVIDES
  3225. return rune(0x2223), true
  3226. case "midast": // ASTERISK
  3227. return rune(0x2a), true
  3228. case "midcir": // VERTICAL LINE WITH CIRCLE BELOW
  3229. return rune(0x2af0), true
  3230. case "middot": // MIDDLE DOT
  3231. return rune(0xb7), true
  3232. case "minus": // MINUS SIGN
  3233. return rune(0x2212), true
  3234. case "minusb": // SQUARED MINUS
  3235. return rune(0x229f), true
  3236. case "minusd": // DOT MINUS
  3237. return rune(0x2238), true
  3238. case "minusdu": // MINUS SIGN WITH DOT BELOW
  3239. return rune(0x2a2a), true
  3240. case "mlcp": // TRANSVERSAL INTERSECTION
  3241. return rune(0x2adb), true
  3242. case "mldr": // HORIZONTAL ELLIPSIS
  3243. return rune(0x2026), true
  3244. case "mnplus": // MINUS-OR-PLUS SIGN
  3245. return rune(0x2213), true
  3246. case "models": // MODELS
  3247. return rune(0x22a7), true
  3248. case "mopf": // MATHEMATICAL DOUBLE-STRUCK SMALL M
  3249. return rune(0x01d55e), true
  3250. case "mp": // MINUS-OR-PLUS SIGN
  3251. return rune(0x2213), true
  3252. case "mscr": // MATHEMATICAL SCRIPT SMALL M
  3253. return rune(0x01d4c2), true
  3254. case "mstpos": // INVERTED LAZY S
  3255. return rune(0x223e), true
  3256. case "mu": // GREEK SMALL LETTER MU
  3257. return rune(0x03bc), true
  3258. case "multimap": // MULTIMAP
  3259. return rune(0x22b8), true
  3260. case "mumap": // MULTIMAP
  3261. return rune(0x22b8), true
  3262. }
  3263. case 'n':
  3264. switch name {
  3265. case "nGg": // VERY MUCH GREATER-THAN with slash
  3266. return rune(0x22d9), true
  3267. case "nGt": // MUCH GREATER THAN with vertical line
  3268. return rune(0x226b), true
  3269. case "nGtv": // MUCH GREATER THAN with slash
  3270. return rune(0x226b), true
  3271. case "nLeftarrow": // LEFTWARDS DOUBLE ARROW WITH STROKE
  3272. return rune(0x21cd), true
  3273. case "nLeftrightarrow": // LEFT RIGHT DOUBLE ARROW WITH STROKE
  3274. return rune(0x21ce), true
  3275. case "nLl": // VERY MUCH LESS-THAN with slash
  3276. return rune(0x22d8), true
  3277. case "nLt": // MUCH LESS THAN with vertical line
  3278. return rune(0x226a), true
  3279. case "nLtv": // MUCH LESS THAN with slash
  3280. return rune(0x226a), true
  3281. case "nRightarrow": // RIGHTWARDS DOUBLE ARROW WITH STROKE
  3282. return rune(0x21cf), true
  3283. case "nVDash": // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
  3284. return rune(0x22af), true
  3285. case "nVdash": // DOES NOT FORCE
  3286. return rune(0x22ae), true
  3287. case "nabla": // NABLA
  3288. return rune(0x2207), true
  3289. case "nacute": // LATIN SMALL LETTER N WITH ACUTE
  3290. return rune(0x0144), true
  3291. case "nang": // ANGLE with vertical line
  3292. return rune(0x2220), true
  3293. case "nap": // NOT ALMOST EQUAL TO
  3294. return rune(0x2249), true
  3295. case "napE": // APPROXIMATELY EQUAL OR EQUAL TO with slash
  3296. return rune(0x2a70), true
  3297. case "napid": // TRIPLE TILDE with slash
  3298. return rune(0x224b), true
  3299. case "napos": // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
  3300. return rune(0x0149), true
  3301. case "napprox": // NOT ALMOST EQUAL TO
  3302. return rune(0x2249), true
  3303. case "natur": // MUSIC NATURAL SIGN
  3304. return rune(0x266e), true
  3305. case "natural": // MUSIC NATURAL SIGN
  3306. return rune(0x266e), true
  3307. case "naturals": // DOUBLE-STRUCK CAPITAL N
  3308. return rune(0x2115), true
  3309. case "nbsp": // NO-BREAK SPACE
  3310. return rune(0xa0), true
  3311. case "nbump": // GEOMETRICALLY EQUIVALENT TO with slash
  3312. return rune(0x224e), true
  3313. case "nbumpe": // DIFFERENCE BETWEEN with slash
  3314. return rune(0x224f), true
  3315. case "ncap": // INTERSECTION WITH OVERBAR
  3316. return rune(0x2a43), true
  3317. case "ncaron": // LATIN SMALL LETTER N WITH CARON
  3318. return rune(0x0148), true
  3319. case "ncedil": // LATIN SMALL LETTER N WITH CEDILLA
  3320. return rune(0x0146), true
  3321. case "ncong": // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
  3322. return rune(0x2247), true
  3323. case "ncongdot": // CONGRUENT WITH DOT ABOVE with slash
  3324. return rune(0x2a6d), true
  3325. case "ncup": // UNION WITH OVERBAR
  3326. return rune(0x2a42), true
  3327. case "ncy": // CYRILLIC SMALL LETTER EN
  3328. return rune(0x043d), true
  3329. case "ndash": // EN DASH
  3330. return rune(0x2013), true
  3331. case "ne": // NOT EQUAL TO
  3332. return rune(0x2260), true
  3333. case "neArr": // NORTH EAST DOUBLE ARROW
  3334. return rune(0x21d7), true
  3335. case "nearhk": // NORTH EAST ARROW WITH HOOK
  3336. return rune(0x2924), true
  3337. case "nearr": // NORTH EAST ARROW
  3338. return rune(0x2197), true
  3339. case "nearrow": // NORTH EAST ARROW
  3340. return rune(0x2197), true
  3341. case "nedot": // APPROACHES THE LIMIT with slash
  3342. return rune(0x2250), true
  3343. case "neonwarr": // NORTH EAST ARROW CROSSING NORTH WEST ARROW
  3344. return rune(0x2931), true
  3345. case "neosearr": // NORTH EAST ARROW CROSSING SOUTH EAST ARROW
  3346. return rune(0x292e), true
  3347. case "nequiv": // NOT IDENTICAL TO
  3348. return rune(0x2262), true
  3349. case "nesear": // NORTH EAST ARROW AND SOUTH EAST ARROW
  3350. return rune(0x2928), true
  3351. case "nesim": // MINUS TILDE with slash
  3352. return rune(0x2242), true
  3353. case "neswsarr": // NORTH EAST AND SOUTH WEST ARROW
  3354. return rune(0x2922), true
  3355. case "nexist": // THERE DOES NOT EXIST
  3356. return rune(0x2204), true
  3357. case "nexists": // THERE DOES NOT EXIST
  3358. return rune(0x2204), true
  3359. case "nfr": // MATHEMATICAL FRAKTUR SMALL N
  3360. return rune(0x01d52b), true
  3361. case "ngE": // GREATER-THAN OVER EQUAL TO with slash
  3362. return rune(0x2267), true
  3363. case "nge": // NEITHER GREATER-THAN NOR EQUAL TO
  3364. return rune(0x2271), true
  3365. case "ngeq": // NEITHER GREATER-THAN NOR EQUAL TO
  3366. return rune(0x2271), true
  3367. case "ngeqq": // GREATER-THAN OVER EQUAL TO with slash
  3368. return rune(0x2267), true
  3369. case "ngeqslant": // GREATER-THAN OR SLANTED EQUAL TO with slash
  3370. return rune(0x2a7e), true
  3371. case "nges": // GREATER-THAN OR SLANTED EQUAL TO with slash
  3372. return rune(0x2a7e), true
  3373. case "ngr": // GREEK SMALL LETTER NU
  3374. return rune(0x03bd), true
  3375. case "ngsim": // NEITHER GREATER-THAN NOR EQUIVALENT TO
  3376. return rune(0x2275), true
  3377. case "ngt": // NOT GREATER-THAN
  3378. return rune(0x226f), true
  3379. case "ngtr": // NOT GREATER-THAN
  3380. return rune(0x226f), true
  3381. case "nhArr": // LEFT RIGHT DOUBLE ARROW WITH STROKE
  3382. return rune(0x21ce), true
  3383. case "nharr": // LEFT RIGHT ARROW WITH STROKE
  3384. return rune(0x21ae), true
  3385. case "nhpar": // PARALLEL WITH HORIZONTAL STROKE
  3386. return rune(0x2af2), true
  3387. case "ni": // CONTAINS AS MEMBER
  3388. return rune(0x220b), true
  3389. case "nis": // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  3390. return rune(0x22fc), true
  3391. case "nisd": // CONTAINS WITH LONG HORIZONTAL STROKE
  3392. return rune(0x22fa), true
  3393. case "niv": // CONTAINS AS MEMBER
  3394. return rune(0x220b), true
  3395. case "njcy": // CYRILLIC SMALL LETTER NJE
  3396. return rune(0x045a), true
  3397. case "nlArr": // LEFTWARDS DOUBLE ARROW WITH STROKE
  3398. return rune(0x21cd), true
  3399. case "nlE": // LESS-THAN OVER EQUAL TO with slash
  3400. return rune(0x2266), true
  3401. case "nlarr": // LEFTWARDS ARROW WITH STROKE
  3402. return rune(0x219a), true
  3403. case "nldr": // TWO DOT LEADER
  3404. return rune(0x2025), true
  3405. case "nle": // NEITHER LESS-THAN NOR EQUAL TO
  3406. return rune(0x2270), true
  3407. case "nleftarrow": // LEFTWARDS ARROW WITH STROKE
  3408. return rune(0x219a), true
  3409. case "nleftrightarrow": // LEFT RIGHT ARROW WITH STROKE
  3410. return rune(0x21ae), true
  3411. case "nleq": // NEITHER LESS-THAN NOR EQUAL TO
  3412. return rune(0x2270), true
  3413. case "nleqq": // LESS-THAN OVER EQUAL TO with slash
  3414. return rune(0x2266), true
  3415. case "nleqslant": // LESS-THAN OR SLANTED EQUAL TO with slash
  3416. return rune(0x2a7d), true
  3417. case "nles": // LESS-THAN OR SLANTED EQUAL TO with slash
  3418. return rune(0x2a7d), true
  3419. case "nless": // NOT LESS-THAN
  3420. return rune(0x226e), true
  3421. case "nlsim": // NEITHER LESS-THAN NOR EQUIVALENT TO
  3422. return rune(0x2274), true
  3423. case "nlt": // NOT LESS-THAN
  3424. return rune(0x226e), true
  3425. case "nltri": // NOT NORMAL SUBGROUP OF
  3426. return rune(0x22ea), true
  3427. case "nltrie": // NOT NORMAL SUBGROUP OF OR EQUAL TO
  3428. return rune(0x22ec), true
  3429. case "nltrivb": // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
  3430. return rune(0x29cf), true
  3431. case "nmid": // DOES NOT DIVIDE
  3432. return rune(0x2224), true
  3433. case "nopf": // MATHEMATICAL DOUBLE-STRUCK SMALL N
  3434. return rune(0x01d55f), true
  3435. case "not": // NOT SIGN
  3436. return rune(0xac), true
  3437. case "notin": // NOT AN ELEMENT OF
  3438. return rune(0x2209), true
  3439. case "notinE": // ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
  3440. return rune(0x22f9), true
  3441. case "notindot": // ELEMENT OF WITH DOT ABOVE with slash
  3442. return rune(0x22f5), true
  3443. case "notinva": // NOT AN ELEMENT OF
  3444. return rune(0x2209), true
  3445. case "notinvb": // SMALL ELEMENT OF WITH OVERBAR
  3446. return rune(0x22f7), true
  3447. case "notinvc": // ELEMENT OF WITH OVERBAR
  3448. return rune(0x22f6), true
  3449. case "notni": // DOES NOT CONTAIN AS MEMBER
  3450. return rune(0x220c), true
  3451. case "notniva": // DOES NOT CONTAIN AS MEMBER
  3452. return rune(0x220c), true
  3453. case "notnivb": // SMALL CONTAINS WITH OVERBAR
  3454. return rune(0x22fe), true
  3455. case "notnivc": // CONTAINS WITH OVERBAR
  3456. return rune(0x22fd), true
  3457. case "npar": // NOT PARALLEL TO
  3458. return rune(0x2226), true
  3459. case "nparallel": // NOT PARALLEL TO
  3460. return rune(0x2226), true
  3461. case "nparsl": // DOUBLE SOLIDUS OPERATOR with reverse slash
  3462. return rune(0x2afd), true
  3463. case "npart": // PARTIAL DIFFERENTIAL with slash
  3464. return rune(0x2202), true
  3465. case "npolint": // LINE INTEGRATION NOT INCLUDING THE POLE
  3466. return rune(0x2a14), true
  3467. case "npr": // DOES NOT PRECEDE
  3468. return rune(0x2280), true
  3469. case "nprcue": // DOES NOT PRECEDE OR EQUAL
  3470. return rune(0x22e0), true
  3471. case "npre": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
  3472. return rune(0x2aaf), true
  3473. case "nprec": // DOES NOT PRECEDE
  3474. return rune(0x2280), true
  3475. case "npreceq": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
  3476. return rune(0x2aaf), true
  3477. case "nprsim": // PRECEDES OR EQUIVALENT TO with slash
  3478. return rune(0x227e), true
  3479. case "nrArr": // RIGHTWARDS DOUBLE ARROW WITH STROKE
  3480. return rune(0x21cf), true
  3481. case "nrarr": // RIGHTWARDS ARROW WITH STROKE
  3482. return rune(0x219b), true
  3483. case "nrarrc": // WAVE ARROW POINTING DIRECTLY RIGHT with slash
  3484. return rune(0x2933), true
  3485. case "nrarrw": // RIGHTWARDS WAVE ARROW with slash
  3486. return rune(0x219d), true
  3487. case "nrightarrow": // RIGHTWARDS ARROW WITH STROKE
  3488. return rune(0x219b), true
  3489. case "nrtri": // DOES NOT CONTAIN AS NORMAL SUBGROUP
  3490. return rune(0x22eb), true
  3491. case "nrtrie": // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
  3492. return rune(0x22ed), true
  3493. case "nsGt": // DOUBLE NESTED GREATER-THAN with slash
  3494. return rune(0x2aa2), true
  3495. case "nsLt": // DOUBLE NESTED LESS-THAN with slash
  3496. return rune(0x2aa1), true
  3497. case "nsc": // DOES NOT SUCCEED
  3498. return rune(0x2281), true
  3499. case "nsccue": // DOES NOT SUCCEED OR EQUAL
  3500. return rune(0x22e1), true
  3501. case "nsce": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
  3502. return rune(0x2ab0), true
  3503. case "nscr": // MATHEMATICAL SCRIPT SMALL N
  3504. return rune(0x01d4c3), true
  3505. case "nscsim": // SUCCEEDS OR EQUIVALENT TO with slash
  3506. return rune(0x227f), true
  3507. case "nshortmid": // DOES NOT DIVIDE
  3508. return rune(0x2224), true
  3509. case "nshortparallel": // NOT PARALLEL TO
  3510. return rune(0x2226), true
  3511. case "nsim": // NOT TILDE
  3512. return rune(0x2241), true
  3513. case "nsime": // NOT ASYMPTOTICALLY EQUAL TO
  3514. return rune(0x2244), true
  3515. case "nsimeq": // NOT ASYMPTOTICALLY EQUAL TO
  3516. return rune(0x2244), true
  3517. case "nsmid": // DOES NOT DIVIDE
  3518. return rune(0x2224), true
  3519. case "nspar": // NOT PARALLEL TO
  3520. return rune(0x2226), true
  3521. case "nsqsub": // SQUARE IMAGE OF with slash
  3522. return rune(0x228f), true
  3523. case "nsqsube": // NOT SQUARE IMAGE OF OR EQUAL TO
  3524. return rune(0x22e2), true
  3525. case "nsqsup": // SQUARE ORIGINAL OF with slash
  3526. return rune(0x2290), true
  3527. case "nsqsupe": // NOT SQUARE ORIGINAL OF OR EQUAL TO
  3528. return rune(0x22e3), true
  3529. case "nsub": // NOT A SUBSET OF
  3530. return rune(0x2284), true
  3531. case "nsubE": // SUBSET OF ABOVE EQUALS SIGN with slash
  3532. return rune(0x2ac5), true
  3533. case "nsube": // NEITHER A SUBSET OF NOR EQUAL TO
  3534. return rune(0x2288), true
  3535. case "nsubset": // SUBSET OF with vertical line
  3536. return rune(0x2282), true
  3537. case "nsubseteq": // NEITHER A SUBSET OF NOR EQUAL TO
  3538. return rune(0x2288), true
  3539. case "nsubseteqq": // SUBSET OF ABOVE EQUALS SIGN with slash
  3540. return rune(0x2ac5), true
  3541. case "nsucc": // DOES NOT SUCCEED
  3542. return rune(0x2281), true
  3543. case "nsucceq": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
  3544. return rune(0x2ab0), true
  3545. case "nsup": // NOT A SUPERSET OF
  3546. return rune(0x2285), true
  3547. case "nsupE": // SUPERSET OF ABOVE EQUALS SIGN with slash
  3548. return rune(0x2ac6), true
  3549. case "nsupe": // NEITHER A SUPERSET OF NOR EQUAL TO
  3550. return rune(0x2289), true
  3551. case "nsupset": // SUPERSET OF with vertical line
  3552. return rune(0x2283), true
  3553. case "nsupseteq": // NEITHER A SUPERSET OF NOR EQUAL TO
  3554. return rune(0x2289), true
  3555. case "nsupseteqq": // SUPERSET OF ABOVE EQUALS SIGN with slash
  3556. return rune(0x2ac6), true
  3557. case "ntgl": // NEITHER GREATER-THAN NOR LESS-THAN
  3558. return rune(0x2279), true
  3559. case "ntilde": // LATIN SMALL LETTER N WITH TILDE
  3560. return rune(0xf1), true
  3561. case "ntlg": // NEITHER LESS-THAN NOR GREATER-THAN
  3562. return rune(0x2278), true
  3563. case "ntriangleleft": // NOT NORMAL SUBGROUP OF
  3564. return rune(0x22ea), true
  3565. case "ntrianglelefteq": // NOT NORMAL SUBGROUP OF OR EQUAL TO
  3566. return rune(0x22ec), true
  3567. case "ntriangleright": // DOES NOT CONTAIN AS NORMAL SUBGROUP
  3568. return rune(0x22eb), true
  3569. case "ntrianglerighteq": // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
  3570. return rune(0x22ed), true
  3571. case "nu": // GREEK SMALL LETTER NU
  3572. return rune(0x03bd), true
  3573. case "num": // NUMBER SIGN
  3574. return rune(0x23), true
  3575. case "numero": // NUMERO SIGN
  3576. return rune(0x2116), true
  3577. case "numsp": // FIGURE SPACE
  3578. return rune(0x2007), true
  3579. case "nvDash": // NOT TRUE
  3580. return rune(0x22ad), true
  3581. case "nvHarr": // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
  3582. return rune(0x2904), true
  3583. case "nvap": // EQUIVALENT TO with vertical line
  3584. return rune(0x224d), true
  3585. case "nvbrtri": // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
  3586. return rune(0x29d0), true
  3587. case "nvdash": // DOES NOT PROVE
  3588. return rune(0x22ac), true
  3589. case "nvge": // GREATER-THAN OR EQUAL TO with vertical line
  3590. return rune(0x2265), true
  3591. case "nvgt": // GREATER-THAN SIGN with vertical line
  3592. return rune(0x3e), true
  3593. case "nvinfin": // INFINITY NEGATED WITH VERTICAL BAR
  3594. return rune(0x29de), true
  3595. case "nvlArr": // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
  3596. return rune(0x2902), true
  3597. case "nvle": // LESS-THAN OR EQUAL TO with vertical line
  3598. return rune(0x2264), true
  3599. case "nvlt": // LESS-THAN SIGN with vertical line
  3600. return rune(0x3c), true
  3601. case "nvltrie": // NORMAL SUBGROUP OF OR EQUAL TO with vertical line
  3602. return rune(0x22b4), true
  3603. case "nvrArr": // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
  3604. return rune(0x2903), true
  3605. case "nvrtrie": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
  3606. return rune(0x22b5), true
  3607. case "nvsim": // TILDE OPERATOR with vertical line
  3608. return rune(0x223c), true
  3609. case "nwArr": // NORTH WEST DOUBLE ARROW
  3610. return rune(0x21d6), true
  3611. case "nwarhk": // NORTH WEST ARROW WITH HOOK
  3612. return rune(0x2923), true
  3613. case "nwarr": // NORTH WEST ARROW
  3614. return rune(0x2196), true
  3615. case "nwarrow": // NORTH WEST ARROW
  3616. return rune(0x2196), true
  3617. case "nwnear": // NORTH WEST ARROW AND NORTH EAST ARROW
  3618. return rune(0x2927), true
  3619. case "nwonearr": // NORTH WEST ARROW CROSSING NORTH EAST ARROW
  3620. return rune(0x2932), true
  3621. case "nwsesarr": // NORTH WEST AND SOUTH EAST ARROW
  3622. return rune(0x2921), true
  3623. }
  3624. case 'o':
  3625. switch name {
  3626. case "oS": // CIRCLED LATIN CAPITAL LETTER S
  3627. return rune(0x24c8), true
  3628. case "oacgr": // GREEK SMALL LETTER OMICRON WITH TONOS
  3629. return rune(0x03cc), true
  3630. case "oacute": // LATIN SMALL LETTER O WITH ACUTE
  3631. return rune(0xf3), true
  3632. case "oast": // CIRCLED ASTERISK OPERATOR
  3633. return rune(0x229b), true
  3634. case "obsol": // CIRCLED REVERSE SOLIDUS
  3635. return rune(0x29b8), true
  3636. case "ocir": // CIRCLED RING OPERATOR
  3637. return rune(0x229a), true
  3638. case "ocirc": // LATIN SMALL LETTER O WITH CIRCUMFLEX
  3639. return rune(0xf4), true
  3640. case "ocy": // CYRILLIC SMALL LETTER O
  3641. return rune(0x043e), true
  3642. case "odash": // CIRCLED DASH
  3643. return rune(0x229d), true
  3644. case "odblac": // LATIN SMALL LETTER O WITH DOUBLE ACUTE
  3645. return rune(0x0151), true
  3646. case "odiv": // CIRCLED DIVISION SIGN
  3647. return rune(0x2a38), true
  3648. case "odot": // CIRCLED DOT OPERATOR
  3649. return rune(0x2299), true
  3650. case "odsold": // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
  3651. return rune(0x29bc), true
  3652. case "oelig": // LATIN SMALL LIGATURE OE
  3653. return rune(0x0153), true
  3654. case "ofcir": // CIRCLED BULLET
  3655. return rune(0x29bf), true
  3656. case "ofr": // MATHEMATICAL FRAKTUR SMALL O
  3657. return rune(0x01d52c), true
  3658. case "ogon": // OGONEK
  3659. return rune(0x02db), true
  3660. case "ogr": // GREEK SMALL LETTER OMICRON
  3661. return rune(0x03bf), true
  3662. case "ograve": // LATIN SMALL LETTER O WITH GRAVE
  3663. return rune(0xf2), true
  3664. case "ogt": // CIRCLED GREATER-THAN
  3665. return rune(0x29c1), true
  3666. case "ohacgr": // GREEK SMALL LETTER OMEGA WITH TONOS
  3667. return rune(0x03ce), true
  3668. case "ohbar": // CIRCLE WITH HORIZONTAL BAR
  3669. return rune(0x29b5), true
  3670. case "ohgr": // GREEK SMALL LETTER OMEGA
  3671. return rune(0x03c9), true
  3672. case "ohm": // GREEK CAPITAL LETTER OMEGA
  3673. return rune(0x03a9), true
  3674. case "oint": // CONTOUR INTEGRAL
  3675. return rune(0x222e), true
  3676. case "olarr": // ANTICLOCKWISE OPEN CIRCLE ARROW
  3677. return rune(0x21ba), true
  3678. case "olcir": // CIRCLED WHITE BULLET
  3679. return rune(0x29be), true
  3680. case "olcross": // CIRCLE WITH SUPERIMPOSED X
  3681. return rune(0x29bb), true
  3682. case "oline": // OVERLINE
  3683. return rune(0x203e), true
  3684. case "olt": // CIRCLED LESS-THAN
  3685. return rune(0x29c0), true
  3686. case "omacr": // LATIN SMALL LETTER O WITH MACRON
  3687. return rune(0x014d), true
  3688. case "omega": // GREEK SMALL LETTER OMEGA
  3689. return rune(0x03c9), true
  3690. case "omicron": // GREEK SMALL LETTER OMICRON
  3691. return rune(0x03bf), true
  3692. case "omid": // CIRCLED VERTICAL BAR
  3693. return rune(0x29b6), true
  3694. case "ominus": // CIRCLED MINUS
  3695. return rune(0x2296), true
  3696. case "oopf": // MATHEMATICAL DOUBLE-STRUCK SMALL O
  3697. return rune(0x01d560), true
  3698. case "opar": // CIRCLED PARALLEL
  3699. return rune(0x29b7), true
  3700. case "operp": // CIRCLED PERPENDICULAR
  3701. return rune(0x29b9), true
  3702. case "opfgamma": // DOUBLE-STRUCK SMALL GAMMA
  3703. return rune(0x213d), true
  3704. case "opfpi": // DOUBLE-STRUCK CAPITAL PI
  3705. return rune(0x213f), true
  3706. case "opfsum": // DOUBLE-STRUCK N-ARY SUMMATION
  3707. return rune(0x2140), true
  3708. case "oplus": // CIRCLED PLUS
  3709. return rune(0x2295), true
  3710. case "or": // LOGICAL OR
  3711. return rune(0x2228), true
  3712. case "orarr": // CLOCKWISE OPEN CIRCLE ARROW
  3713. return rune(0x21bb), true
  3714. case "ord": // LOGICAL OR WITH HORIZONTAL DASH
  3715. return rune(0x2a5d), true
  3716. case "order": // SCRIPT SMALL O
  3717. return rune(0x2134), true
  3718. case "orderof": // SCRIPT SMALL O
  3719. return rune(0x2134), true
  3720. case "ordf": // FEMININE ORDINAL INDICATOR
  3721. return rune(0xaa), true
  3722. case "ordm": // MASCULINE ORDINAL INDICATOR
  3723. return rune(0xba), true
  3724. case "origof": // ORIGINAL OF
  3725. return rune(0x22b6), true
  3726. case "oror": // TWO INTERSECTING LOGICAL OR
  3727. return rune(0x2a56), true
  3728. case "orslope": // SLOPING LARGE OR
  3729. return rune(0x2a57), true
  3730. case "orv": // LOGICAL OR WITH MIDDLE STEM
  3731. return rune(0x2a5b), true
  3732. case "oscr": // SCRIPT SMALL O
  3733. return rune(0x2134), true
  3734. case "oslash": // LATIN SMALL LETTER O WITH STROKE
  3735. return rune(0xf8), true
  3736. case "osol": // CIRCLED DIVISION SLASH
  3737. return rune(0x2298), true
  3738. case "otilde": // LATIN SMALL LETTER O WITH TILDE
  3739. return rune(0xf5), true
  3740. case "otimes": // CIRCLED TIMES
  3741. return rune(0x2297), true
  3742. case "otimesas": // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
  3743. return rune(0x2a36), true
  3744. case "ouml": // LATIN SMALL LETTER O WITH DIAERESIS
  3745. return rune(0xf6), true
  3746. case "ovbar": // APL FUNCTIONAL SYMBOL CIRCLE STILE
  3747. return rune(0x233d), true
  3748. case "ovrbrk": // TOP SQUARE BRACKET
  3749. return rune(0x23b4), true
  3750. case "ovrcub": // TOP CURLY BRACKET
  3751. return rune(0x23de), true
  3752. case "ovrpar": // TOP PARENTHESIS
  3753. return rune(0x23dc), true
  3754. case "oxuarr": // UP ARROW THROUGH CIRCLE
  3755. return rune(0x29bd), true
  3756. }
  3757. case 'p':
  3758. switch name {
  3759. case "par": // PARALLEL TO
  3760. return rune(0x2225), true
  3761. case "para": // PILCROW SIGN
  3762. return rune(0xb6), true
  3763. case "parallel": // PARALLEL TO
  3764. return rune(0x2225), true
  3765. case "parsim": // PARALLEL WITH TILDE OPERATOR
  3766. return rune(0x2af3), true
  3767. case "parsl": // DOUBLE SOLIDUS OPERATOR
  3768. return rune(0x2afd), true
  3769. case "part": // PARTIAL DIFFERENTIAL
  3770. return rune(0x2202), true
  3771. case "pcy": // CYRILLIC SMALL LETTER PE
  3772. return rune(0x043f), true
  3773. case "percnt": // PERCENT SIGN
  3774. return rune(0x25), true
  3775. case "period": // FULL STOP
  3776. return rune(0x2e), true
  3777. case "permil": // PER MILLE SIGN
  3778. return rune(0x2030), true
  3779. case "perp": // UP TACK
  3780. return rune(0x22a5), true
  3781. case "pertenk": // PER TEN THOUSAND SIGN
  3782. return rune(0x2031), true
  3783. case "pfr": // MATHEMATICAL FRAKTUR SMALL P
  3784. return rune(0x01d52d), true
  3785. case "pgr": // GREEK SMALL LETTER PI
  3786. return rune(0x03c0), true
  3787. case "phgr": // GREEK SMALL LETTER PHI
  3788. return rune(0x03c6), true
  3789. case "phi": // GREEK SMALL LETTER PHI
  3790. return rune(0x03c6), true
  3791. case "phis": // GREEK PHI SYMBOL
  3792. return rune(0x03d5), true
  3793. case "phiv": // GREEK PHI SYMBOL
  3794. return rune(0x03d5), true
  3795. case "phmmat": // SCRIPT CAPITAL M
  3796. return rune(0x2133), true
  3797. case "phone": // BLACK TELEPHONE
  3798. return rune(0x260e), true
  3799. case "pi": // GREEK SMALL LETTER PI
  3800. return rune(0x03c0), true
  3801. case "pitchfork": // PITCHFORK
  3802. return rune(0x22d4), true
  3803. case "piv": // GREEK PI SYMBOL
  3804. return rune(0x03d6), true
  3805. case "planck": // PLANCK CONSTANT OVER TWO PI
  3806. return rune(0x210f), true
  3807. case "planckh": // PLANCK CONSTANT
  3808. return rune(0x210e), true
  3809. case "plankv": // PLANCK CONSTANT OVER TWO PI
  3810. return rune(0x210f), true
  3811. case "plus": // PLUS SIGN
  3812. return rune(0x2b), true
  3813. case "plusacir": // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
  3814. return rune(0x2a23), true
  3815. case "plusb": // SQUARED PLUS
  3816. return rune(0x229e), true
  3817. case "pluscir": // PLUS SIGN WITH SMALL CIRCLE ABOVE
  3818. return rune(0x2a22), true
  3819. case "plusdo": // DOT PLUS
  3820. return rune(0x2214), true
  3821. case "plusdu": // PLUS SIGN WITH DOT BELOW
  3822. return rune(0x2a25), true
  3823. case "pluse": // PLUS SIGN ABOVE EQUALS SIGN
  3824. return rune(0x2a72), true
  3825. case "plusmn": // PLUS-MINUS SIGN
  3826. return rune(0xb1), true
  3827. case "plussim": // PLUS SIGN WITH TILDE BELOW
  3828. return rune(0x2a26), true
  3829. case "plustrif": // PLUS SIGN WITH BLACK TRIANGLE
  3830. return rune(0x2a28), true
  3831. case "plustwo": // PLUS SIGN WITH SUBSCRIPT TWO
  3832. return rune(0x2a27), true
  3833. case "pm": // PLUS-MINUS SIGN
  3834. return rune(0xb1), true
  3835. case "pointint": // INTEGRAL AROUND A POINT OPERATOR
  3836. return rune(0x2a15), true
  3837. case "popf": // MATHEMATICAL DOUBLE-STRUCK SMALL P
  3838. return rune(0x01d561), true
  3839. case "pound": // POUND SIGN
  3840. return rune(0xa3), true
  3841. case "pr": // PRECEDES
  3842. return rune(0x227a), true
  3843. case "prE": // PRECEDES ABOVE EQUALS SIGN
  3844. return rune(0x2ab3), true
  3845. case "prap": // PRECEDES ABOVE ALMOST EQUAL TO
  3846. return rune(0x2ab7), true
  3847. case "prcue": // PRECEDES OR EQUAL TO
  3848. return rune(0x227c), true
  3849. case "pre": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
  3850. return rune(0x2aaf), true
  3851. case "prec": // PRECEDES
  3852. return rune(0x227a), true
  3853. case "precapprox": // PRECEDES ABOVE ALMOST EQUAL TO
  3854. return rune(0x2ab7), true
  3855. case "preccurlyeq": // PRECEDES OR EQUAL TO
  3856. return rune(0x227c), true
  3857. case "preceq": // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
  3858. return rune(0x2aaf), true
  3859. case "precnapprox": // PRECEDES ABOVE NOT ALMOST EQUAL TO
  3860. return rune(0x2ab9), true
  3861. case "precneqq": // PRECEDES ABOVE NOT EQUAL TO
  3862. return rune(0x2ab5), true
  3863. case "precnsim": // PRECEDES BUT NOT EQUIVALENT TO
  3864. return rune(0x22e8), true
  3865. case "precsim": // PRECEDES OR EQUIVALENT TO
  3866. return rune(0x227e), true
  3867. case "prime": // PRIME
  3868. return rune(0x2032), true
  3869. case "primes": // DOUBLE-STRUCK CAPITAL P
  3870. return rune(0x2119), true
  3871. case "prnE": // PRECEDES ABOVE NOT EQUAL TO
  3872. return rune(0x2ab5), true
  3873. case "prnap": // PRECEDES ABOVE NOT ALMOST EQUAL TO
  3874. return rune(0x2ab9), true
  3875. case "prnsim": // PRECEDES BUT NOT EQUIVALENT TO
  3876. return rune(0x22e8), true
  3877. case "prod": // N-ARY PRODUCT
  3878. return rune(0x220f), true
  3879. case "profalar": // ALL AROUND-PROFILE
  3880. return rune(0x232e), true
  3881. case "profline": // ARC
  3882. return rune(0x2312), true
  3883. case "profsurf": // SEGMENT
  3884. return rune(0x2313), true
  3885. case "prop": // PROPORTIONAL TO
  3886. return rune(0x221d), true
  3887. case "propto": // PROPORTIONAL TO
  3888. return rune(0x221d), true
  3889. case "prsim": // PRECEDES OR EQUIVALENT TO
  3890. return rune(0x227e), true
  3891. case "prurel": // PRECEDES UNDER RELATION
  3892. return rune(0x22b0), true
  3893. case "pscr": // MATHEMATICAL SCRIPT SMALL P
  3894. return rune(0x01d4c5), true
  3895. case "psgr": // GREEK SMALL LETTER PSI
  3896. return rune(0x03c8), true
  3897. case "psi": // GREEK SMALL LETTER PSI
  3898. return rune(0x03c8), true
  3899. case "puncsp": // PUNCTUATION SPACE
  3900. return rune(0x2008), true
  3901. }
  3902. case 'q':
  3903. switch name {
  3904. case "qfr": // MATHEMATICAL FRAKTUR SMALL Q
  3905. return rune(0x01d52e), true
  3906. case "qint": // QUADRUPLE INTEGRAL OPERATOR
  3907. return rune(0x2a0c), true
  3908. case "qopf": // MATHEMATICAL DOUBLE-STRUCK SMALL Q
  3909. return rune(0x01d562), true
  3910. case "qprime": // QUADRUPLE PRIME
  3911. return rune(0x2057), true
  3912. case "qscr": // MATHEMATICAL SCRIPT SMALL Q
  3913. return rune(0x01d4c6), true
  3914. case "quaternions": // DOUBLE-STRUCK CAPITAL H
  3915. return rune(0x210d), true
  3916. case "quatint": // QUATERNION INTEGRAL OPERATOR
  3917. return rune(0x2a16), true
  3918. case "quest": // QUESTION MARK
  3919. return rune(0x3f), true
  3920. case "questeq": // QUESTIONED EQUAL TO
  3921. return rune(0x225f), true
  3922. case "quot": // QUOTATION MARK
  3923. return rune(0x22), true
  3924. }
  3925. case 'r':
  3926. switch name {
  3927. case "rAarr": // RIGHTWARDS TRIPLE ARROW
  3928. return rune(0x21db), true
  3929. case "rArr": // RIGHTWARDS DOUBLE ARROW
  3930. return rune(0x21d2), true
  3931. case "rAtail": // RIGHTWARDS DOUBLE ARROW-TAIL
  3932. return rune(0x291c), true
  3933. case "rBarr": // RIGHTWARDS TRIPLE DASH ARROW
  3934. return rune(0x290f), true
  3935. case "rHar": // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
  3936. return rune(0x2964), true
  3937. case "race": // REVERSED TILDE with underline
  3938. return rune(0x223d), true
  3939. case "racute": // LATIN SMALL LETTER R WITH ACUTE
  3940. return rune(0x0155), true
  3941. case "radic": // SQUARE ROOT
  3942. return rune(0x221a), true
  3943. case "raemptyv": // EMPTY SET WITH RIGHT ARROW ABOVE
  3944. return rune(0x29b3), true
  3945. case "rang": // MATHEMATICAL RIGHT ANGLE BRACKET
  3946. return rune(0x27e9), true
  3947. case "rangd": // RIGHT ANGLE BRACKET WITH DOT
  3948. return rune(0x2992), true
  3949. case "range": // REVERSED ANGLE WITH UNDERBAR
  3950. return rune(0x29a5), true
  3951. case "rangle": // MATHEMATICAL RIGHT ANGLE BRACKET
  3952. return rune(0x27e9), true
  3953. case "raquo": // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
  3954. return rune(0xbb), true
  3955. case "rarr": // RIGHTWARDS ARROW
  3956. return rune(0x2192), true
  3957. case "rarr2": // RIGHTWARDS PAIRED ARROWS
  3958. return rune(0x21c9), true
  3959. case "rarr3": // THREE RIGHTWARDS ARROWS
  3960. return rune(0x21f6), true
  3961. case "rarrap": // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
  3962. return rune(0x2975), true
  3963. case "rarrb": // RIGHTWARDS ARROW TO BAR
  3964. return rune(0x21e5), true
  3965. case "rarrbfs": // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
  3966. return rune(0x2920), true
  3967. case "rarrc": // WAVE ARROW POINTING DIRECTLY RIGHT
  3968. return rune(0x2933), true
  3969. case "rarrfs": // RIGHTWARDS ARROW TO BLACK DIAMOND
  3970. return rune(0x291e), true
  3971. case "rarrhk": // RIGHTWARDS ARROW WITH HOOK
  3972. return rune(0x21aa), true
  3973. case "rarrlp": // RIGHTWARDS ARROW WITH LOOP
  3974. return rune(0x21ac), true
  3975. case "rarrpl": // RIGHTWARDS ARROW WITH PLUS BELOW
  3976. return rune(0x2945), true
  3977. case "rarrsim": // RIGHTWARDS ARROW ABOVE TILDE OPERATOR
  3978. return rune(0x2974), true
  3979. case "rarrtl": // RIGHTWARDS ARROW WITH TAIL
  3980. return rune(0x21a3), true
  3981. case "rarrw": // RIGHTWARDS WAVE ARROW
  3982. return rune(0x219d), true
  3983. case "rarrx": // RIGHTWARDS ARROW THROUGH X
  3984. return rune(0x2947), true
  3985. case "ratail": // RIGHTWARDS ARROW-TAIL
  3986. return rune(0x291a), true
  3987. case "ratio": // RATIO
  3988. return rune(0x2236), true
  3989. case "rationals": // DOUBLE-STRUCK CAPITAL Q
  3990. return rune(0x211a), true
  3991. case "rbarr": // RIGHTWARDS DOUBLE DASH ARROW
  3992. return rune(0x290d), true
  3993. case "rbbrk": // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
  3994. return rune(0x2773), true
  3995. case "rbrace": // RIGHT CURLY BRACKET
  3996. return rune(0x7d), true
  3997. case "rbrack": // RIGHT SQUARE BRACKET
  3998. return rune(0x5d), true
  3999. case "rbrke": // RIGHT SQUARE BRACKET WITH UNDERBAR
  4000. return rune(0x298c), true
  4001. case "rbrksld": // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
  4002. return rune(0x298e), true
  4003. case "rbrkslu": // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
  4004. return rune(0x2990), true
  4005. case "rcaron": // LATIN SMALL LETTER R WITH CARON
  4006. return rune(0x0159), true
  4007. case "rcedil": // LATIN SMALL LETTER R WITH CEDILLA
  4008. return rune(0x0157), true
  4009. case "rceil": // RIGHT CEILING
  4010. return rune(0x2309), true
  4011. case "rcub": // RIGHT CURLY BRACKET
  4012. return rune(0x7d), true
  4013. case "rcy": // CYRILLIC SMALL LETTER ER
  4014. return rune(0x0440), true
  4015. case "rdca": // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
  4016. return rune(0x2937), true
  4017. case "rdharb": // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
  4018. return rune(0x2957), true
  4019. case "rdiag": // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
  4020. return rune(0x2571), true
  4021. case "rdiofdi": // RISING DIAGONAL CROSSING FALLING DIAGONAL
  4022. return rune(0x292b), true
  4023. case "rdldhar": // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
  4024. return rune(0x2969), true
  4025. case "rdosearr": // RISING DIAGONAL CROSSING SOUTH EAST ARROW
  4026. return rune(0x2930), true
  4027. case "rdquo": // RIGHT DOUBLE QUOTATION MARK
  4028. return rune(0x201d), true
  4029. case "rdquor": // RIGHT DOUBLE QUOTATION MARK
  4030. return rune(0x201d), true
  4031. case "rdsh": // DOWNWARDS ARROW WITH TIP RIGHTWARDS
  4032. return rune(0x21b3), true
  4033. case "real": // BLACK-LETTER CAPITAL R
  4034. return rune(0x211c), true
  4035. case "realine": // SCRIPT CAPITAL R
  4036. return rune(0x211b), true
  4037. case "realpart": // BLACK-LETTER CAPITAL R
  4038. return rune(0x211c), true
  4039. case "reals": // DOUBLE-STRUCK CAPITAL R
  4040. return rune(0x211d), true
  4041. case "rect": // WHITE RECTANGLE
  4042. return rune(0x25ad), true
  4043. case "reg": // REGISTERED SIGN
  4044. return rune(0xae), true
  4045. case "rfbowtie": // BOWTIE WITH RIGHT HALF BLACK
  4046. return rune(0x29d2), true
  4047. case "rfisht": // RIGHT FISH TAIL
  4048. return rune(0x297d), true
  4049. case "rfloor": // RIGHT FLOOR
  4050. return rune(0x230b), true
  4051. case "rfr": // MATHEMATICAL FRAKTUR SMALL R
  4052. return rune(0x01d52f), true
  4053. case "rftimes": // TIMES WITH RIGHT HALF BLACK
  4054. return rune(0x29d5), true
  4055. case "rgr": // GREEK SMALL LETTER RHO
  4056. return rune(0x03c1), true
  4057. case "rhard": // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
  4058. return rune(0x21c1), true
  4059. case "rharu": // RIGHTWARDS HARPOON WITH BARB UPWARDS
  4060. return rune(0x21c0), true
  4061. case "rharul": // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
  4062. return rune(0x296c), true
  4063. case "rho": // GREEK SMALL LETTER RHO
  4064. return rune(0x03c1), true
  4065. case "rhov": // GREEK RHO SYMBOL
  4066. return rune(0x03f1), true
  4067. case "rightarrow": // RIGHTWARDS ARROW
  4068. return rune(0x2192), true
  4069. case "rightarrowtail": // RIGHTWARDS ARROW WITH TAIL
  4070. return rune(0x21a3), true
  4071. case "rightharpoondown": // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
  4072. return rune(0x21c1), true
  4073. case "rightharpoonup": // RIGHTWARDS HARPOON WITH BARB UPWARDS
  4074. return rune(0x21c0), true
  4075. case "rightleftarrows": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  4076. return rune(0x21c4), true
  4077. case "rightleftharpoons": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  4078. return rune(0x21cc), true
  4079. case "rightrightarrows": // RIGHTWARDS PAIRED ARROWS
  4080. return rune(0x21c9), true
  4081. case "rightsquigarrow": // RIGHTWARDS WAVE ARROW
  4082. return rune(0x219d), true
  4083. case "rightthreetimes": // RIGHT SEMIDIRECT PRODUCT
  4084. return rune(0x22cc), true
  4085. case "rimply": // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
  4086. return rune(0x2970), true
  4087. case "ring": // RING ABOVE
  4088. return rune(0x02da), true
  4089. case "risingdotseq": // IMAGE OF OR APPROXIMATELY EQUAL TO
  4090. return rune(0x2253), true
  4091. case "rlarr": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  4092. return rune(0x21c4), true
  4093. case "rlarr2": // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  4094. return rune(0x21c4), true
  4095. case "rlhar": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  4096. return rune(0x21cc), true
  4097. case "rlhar2": // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  4098. return rune(0x21cc), true
  4099. case "rlm": // RIGHT-TO-LEFT MARK
  4100. return rune(0x200f), true
  4101. case "rmoust": // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
  4102. return rune(0x23b1), true
  4103. case "rmoustache": // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
  4104. return rune(0x23b1), true
  4105. case "rnmid": // DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
  4106. return rune(0x2aee), true
  4107. case "roang": // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
  4108. return rune(0x27ed), true
  4109. case "roarr": // RIGHTWARDS OPEN-HEADED ARROW
  4110. return rune(0x21fe), true
  4111. case "robrk": // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
  4112. return rune(0x27e7), true
  4113. case "rocub": // RIGHT WHITE CURLY BRACKET
  4114. return rune(0x2984), true
  4115. case "ropar": // RIGHT WHITE PARENTHESIS
  4116. return rune(0x2986), true
  4117. case "ropf": // MATHEMATICAL DOUBLE-STRUCK SMALL R
  4118. return rune(0x01d563), true
  4119. case "roplus": // PLUS SIGN IN RIGHT HALF CIRCLE
  4120. return rune(0x2a2e), true
  4121. case "rotimes": // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
  4122. return rune(0x2a35), true
  4123. case "rpar": // RIGHT PARENTHESIS
  4124. return rune(0x29), true
  4125. case "rpargt": // RIGHT ARC GREATER-THAN BRACKET
  4126. return rune(0x2994), true
  4127. case "rppolint": // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
  4128. return rune(0x2a12), true
  4129. case "rrarr": // RIGHTWARDS PAIRED ARROWS
  4130. return rune(0x21c9), true
  4131. case "rsaquo": // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
  4132. return rune(0x203a), true
  4133. case "rscr": // MATHEMATICAL SCRIPT SMALL R
  4134. return rune(0x01d4c7), true
  4135. case "rsh": // UPWARDS ARROW WITH TIP RIGHTWARDS
  4136. return rune(0x21b1), true
  4137. case "rsolbar": // REVERSE SOLIDUS WITH HORIZONTAL STROKE
  4138. return rune(0x29f7), true
  4139. case "rsqb": // RIGHT SQUARE BRACKET
  4140. return rune(0x5d), true
  4141. case "rsquo": // RIGHT SINGLE QUOTATION MARK
  4142. return rune(0x2019), true
  4143. case "rsquor": // RIGHT SINGLE QUOTATION MARK
  4144. return rune(0x2019), true
  4145. case "rthree": // RIGHT SEMIDIRECT PRODUCT
  4146. return rune(0x22cc), true
  4147. case "rtimes": // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
  4148. return rune(0x22ca), true
  4149. case "rtri": // WHITE RIGHT-POINTING SMALL TRIANGLE
  4150. return rune(0x25b9), true
  4151. case "rtrie": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
  4152. return rune(0x22b5), true
  4153. case "rtrif": // BLACK RIGHT-POINTING SMALL TRIANGLE
  4154. return rune(0x25b8), true
  4155. case "rtriltri": // RIGHT TRIANGLE ABOVE LEFT TRIANGLE
  4156. return rune(0x29ce), true
  4157. case "ruharb": // RIGHTWARDS HARPOON WITH BARB UP TO BAR
  4158. return rune(0x2953), true
  4159. case "ruluhar": // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
  4160. return rune(0x2968), true
  4161. case "rx": // PRESCRIPTION TAKE
  4162. return rune(0x211e), true
  4163. }
  4164. case 's':
  4165. switch name {
  4166. case "sacute": // LATIN SMALL LETTER S WITH ACUTE
  4167. return rune(0x015b), true
  4168. case "samalg": // N-ARY COPRODUCT
  4169. return rune(0x2210), true
  4170. case "sampi": // GREEK LETTER SAMPI
  4171. return rune(0x03e0), true
  4172. case "sbquo": // SINGLE LOW-9 QUOTATION MARK
  4173. return rune(0x201a), true
  4174. case "sbsol": // SMALL REVERSE SOLIDUS
  4175. return rune(0xfe68), true
  4176. case "sc": // SUCCEEDS
  4177. return rune(0x227b), true
  4178. case "scE": // SUCCEEDS ABOVE EQUALS SIGN
  4179. return rune(0x2ab4), true
  4180. case "scap": // SUCCEEDS ABOVE ALMOST EQUAL TO
  4181. return rune(0x2ab8), true
  4182. case "scaron": // LATIN SMALL LETTER S WITH CARON
  4183. return rune(0x0161), true
  4184. case "sccue": // SUCCEEDS OR EQUAL TO
  4185. return rune(0x227d), true
  4186. case "sce": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
  4187. return rune(0x2ab0), true
  4188. case "scedil": // LATIN SMALL LETTER S WITH CEDILLA
  4189. return rune(0x015f), true
  4190. case "scirc": // LATIN SMALL LETTER S WITH CIRCUMFLEX
  4191. return rune(0x015d), true
  4192. case "scnE": // SUCCEEDS ABOVE NOT EQUAL TO
  4193. return rune(0x2ab6), true
  4194. case "scnap": // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
  4195. return rune(0x2aba), true
  4196. case "scnsim": // SUCCEEDS BUT NOT EQUIVALENT TO
  4197. return rune(0x22e9), true
  4198. case "scpolint": // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
  4199. return rune(0x2a13), true
  4200. case "scsim": // SUCCEEDS OR EQUIVALENT TO
  4201. return rune(0x227f), true
  4202. case "scy": // CYRILLIC SMALL LETTER ES
  4203. return rune(0x0441), true
  4204. case "sdot": // DOT OPERATOR
  4205. return rune(0x22c5), true
  4206. case "sdotb": // SQUARED DOT OPERATOR
  4207. return rune(0x22a1), true
  4208. case "sdote": // EQUALS SIGN WITH DOT BELOW
  4209. return rune(0x2a66), true
  4210. case "seArr": // SOUTH EAST DOUBLE ARROW
  4211. return rune(0x21d8), true
  4212. case "searhk": // SOUTH EAST ARROW WITH HOOK
  4213. return rune(0x2925), true
  4214. case "searr": // SOUTH EAST ARROW
  4215. return rune(0x2198), true
  4216. case "searrow": // SOUTH EAST ARROW
  4217. return rune(0x2198), true
  4218. case "sect": // SECTION SIGN
  4219. return rune(0xa7), true
  4220. case "semi": // SEMICOLON
  4221. return rune(0x3b), true
  4222. case "seonearr": // SOUTH EAST ARROW CROSSING NORTH EAST ARROW
  4223. return rune(0x292d), true
  4224. case "seswar": // SOUTH EAST ARROW AND SOUTH WEST ARROW
  4225. return rune(0x2929), true
  4226. case "setminus": // SET MINUS
  4227. return rune(0x2216), true
  4228. case "setmn": // SET MINUS
  4229. return rune(0x2216), true
  4230. case "sext": // SIX POINTED BLACK STAR
  4231. return rune(0x2736), true
  4232. case "sfgr": // GREEK SMALL LETTER FINAL SIGMA
  4233. return rune(0x03c2), true
  4234. case "sfr": // MATHEMATICAL FRAKTUR SMALL S
  4235. return rune(0x01d530), true
  4236. case "sfrown": // FROWN
  4237. return rune(0x2322), true
  4238. case "sgr": // GREEK SMALL LETTER SIGMA
  4239. return rune(0x03c3), true
  4240. case "sharp": // MUSIC SHARP SIGN
  4241. return rune(0x266f), true
  4242. case "shchcy": // CYRILLIC SMALL LETTER SHCHA
  4243. return rune(0x0449), true
  4244. case "shcy": // CYRILLIC SMALL LETTER SHA
  4245. return rune(0x0448), true
  4246. case "shortmid": // DIVIDES
  4247. return rune(0x2223), true
  4248. case "shortparallel": // PARALLEL TO
  4249. return rune(0x2225), true
  4250. case "shuffle": // SHUFFLE PRODUCT
  4251. return rune(0x29e2), true
  4252. case "shy": // SOFT HYPHEN
  4253. return rune(0xad), true
  4254. case "sigma": // GREEK SMALL LETTER SIGMA
  4255. return rune(0x03c3), true
  4256. case "sigmaf": // GREEK SMALL LETTER FINAL SIGMA
  4257. return rune(0x03c2), true
  4258. case "sigmav": // GREEK SMALL LETTER FINAL SIGMA
  4259. return rune(0x03c2), true
  4260. case "sim": // TILDE OPERATOR
  4261. return rune(0x223c), true
  4262. case "simdot": // TILDE OPERATOR WITH DOT ABOVE
  4263. return rune(0x2a6a), true
  4264. case "sime": // ASYMPTOTICALLY EQUAL TO
  4265. return rune(0x2243), true
  4266. case "simeq": // ASYMPTOTICALLY EQUAL TO
  4267. return rune(0x2243), true
  4268. case "simg": // SIMILAR OR GREATER-THAN
  4269. return rune(0x2a9e), true
  4270. case "simgE": // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
  4271. return rune(0x2aa0), true
  4272. case "siml": // SIMILAR OR LESS-THAN
  4273. return rune(0x2a9d), true
  4274. case "simlE": // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
  4275. return rune(0x2a9f), true
  4276. case "simne": // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
  4277. return rune(0x2246), true
  4278. case "simplus": // PLUS SIGN WITH TILDE ABOVE
  4279. return rune(0x2a24), true
  4280. case "simrarr": // TILDE OPERATOR ABOVE RIGHTWARDS ARROW
  4281. return rune(0x2972), true
  4282. case "slarr": // LEFTWARDS ARROW
  4283. return rune(0x2190), true
  4284. case "slint": // INTEGRAL AVERAGE WITH SLASH
  4285. return rune(0x2a0f), true
  4286. case "smallsetminus": // SET MINUS
  4287. return rune(0x2216), true
  4288. case "smashp": // SMASH PRODUCT
  4289. return rune(0x2a33), true
  4290. case "smeparsl": // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
  4291. return rune(0x29e4), true
  4292. case "smid": // DIVIDES
  4293. return rune(0x2223), true
  4294. case "smile": // SMILE
  4295. return rune(0x2323), true
  4296. case "smt": // SMALLER THAN
  4297. return rune(0x2aaa), true
  4298. case "smte": // SMALLER THAN OR EQUAL TO
  4299. return rune(0x2aac), true
  4300. case "smtes": // SMALLER THAN OR slanted EQUAL
  4301. return rune(0x2aac), true
  4302. case "softcy": // CYRILLIC SMALL LETTER SOFT SIGN
  4303. return rune(0x044c), true
  4304. case "sol": // SOLIDUS
  4305. return rune(0x2f), true
  4306. case "solb": // SQUARED RISING DIAGONAL SLASH
  4307. return rune(0x29c4), true
  4308. case "solbar": // APL FUNCTIONAL SYMBOL SLASH BAR
  4309. return rune(0x233f), true
  4310. case "sopf": // MATHEMATICAL DOUBLE-STRUCK SMALL S
  4311. return rune(0x01d564), true
  4312. case "spades": // BLACK SPADE SUIT
  4313. return rune(0x2660), true
  4314. case "spadesuit": // BLACK SPADE SUIT
  4315. return rune(0x2660), true
  4316. case "spar": // PARALLEL TO
  4317. return rune(0x2225), true
  4318. case "sqcap": // SQUARE CAP
  4319. return rune(0x2293), true
  4320. case "sqcaps": // SQUARE CAP with serifs
  4321. return rune(0x2293), true
  4322. case "sqcup": // SQUARE CUP
  4323. return rune(0x2294), true
  4324. case "sqcups": // SQUARE CUP with serifs
  4325. return rune(0x2294), true
  4326. case "sqsub": // SQUARE IMAGE OF
  4327. return rune(0x228f), true
  4328. case "sqsube": // SQUARE IMAGE OF OR EQUAL TO
  4329. return rune(0x2291), true
  4330. case "sqsubset": // SQUARE IMAGE OF
  4331. return rune(0x228f), true
  4332. case "sqsubseteq": // SQUARE IMAGE OF OR EQUAL TO
  4333. return rune(0x2291), true
  4334. case "sqsup": // SQUARE ORIGINAL OF
  4335. return rune(0x2290), true
  4336. case "sqsupe": // SQUARE ORIGINAL OF OR EQUAL TO
  4337. return rune(0x2292), true
  4338. case "sqsupset": // SQUARE ORIGINAL OF
  4339. return rune(0x2290), true
  4340. case "sqsupseteq": // SQUARE ORIGINAL OF OR EQUAL TO
  4341. return rune(0x2292), true
  4342. case "squ": // WHITE SQUARE
  4343. return rune(0x25a1), true
  4344. case "square": // WHITE SQUARE
  4345. return rune(0x25a1), true
  4346. case "squarf": // BLACK SMALL SQUARE
  4347. return rune(0x25aa), true
  4348. case "squb": // SQUARED SQUARE
  4349. return rune(0x29c8), true
  4350. case "squerr": // ERROR-BARRED WHITE SQUARE
  4351. return rune(0x29ee), true
  4352. case "squf": // BLACK SMALL SQUARE
  4353. return rune(0x25aa), true
  4354. case "squferr": // ERROR-BARRED BLACK SQUARE
  4355. return rune(0x29ef), true
  4356. case "srarr": // RIGHTWARDS ARROW
  4357. return rune(0x2192), true
  4358. case "sscr": // MATHEMATICAL SCRIPT SMALL S
  4359. return rune(0x01d4c8), true
  4360. case "ssetmn": // SET MINUS
  4361. return rune(0x2216), true
  4362. case "ssmile": // SMILE
  4363. return rune(0x2323), true
  4364. case "sstarf": // STAR OPERATOR
  4365. return rune(0x22c6), true
  4366. case "star": // WHITE STAR
  4367. return rune(0x2606), true
  4368. case "starf": // BLACK STAR
  4369. return rune(0x2605), true
  4370. case "stigma": // GREEK LETTER STIGMA
  4371. return rune(0x03da), true
  4372. case "straightepsilon": // GREEK LUNATE EPSILON SYMBOL
  4373. return rune(0x03f5), true
  4374. case "straightphi": // GREEK PHI SYMBOL
  4375. return rune(0x03d5), true
  4376. case "strns": // MACRON
  4377. return rune(0xaf), true
  4378. case "sub": // SUBSET OF
  4379. return rune(0x2282), true
  4380. case "subE": // SUBSET OF ABOVE EQUALS SIGN
  4381. return rune(0x2ac5), true
  4382. case "subdot": // SUBSET WITH DOT
  4383. return rune(0x2abd), true
  4384. case "sube": // SUBSET OF OR EQUAL TO
  4385. return rune(0x2286), true
  4386. case "subedot": // SUBSET OF OR EQUAL TO WITH DOT ABOVE
  4387. return rune(0x2ac3), true
  4388. case "submult": // SUBSET WITH MULTIPLICATION SIGN BELOW
  4389. return rune(0x2ac1), true
  4390. case "subnE": // SUBSET OF ABOVE NOT EQUAL TO
  4391. return rune(0x2acb), true
  4392. case "subne": // SUBSET OF WITH NOT EQUAL TO
  4393. return rune(0x228a), true
  4394. case "subplus": // SUBSET WITH PLUS SIGN BELOW
  4395. return rune(0x2abf), true
  4396. case "subrarr": // SUBSET ABOVE RIGHTWARDS ARROW
  4397. return rune(0x2979), true
  4398. case "subset": // SUBSET OF
  4399. return rune(0x2282), true
  4400. case "subseteq": // SUBSET OF OR EQUAL TO
  4401. return rune(0x2286), true
  4402. case "subseteqq": // SUBSET OF ABOVE EQUALS SIGN
  4403. return rune(0x2ac5), true
  4404. case "subsetneq": // SUBSET OF WITH NOT EQUAL TO
  4405. return rune(0x228a), true
  4406. case "subsetneqq": // SUBSET OF ABOVE NOT EQUAL TO
  4407. return rune(0x2acb), true
  4408. case "subsim": // SUBSET OF ABOVE TILDE OPERATOR
  4409. return rune(0x2ac7), true
  4410. case "subsub": // SUBSET ABOVE SUBSET
  4411. return rune(0x2ad5), true
  4412. case "subsup": // SUBSET ABOVE SUPERSET
  4413. return rune(0x2ad3), true
  4414. case "succ": // SUCCEEDS
  4415. return rune(0x227b), true
  4416. case "succapprox": // SUCCEEDS ABOVE ALMOST EQUAL TO
  4417. return rune(0x2ab8), true
  4418. case "succcurlyeq": // SUCCEEDS OR EQUAL TO
  4419. return rune(0x227d), true
  4420. case "succeq": // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
  4421. return rune(0x2ab0), true
  4422. case "succnapprox": // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
  4423. return rune(0x2aba), true
  4424. case "succneqq": // SUCCEEDS ABOVE NOT EQUAL TO
  4425. return rune(0x2ab6), true
  4426. case "succnsim": // SUCCEEDS BUT NOT EQUIVALENT TO
  4427. return rune(0x22e9), true
  4428. case "succsim": // SUCCEEDS OR EQUIVALENT TO
  4429. return rune(0x227f), true
  4430. case "sum": // N-ARY SUMMATION
  4431. return rune(0x2211), true
  4432. case "sumint": // SUMMATION WITH INTEGRAL
  4433. return rune(0x2a0b), true
  4434. case "sung": // EIGHTH NOTE
  4435. return rune(0x266a), true
  4436. case "sup": // SUPERSET OF
  4437. return rune(0x2283), true
  4438. case "sup1": // SUPERSCRIPT ONE
  4439. return rune(0xb9), true
  4440. case "sup2": // SUPERSCRIPT TWO
  4441. return rune(0xb2), true
  4442. case "sup3": // SUPERSCRIPT THREE
  4443. return rune(0xb3), true
  4444. case "supE": // SUPERSET OF ABOVE EQUALS SIGN
  4445. return rune(0x2ac6), true
  4446. case "supdot": // SUPERSET WITH DOT
  4447. return rune(0x2abe), true
  4448. case "supdsub": // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
  4449. return rune(0x2ad8), true
  4450. case "supe": // SUPERSET OF OR EQUAL TO
  4451. return rune(0x2287), true
  4452. case "supedot": // SUPERSET OF OR EQUAL TO WITH DOT ABOVE
  4453. return rune(0x2ac4), true
  4454. case "suphsol": // SUPERSET PRECEDING SOLIDUS
  4455. return rune(0x27c9), true
  4456. case "suphsub": // SUPERSET BESIDE SUBSET
  4457. return rune(0x2ad7), true
  4458. case "suplarr": // SUPERSET ABOVE LEFTWARDS ARROW
  4459. return rune(0x297b), true
  4460. case "supmult": // SUPERSET WITH MULTIPLICATION SIGN BELOW
  4461. return rune(0x2ac2), true
  4462. case "supnE": // SUPERSET OF ABOVE NOT EQUAL TO
  4463. return rune(0x2acc), true
  4464. case "supne": // SUPERSET OF WITH NOT EQUAL TO
  4465. return rune(0x228b), true
  4466. case "supplus": // SUPERSET WITH PLUS SIGN BELOW
  4467. return rune(0x2ac0), true
  4468. case "supset": // SUPERSET OF
  4469. return rune(0x2283), true
  4470. case "supseteq": // SUPERSET OF OR EQUAL TO
  4471. return rune(0x2287), true
  4472. case "supseteqq": // SUPERSET OF ABOVE EQUALS SIGN
  4473. return rune(0x2ac6), true
  4474. case "supsetneq": // SUPERSET OF WITH NOT EQUAL TO
  4475. return rune(0x228b), true
  4476. case "supsetneqq": // SUPERSET OF ABOVE NOT EQUAL TO
  4477. return rune(0x2acc), true
  4478. case "supsim": // SUPERSET OF ABOVE TILDE OPERATOR
  4479. return rune(0x2ac8), true
  4480. case "supsub": // SUPERSET ABOVE SUBSET
  4481. return rune(0x2ad4), true
  4482. case "supsup": // SUPERSET ABOVE SUPERSET
  4483. return rune(0x2ad6), true
  4484. case "swArr": // SOUTH WEST DOUBLE ARROW
  4485. return rune(0x21d9), true
  4486. case "swarhk": // SOUTH WEST ARROW WITH HOOK
  4487. return rune(0x2926), true
  4488. case "swarr": // SOUTH WEST ARROW
  4489. return rune(0x2199), true
  4490. case "swarrow": // SOUTH WEST ARROW
  4491. return rune(0x2199), true
  4492. case "swnwar": // SOUTH WEST ARROW AND NORTH WEST ARROW
  4493. return rune(0x292a), true
  4494. case "szlig": // LATIN SMALL LETTER SHARP S
  4495. return rune(0xdf), true
  4496. }
  4497. case 't':
  4498. switch name {
  4499. case "target": // POSITION INDICATOR
  4500. return rune(0x2316), true
  4501. case "tau": // GREEK SMALL LETTER TAU
  4502. return rune(0x03c4), true
  4503. case "tbrk": // TOP SQUARE BRACKET
  4504. return rune(0x23b4), true
  4505. case "tcaron": // LATIN SMALL LETTER T WITH CARON
  4506. return rune(0x0165), true
  4507. case "tcedil": // LATIN SMALL LETTER T WITH CEDILLA
  4508. return rune(0x0163), true
  4509. case "tcy": // CYRILLIC SMALL LETTER TE
  4510. return rune(0x0442), true
  4511. case "tdot": // COMBINING THREE DOTS ABOVE
  4512. return rune(0x20db), true
  4513. case "telrec": // TELEPHONE RECORDER
  4514. return rune(0x2315), true
  4515. case "tfr": // MATHEMATICAL FRAKTUR SMALL T
  4516. return rune(0x01d531), true
  4517. case "tgr": // GREEK SMALL LETTER TAU
  4518. return rune(0x03c4), true
  4519. case "there4": // THEREFORE
  4520. return rune(0x2234), true
  4521. case "therefore": // THEREFORE
  4522. return rune(0x2234), true
  4523. case "thermod": // THERMODYNAMIC
  4524. return rune(0x29e7), true
  4525. case "theta": // GREEK SMALL LETTER THETA
  4526. return rune(0x03b8), true
  4527. case "thetas": // GREEK SMALL LETTER THETA
  4528. return rune(0x03b8), true
  4529. case "thetasym": // GREEK THETA SYMBOL
  4530. return rune(0x03d1), true
  4531. case "thetav": // GREEK THETA SYMBOL
  4532. return rune(0x03d1), true
  4533. case "thgr": // GREEK SMALL LETTER THETA
  4534. return rune(0x03b8), true
  4535. case "thickapprox": // ALMOST EQUAL TO
  4536. return rune(0x2248), true
  4537. case "thicksim": // TILDE OPERATOR
  4538. return rune(0x223c), true
  4539. case "thinsp": // THIN SPACE
  4540. return rune(0x2009), true
  4541. case "thkap": // ALMOST EQUAL TO
  4542. return rune(0x2248), true
  4543. case "thksim": // TILDE OPERATOR
  4544. return rune(0x223c), true
  4545. case "thorn": // LATIN SMALL LETTER THORN
  4546. return rune(0xfe), true
  4547. case "tilde": // SMALL TILDE
  4548. return rune(0x02dc), true
  4549. case "timeint": // INTEGRAL WITH TIMES SIGN
  4550. return rune(0x2a18), true
  4551. case "times": // MULTIPLICATION SIGN
  4552. return rune(0xd7), true
  4553. case "timesb": // SQUARED TIMES
  4554. return rune(0x22a0), true
  4555. case "timesbar": // MULTIPLICATION SIGN WITH UNDERBAR
  4556. return rune(0x2a31), true
  4557. case "timesd": // MULTIPLICATION SIGN WITH DOT ABOVE
  4558. return rune(0x2a30), true
  4559. case "tint": // TRIPLE INTEGRAL
  4560. return rune(0x222d), true
  4561. case "toea": // NORTH EAST ARROW AND SOUTH EAST ARROW
  4562. return rune(0x2928), true
  4563. case "top": // DOWN TACK
  4564. return rune(0x22a4), true
  4565. case "topbot": // APL FUNCTIONAL SYMBOL I-BEAM
  4566. return rune(0x2336), true
  4567. case "topcir": // DOWN TACK WITH CIRCLE BELOW
  4568. return rune(0x2af1), true
  4569. case "topf": // MATHEMATICAL DOUBLE-STRUCK SMALL T
  4570. return rune(0x01d565), true
  4571. case "topfork": // PITCHFORK WITH TEE TOP
  4572. return rune(0x2ada), true
  4573. case "tosa": // SOUTH EAST ARROW AND SOUTH WEST ARROW
  4574. return rune(0x2929), true
  4575. case "tprime": // TRIPLE PRIME
  4576. return rune(0x2034), true
  4577. case "trade": // TRADE MARK SIGN
  4578. return rune(0x2122), true
  4579. case "triS": // S IN TRIANGLE
  4580. return rune(0x29cc), true
  4581. case "triangle": // WHITE UP-POINTING SMALL TRIANGLE
  4582. return rune(0x25b5), true
  4583. case "triangledown": // WHITE DOWN-POINTING SMALL TRIANGLE
  4584. return rune(0x25bf), true
  4585. case "triangleleft": // WHITE LEFT-POINTING SMALL TRIANGLE
  4586. return rune(0x25c3), true
  4587. case "trianglelefteq": // NORMAL SUBGROUP OF OR EQUAL TO
  4588. return rune(0x22b4), true
  4589. case "triangleq": // DELTA EQUAL TO
  4590. return rune(0x225c), true
  4591. case "triangleright": // WHITE RIGHT-POINTING SMALL TRIANGLE
  4592. return rune(0x25b9), true
  4593. case "trianglerighteq": // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
  4594. return rune(0x22b5), true
  4595. case "tribar": // TRIANGLE WITH UNDERBAR
  4596. return rune(0x29cb), true
  4597. case "tridot": // WHITE UP-POINTING TRIANGLE WITH DOT
  4598. return rune(0x25ec), true
  4599. case "tridoto": // TRIANGLE WITH DOT ABOVE
  4600. return rune(0x29ca), true
  4601. case "trie": // DELTA EQUAL TO
  4602. return rune(0x225c), true
  4603. case "triminus": // MINUS SIGN IN TRIANGLE
  4604. return rune(0x2a3a), true
  4605. case "triplus": // PLUS SIGN IN TRIANGLE
  4606. return rune(0x2a39), true
  4607. case "trisb": // TRIANGLE WITH SERIFS AT BOTTOM
  4608. return rune(0x29cd), true
  4609. case "tritime": // MULTIPLICATION SIGN IN TRIANGLE
  4610. return rune(0x2a3b), true
  4611. case "trpezium": // WHITE TRAPEZIUM
  4612. return rune(0x23e2), true
  4613. case "tscr": // MATHEMATICAL SCRIPT SMALL T
  4614. return rune(0x01d4c9), true
  4615. case "tscy": // CYRILLIC SMALL LETTER TSE
  4616. return rune(0x0446), true
  4617. case "tshcy": // CYRILLIC SMALL LETTER TSHE
  4618. return rune(0x045b), true
  4619. case "tstrok": // LATIN SMALL LETTER T WITH STROKE
  4620. return rune(0x0167), true
  4621. case "tverbar": // TRIPLE VERTICAL BAR DELIMITER
  4622. return rune(0x2980), true
  4623. case "twixt": // BETWEEN
  4624. return rune(0x226c), true
  4625. case "twoheadleftarrow": // LEFTWARDS TWO HEADED ARROW
  4626. return rune(0x219e), true
  4627. case "twoheadrightarrow": // RIGHTWARDS TWO HEADED ARROW
  4628. return rune(0x21a0), true
  4629. }
  4630. case 'u':
  4631. switch name {
  4632. case "uAarr": // UPWARDS TRIPLE ARROW
  4633. return rune(0x290a), true
  4634. case "uArr": // UPWARDS DOUBLE ARROW
  4635. return rune(0x21d1), true
  4636. case "uHar": // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
  4637. return rune(0x2963), true
  4638. case "uacgr": // GREEK SMALL LETTER UPSILON WITH TONOS
  4639. return rune(0x03cd), true
  4640. case "uacute": // LATIN SMALL LETTER U WITH ACUTE
  4641. return rune(0xfa), true
  4642. case "uarr": // UPWARDS ARROW
  4643. return rune(0x2191), true
  4644. case "uarr2": // UPWARDS PAIRED ARROWS
  4645. return rune(0x21c8), true
  4646. case "uarrb": // UPWARDS ARROW TO BAR
  4647. return rune(0x2912), true
  4648. case "uarrln": // UPWARDS ARROW WITH HORIZONTAL STROKE
  4649. return rune(0x2909), true
  4650. case "ubrcy": // CYRILLIC SMALL LETTER SHORT U
  4651. return rune(0x045e), true
  4652. case "ubreve": // LATIN SMALL LETTER U WITH BREVE
  4653. return rune(0x016d), true
  4654. case "ucirc": // LATIN SMALL LETTER U WITH CIRCUMFLEX
  4655. return rune(0xfb), true
  4656. case "ucy": // CYRILLIC SMALL LETTER U
  4657. return rune(0x0443), true
  4658. case "udarr": // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
  4659. return rune(0x21c5), true
  4660. case "udblac": // LATIN SMALL LETTER U WITH DOUBLE ACUTE
  4661. return rune(0x0171), true
  4662. case "udhar": // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
  4663. return rune(0x296e), true
  4664. case "udiagr": // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
  4665. return rune(0x03b0), true
  4666. case "udigr": // GREEK SMALL LETTER UPSILON WITH DIALYTIKA
  4667. return rune(0x03cb), true
  4668. case "udrbrk": // BOTTOM SQUARE BRACKET
  4669. return rune(0x23b5), true
  4670. case "udrcub": // BOTTOM CURLY BRACKET
  4671. return rune(0x23df), true
  4672. case "udrpar": // BOTTOM PARENTHESIS
  4673. return rune(0x23dd), true
  4674. case "ufisht": // UP FISH TAIL
  4675. return rune(0x297e), true
  4676. case "ufr": // MATHEMATICAL FRAKTUR SMALL U
  4677. return rune(0x01d532), true
  4678. case "ugr": // GREEK SMALL LETTER UPSILON
  4679. return rune(0x03c5), true
  4680. case "ugrave": // LATIN SMALL LETTER U WITH GRAVE
  4681. return rune(0xf9), true
  4682. case "uharl": // UPWARDS HARPOON WITH BARB LEFTWARDS
  4683. return rune(0x21bf), true
  4684. case "uharr": // UPWARDS HARPOON WITH BARB RIGHTWARDS
  4685. return rune(0x21be), true
  4686. case "uhblk": // UPPER HALF BLOCK
  4687. return rune(0x2580), true
  4688. case "ulcorn": // TOP LEFT CORNER
  4689. return rune(0x231c), true
  4690. case "ulcorner": // TOP LEFT CORNER
  4691. return rune(0x231c), true
  4692. case "ulcrop": // TOP LEFT CROP
  4693. return rune(0x230f), true
  4694. case "uldlshar": // UP BARB LEFT DOWN BARB LEFT HARPOON
  4695. return rune(0x2951), true
  4696. case "ulharb": // UPWARDS HARPOON WITH BARB LEFT TO BAR
  4697. return rune(0x2958), true
  4698. case "ultri": // UPPER LEFT TRIANGLE
  4699. return rune(0x25f8), true
  4700. case "umacr": // LATIN SMALL LETTER U WITH MACRON
  4701. return rune(0x016b), true
  4702. case "uml": // DIAERESIS
  4703. return rune(0xa8), true
  4704. case "uogon": // LATIN SMALL LETTER U WITH OGONEK
  4705. return rune(0x0173), true
  4706. case "uopf": // MATHEMATICAL DOUBLE-STRUCK SMALL U
  4707. return rune(0x01d566), true
  4708. case "uparrow": // UPWARDS ARROW
  4709. return rune(0x2191), true
  4710. case "updownarrow": // UP DOWN ARROW
  4711. return rune(0x2195), true
  4712. case "upharpoonleft": // UPWARDS HARPOON WITH BARB LEFTWARDS
  4713. return rune(0x21bf), true
  4714. case "upharpoonright": // UPWARDS HARPOON WITH BARB RIGHTWARDS
  4715. return rune(0x21be), true
  4716. case "upint": // INTEGRAL WITH OVERBAR
  4717. return rune(0x2a1b), true
  4718. case "uplus": // MULTISET UNION
  4719. return rune(0x228e), true
  4720. case "upsi": // GREEK SMALL LETTER UPSILON
  4721. return rune(0x03c5), true
  4722. case "upsih": // GREEK UPSILON WITH HOOK SYMBOL
  4723. return rune(0x03d2), true
  4724. case "upsilon": // GREEK SMALL LETTER UPSILON
  4725. return rune(0x03c5), true
  4726. case "upuparrows": // UPWARDS PAIRED ARROWS
  4727. return rune(0x21c8), true
  4728. case "urcorn": // TOP RIGHT CORNER
  4729. return rune(0x231d), true
  4730. case "urcorner": // TOP RIGHT CORNER
  4731. return rune(0x231d), true
  4732. case "urcrop": // TOP RIGHT CROP
  4733. return rune(0x230e), true
  4734. case "urdrshar": // UP BARB RIGHT DOWN BARB RIGHT HARPOON
  4735. return rune(0x294f), true
  4736. case "urharb": // UPWARDS HARPOON WITH BARB RIGHT TO BAR
  4737. return rune(0x2954), true
  4738. case "uring": // LATIN SMALL LETTER U WITH RING ABOVE
  4739. return rune(0x016f), true
  4740. case "urtri": // UPPER RIGHT TRIANGLE
  4741. return rune(0x25f9), true
  4742. case "urtrif": // BLACK UPPER RIGHT TRIANGLE
  4743. return rune(0x25e5), true
  4744. case "uscr": // MATHEMATICAL SCRIPT SMALL U
  4745. return rune(0x01d4ca), true
  4746. case "utdot": // UP RIGHT DIAGONAL ELLIPSIS
  4747. return rune(0x22f0), true
  4748. case "utilde": // LATIN SMALL LETTER U WITH TILDE
  4749. return rune(0x0169), true
  4750. case "utri": // WHITE UP-POINTING SMALL TRIANGLE
  4751. return rune(0x25b5), true
  4752. case "utrif": // BLACK UP-POINTING SMALL TRIANGLE
  4753. return rune(0x25b4), true
  4754. case "uuarr": // UPWARDS PAIRED ARROWS
  4755. return rune(0x21c8), true
  4756. case "uuml": // LATIN SMALL LETTER U WITH DIAERESIS
  4757. return rune(0xfc), true
  4758. case "uwangle": // OBLIQUE ANGLE OPENING DOWN
  4759. return rune(0x29a7), true
  4760. }
  4761. case 'v':
  4762. switch name {
  4763. case "vArr": // UP DOWN DOUBLE ARROW
  4764. return rune(0x21d5), true
  4765. case "vBar": // SHORT UP TACK WITH UNDERBAR
  4766. return rune(0x2ae8), true
  4767. case "vBarv": // SHORT UP TACK ABOVE SHORT DOWN TACK
  4768. return rune(0x2ae9), true
  4769. case "vDash": // TRUE
  4770. return rune(0x22a8), true
  4771. case "vDdash": // VERTICAL BAR TRIPLE RIGHT TURNSTILE
  4772. return rune(0x2ae2), true
  4773. case "vangrt": // RIGHT ANGLE VARIANT WITH SQUARE
  4774. return rune(0x299c), true
  4775. case "varepsilon": // GREEK LUNATE EPSILON SYMBOL
  4776. return rune(0x03f5), true
  4777. case "varkappa": // GREEK KAPPA SYMBOL
  4778. return rune(0x03f0), true
  4779. case "varnothing": // EMPTY SET
  4780. return rune(0x2205), true
  4781. case "varphi": // GREEK PHI SYMBOL
  4782. return rune(0x03d5), true
  4783. case "varpi": // GREEK PI SYMBOL
  4784. return rune(0x03d6), true
  4785. case "varpropto": // PROPORTIONAL TO
  4786. return rune(0x221d), true
  4787. case "varr": // UP DOWN ARROW
  4788. return rune(0x2195), true
  4789. case "varrho": // GREEK RHO SYMBOL
  4790. return rune(0x03f1), true
  4791. case "varsigma": // GREEK SMALL LETTER FINAL SIGMA
  4792. return rune(0x03c2), true
  4793. case "varsubsetneq": // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  4794. return rune(0x228a), true
  4795. case "varsubsetneqq": // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  4796. return rune(0x2acb), true
  4797. case "varsupsetneq": // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  4798. return rune(0x228b), true
  4799. case "varsupsetneqq": // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  4800. return rune(0x2acc), true
  4801. case "vartheta": // GREEK THETA SYMBOL
  4802. return rune(0x03d1), true
  4803. case "vartriangleleft": // NORMAL SUBGROUP OF
  4804. return rune(0x22b2), true
  4805. case "vartriangleright": // CONTAINS AS NORMAL SUBGROUP
  4806. return rune(0x22b3), true
  4807. case "vbrtri": // VERTICAL BAR BESIDE RIGHT TRIANGLE
  4808. return rune(0x29d0), true
  4809. case "vcy": // CYRILLIC SMALL LETTER VE
  4810. return rune(0x0432), true
  4811. case "vdash": // RIGHT TACK
  4812. return rune(0x22a2), true
  4813. case "vee": // LOGICAL OR
  4814. return rune(0x2228), true
  4815. case "veeBar": // LOGICAL OR WITH DOUBLE UNDERBAR
  4816. return rune(0x2a63), true
  4817. case "veebar": // XOR
  4818. return rune(0x22bb), true
  4819. case "veeeq": // EQUIANGULAR TO
  4820. return rune(0x225a), true
  4821. case "vellip": // VERTICAL ELLIPSIS
  4822. return rune(0x22ee), true
  4823. case "vellip4": // DOTTED FENCE
  4824. return rune(0x2999), true
  4825. case "vellipv": // TRIPLE COLON OPERATOR
  4826. return rune(0x2af6), true
  4827. case "verbar": // VERTICAL LINE
  4828. return rune(0x7c), true
  4829. case "vert": // VERTICAL LINE
  4830. return rune(0x7c), true
  4831. case "vert3": // TRIPLE VERTICAL BAR BINARY RELATION
  4832. return rune(0x2af4), true
  4833. case "vfr": // MATHEMATICAL FRAKTUR SMALL V
  4834. return rune(0x01d533), true
  4835. case "vldash": // LEFT SQUARE BRACKET LOWER CORNER
  4836. return rune(0x23a3), true
  4837. case "vltri": // NORMAL SUBGROUP OF
  4838. return rune(0x22b2), true
  4839. case "vnsub": // SUBSET OF with vertical line
  4840. return rune(0x2282), true
  4841. case "vnsup": // SUPERSET OF with vertical line
  4842. return rune(0x2283), true
  4843. case "vopf": // MATHEMATICAL DOUBLE-STRUCK SMALL V
  4844. return rune(0x01d567), true
  4845. case "vprime": // PRIME
  4846. return rune(0x2032), true
  4847. case "vprop": // PROPORTIONAL TO
  4848. return rune(0x221d), true
  4849. case "vrtri": // CONTAINS AS NORMAL SUBGROUP
  4850. return rune(0x22b3), true
  4851. case "vscr": // MATHEMATICAL SCRIPT SMALL V
  4852. return rune(0x01d4cb), true
  4853. case "vsubnE": // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  4854. return rune(0x2acb), true
  4855. case "vsubne": // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  4856. return rune(0x228a), true
  4857. case "vsupnE": // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  4858. return rune(0x2acc), true
  4859. case "vsupne": // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  4860. return rune(0x228b), true
  4861. case "vzigzag": // VERTICAL ZIGZAG LINE
  4862. return rune(0x299a), true
  4863. }
  4864. case 'w':
  4865. switch name {
  4866. case "wcirc": // LATIN SMALL LETTER W WITH CIRCUMFLEX
  4867. return rune(0x0175), true
  4868. case "wedbar": // LOGICAL AND WITH UNDERBAR
  4869. return rune(0x2a5f), true
  4870. case "wedge": // LOGICAL AND
  4871. return rune(0x2227), true
  4872. case "wedgeq": // ESTIMATES
  4873. return rune(0x2259), true
  4874. case "weierp": // SCRIPT CAPITAL P
  4875. return rune(0x2118), true
  4876. case "wfr": // MATHEMATICAL FRAKTUR SMALL W
  4877. return rune(0x01d534), true
  4878. case "wopf": // MATHEMATICAL DOUBLE-STRUCK SMALL W
  4879. return rune(0x01d568), true
  4880. case "wp": // SCRIPT CAPITAL P
  4881. return rune(0x2118), true
  4882. case "wr": // WREATH PRODUCT
  4883. return rune(0x2240), true
  4884. case "wreath": // WREATH PRODUCT
  4885. return rune(0x2240), true
  4886. case "wscr": // MATHEMATICAL SCRIPT SMALL W
  4887. return rune(0x01d4cc), true
  4888. }
  4889. case 'x':
  4890. switch name {
  4891. case "xandand": // TWO LOGICAL AND OPERATOR
  4892. return rune(0x2a07), true
  4893. case "xbsol": // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
  4894. return rune(0x2571), true
  4895. case "xcap": // N-ARY INTERSECTION
  4896. return rune(0x22c2), true
  4897. case "xcirc": // LARGE CIRCLE
  4898. return rune(0x25ef), true
  4899. case "xcup": // N-ARY UNION
  4900. return rune(0x22c3), true
  4901. case "xcupdot": // N-ARY UNION OPERATOR WITH DOT
  4902. return rune(0x2a03), true
  4903. case "xdtri": // WHITE DOWN-POINTING TRIANGLE
  4904. return rune(0x25bd), true
  4905. case "xfr": // MATHEMATICAL FRAKTUR SMALL X
  4906. return rune(0x01d535), true
  4907. case "xgr": // GREEK SMALL LETTER XI
  4908. return rune(0x03be), true
  4909. case "xhArr": // LONG LEFT RIGHT DOUBLE ARROW
  4910. return rune(0x27fa), true
  4911. case "xharr": // LONG LEFT RIGHT ARROW
  4912. return rune(0x27f7), true
  4913. case "xi": // GREEK SMALL LETTER XI
  4914. return rune(0x03be), true
  4915. case "xlArr": // LONG LEFTWARDS DOUBLE ARROW
  4916. return rune(0x27f8), true
  4917. case "xlarr": // LONG LEFTWARDS ARROW
  4918. return rune(0x27f5), true
  4919. case "xmap": // LONG RIGHTWARDS ARROW FROM BAR
  4920. return rune(0x27fc), true
  4921. case "xnis": // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  4922. return rune(0x22fb), true
  4923. case "xodot": // N-ARY CIRCLED DOT OPERATOR
  4924. return rune(0x2a00), true
  4925. case "xopf": // MATHEMATICAL DOUBLE-STRUCK SMALL X
  4926. return rune(0x01d569), true
  4927. case "xoplus": // N-ARY CIRCLED PLUS OPERATOR
  4928. return rune(0x2a01), true
  4929. case "xoror": // TWO LOGICAL OR OPERATOR
  4930. return rune(0x2a08), true
  4931. case "xotime": // N-ARY CIRCLED TIMES OPERATOR
  4932. return rune(0x2a02), true
  4933. case "xrArr": // LONG RIGHTWARDS DOUBLE ARROW
  4934. return rune(0x27f9), true
  4935. case "xrarr": // LONG RIGHTWARDS ARROW
  4936. return rune(0x27f6), true
  4937. case "xscr": // MATHEMATICAL SCRIPT SMALL X
  4938. return rune(0x01d4cd), true
  4939. case "xsol": // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
  4940. return rune(0x2572), true
  4941. case "xsqcap": // N-ARY SQUARE INTERSECTION OPERATOR
  4942. return rune(0x2a05), true
  4943. case "xsqcup": // N-ARY SQUARE UNION OPERATOR
  4944. return rune(0x2a06), true
  4945. case "xsqu": // WHITE MEDIUM SQUARE
  4946. return rune(0x25fb), true
  4947. case "xsquf": // BLACK MEDIUM SQUARE
  4948. return rune(0x25fc), true
  4949. case "xtimes": // N-ARY TIMES OPERATOR
  4950. return rune(0x2a09), true
  4951. case "xuplus": // N-ARY UNION OPERATOR WITH PLUS
  4952. return rune(0x2a04), true
  4953. case "xutri": // WHITE UP-POINTING TRIANGLE
  4954. return rune(0x25b3), true
  4955. case "xvee": // N-ARY LOGICAL OR
  4956. return rune(0x22c1), true
  4957. case "xwedge": // N-ARY LOGICAL AND
  4958. return rune(0x22c0), true
  4959. }
  4960. case 'y':
  4961. switch name {
  4962. case "yacute": // LATIN SMALL LETTER Y WITH ACUTE
  4963. return rune(0xfd), true
  4964. case "yacy": // CYRILLIC SMALL LETTER YA
  4965. return rune(0x044f), true
  4966. case "ycirc": // LATIN SMALL LETTER Y WITH CIRCUMFLEX
  4967. return rune(0x0177), true
  4968. case "ycy": // CYRILLIC SMALL LETTER YERU
  4969. return rune(0x044b), true
  4970. case "yen": // YEN SIGN
  4971. return rune(0xa5), true
  4972. case "yfr": // MATHEMATICAL FRAKTUR SMALL Y
  4973. return rune(0x01d536), true
  4974. case "yicy": // CYRILLIC SMALL LETTER YI
  4975. return rune(0x0457), true
  4976. case "yopf": // MATHEMATICAL DOUBLE-STRUCK SMALL Y
  4977. return rune(0x01d56a), true
  4978. case "yscr": // MATHEMATICAL SCRIPT SMALL Y
  4979. return rune(0x01d4ce), true
  4980. case "yucy": // CYRILLIC SMALL LETTER YU
  4981. return rune(0x044e), true
  4982. case "yuml": // LATIN SMALL LETTER Y WITH DIAERESIS
  4983. return rune(0xff), true
  4984. }
  4985. case 'z':
  4986. switch name {
  4987. case "zacute": // LATIN SMALL LETTER Z WITH ACUTE
  4988. return rune(0x017a), true
  4989. case "zcaron": // LATIN SMALL LETTER Z WITH CARON
  4990. return rune(0x017e), true
  4991. case "zcy": // CYRILLIC SMALL LETTER ZE
  4992. return rune(0x0437), true
  4993. case "zdot": // LATIN SMALL LETTER Z WITH DOT ABOVE
  4994. return rune(0x017c), true
  4995. case "zeetrf": // BLACK-LETTER CAPITAL Z
  4996. return rune(0x2128), true
  4997. case "zeta": // GREEK SMALL LETTER ZETA
  4998. return rune(0x03b6), true
  4999. case "zfr": // MATHEMATICAL FRAKTUR SMALL Z
  5000. return rune(0x01d537), true
  5001. case "zgr": // GREEK SMALL LETTER ZETA
  5002. return rune(0x03b6), true
  5003. case "zhcy": // CYRILLIC SMALL LETTER ZHE
  5004. return rune(0x0436), true
  5005. case "zigrarr": // RIGHTWARDS SQUIGGLE ARROW
  5006. return rune(0x21dd), true
  5007. case "zopf": // MATHEMATICAL DOUBLE-STRUCK SMALL Z
  5008. return rune(0x01d56b), true
  5009. case "zscr": // MATHEMATICAL SCRIPT SMALL Z
  5010. return rune(0x01d4cf), true
  5011. case "zwj": // ZERO WIDTH JOINER
  5012. return rune(0x200d), true
  5013. case "zwnj": // ZERO WIDTH NON-JOINER
  5014. return rune(0x200c), true
  5015. }
  5016. }
  5017. return -1, false
  5018. }
  5019. /*
  5020. ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------
  5021. */