generated.odin 200 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493
  1. package unicode_entity
  2. /*
  3. ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------
  4. */
  5. /*
  6. This file is generated from "https://www.w3.org/2003/entities/2007xml/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 © 2021 World Wide Web Consortium, (Massachusetts Institute of Technology,
  12. European Research Consortium for Informatics and Mathematics, Keio University, Beihang).
  13. All Rights Reserved.
  14. This work is distributed under the W3C® Software License [1] in the hope that it will be useful,
  15. but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  16. [1] http://www.w3.org/Consortium/Legal/copyright-software
  17. See also: LICENSE_table.md
  18. */
  19. // `<`
  20. XML_NAME_TO_RUNE_MIN_LENGTH :: 2
  21. // `&CounterClockwiseContourIntegral;`
  22. XML_NAME_TO_RUNE_MAX_LENGTH :: 31
  23. /*
  24. Input:
  25. entity_name - a string, like "copy" that describes a user-encoded Unicode entity as used in XML.
  26. Output:
  27. "decoded" - The decoded rune if found by name, or -1 otherwise.
  28. "ok" - true if found, false if not.
  29. IMPORTANT: XML processors (including browsers) treat these names as case-sensitive. So do we.
  30. */
  31. named_xml_entity_to_rune :: proc(name: string) -> (decoded: rune, ok: bool) {
  32. /*
  33. Early out if the name is too short or too long.
  34. min as a precaution in case the generated table has a bogus value.
  35. */
  36. if len(name) < min(1, XML_NAME_TO_RUNE_MIN_LENGTH) || len(name) > XML_NAME_TO_RUNE_MAX_LENGTH {
  37. return -1, false
  38. }
  39. switch rune(name[0]) {
  40. case 'A':
  41. switch name {
  42. case "AElig":
  43. // LATIN CAPITAL LETTER AE
  44. return rune(0xc6), true
  45. case "AMP":
  46. // AMPERSAND
  47. return rune(0x26), true
  48. case "Aacgr":
  49. // GREEK CAPITAL LETTER ALPHA WITH TONOS
  50. return rune(0x0386), true
  51. case "Aacute":
  52. // LATIN CAPITAL LETTER A WITH ACUTE
  53. return rune(0xc1), true
  54. case "Abreve":
  55. // LATIN CAPITAL LETTER A WITH BREVE
  56. return rune(0x0102), true
  57. case "Acirc":
  58. // LATIN CAPITAL LETTER A WITH CIRCUMFLEX
  59. return rune(0xc2), true
  60. case "Acy":
  61. // CYRILLIC CAPITAL LETTER A
  62. return rune(0x0410), true
  63. case "Afr":
  64. // MATHEMATICAL FRAKTUR CAPITAL A
  65. return rune(0x01d504), true
  66. case "Agrave":
  67. // LATIN CAPITAL LETTER A WITH GRAVE
  68. return rune(0xc0), true
  69. case "Agr":
  70. // GREEK CAPITAL LETTER ALPHA
  71. return rune(0x0391), true
  72. case "Alpha":
  73. // GREEK CAPITAL LETTER ALPHA
  74. return rune(0x0391), true
  75. case "Amacr":
  76. // LATIN CAPITAL LETTER A WITH MACRON
  77. return rune(0x0100), true
  78. case "And":
  79. // DOUBLE LOGICAL AND
  80. return rune(0x2a53), true
  81. case "Aogon":
  82. // LATIN CAPITAL LETTER A WITH OGONEK
  83. return rune(0x0104), true
  84. case "Aopf":
  85. // MATHEMATICAL DOUBLE-STRUCK CAPITAL A
  86. return rune(0x01d538), true
  87. case "ApplyFunction":
  88. // FUNCTION APPLICATION
  89. return rune(0x2061), true
  90. case "Aring":
  91. // LATIN CAPITAL LETTER A WITH RING ABOVE
  92. return rune(0xc5), true
  93. case "Ascr":
  94. // MATHEMATICAL SCRIPT CAPITAL A
  95. return rune(0x01d49c), true
  96. case "Assign":
  97. // COLON EQUALS
  98. return rune(0x2254), true
  99. case "Ast":
  100. // TWO ASTERISKS ALIGNED VERTICALLY
  101. return rune(0x2051), true
  102. case "Atilde":
  103. // LATIN CAPITAL LETTER A WITH TILDE
  104. return rune(0xc3), true
  105. case "Auml":
  106. // LATIN CAPITAL LETTER A WITH DIAERESIS
  107. return rune(0xc4), true
  108. }
  109. case 'B':
  110. switch name {
  111. case "Backslash":
  112. // SET MINUS
  113. return rune(0x2216), true
  114. case "Barint":
  115. // INTEGRAL WITH DOUBLE STROKE
  116. return rune(0x2a0e), true
  117. case "Barv":
  118. // SHORT DOWN TACK WITH OVERBAR
  119. return rune(0x2ae7), true
  120. case "Barwedl":
  121. // LOGICAL AND WITH DOUBLE OVERBAR
  122. return rune(0x2a5e), true
  123. case "Barwed":
  124. // PERSPECTIVE
  125. return rune(0x2306), true
  126. case "Bcy":
  127. // CYRILLIC CAPITAL LETTER BE
  128. return rune(0x0411), true
  129. case "Because":
  130. // BECAUSE
  131. return rune(0x2235), true
  132. case "Bernoullis":
  133. // SCRIPT CAPITAL B
  134. return rune(0x212c), true
  135. case "Beta":
  136. // GREEK CAPITAL LETTER BETA
  137. return rune(0x0392), true
  138. case "Bfr":
  139. // MATHEMATICAL FRAKTUR CAPITAL B
  140. return rune(0x01d505), true
  141. case "Bgr":
  142. // GREEK CAPITAL LETTER BETA
  143. return rune(0x0392), true
  144. case "Bopf":
  145. // MATHEMATICAL DOUBLE-STRUCK CAPITAL B
  146. return rune(0x01d539), true
  147. case "Breve":
  148. // BREVE
  149. return rune(0x02d8), true
  150. case "Bscr":
  151. // SCRIPT CAPITAL B
  152. return rune(0x212c), true
  153. case "Bumpeq":
  154. // GEOMETRICALLY EQUIVALENT TO
  155. return rune(0x224e), true
  156. case "Bvert":
  157. // BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL
  158. return rune(0x2506), true
  159. }
  160. case 'C':
  161. switch name {
  162. case "CHcy":
  163. // CYRILLIC CAPITAL LETTER CHE
  164. return rune(0x0427), true
  165. case "COPY":
  166. // COPYRIGHT SIGN
  167. return rune(0xa9), true
  168. case "Cacute":
  169. // LATIN CAPITAL LETTER C WITH ACUTE
  170. return rune(0x0106), true
  171. case "CapitalDifferentialD":
  172. // DOUBLE-STRUCK ITALIC CAPITAL D
  173. return rune(0x2145), true
  174. case "Cap":
  175. // DOUBLE INTERSECTION
  176. return rune(0x22d2), true
  177. case "Cayleys":
  178. // BLACK-LETTER CAPITAL C
  179. return rune(0x212d), true
  180. case "Ccaron":
  181. // LATIN CAPITAL LETTER C WITH CARON
  182. return rune(0x010c), true
  183. case "Ccedil":
  184. // LATIN CAPITAL LETTER C WITH CEDILLA
  185. return rune(0xc7), true
  186. case "Ccirc":
  187. // LATIN CAPITAL LETTER C WITH CIRCUMFLEX
  188. return rune(0x0108), true
  189. case "Cconint":
  190. // VOLUME INTEGRAL
  191. return rune(0x2230), true
  192. case "Cdot":
  193. // LATIN CAPITAL LETTER C WITH DOT ABOVE
  194. return rune(0x010a), true
  195. case "Cedilla":
  196. // CEDILLA
  197. return rune(0xb8), true
  198. case "CenterDot":
  199. // MIDDLE DOT
  200. return rune(0xb7), true
  201. case "Cfr":
  202. // BLACK-LETTER CAPITAL C
  203. return rune(0x212d), true
  204. case "Chi":
  205. // GREEK CAPITAL LETTER CHI
  206. return rune(0x03a7), true
  207. case "CircleDot":
  208. // CIRCLED DOT OPERATOR
  209. return rune(0x2299), true
  210. case "CircleMinus":
  211. // CIRCLED MINUS
  212. return rune(0x2296), true
  213. case "CirclePlus":
  214. // CIRCLED PLUS
  215. return rune(0x2295), true
  216. case "CircleTimes":
  217. // CIRCLED TIMES
  218. return rune(0x2297), true
  219. case "ClockwiseContourIntegral":
  220. // CLOCKWISE CONTOUR INTEGRAL
  221. return rune(0x2232), true
  222. case "CloseCurlyDoubleQuote":
  223. // RIGHT DOUBLE QUOTATION MARK
  224. return rune(0x201d), true
  225. case "CloseCurlyQuote":
  226. // RIGHT SINGLE QUOTATION MARK
  227. return rune(0x2019), true
  228. case "Colon":
  229. // PROPORTION
  230. return rune(0x2237), true
  231. case "Colone":
  232. // DOUBLE COLON EQUAL
  233. return rune(0x2a74), true
  234. case "Congruent":
  235. // IDENTICAL TO
  236. return rune(0x2261), true
  237. case "Conint":
  238. // SURFACE INTEGRAL
  239. return rune(0x222f), true
  240. case "ContourIntegral":
  241. // CONTOUR INTEGRAL
  242. return rune(0x222e), true
  243. case "Copf":
  244. // DOUBLE-STRUCK CAPITAL C
  245. return rune(0x2102), true
  246. case "Coproduct":
  247. // N-ARY COPRODUCT
  248. return rune(0x2210), true
  249. case "CounterClockwiseContourIntegral":
  250. // ANTICLOCKWISE CONTOUR INTEGRAL
  251. return rune(0x2233), true
  252. case "Cross":
  253. // VECTOR OR CROSS PRODUCT
  254. return rune(0x2a2f), true
  255. case "Cscr":
  256. // MATHEMATICAL SCRIPT CAPITAL C
  257. return rune(0x01d49e), true
  258. case "CupCap":
  259. // EQUIVALENT TO
  260. return rune(0x224d), true
  261. case "Cup":
  262. // DOUBLE UNION
  263. return rune(0x22d3), true
  264. }
  265. case 'D':
  266. switch name {
  267. case "DD":
  268. // DOUBLE-STRUCK ITALIC CAPITAL D
  269. return rune(0x2145), true
  270. case "DDotrahd":
  271. // RIGHTWARDS ARROW WITH DOTTED STEM
  272. return rune(0x2911), true
  273. case "DJcy":
  274. // CYRILLIC CAPITAL LETTER DJE
  275. return rune(0x0402), true
  276. case "DScy":
  277. // CYRILLIC CAPITAL LETTER DZE
  278. return rune(0x0405), true
  279. case "DZcy":
  280. // CYRILLIC CAPITAL LETTER DZHE
  281. return rune(0x040f), true
  282. case "Dagger":
  283. // DOUBLE DAGGER
  284. return rune(0x2021), true
  285. case "Darr":
  286. // DOWNWARDS TWO HEADED ARROW
  287. return rune(0x21a1), true
  288. case "Dashv":
  289. // VERTICAL BAR DOUBLE LEFT TURNSTILE
  290. return rune(0x2ae4), true
  291. case "Dcaron":
  292. // LATIN CAPITAL LETTER D WITH CARON
  293. return rune(0x010e), true
  294. case "Dcy":
  295. // CYRILLIC CAPITAL LETTER DE
  296. return rune(0x0414), true
  297. case "Del":
  298. // NABLA
  299. return rune(0x2207), true
  300. case "Delta":
  301. // GREEK CAPITAL LETTER DELTA
  302. return rune(0x0394), true
  303. case "Dfr":
  304. // MATHEMATICAL FRAKTUR CAPITAL D
  305. return rune(0x01d507), true
  306. case "Dgr":
  307. // GREEK CAPITAL LETTER DELTA
  308. return rune(0x0394), true
  309. case "DiacriticalAcute":
  310. // ACUTE ACCENT
  311. return rune(0xb4), true
  312. case "DiacriticalDot":
  313. // DOT ABOVE
  314. return rune(0x02d9), true
  315. case "DiacriticalDoubleAcute":
  316. // DOUBLE ACUTE ACCENT
  317. return rune(0x02dd), true
  318. case "DiacriticalGrave":
  319. // GRAVE ACCENT
  320. return rune(0x60), true
  321. case "DiacriticalTilde":
  322. // SMALL TILDE
  323. return rune(0x02dc), true
  324. case "Diamond":
  325. // DIAMOND OPERATOR
  326. return rune(0x22c4), true
  327. case "DifferentialD":
  328. // DOUBLE-STRUCK ITALIC SMALL D
  329. return rune(0x2146), true
  330. case "Dopf":
  331. // MATHEMATICAL DOUBLE-STRUCK CAPITAL D
  332. return rune(0x01d53b), true
  333. case "Dot":
  334. // DIAERESIS
  335. return rune(0xa8), true
  336. case "DotDot":
  337. // COMBINING FOUR DOTS ABOVE
  338. return rune(0x20dc), true
  339. case "DotEqual":
  340. // APPROACHES THE LIMIT
  341. return rune(0x2250), true
  342. case "DoubleContourIntegral":
  343. // SURFACE INTEGRAL
  344. return rune(0x222f), true
  345. case "DoubleDot":
  346. // DIAERESIS
  347. return rune(0xa8), true
  348. case "DoubleDownArrow":
  349. // DOWNWARDS DOUBLE ARROW
  350. return rune(0x21d3), true
  351. case "DoubleLeftArrow":
  352. // LEFTWARDS DOUBLE ARROW
  353. return rune(0x21d0), true
  354. case "DoubleLeftRightArrow":
  355. // LEFT RIGHT DOUBLE ARROW
  356. return rune(0x21d4), true
  357. case "DoubleLeftTee":
  358. // VERTICAL BAR DOUBLE LEFT TURNSTILE
  359. return rune(0x2ae4), true
  360. case "DoubleLongLeftArrow":
  361. // LONG LEFTWARDS DOUBLE ARROW
  362. return rune(0x27f8), true
  363. case "DoubleLongLeftRightArrow":
  364. // LONG LEFT RIGHT DOUBLE ARROW
  365. return rune(0x27fa), true
  366. case "DoubleLongRightArrow":
  367. // LONG RIGHTWARDS DOUBLE ARROW
  368. return rune(0x27f9), true
  369. case "DoubleRightArrow":
  370. // RIGHTWARDS DOUBLE ARROW
  371. return rune(0x21d2), true
  372. case "DoubleRightTee":
  373. // TRUE
  374. return rune(0x22a8), true
  375. case "DoubleUpArrow":
  376. // UPWARDS DOUBLE ARROW
  377. return rune(0x21d1), true
  378. case "DoubleUpDownArrow":
  379. // UP DOWN DOUBLE ARROW
  380. return rune(0x21d5), true
  381. case "DoubleVerticalBar":
  382. // PARALLEL TO
  383. return rune(0x2225), true
  384. case "DownArrowUpArrow":
  385. // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
  386. return rune(0x21f5), true
  387. case "DownArrow":
  388. // DOWNWARDS ARROW
  389. return rune(0x2193), true
  390. case "DownArrowBar":
  391. // DOWNWARDS ARROW TO BAR
  392. return rune(0x2913), true
  393. case "DownBreve":
  394. // COMBINING INVERTED BREVE
  395. return rune(0x0311), true
  396. case "DownLeftRightVector":
  397. // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
  398. return rune(0x2950), true
  399. case "DownLeftTeeVector":
  400. // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
  401. return rune(0x295e), true
  402. case "DownLeftVector":
  403. // LEFTWARDS HARPOON WITH BARB DOWNWARDS
  404. return rune(0x21bd), true
  405. case "DownLeftVectorBar":
  406. // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
  407. return rune(0x2956), true
  408. case "DownRightTeeVector":
  409. // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
  410. return rune(0x295f), true
  411. case "DownRightVector":
  412. // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
  413. return rune(0x21c1), true
  414. case "DownRightVectorBar":
  415. // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
  416. return rune(0x2957), true
  417. case "DownTeeArrow":
  418. // DOWNWARDS ARROW FROM BAR
  419. return rune(0x21a7), true
  420. case "DownTee":
  421. // DOWN TACK
  422. return rune(0x22a4), true
  423. case "Downarrow":
  424. // DOWNWARDS DOUBLE ARROW
  425. return rune(0x21d3), true
  426. case "Dscr":
  427. // MATHEMATICAL SCRIPT CAPITAL D
  428. return rune(0x01d49f), true
  429. case "Dstrok":
  430. // LATIN CAPITAL LETTER D WITH STROKE
  431. return rune(0x0110), true
  432. }
  433. case 'E':
  434. switch name {
  435. case "EEacgr":
  436. // GREEK CAPITAL LETTER ETA WITH TONOS
  437. return rune(0x0389), true
  438. case "EEgr":
  439. // GREEK CAPITAL LETTER ETA
  440. return rune(0x0397), true
  441. case "ENG":
  442. // LATIN CAPITAL LETTER ENG
  443. return rune(0x014a), true
  444. case "ETH":
  445. // LATIN CAPITAL LETTER ETH
  446. return rune(0xd0), true
  447. case "Eacgr":
  448. // GREEK CAPITAL LETTER EPSILON WITH TONOS
  449. return rune(0x0388), true
  450. case "Eacute":
  451. // LATIN CAPITAL LETTER E WITH ACUTE
  452. return rune(0xc9), true
  453. case "Ecaron":
  454. // LATIN CAPITAL LETTER E WITH CARON
  455. return rune(0x011a), true
  456. case "Ecirc":
  457. // LATIN CAPITAL LETTER E WITH CIRCUMFLEX
  458. return rune(0xca), true
  459. case "Ecy":
  460. // CYRILLIC CAPITAL LETTER E
  461. return rune(0x042d), true
  462. case "Edot":
  463. // LATIN CAPITAL LETTER E WITH DOT ABOVE
  464. return rune(0x0116), true
  465. case "Efr":
  466. // MATHEMATICAL FRAKTUR CAPITAL E
  467. return rune(0x01d508), true
  468. case "Egrave":
  469. // LATIN CAPITAL LETTER E WITH GRAVE
  470. return rune(0xc8), true
  471. case "Egr":
  472. // GREEK CAPITAL LETTER EPSILON
  473. return rune(0x0395), true
  474. case "Element":
  475. // ELEMENT OF
  476. return rune(0x2208), true
  477. case "Emacr":
  478. // LATIN CAPITAL LETTER E WITH MACRON
  479. return rune(0x0112), true
  480. case "EmptySmallSquare":
  481. // WHITE MEDIUM SQUARE
  482. return rune(0x25fb), true
  483. case "EmptyVerySmallSquare":
  484. // WHITE SMALL SQUARE
  485. return rune(0x25ab), true
  486. case "Eogon":
  487. // LATIN CAPITAL LETTER E WITH OGONEK
  488. return rune(0x0118), true
  489. case "Eopf":
  490. // MATHEMATICAL DOUBLE-STRUCK CAPITAL E
  491. return rune(0x01d53c), true
  492. case "Epsilon":
  493. // GREEK CAPITAL LETTER EPSILON
  494. return rune(0x0395), true
  495. case "EqualTilde":
  496. // MINUS TILDE
  497. return rune(0x2242), true
  498. case "Equal":
  499. // TWO CONSECUTIVE EQUALS SIGNS
  500. return rune(0x2a75), true
  501. case "Equilibrium":
  502. // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  503. return rune(0x21cc), true
  504. case "Escr":
  505. // SCRIPT CAPITAL E
  506. return rune(0x2130), true
  507. case "Esim":
  508. // EQUALS SIGN ABOVE TILDE OPERATOR
  509. return rune(0x2a73), true
  510. case "Eta":
  511. // GREEK CAPITAL LETTER ETA
  512. return rune(0x0397), true
  513. case "Euml":
  514. // LATIN CAPITAL LETTER E WITH DIAERESIS
  515. return rune(0xcb), true
  516. case "Exists":
  517. // THERE EXISTS
  518. return rune(0x2203), true
  519. case "ExponentialE":
  520. // DOUBLE-STRUCK ITALIC SMALL E
  521. return rune(0x2147), true
  522. }
  523. case 'F':
  524. switch name {
  525. case "Fcy":
  526. // CYRILLIC CAPITAL LETTER EF
  527. return rune(0x0424), true
  528. case "Ffr":
  529. // MATHEMATICAL FRAKTUR CAPITAL F
  530. return rune(0x01d509), true
  531. case "FilledSmallSquare":
  532. // BLACK MEDIUM SQUARE
  533. return rune(0x25fc), true
  534. case "FilledVerySmallSquare":
  535. // BLACK SMALL SQUARE
  536. return rune(0x25aa), true
  537. case "Fopf":
  538. // MATHEMATICAL DOUBLE-STRUCK CAPITAL F
  539. return rune(0x01d53d), true
  540. case "ForAll":
  541. // FOR ALL
  542. return rune(0x2200), true
  543. case "Fouriertrf":
  544. // SCRIPT CAPITAL F
  545. return rune(0x2131), true
  546. case "Fscr":
  547. // SCRIPT CAPITAL F
  548. return rune(0x2131), true
  549. }
  550. case 'G':
  551. switch name {
  552. case "GJcy":
  553. // CYRILLIC CAPITAL LETTER GJE
  554. return rune(0x0403), true
  555. case "GT":
  556. // GREATER-THAN SIGN
  557. return rune(0x3e), true
  558. case "Game":
  559. // TURNED SANS-SERIF CAPITAL G
  560. return rune(0x2141), true
  561. case "Gamma":
  562. // GREEK CAPITAL LETTER GAMMA
  563. return rune(0x0393), true
  564. case "Gammad":
  565. // GREEK LETTER DIGAMMA
  566. return rune(0x03dc), true
  567. case "Gbreve":
  568. // LATIN CAPITAL LETTER G WITH BREVE
  569. return rune(0x011e), true
  570. case "Gcedil":
  571. // LATIN CAPITAL LETTER G WITH CEDILLA
  572. return rune(0x0122), true
  573. case "Gcirc":
  574. // LATIN CAPITAL LETTER G WITH CIRCUMFLEX
  575. return rune(0x011c), true
  576. case "Gcy":
  577. // CYRILLIC CAPITAL LETTER GHE
  578. return rune(0x0413), true
  579. case "Gdot":
  580. // LATIN CAPITAL LETTER G WITH DOT ABOVE
  581. return rune(0x0120), true
  582. case "Gfr":
  583. // MATHEMATICAL FRAKTUR CAPITAL G
  584. return rune(0x01d50a), true
  585. case "Ggr":
  586. // GREEK CAPITAL LETTER GAMMA
  587. return rune(0x0393), true
  588. case "Gg":
  589. // VERY MUCH GREATER-THAN
  590. return rune(0x22d9), true
  591. case "Gopf":
  592. // MATHEMATICAL DOUBLE-STRUCK CAPITAL G
  593. return rune(0x01d53e), true
  594. case "GreaterEqual":
  595. // GREATER-THAN OR EQUAL TO
  596. return rune(0x2265), true
  597. case "GreaterEqualLess":
  598. // GREATER-THAN EQUAL TO OR LESS-THAN
  599. return rune(0x22db), true
  600. case "GreaterFullEqual":
  601. // GREATER-THAN OVER EQUAL TO
  602. return rune(0x2267), true
  603. case "GreaterGreater":
  604. // DOUBLE NESTED GREATER-THAN
  605. return rune(0x2aa2), true
  606. case "GreaterLess":
  607. // GREATER-THAN OR LESS-THAN
  608. return rune(0x2277), true
  609. case "GreaterSlantEqual":
  610. // GREATER-THAN OR SLANTED EQUAL TO
  611. return rune(0x2a7e), true
  612. case "GreaterTilde":
  613. // GREATER-THAN OR EQUIVALENT TO
  614. return rune(0x2273), true
  615. case "Gscr":
  616. // MATHEMATICAL SCRIPT CAPITAL G
  617. return rune(0x01d4a2), true
  618. case "Gt":
  619. // MUCH GREATER-THAN
  620. return rune(0x226b), true
  621. }
  622. case 'H':
  623. switch name {
  624. case "HARDcy":
  625. // CYRILLIC CAPITAL LETTER HARD SIGN
  626. return rune(0x042a), true
  627. case "Hacek":
  628. // CARON
  629. return rune(0x02c7), true
  630. case "Hat":
  631. // CIRCUMFLEX ACCENT
  632. return rune(0x5e), true
  633. case "Hcirc":
  634. // LATIN CAPITAL LETTER H WITH CIRCUMFLEX
  635. return rune(0x0124), true
  636. case "Hfr":
  637. // BLACK-LETTER CAPITAL H
  638. return rune(0x210c), true
  639. case "HilbertSpace":
  640. // SCRIPT CAPITAL H
  641. return rune(0x210b), true
  642. case "Hopf":
  643. // DOUBLE-STRUCK CAPITAL H
  644. return rune(0x210d), true
  645. case "HorizontalLine":
  646. // BOX DRAWINGS LIGHT HORIZONTAL
  647. return rune(0x2500), true
  648. case "Hscr":
  649. // SCRIPT CAPITAL H
  650. return rune(0x210b), true
  651. case "Hstrok":
  652. // LATIN CAPITAL LETTER H WITH STROKE
  653. return rune(0x0126), true
  654. case "HumpDownHump":
  655. // GEOMETRICALLY EQUIVALENT TO
  656. return rune(0x224e), true
  657. case "HumpEqual":
  658. // DIFFERENCE BETWEEN
  659. return rune(0x224f), true
  660. }
  661. case 'I':
  662. switch name {
  663. case "IEcy":
  664. // CYRILLIC CAPITAL LETTER IE
  665. return rune(0x0415), true
  666. case "IJlig":
  667. // LATIN CAPITAL LIGATURE IJ
  668. return rune(0x0132), true
  669. case "IOcy":
  670. // CYRILLIC CAPITAL LETTER IO
  671. return rune(0x0401), true
  672. case "Iacgr":
  673. // GREEK CAPITAL LETTER IOTA WITH TONOS
  674. return rune(0x038a), true
  675. case "Iacute":
  676. // LATIN CAPITAL LETTER I WITH ACUTE
  677. return rune(0xcd), true
  678. case "Icirc":
  679. // LATIN CAPITAL LETTER I WITH CIRCUMFLEX
  680. return rune(0xce), true
  681. case "Icy":
  682. // CYRILLIC CAPITAL LETTER I
  683. return rune(0x0418), true
  684. case "Idigr":
  685. // GREEK CAPITAL LETTER IOTA WITH DIALYTIKA
  686. return rune(0x03aa), true
  687. case "Idot":
  688. // LATIN CAPITAL LETTER I WITH DOT ABOVE
  689. return rune(0x0130), true
  690. case "Ifr":
  691. // BLACK-LETTER CAPITAL I
  692. return rune(0x2111), true
  693. case "Igrave":
  694. // LATIN CAPITAL LETTER I WITH GRAVE
  695. return rune(0xcc), true
  696. case "Igr":
  697. // GREEK CAPITAL LETTER IOTA
  698. return rune(0x0399), true
  699. case "Imacr":
  700. // LATIN CAPITAL LETTER I WITH MACRON
  701. return rune(0x012a), true
  702. case "ImaginaryI":
  703. // DOUBLE-STRUCK ITALIC SMALL I
  704. return rune(0x2148), true
  705. case "Implies":
  706. // RIGHTWARDS DOUBLE ARROW
  707. return rune(0x21d2), true
  708. case "Im":
  709. // BLACK-LETTER CAPITAL I
  710. return rune(0x2111), true
  711. case "Integral":
  712. // INTEGRAL
  713. return rune(0x222b), true
  714. case "Int":
  715. // DOUBLE INTEGRAL
  716. return rune(0x222c), true
  717. case "Intersection":
  718. // N-ARY INTERSECTION
  719. return rune(0x22c2), true
  720. case "InvisibleComma":
  721. // INVISIBLE SEPARATOR
  722. return rune(0x2063), true
  723. case "InvisibleTimes":
  724. // INVISIBLE TIMES
  725. return rune(0x2062), true
  726. case "Iogon":
  727. // LATIN CAPITAL LETTER I WITH OGONEK
  728. return rune(0x012e), true
  729. case "Iopf":
  730. // MATHEMATICAL DOUBLE-STRUCK CAPITAL I
  731. return rune(0x01d540), true
  732. case "Iota":
  733. // GREEK CAPITAL LETTER IOTA
  734. return rune(0x0399), true
  735. case "Iscr":
  736. // SCRIPT CAPITAL I
  737. return rune(0x2110), true
  738. case "Itilde":
  739. // LATIN CAPITAL LETTER I WITH TILDE
  740. return rune(0x0128), true
  741. case "Iukcy":
  742. // CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I
  743. return rune(0x0406), true
  744. case "Iuml":
  745. // LATIN CAPITAL LETTER I WITH DIAERESIS
  746. return rune(0xcf), true
  747. }
  748. case 'J':
  749. switch name {
  750. case "Jcirc":
  751. // LATIN CAPITAL LETTER J WITH CIRCUMFLEX
  752. return rune(0x0134), true
  753. case "Jcy":
  754. // CYRILLIC CAPITAL LETTER SHORT I
  755. return rune(0x0419), true
  756. case "Jfr":
  757. // MATHEMATICAL FRAKTUR CAPITAL J
  758. return rune(0x01d50d), true
  759. case "Jopf":
  760. // MATHEMATICAL DOUBLE-STRUCK CAPITAL J
  761. return rune(0x01d541), true
  762. case "Jscr":
  763. // MATHEMATICAL SCRIPT CAPITAL J
  764. return rune(0x01d4a5), true
  765. case "Jsercy":
  766. // CYRILLIC CAPITAL LETTER JE
  767. return rune(0x0408), true
  768. case "Jukcy":
  769. // CYRILLIC CAPITAL LETTER UKRAINIAN IE
  770. return rune(0x0404), true
  771. }
  772. case 'K':
  773. switch name {
  774. case "KHcy":
  775. // CYRILLIC CAPITAL LETTER HA
  776. return rune(0x0425), true
  777. case "KHgr":
  778. // GREEK CAPITAL LETTER CHI
  779. return rune(0x03a7), true
  780. case "KJcy":
  781. // CYRILLIC CAPITAL LETTER KJE
  782. return rune(0x040c), true
  783. case "Kappa":
  784. // GREEK CAPITAL LETTER KAPPA
  785. return rune(0x039a), true
  786. case "Kcedil":
  787. // LATIN CAPITAL LETTER K WITH CEDILLA
  788. return rune(0x0136), true
  789. case "Kcy":
  790. // CYRILLIC CAPITAL LETTER KA
  791. return rune(0x041a), true
  792. case "Kfr":
  793. // MATHEMATICAL FRAKTUR CAPITAL K
  794. return rune(0x01d50e), true
  795. case "Kgr":
  796. // GREEK CAPITAL LETTER KAPPA
  797. return rune(0x039a), true
  798. case "Kopf":
  799. // MATHEMATICAL DOUBLE-STRUCK CAPITAL K
  800. return rune(0x01d542), true
  801. case "Kscr":
  802. // MATHEMATICAL SCRIPT CAPITAL K
  803. return rune(0x01d4a6), true
  804. }
  805. case 'L':
  806. switch name {
  807. case "LJcy":
  808. // CYRILLIC CAPITAL LETTER LJE
  809. return rune(0x0409), true
  810. case "LT":
  811. // LESS-THAN SIGN
  812. return rune(0x3c), true
  813. case "Lacute":
  814. // LATIN CAPITAL LETTER L WITH ACUTE
  815. return rune(0x0139), true
  816. case "Lambda":
  817. // GREEK CAPITAL LETTER LAMDA
  818. return rune(0x039b), true
  819. case "Lang":
  820. // MATHEMATICAL LEFT DOUBLE ANGLE BRACKET
  821. return rune(0x27ea), true
  822. case "Laplacetrf":
  823. // SCRIPT CAPITAL L
  824. return rune(0x2112), true
  825. case "Larr":
  826. // LEFTWARDS TWO HEADED ARROW
  827. return rune(0x219e), true
  828. case "Lcaron":
  829. // LATIN CAPITAL LETTER L WITH CARON
  830. return rune(0x013d), true
  831. case "Lcedil":
  832. // LATIN CAPITAL LETTER L WITH CEDILLA
  833. return rune(0x013b), true
  834. case "Lcy":
  835. // CYRILLIC CAPITAL LETTER EL
  836. return rune(0x041b), true
  837. case "LeftAngleBracket":
  838. // MATHEMATICAL LEFT ANGLE BRACKET
  839. return rune(0x27e8), true
  840. case "LeftArrowBar":
  841. // LEFTWARDS ARROW TO BAR
  842. return rune(0x21e4), true
  843. case "LeftArrowRightArrow":
  844. // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  845. return rune(0x21c6), true
  846. case "LeftArrow":
  847. // LEFTWARDS ARROW
  848. return rune(0x2190), true
  849. case "LeftCeiling":
  850. // LEFT CEILING
  851. return rune(0x2308), true
  852. case "LeftDoubleBracket":
  853. // MATHEMATICAL LEFT WHITE SQUARE BRACKET
  854. return rune(0x27e6), true
  855. case "LeftDownTeeVector":
  856. // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
  857. return rune(0x2961), true
  858. case "LeftDownVector":
  859. // DOWNWARDS HARPOON WITH BARB LEFTWARDS
  860. return rune(0x21c3), true
  861. case "LeftDownVectorBar":
  862. // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
  863. return rune(0x2959), true
  864. case "LeftFloor":
  865. // LEFT FLOOR
  866. return rune(0x230a), true
  867. case "LeftRightArrow":
  868. // LEFT RIGHT ARROW
  869. return rune(0x2194), true
  870. case "LeftRightVector":
  871. // LEFT BARB UP RIGHT BARB UP HARPOON
  872. return rune(0x294e), true
  873. case "LeftTeeArrow":
  874. // LEFTWARDS ARROW FROM BAR
  875. return rune(0x21a4), true
  876. case "LeftTeeVector":
  877. // LEFTWARDS HARPOON WITH BARB UP FROM BAR
  878. return rune(0x295a), true
  879. case "LeftTee":
  880. // LEFT TACK
  881. return rune(0x22a3), true
  882. case "LeftTriangleBar":
  883. // LEFT TRIANGLE BESIDE VERTICAL BAR
  884. return rune(0x29cf), true
  885. case "LeftTriangle":
  886. // NORMAL SUBGROUP OF
  887. return rune(0x22b2), true
  888. case "LeftTriangleEqual":
  889. // NORMAL SUBGROUP OF OR EQUAL TO
  890. return rune(0x22b4), true
  891. case "LeftUpDownVector":
  892. // UP BARB LEFT DOWN BARB LEFT HARPOON
  893. return rune(0x2951), true
  894. case "LeftUpTeeVector":
  895. // UPWARDS HARPOON WITH BARB LEFT FROM BAR
  896. return rune(0x2960), true
  897. case "LeftUpVector":
  898. // UPWARDS HARPOON WITH BARB LEFTWARDS
  899. return rune(0x21bf), true
  900. case "LeftUpVectorBar":
  901. // UPWARDS HARPOON WITH BARB LEFT TO BAR
  902. return rune(0x2958), true
  903. case "LeftVector":
  904. // LEFTWARDS HARPOON WITH BARB UPWARDS
  905. return rune(0x21bc), true
  906. case "LeftVectorBar":
  907. // LEFTWARDS HARPOON WITH BARB UP TO BAR
  908. return rune(0x2952), true
  909. case "Leftarrow":
  910. // LEFTWARDS DOUBLE ARROW
  911. return rune(0x21d0), true
  912. case "Leftrightarrow":
  913. // LEFT RIGHT DOUBLE ARROW
  914. return rune(0x21d4), true
  915. case "LessEqualGreater":
  916. // LESS-THAN EQUAL TO OR GREATER-THAN
  917. return rune(0x22da), true
  918. case "LessFullEqual":
  919. // LESS-THAN OVER EQUAL TO
  920. return rune(0x2266), true
  921. case "LessGreater":
  922. // LESS-THAN OR GREATER-THAN
  923. return rune(0x2276), true
  924. case "LessLess":
  925. // DOUBLE NESTED LESS-THAN
  926. return rune(0x2aa1), true
  927. case "LessSlantEqual":
  928. // LESS-THAN OR SLANTED EQUAL TO
  929. return rune(0x2a7d), true
  930. case "LessTilde":
  931. // LESS-THAN OR EQUIVALENT TO
  932. return rune(0x2272), true
  933. case "Lfr":
  934. // MATHEMATICAL FRAKTUR CAPITAL L
  935. return rune(0x01d50f), true
  936. case "Lgr":
  937. // GREEK CAPITAL LETTER LAMDA
  938. return rune(0x039b), true
  939. case "Lleftarrow":
  940. // LEFTWARDS TRIPLE ARROW
  941. return rune(0x21da), true
  942. case "Ll":
  943. // VERY MUCH LESS-THAN
  944. return rune(0x22d8), true
  945. case "Lmidot":
  946. // LATIN CAPITAL LETTER L WITH MIDDLE DOT
  947. return rune(0x013f), true
  948. case "LongLeftArrow":
  949. // LONG LEFTWARDS ARROW
  950. return rune(0x27f5), true
  951. case "LongLeftRightArrow":
  952. // LONG LEFT RIGHT ARROW
  953. return rune(0x27f7), true
  954. case "LongRightArrow":
  955. // LONG RIGHTWARDS ARROW
  956. return rune(0x27f6), true
  957. case "Longleftarrow":
  958. // LONG LEFTWARDS DOUBLE ARROW
  959. return rune(0x27f8), true
  960. case "Longleftrightarrow":
  961. // LONG LEFT RIGHT DOUBLE ARROW
  962. return rune(0x27fa), true
  963. case "Longrightarrow":
  964. // LONG RIGHTWARDS DOUBLE ARROW
  965. return rune(0x27f9), true
  966. case "Lopf":
  967. // MATHEMATICAL DOUBLE-STRUCK CAPITAL L
  968. return rune(0x01d543), true
  969. case "LowerLeftArrow":
  970. // SOUTH WEST ARROW
  971. return rune(0x2199), true
  972. case "LowerRightArrow":
  973. // SOUTH EAST ARROW
  974. return rune(0x2198), true
  975. case "Lscr":
  976. // SCRIPT CAPITAL L
  977. return rune(0x2112), true
  978. case "Lsh":
  979. // UPWARDS ARROW WITH TIP LEFTWARDS
  980. return rune(0x21b0), true
  981. case "Lstrok":
  982. // LATIN CAPITAL LETTER L WITH STROKE
  983. return rune(0x0141), true
  984. case "Ltbar":
  985. // DOUBLE NESTED LESS-THAN WITH UNDERBAR
  986. return rune(0x2aa3), true
  987. case "Lt":
  988. // MUCH LESS-THAN
  989. return rune(0x226a), true
  990. }
  991. case 'M':
  992. switch name {
  993. case "Mapfrom":
  994. // LEFTWARDS DOUBLE ARROW FROM BAR
  995. return rune(0x2906), true
  996. case "Mapto":
  997. // RIGHTWARDS DOUBLE ARROW FROM BAR
  998. return rune(0x2907), true
  999. case "Map":
  1000. // RIGHTWARDS TWO-HEADED ARROW FROM BAR
  1001. return rune(0x2905), true
  1002. case "Mcy":
  1003. // CYRILLIC CAPITAL LETTER EM
  1004. return rune(0x041c), true
  1005. case "MediumSpace":
  1006. // MEDIUM MATHEMATICAL SPACE
  1007. return rune(0x205f), true
  1008. case "Mellintrf":
  1009. // SCRIPT CAPITAL M
  1010. return rune(0x2133), true
  1011. case "Mfr":
  1012. // MATHEMATICAL FRAKTUR CAPITAL M
  1013. return rune(0x01d510), true
  1014. case "Mgr":
  1015. // GREEK CAPITAL LETTER MU
  1016. return rune(0x039c), true
  1017. case "MinusPlus":
  1018. // MINUS-OR-PLUS SIGN
  1019. return rune(0x2213), true
  1020. case "Mopf":
  1021. // MATHEMATICAL DOUBLE-STRUCK CAPITAL M
  1022. return rune(0x01d544), true
  1023. case "Mscr":
  1024. // SCRIPT CAPITAL M
  1025. return rune(0x2133), true
  1026. case "Mu":
  1027. // GREEK CAPITAL LETTER MU
  1028. return rune(0x039c), true
  1029. }
  1030. case 'N':
  1031. switch name {
  1032. case "NJcy":
  1033. // CYRILLIC CAPITAL LETTER NJE
  1034. return rune(0x040a), true
  1035. case "Nacute":
  1036. // LATIN CAPITAL LETTER N WITH ACUTE
  1037. return rune(0x0143), true
  1038. case "Ncaron":
  1039. // LATIN CAPITAL LETTER N WITH CARON
  1040. return rune(0x0147), true
  1041. case "Ncedil":
  1042. // LATIN CAPITAL LETTER N WITH CEDILLA
  1043. return rune(0x0145), true
  1044. case "Ncy":
  1045. // CYRILLIC CAPITAL LETTER EN
  1046. return rune(0x041d), true
  1047. case "NegativeMediumSpace":
  1048. // ZERO WIDTH SPACE
  1049. return rune(0x200b), true
  1050. case "NegativeThickSpace":
  1051. // ZERO WIDTH SPACE
  1052. return rune(0x200b), true
  1053. case "NegativeThinSpace":
  1054. // ZERO WIDTH SPACE
  1055. return rune(0x200b), true
  1056. case "NegativeVeryThinSpace":
  1057. // ZERO WIDTH SPACE
  1058. return rune(0x200b), true
  1059. case "NestedGreaterGreater":
  1060. // MUCH GREATER-THAN
  1061. return rune(0x226b), true
  1062. case "NestedLessLess":
  1063. // MUCH LESS-THAN
  1064. return rune(0x226a), true
  1065. case "NewLine":
  1066. // LINE FEED (LF)
  1067. return rune(0x0a), true
  1068. case "Nfr":
  1069. // MATHEMATICAL FRAKTUR CAPITAL N
  1070. return rune(0x01d511), true
  1071. case "Ngr":
  1072. // GREEK CAPITAL LETTER NU
  1073. return rune(0x039d), true
  1074. case "NoBreak":
  1075. // WORD JOINER
  1076. return rune(0x2060), true
  1077. case "NonBreakingSpace":
  1078. // NO-BREAK SPACE
  1079. return rune(0xa0), true
  1080. case "Nopf":
  1081. // DOUBLE-STRUCK CAPITAL N
  1082. return rune(0x2115), true
  1083. case "NotDoubleVerticalBar":
  1084. // NOT PARALLEL TO
  1085. return rune(0x2226), true
  1086. case "NotElement":
  1087. // NOT AN ELEMENT OF
  1088. return rune(0x2209), true
  1089. case "NotEqualTilde":
  1090. // MINUS TILDE with slash
  1091. return rune(0x2242), true
  1092. case "NotEqual":
  1093. // NOT EQUAL TO
  1094. return rune(0x2260), true
  1095. case "NotExists":
  1096. // THERE DOES NOT EXIST
  1097. return rune(0x2204), true
  1098. case "NotHumpDownHump":
  1099. // GEOMETRICALLY EQUIVALENT TO with slash
  1100. return rune(0x224e), true
  1101. case "NotHumpEqual":
  1102. // DIFFERENCE BETWEEN with slash
  1103. return rune(0x224f), true
  1104. case "NotLessGreater":
  1105. // NEITHER LESS-THAN NOR GREATER-THAN
  1106. return rune(0x2278), true
  1107. case "NotReverseElement":
  1108. // DOES NOT CONTAIN AS MEMBER
  1109. return rune(0x220c), true
  1110. case "NotTilde":
  1111. // NOT TILDE
  1112. return rune(0x2241), true
  1113. case "NotTildeEqual":
  1114. // NOT ASYMPTOTICALLY EQUAL TO
  1115. return rune(0x2244), true
  1116. case "NotTildeFullEqual":
  1117. // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
  1118. return rune(0x2247), true
  1119. case "NotTildeTilde":
  1120. // NOT ALMOST EQUAL TO
  1121. return rune(0x2249), true
  1122. case "NotVerticalBar":
  1123. // DOES NOT DIVIDE
  1124. return rune(0x2224), true
  1125. case "Not":
  1126. // DOUBLE STROKE NOT SIGN
  1127. return rune(0x2aec), true
  1128. case "NotCongruent":
  1129. // NOT IDENTICAL TO
  1130. return rune(0x2262), true
  1131. case "NotCupCap":
  1132. // NOT EQUIVALENT TO
  1133. return rune(0x226d), true
  1134. case "NotGreaterFullEqual":
  1135. // GREATER-THAN OVER EQUAL TO with slash
  1136. return rune(0x2267), true
  1137. case "NotGreaterGreater":
  1138. // MUCH GREATER THAN with slash
  1139. return rune(0x226b), true
  1140. case "NotGreaterSlantEqual":
  1141. // GREATER-THAN OR SLANTED EQUAL TO with slash
  1142. return rune(0x2a7e), true
  1143. case "NotGreater":
  1144. // NOT GREATER-THAN
  1145. return rune(0x226f), true
  1146. case "NotGreaterEqual":
  1147. // NEITHER GREATER-THAN NOR EQUAL TO
  1148. return rune(0x2271), true
  1149. case "NotGreaterLess":
  1150. // NEITHER GREATER-THAN NOR LESS-THAN
  1151. return rune(0x2279), true
  1152. case "NotGreaterTilde":
  1153. // NEITHER GREATER-THAN NOR EQUIVALENT TO
  1154. return rune(0x2275), true
  1155. case "NotLeftTriangleBar":
  1156. // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
  1157. return rune(0x29cf), true
  1158. case "NotLeftTriangle":
  1159. // NOT NORMAL SUBGROUP OF
  1160. return rune(0x22ea), true
  1161. case "NotLeftTriangleEqual":
  1162. // NOT NORMAL SUBGROUP OF OR EQUAL TO
  1163. return rune(0x22ec), true
  1164. case "NotLessLess":
  1165. // MUCH LESS THAN with slash
  1166. return rune(0x226a), true
  1167. case "NotLessSlantEqual":
  1168. // LESS-THAN OR SLANTED EQUAL TO with slash
  1169. return rune(0x2a7d), true
  1170. case "NotLess":
  1171. // NOT LESS-THAN
  1172. return rune(0x226e), true
  1173. case "NotLessEqual":
  1174. // NEITHER LESS-THAN NOR EQUAL TO
  1175. return rune(0x2270), true
  1176. case "NotLessTilde":
  1177. // NEITHER LESS-THAN NOR EQUIVALENT TO
  1178. return rune(0x2274), true
  1179. case "NotNestedGreaterGreater":
  1180. // DOUBLE NESTED GREATER-THAN with slash
  1181. return rune(0x2aa2), true
  1182. case "NotNestedLessLess":
  1183. // DOUBLE NESTED LESS-THAN with slash
  1184. return rune(0x2aa1), true
  1185. case "NotPrecedesEqual":
  1186. // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
  1187. return rune(0x2aaf), true
  1188. case "NotPrecedes":
  1189. // DOES NOT PRECEDE
  1190. return rune(0x2280), true
  1191. case "NotPrecedesSlantEqual":
  1192. // DOES NOT PRECEDE OR EQUAL
  1193. return rune(0x22e0), true
  1194. case "NotRightTriangleBar":
  1195. // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
  1196. return rune(0x29d0), true
  1197. case "NotRightTriangle":
  1198. // DOES NOT CONTAIN AS NORMAL SUBGROUP
  1199. return rune(0x22eb), true
  1200. case "NotRightTriangleEqual":
  1201. // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
  1202. return rune(0x22ed), true
  1203. case "NotSquareSubset":
  1204. // SQUARE IMAGE OF with slash
  1205. return rune(0x228f), true
  1206. case "NotSquareSubsetEqual":
  1207. // NOT SQUARE IMAGE OF OR EQUAL TO
  1208. return rune(0x22e2), true
  1209. case "NotSquareSuperset":
  1210. // SQUARE ORIGINAL OF with slash
  1211. return rune(0x2290), true
  1212. case "NotSquareSupersetEqual":
  1213. // NOT SQUARE ORIGINAL OF OR EQUAL TO
  1214. return rune(0x22e3), true
  1215. case "NotSubset":
  1216. // SUBSET OF with vertical line
  1217. return rune(0x2282), true
  1218. case "NotSubsetEqual":
  1219. // NEITHER A SUBSET OF NOR EQUAL TO
  1220. return rune(0x2288), true
  1221. case "NotSucceedsEqual":
  1222. // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
  1223. return rune(0x2ab0), true
  1224. case "NotSucceedsTilde":
  1225. // SUCCEEDS OR EQUIVALENT TO with slash
  1226. return rune(0x227f), true
  1227. case "NotSucceeds":
  1228. // DOES NOT SUCCEED
  1229. return rune(0x2281), true
  1230. case "NotSucceedsSlantEqual":
  1231. // DOES NOT SUCCEED OR EQUAL
  1232. return rune(0x22e1), true
  1233. case "NotSuperset":
  1234. // SUPERSET OF with vertical line
  1235. return rune(0x2283), true
  1236. case "NotSupersetEqual":
  1237. // NEITHER A SUPERSET OF NOR EQUAL TO
  1238. return rune(0x2289), true
  1239. case "Nscr":
  1240. // MATHEMATICAL SCRIPT CAPITAL N
  1241. return rune(0x01d4a9), true
  1242. case "Ntilde":
  1243. // LATIN CAPITAL LETTER N WITH TILDE
  1244. return rune(0xd1), true
  1245. case "Nu":
  1246. // GREEK CAPITAL LETTER NU
  1247. return rune(0x039d), true
  1248. }
  1249. case 'O':
  1250. switch name {
  1251. case "OElig":
  1252. // LATIN CAPITAL LIGATURE OE
  1253. return rune(0x0152), true
  1254. case "OHacgr":
  1255. // GREEK CAPITAL LETTER OMEGA WITH TONOS
  1256. return rune(0x038f), true
  1257. case "OHgr":
  1258. // GREEK CAPITAL LETTER OMEGA
  1259. return rune(0x03a9), true
  1260. case "Oacgr":
  1261. // GREEK CAPITAL LETTER OMICRON WITH TONOS
  1262. return rune(0x038c), true
  1263. case "Oacute":
  1264. // LATIN CAPITAL LETTER O WITH ACUTE
  1265. return rune(0xd3), true
  1266. case "Ocirc":
  1267. // LATIN CAPITAL LETTER O WITH CIRCUMFLEX
  1268. return rune(0xd4), true
  1269. case "Ocy":
  1270. // CYRILLIC CAPITAL LETTER O
  1271. return rune(0x041e), true
  1272. case "Odblac":
  1273. // LATIN CAPITAL LETTER O WITH DOUBLE ACUTE
  1274. return rune(0x0150), true
  1275. case "Ofr":
  1276. // MATHEMATICAL FRAKTUR CAPITAL O
  1277. return rune(0x01d512), true
  1278. case "Ograve":
  1279. // LATIN CAPITAL LETTER O WITH GRAVE
  1280. return rune(0xd2), true
  1281. case "Ogr":
  1282. // GREEK CAPITAL LETTER OMICRON
  1283. return rune(0x039f), true
  1284. case "Omacr":
  1285. // LATIN CAPITAL LETTER O WITH MACRON
  1286. return rune(0x014c), true
  1287. case "Omega":
  1288. // GREEK CAPITAL LETTER OMEGA
  1289. return rune(0x03a9), true
  1290. case "Omicron":
  1291. // GREEK CAPITAL LETTER OMICRON
  1292. return rune(0x039f), true
  1293. case "Oopf":
  1294. // MATHEMATICAL DOUBLE-STRUCK CAPITAL O
  1295. return rune(0x01d546), true
  1296. case "OpenCurlyDoubleQuote":
  1297. // LEFT DOUBLE QUOTATION MARK
  1298. return rune(0x201c), true
  1299. case "OpenCurlyQuote":
  1300. // LEFT SINGLE QUOTATION MARK
  1301. return rune(0x2018), true
  1302. case "Or":
  1303. // DOUBLE LOGICAL OR
  1304. return rune(0x2a54), true
  1305. case "Oscr":
  1306. // MATHEMATICAL SCRIPT CAPITAL O
  1307. return rune(0x01d4aa), true
  1308. case "Oslash":
  1309. // LATIN CAPITAL LETTER O WITH STROKE
  1310. return rune(0xd8), true
  1311. case "Otilde":
  1312. // LATIN CAPITAL LETTER O WITH TILDE
  1313. return rune(0xd5), true
  1314. case "Otimes":
  1315. // MULTIPLICATION SIGN IN DOUBLE CIRCLE
  1316. return rune(0x2a37), true
  1317. case "Ouml":
  1318. // LATIN CAPITAL LETTER O WITH DIAERESIS
  1319. return rune(0xd6), true
  1320. case "OverBar":
  1321. // OVERLINE
  1322. return rune(0x203e), true
  1323. case "OverBrace":
  1324. // TOP CURLY BRACKET
  1325. return rune(0x23de), true
  1326. case "OverBracket":
  1327. // TOP SQUARE BRACKET
  1328. return rune(0x23b4), true
  1329. case "OverParenthesis":
  1330. // TOP PARENTHESIS
  1331. return rune(0x23dc), true
  1332. }
  1333. case 'P':
  1334. switch name {
  1335. case "PHgr":
  1336. // GREEK CAPITAL LETTER PHI
  1337. return rune(0x03a6), true
  1338. case "PSgr":
  1339. // GREEK CAPITAL LETTER PSI
  1340. return rune(0x03a8), true
  1341. case "PartialD":
  1342. // PARTIAL DIFFERENTIAL
  1343. return rune(0x2202), true
  1344. case "Pcy":
  1345. // CYRILLIC CAPITAL LETTER PE
  1346. return rune(0x041f), true
  1347. case "Pfr":
  1348. // MATHEMATICAL FRAKTUR CAPITAL P
  1349. return rune(0x01d513), true
  1350. case "Pgr":
  1351. // GREEK CAPITAL LETTER PI
  1352. return rune(0x03a0), true
  1353. case "Phi":
  1354. // GREEK CAPITAL LETTER PHI
  1355. return rune(0x03a6), true
  1356. case "Pi":
  1357. // GREEK CAPITAL LETTER PI
  1358. return rune(0x03a0), true
  1359. case "PlusMinus":
  1360. // PLUS-MINUS SIGN
  1361. return rune(0xb1), true
  1362. case "Poincareplane":
  1363. // BLACK-LETTER CAPITAL H
  1364. return rune(0x210c), true
  1365. case "Popf":
  1366. // DOUBLE-STRUCK CAPITAL P
  1367. return rune(0x2119), true
  1368. case "Product":
  1369. // N-ARY PRODUCT
  1370. return rune(0x220f), true
  1371. case "Proportional":
  1372. // PROPORTIONAL TO
  1373. return rune(0x221d), true
  1374. case "Proportion":
  1375. // PROPORTION
  1376. return rune(0x2237), true
  1377. case "Pr":
  1378. // DOUBLE PRECEDES
  1379. return rune(0x2abb), true
  1380. case "PrecedesEqual":
  1381. // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
  1382. return rune(0x2aaf), true
  1383. case "Precedes":
  1384. // PRECEDES
  1385. return rune(0x227a), true
  1386. case "PrecedesSlantEqual":
  1387. // PRECEDES OR EQUAL TO
  1388. return rune(0x227c), true
  1389. case "PrecedesTilde":
  1390. // PRECEDES OR EQUIVALENT TO
  1391. return rune(0x227e), true
  1392. case "Prime":
  1393. // DOUBLE PRIME
  1394. return rune(0x2033), true
  1395. case "Pscr":
  1396. // MATHEMATICAL SCRIPT CAPITAL P
  1397. return rune(0x01d4ab), true
  1398. case "Psi":
  1399. // GREEK CAPITAL LETTER PSI
  1400. return rune(0x03a8), true
  1401. }
  1402. case 'Q':
  1403. switch name {
  1404. case "QUOT":
  1405. // QUOTATION MARK
  1406. return rune(0x22), true
  1407. case "Qfr":
  1408. // MATHEMATICAL FRAKTUR CAPITAL Q
  1409. return rune(0x01d514), true
  1410. case "Qopf":
  1411. // DOUBLE-STRUCK CAPITAL Q
  1412. return rune(0x211a), true
  1413. case "Qscr":
  1414. // MATHEMATICAL SCRIPT CAPITAL Q
  1415. return rune(0x01d4ac), true
  1416. }
  1417. case 'R':
  1418. switch name {
  1419. case "RBarr":
  1420. // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
  1421. return rune(0x2910), true
  1422. case "REG":
  1423. // REGISTERED SIGN
  1424. return rune(0xae), true
  1425. case "Racute":
  1426. // LATIN CAPITAL LETTER R WITH ACUTE
  1427. return rune(0x0154), true
  1428. case "Rang":
  1429. // MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET
  1430. return rune(0x27eb), true
  1431. case "Rarr":
  1432. // RIGHTWARDS TWO HEADED ARROW
  1433. return rune(0x21a0), true
  1434. case "Rarrtl":
  1435. // RIGHTWARDS TWO-HEADED ARROW WITH TAIL
  1436. return rune(0x2916), true
  1437. case "Rcaron":
  1438. // LATIN CAPITAL LETTER R WITH CARON
  1439. return rune(0x0158), true
  1440. case "Rcedil":
  1441. // LATIN CAPITAL LETTER R WITH CEDILLA
  1442. return rune(0x0156), true
  1443. case "Rcy":
  1444. // CYRILLIC CAPITAL LETTER ER
  1445. return rune(0x0420), true
  1446. case "ReverseElement":
  1447. // CONTAINS AS MEMBER
  1448. return rune(0x220b), true
  1449. case "ReverseEquilibrium":
  1450. // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  1451. return rune(0x21cb), true
  1452. case "Re":
  1453. // BLACK-LETTER CAPITAL R
  1454. return rune(0x211c), true
  1455. case "ReverseUpEquilibrium":
  1456. // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
  1457. return rune(0x296f), true
  1458. case "Rfr":
  1459. // BLACK-LETTER CAPITAL R
  1460. return rune(0x211c), true
  1461. case "Rgr":
  1462. // GREEK CAPITAL LETTER RHO
  1463. return rune(0x03a1), true
  1464. case "Rho":
  1465. // GREEK CAPITAL LETTER RHO
  1466. return rune(0x03a1), true
  1467. case "RightAngleBracket":
  1468. // MATHEMATICAL RIGHT ANGLE BRACKET
  1469. return rune(0x27e9), true
  1470. case "RightArrowBar":
  1471. // RIGHTWARDS ARROW TO BAR
  1472. return rune(0x21e5), true
  1473. case "RightArrow":
  1474. // RIGHTWARDS ARROW
  1475. return rune(0x2192), true
  1476. case "RightArrowLeftArrow":
  1477. // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  1478. return rune(0x21c4), true
  1479. case "RightCeiling":
  1480. // RIGHT CEILING
  1481. return rune(0x2309), true
  1482. case "RightDoubleBracket":
  1483. // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
  1484. return rune(0x27e7), true
  1485. case "RightDownTeeVector":
  1486. // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
  1487. return rune(0x295d), true
  1488. case "RightDownVector":
  1489. // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
  1490. return rune(0x21c2), true
  1491. case "RightDownVectorBar":
  1492. // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
  1493. return rune(0x2955), true
  1494. case "RightFloor":
  1495. // RIGHT FLOOR
  1496. return rune(0x230b), true
  1497. case "RightTeeArrow":
  1498. // RIGHTWARDS ARROW FROM BAR
  1499. return rune(0x21a6), true
  1500. case "RightTeeVector":
  1501. // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
  1502. return rune(0x295b), true
  1503. case "RightTee":
  1504. // RIGHT TACK
  1505. return rune(0x22a2), true
  1506. case "RightTriangleBar":
  1507. // VERTICAL BAR BESIDE RIGHT TRIANGLE
  1508. return rune(0x29d0), true
  1509. case "RightTriangle":
  1510. // CONTAINS AS NORMAL SUBGROUP
  1511. return rune(0x22b3), true
  1512. case "RightTriangleEqual":
  1513. // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
  1514. return rune(0x22b5), true
  1515. case "RightUpDownVector":
  1516. // UP BARB RIGHT DOWN BARB RIGHT HARPOON
  1517. return rune(0x294f), true
  1518. case "RightUpTeeVector":
  1519. // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
  1520. return rune(0x295c), true
  1521. case "RightUpVector":
  1522. // UPWARDS HARPOON WITH BARB RIGHTWARDS
  1523. return rune(0x21be), true
  1524. case "RightUpVectorBar":
  1525. // UPWARDS HARPOON WITH BARB RIGHT TO BAR
  1526. return rune(0x2954), true
  1527. case "RightVector":
  1528. // RIGHTWARDS HARPOON WITH BARB UPWARDS
  1529. return rune(0x21c0), true
  1530. case "RightVectorBar":
  1531. // RIGHTWARDS HARPOON WITH BARB UP TO BAR
  1532. return rune(0x2953), true
  1533. case "Rightarrow":
  1534. // RIGHTWARDS DOUBLE ARROW
  1535. return rune(0x21d2), true
  1536. case "Ropf":
  1537. // DOUBLE-STRUCK CAPITAL R
  1538. return rune(0x211d), true
  1539. case "RoundImplies":
  1540. // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
  1541. return rune(0x2970), true
  1542. case "Rrightarrow":
  1543. // RIGHTWARDS TRIPLE ARROW
  1544. return rune(0x21db), true
  1545. case "Rscr":
  1546. // SCRIPT CAPITAL R
  1547. return rune(0x211b), true
  1548. case "Rsh":
  1549. // UPWARDS ARROW WITH TIP RIGHTWARDS
  1550. return rune(0x21b1), true
  1551. case "RuleDelayed":
  1552. // RULE-DELAYED
  1553. return rune(0x29f4), true
  1554. }
  1555. case 'S':
  1556. switch name {
  1557. case "SHCHcy":
  1558. // CYRILLIC CAPITAL LETTER SHCHA
  1559. return rune(0x0429), true
  1560. case "SHcy":
  1561. // CYRILLIC CAPITAL LETTER SHA
  1562. return rune(0x0428), true
  1563. case "SOFTcy":
  1564. // CYRILLIC CAPITAL LETTER SOFT SIGN
  1565. return rune(0x042c), true
  1566. case "Sacute":
  1567. // LATIN CAPITAL LETTER S WITH ACUTE
  1568. return rune(0x015a), true
  1569. case "Sc":
  1570. // DOUBLE SUCCEEDS
  1571. return rune(0x2abc), true
  1572. case "Scaron":
  1573. // LATIN CAPITAL LETTER S WITH CARON
  1574. return rune(0x0160), true
  1575. case "Scedil":
  1576. // LATIN CAPITAL LETTER S WITH CEDILLA
  1577. return rune(0x015e), true
  1578. case "Scirc":
  1579. // LATIN CAPITAL LETTER S WITH CIRCUMFLEX
  1580. return rune(0x015c), true
  1581. case "Scy":
  1582. // CYRILLIC CAPITAL LETTER ES
  1583. return rune(0x0421), true
  1584. case "Sfr":
  1585. // MATHEMATICAL FRAKTUR CAPITAL S
  1586. return rune(0x01d516), true
  1587. case "Sgr":
  1588. // GREEK CAPITAL LETTER SIGMA
  1589. return rune(0x03a3), true
  1590. case "ShortDownArrow":
  1591. // DOWNWARDS ARROW
  1592. return rune(0x2193), true
  1593. case "ShortLeftArrow":
  1594. // LEFTWARDS ARROW
  1595. return rune(0x2190), true
  1596. case "ShortRightArrow":
  1597. // RIGHTWARDS ARROW
  1598. return rune(0x2192), true
  1599. case "ShortUpArrow":
  1600. // UPWARDS ARROW
  1601. return rune(0x2191), true
  1602. case "Sigma":
  1603. // GREEK CAPITAL LETTER SIGMA
  1604. return rune(0x03a3), true
  1605. case "SmallCircle":
  1606. // RING OPERATOR
  1607. return rune(0x2218), true
  1608. case "Sopf":
  1609. // MATHEMATICAL DOUBLE-STRUCK CAPITAL S
  1610. return rune(0x01d54a), true
  1611. case "Sqrt":
  1612. // SQUARE ROOT
  1613. return rune(0x221a), true
  1614. case "SquareIntersection":
  1615. // SQUARE CAP
  1616. return rune(0x2293), true
  1617. case "SquareSubset":
  1618. // SQUARE IMAGE OF
  1619. return rune(0x228f), true
  1620. case "SquareSubsetEqual":
  1621. // SQUARE IMAGE OF OR EQUAL TO
  1622. return rune(0x2291), true
  1623. case "Square":
  1624. // WHITE SQUARE
  1625. return rune(0x25a1), true
  1626. case "SquareSuperset":
  1627. // SQUARE ORIGINAL OF
  1628. return rune(0x2290), true
  1629. case "SquareSupersetEqual":
  1630. // SQUARE ORIGINAL OF OR EQUAL TO
  1631. return rune(0x2292), true
  1632. case "SquareUnion":
  1633. // SQUARE CUP
  1634. return rune(0x2294), true
  1635. case "Sscr":
  1636. // MATHEMATICAL SCRIPT CAPITAL S
  1637. return rune(0x01d4ae), true
  1638. case "Star":
  1639. // STAR OPERATOR
  1640. return rune(0x22c6), true
  1641. case "Sub":
  1642. // DOUBLE SUBSET
  1643. return rune(0x22d0), true
  1644. case "Subset":
  1645. // DOUBLE SUBSET
  1646. return rune(0x22d0), true
  1647. case "SubsetEqual":
  1648. // SUBSET OF OR EQUAL TO
  1649. return rune(0x2286), true
  1650. case "Succeeds":
  1651. // SUCCEEDS
  1652. return rune(0x227b), true
  1653. case "SucceedsEqual":
  1654. // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
  1655. return rune(0x2ab0), true
  1656. case "SucceedsSlantEqual":
  1657. // SUCCEEDS OR EQUAL TO
  1658. return rune(0x227d), true
  1659. case "SucceedsTilde":
  1660. // SUCCEEDS OR EQUIVALENT TO
  1661. return rune(0x227f), true
  1662. case "SuchThat":
  1663. // CONTAINS AS MEMBER
  1664. return rune(0x220b), true
  1665. case "Sum":
  1666. // N-ARY SUMMATION
  1667. return rune(0x2211), true
  1668. case "SupersetEqual":
  1669. // SUPERSET OF OR EQUAL TO
  1670. return rune(0x2287), true
  1671. case "Sup":
  1672. // DOUBLE SUPERSET
  1673. return rune(0x22d1), true
  1674. case "Superset":
  1675. // SUPERSET OF
  1676. return rune(0x2283), true
  1677. case "Supset":
  1678. // DOUBLE SUPERSET
  1679. return rune(0x22d1), true
  1680. }
  1681. case 'T':
  1682. switch name {
  1683. case "THORN":
  1684. // LATIN CAPITAL LETTER THORN
  1685. return rune(0xde), true
  1686. case "THgr":
  1687. // GREEK CAPITAL LETTER THETA
  1688. return rune(0x0398), true
  1689. case "TRADE":
  1690. // TRADE MARK SIGN
  1691. return rune(0x2122), true
  1692. case "TSHcy":
  1693. // CYRILLIC CAPITAL LETTER TSHE
  1694. return rune(0x040b), true
  1695. case "TScy":
  1696. // CYRILLIC CAPITAL LETTER TSE
  1697. return rune(0x0426), true
  1698. case "Tab":
  1699. // CHARACTER TABULATION
  1700. return rune(0x09), true
  1701. case "Tau":
  1702. // GREEK CAPITAL LETTER TAU
  1703. return rune(0x03a4), true
  1704. case "Tcaron":
  1705. // LATIN CAPITAL LETTER T WITH CARON
  1706. return rune(0x0164), true
  1707. case "Tcedil":
  1708. // LATIN CAPITAL LETTER T WITH CEDILLA
  1709. return rune(0x0162), true
  1710. case "Tcy":
  1711. // CYRILLIC CAPITAL LETTER TE
  1712. return rune(0x0422), true
  1713. case "Tfr":
  1714. // MATHEMATICAL FRAKTUR CAPITAL T
  1715. return rune(0x01d517), true
  1716. case "Tgr":
  1717. // GREEK CAPITAL LETTER TAU
  1718. return rune(0x03a4), true
  1719. case "Therefore":
  1720. // THEREFORE
  1721. return rune(0x2234), true
  1722. case "Theta":
  1723. // GREEK CAPITAL LETTER THETA
  1724. return rune(0x0398), true
  1725. case "Thetav":
  1726. // GREEK CAPITAL THETA SYMBOL
  1727. return rune(0x03f4), true
  1728. case "ThickSpace":
  1729. // space of width 5/18 em
  1730. return rune(0x205f), true
  1731. case "ThinSpace":
  1732. // THIN SPACE
  1733. return rune(0x2009), true
  1734. case "Tilde":
  1735. // TILDE OPERATOR
  1736. return rune(0x223c), true
  1737. case "TildeEqual":
  1738. // ASYMPTOTICALLY EQUAL TO
  1739. return rune(0x2243), true
  1740. case "TildeFullEqual":
  1741. // APPROXIMATELY EQUAL TO
  1742. return rune(0x2245), true
  1743. case "TildeTilde":
  1744. // ALMOST EQUAL TO
  1745. return rune(0x2248), true
  1746. case "Topf":
  1747. // MATHEMATICAL DOUBLE-STRUCK CAPITAL T
  1748. return rune(0x01d54b), true
  1749. case "TripleDot":
  1750. // COMBINING THREE DOTS ABOVE
  1751. return rune(0x20db), true
  1752. case "Tscr":
  1753. // MATHEMATICAL SCRIPT CAPITAL T
  1754. return rune(0x01d4af), true
  1755. case "Tstrok":
  1756. // LATIN CAPITAL LETTER T WITH STROKE
  1757. return rune(0x0166), true
  1758. }
  1759. case 'U':
  1760. switch name {
  1761. case "Uacgr":
  1762. // GREEK CAPITAL LETTER UPSILON WITH TONOS
  1763. return rune(0x038e), true
  1764. case "Uacute":
  1765. // LATIN CAPITAL LETTER U WITH ACUTE
  1766. return rune(0xda), true
  1767. case "Uarrocir":
  1768. // UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE
  1769. return rune(0x2949), true
  1770. case "Uarr":
  1771. // UPWARDS TWO HEADED ARROW
  1772. return rune(0x219f), true
  1773. case "Ubrcy":
  1774. // CYRILLIC CAPITAL LETTER SHORT U
  1775. return rune(0x040e), true
  1776. case "Ubreve":
  1777. // LATIN CAPITAL LETTER U WITH BREVE
  1778. return rune(0x016c), true
  1779. case "Ucirc":
  1780. // LATIN CAPITAL LETTER U WITH CIRCUMFLEX
  1781. return rune(0xdb), true
  1782. case "Ucy":
  1783. // CYRILLIC CAPITAL LETTER U
  1784. return rune(0x0423), true
  1785. case "Udblac":
  1786. // LATIN CAPITAL LETTER U WITH DOUBLE ACUTE
  1787. return rune(0x0170), true
  1788. case "Udigr":
  1789. // GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA
  1790. return rune(0x03ab), true
  1791. case "Ufr":
  1792. // MATHEMATICAL FRAKTUR CAPITAL U
  1793. return rune(0x01d518), true
  1794. case "Ugrave":
  1795. // LATIN CAPITAL LETTER U WITH GRAVE
  1796. return rune(0xd9), true
  1797. case "Ugr":
  1798. // GREEK CAPITAL LETTER UPSILON
  1799. return rune(0x03a5), true
  1800. case "Umacr":
  1801. // LATIN CAPITAL LETTER U WITH MACRON
  1802. return rune(0x016a), true
  1803. case "UnderBar":
  1804. // LOW LINE
  1805. return rune(0x5f), true
  1806. case "UnderBrace":
  1807. // BOTTOM CURLY BRACKET
  1808. return rune(0x23df), true
  1809. case "UnderBracket":
  1810. // BOTTOM SQUARE BRACKET
  1811. return rune(0x23b5), true
  1812. case "UnderParenthesis":
  1813. // BOTTOM PARENTHESIS
  1814. return rune(0x23dd), true
  1815. case "Union":
  1816. // N-ARY UNION
  1817. return rune(0x22c3), true
  1818. case "UnionPlus":
  1819. // MULTISET UNION
  1820. return rune(0x228e), true
  1821. case "Uogon":
  1822. // LATIN CAPITAL LETTER U WITH OGONEK
  1823. return rune(0x0172), true
  1824. case "Uopf":
  1825. // MATHEMATICAL DOUBLE-STRUCK CAPITAL U
  1826. return rune(0x01d54c), true
  1827. case "UpArrow":
  1828. // UPWARDS ARROW
  1829. return rune(0x2191), true
  1830. case "UpArrowBar":
  1831. // UPWARDS ARROW TO BAR
  1832. return rune(0x2912), true
  1833. case "UpArrowDownArrow":
  1834. // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
  1835. return rune(0x21c5), true
  1836. case "UpDownArrow":
  1837. // UP DOWN ARROW
  1838. return rune(0x2195), true
  1839. case "UpEquilibrium":
  1840. // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
  1841. return rune(0x296e), true
  1842. case "UpTee":
  1843. // UP TACK
  1844. return rune(0x22a5), true
  1845. case "UpTeeArrow":
  1846. // UPWARDS ARROW FROM BAR
  1847. return rune(0x21a5), true
  1848. case "Uparrow":
  1849. // UPWARDS DOUBLE ARROW
  1850. return rune(0x21d1), true
  1851. case "Updownarrow":
  1852. // UP DOWN DOUBLE ARROW
  1853. return rune(0x21d5), true
  1854. case "UpperLeftArrow":
  1855. // NORTH WEST ARROW
  1856. return rune(0x2196), true
  1857. case "UpperRightArrow":
  1858. // NORTH EAST ARROW
  1859. return rune(0x2197), true
  1860. case "Upsilon":
  1861. // GREEK CAPITAL LETTER UPSILON
  1862. return rune(0x03a5), true
  1863. case "Upsi":
  1864. // GREEK UPSILON WITH HOOK SYMBOL
  1865. return rune(0x03d2), true
  1866. case "Uring":
  1867. // LATIN CAPITAL LETTER U WITH RING ABOVE
  1868. return rune(0x016e), true
  1869. case "Uscr":
  1870. // MATHEMATICAL SCRIPT CAPITAL U
  1871. return rune(0x01d4b0), true
  1872. case "Utilde":
  1873. // LATIN CAPITAL LETTER U WITH TILDE
  1874. return rune(0x0168), true
  1875. case "Uuml":
  1876. // LATIN CAPITAL LETTER U WITH DIAERESIS
  1877. return rune(0xdc), true
  1878. }
  1879. case 'V':
  1880. switch name {
  1881. case "VDash":
  1882. // DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
  1883. return rune(0x22ab), true
  1884. case "Vbar":
  1885. // DOUBLE UP TACK
  1886. return rune(0x2aeb), true
  1887. case "Vcy":
  1888. // CYRILLIC CAPITAL LETTER VE
  1889. return rune(0x0412), true
  1890. case "Vdashl":
  1891. // LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL
  1892. return rune(0x2ae6), true
  1893. case "Vdash":
  1894. // FORCES
  1895. return rune(0x22a9), true
  1896. case "Vee":
  1897. // N-ARY LOGICAL OR
  1898. return rune(0x22c1), true
  1899. case "Verbar":
  1900. // DOUBLE VERTICAL LINE
  1901. return rune(0x2016), true
  1902. case "Vert":
  1903. // DOUBLE VERTICAL LINE
  1904. return rune(0x2016), true
  1905. case "VerticalBar":
  1906. // DIVIDES
  1907. return rune(0x2223), true
  1908. case "VerticalLine":
  1909. // VERTICAL LINE
  1910. return rune(0x7c), true
  1911. case "VerticalSeparator":
  1912. // LIGHT VERTICAL BAR
  1913. return rune(0x2758), true
  1914. case "VerticalTilde":
  1915. // WREATH PRODUCT
  1916. return rune(0x2240), true
  1917. case "VeryThinSpace":
  1918. // HAIR SPACE
  1919. return rune(0x200a), true
  1920. case "Vfr":
  1921. // MATHEMATICAL FRAKTUR CAPITAL V
  1922. return rune(0x01d519), true
  1923. case "Vopf":
  1924. // MATHEMATICAL DOUBLE-STRUCK CAPITAL V
  1925. return rune(0x01d54d), true
  1926. case "Vscr":
  1927. // MATHEMATICAL SCRIPT CAPITAL V
  1928. return rune(0x01d4b1), true
  1929. case "Vvdash":
  1930. // TRIPLE VERTICAL BAR RIGHT TURNSTILE
  1931. return rune(0x22aa), true
  1932. }
  1933. case 'W':
  1934. switch name {
  1935. case "Wcirc":
  1936. // LATIN CAPITAL LETTER W WITH CIRCUMFLEX
  1937. return rune(0x0174), true
  1938. case "Wedge":
  1939. // N-ARY LOGICAL AND
  1940. return rune(0x22c0), true
  1941. case "Wfr":
  1942. // MATHEMATICAL FRAKTUR CAPITAL W
  1943. return rune(0x01d51a), true
  1944. case "Wopf":
  1945. // MATHEMATICAL DOUBLE-STRUCK CAPITAL W
  1946. return rune(0x01d54e), true
  1947. case "Wscr":
  1948. // MATHEMATICAL SCRIPT CAPITAL W
  1949. return rune(0x01d4b2), true
  1950. }
  1951. case 'X':
  1952. switch name {
  1953. case "Xfr":
  1954. // MATHEMATICAL FRAKTUR CAPITAL X
  1955. return rune(0x01d51b), true
  1956. case "Xgr":
  1957. // GREEK CAPITAL LETTER XI
  1958. return rune(0x039e), true
  1959. case "Xi":
  1960. // GREEK CAPITAL LETTER XI
  1961. return rune(0x039e), true
  1962. case "Xopf":
  1963. // MATHEMATICAL DOUBLE-STRUCK CAPITAL X
  1964. return rune(0x01d54f), true
  1965. case "Xscr":
  1966. // MATHEMATICAL SCRIPT CAPITAL X
  1967. return rune(0x01d4b3), true
  1968. }
  1969. case 'Y':
  1970. switch name {
  1971. case "YAcy":
  1972. // CYRILLIC CAPITAL LETTER YA
  1973. return rune(0x042f), true
  1974. case "YIcy":
  1975. // CYRILLIC CAPITAL LETTER YI
  1976. return rune(0x0407), true
  1977. case "YUcy":
  1978. // CYRILLIC CAPITAL LETTER YU
  1979. return rune(0x042e), true
  1980. case "Yacute":
  1981. // LATIN CAPITAL LETTER Y WITH ACUTE
  1982. return rune(0xdd), true
  1983. case "Ycirc":
  1984. // LATIN CAPITAL LETTER Y WITH CIRCUMFLEX
  1985. return rune(0x0176), true
  1986. case "Ycy":
  1987. // CYRILLIC CAPITAL LETTER YERU
  1988. return rune(0x042b), true
  1989. case "Yfr":
  1990. // MATHEMATICAL FRAKTUR CAPITAL Y
  1991. return rune(0x01d51c), true
  1992. case "Yopf":
  1993. // MATHEMATICAL DOUBLE-STRUCK CAPITAL Y
  1994. return rune(0x01d550), true
  1995. case "Yscr":
  1996. // MATHEMATICAL SCRIPT CAPITAL Y
  1997. return rune(0x01d4b4), true
  1998. case "Yuml":
  1999. // LATIN CAPITAL LETTER Y WITH DIAERESIS
  2000. return rune(0x0178), true
  2001. }
  2002. case 'Z':
  2003. switch name {
  2004. case "ZHcy":
  2005. // CYRILLIC CAPITAL LETTER ZHE
  2006. return rune(0x0416), true
  2007. case "Zacute":
  2008. // LATIN CAPITAL LETTER Z WITH ACUTE
  2009. return rune(0x0179), true
  2010. case "Zcaron":
  2011. // LATIN CAPITAL LETTER Z WITH CARON
  2012. return rune(0x017d), true
  2013. case "Zcy":
  2014. // CYRILLIC CAPITAL LETTER ZE
  2015. return rune(0x0417), true
  2016. case "Zdot":
  2017. // LATIN CAPITAL LETTER Z WITH DOT ABOVE
  2018. return rune(0x017b), true
  2019. case "ZeroWidthSpace":
  2020. // ZERO WIDTH SPACE
  2021. return rune(0x200b), true
  2022. case "Zeta":
  2023. // GREEK CAPITAL LETTER ZETA
  2024. return rune(0x0396), true
  2025. case "Zfr":
  2026. // BLACK-LETTER CAPITAL Z
  2027. return rune(0x2128), true
  2028. case "Zgr":
  2029. // GREEK CAPITAL LETTER ZETA
  2030. return rune(0x0396), true
  2031. case "Zopf":
  2032. // DOUBLE-STRUCK CAPITAL Z
  2033. return rune(0x2124), true
  2034. case "Zscr":
  2035. // MATHEMATICAL SCRIPT CAPITAL Z
  2036. return rune(0x01d4b5), true
  2037. }
  2038. case 'a':
  2039. switch name {
  2040. case "aacgr":
  2041. // GREEK SMALL LETTER ALPHA WITH TONOS
  2042. return rune(0x03ac), true
  2043. case "aacute":
  2044. // LATIN SMALL LETTER A WITH ACUTE
  2045. return rune(0xe1), true
  2046. case "abreve":
  2047. // LATIN SMALL LETTER A WITH BREVE
  2048. return rune(0x0103), true
  2049. case "acE":
  2050. // INVERTED LAZY S with double underline
  2051. return rune(0x223e), true
  2052. case "acd":
  2053. // SINE WAVE
  2054. return rune(0x223f), true
  2055. case "acute":
  2056. // ACUTE ACCENT
  2057. return rune(0xb4), true
  2058. case "ac":
  2059. // INVERTED LAZY S
  2060. return rune(0x223e), true
  2061. case "acirc":
  2062. // LATIN SMALL LETTER A WITH CIRCUMFLEX
  2063. return rune(0xe2), true
  2064. case "actuary":
  2065. // COMBINING ANNUITY SYMBOL
  2066. return rune(0x20e7), true
  2067. case "acy":
  2068. // CYRILLIC SMALL LETTER A
  2069. return rune(0x0430), true
  2070. case "aelig":
  2071. // LATIN SMALL LETTER AE
  2072. return rune(0xe6), true
  2073. case "af":
  2074. // FUNCTION APPLICATION
  2075. return rune(0x2061), true
  2076. case "afr":
  2077. // MATHEMATICAL FRAKTUR SMALL A
  2078. return rune(0x01d51e), true
  2079. case "agr":
  2080. // GREEK SMALL LETTER ALPHA
  2081. return rune(0x03b1), true
  2082. case "agrave":
  2083. // LATIN SMALL LETTER A WITH GRAVE
  2084. return rune(0xe0), true
  2085. case "alefsym":
  2086. // ALEF SYMBOL
  2087. return rune(0x2135), true
  2088. case "aleph":
  2089. // ALEF SYMBOL
  2090. return rune(0x2135), true
  2091. case "alpha":
  2092. // GREEK SMALL LETTER ALPHA
  2093. return rune(0x03b1), true
  2094. case "amacr":
  2095. // LATIN SMALL LETTER A WITH MACRON
  2096. return rune(0x0101), true
  2097. case "amalg":
  2098. // AMALGAMATION OR COPRODUCT
  2099. return rune(0x2a3f), true
  2100. case "amp":
  2101. // AMPERSAND
  2102. return rune(0x26), true
  2103. case "andand":
  2104. // TWO INTERSECTING LOGICAL AND
  2105. return rune(0x2a55), true
  2106. case "andd":
  2107. // LOGICAL AND WITH HORIZONTAL DASH
  2108. return rune(0x2a5c), true
  2109. case "andslope":
  2110. // SLOPING LARGE AND
  2111. return rune(0x2a58), true
  2112. case "andv":
  2113. // LOGICAL AND WITH MIDDLE STEM
  2114. return rune(0x2a5a), true
  2115. case "and":
  2116. // LOGICAL AND
  2117. return rune(0x2227), true
  2118. case "angdnl":
  2119. // TURNED ANGLE
  2120. return rune(0x29a2), true
  2121. case "angdnr":
  2122. // ACUTE ANGLE
  2123. return rune(0x299f), true
  2124. case "ange":
  2125. // ANGLE WITH UNDERBAR
  2126. return rune(0x29a4), true
  2127. case "angles":
  2128. // ANGLE WITH S INSIDE
  2129. return rune(0x299e), true
  2130. case "angle":
  2131. // ANGLE
  2132. return rune(0x2220), true
  2133. case "angmsdaa":
  2134. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT
  2135. return rune(0x29a8), true
  2136. case "angmsdab":
  2137. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT
  2138. return rune(0x29a9), true
  2139. case "angmsdac":
  2140. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT
  2141. return rune(0x29aa), true
  2142. case "angmsdad":
  2143. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT
  2144. return rune(0x29ab), true
  2145. case "angmsdae":
  2146. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP
  2147. return rune(0x29ac), true
  2148. case "angmsdaf":
  2149. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP
  2150. return rune(0x29ad), true
  2151. case "angmsdag":
  2152. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN
  2153. return rune(0x29ae), true
  2154. case "angmsdah":
  2155. // MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN
  2156. return rune(0x29af), true
  2157. case "angmsd":
  2158. // MEASURED ANGLE
  2159. return rune(0x2221), true
  2160. case "angrtvbd":
  2161. // MEASURED RIGHT ANGLE WITH DOT
  2162. return rune(0x299d), true
  2163. case "angrtvb":
  2164. // RIGHT ANGLE WITH ARC
  2165. return rune(0x22be), true
  2166. case "angsph":
  2167. // SPHERICAL ANGLE
  2168. return rune(0x2222), true
  2169. case "angst":
  2170. // LATIN CAPITAL LETTER A WITH RING ABOVE
  2171. return rune(0xc5), true
  2172. case "angupl":
  2173. // REVERSED ANGLE
  2174. return rune(0x29a3), true
  2175. case "angzarr":
  2176. // RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW
  2177. return rune(0x237c), true
  2178. case "ang":
  2179. // ANGLE
  2180. return rune(0x2220), true
  2181. case "ang90":
  2182. // RIGHT ANGLE
  2183. return rune(0x221f), true
  2184. case "angrt":
  2185. // RIGHT ANGLE
  2186. return rune(0x221f), true
  2187. case "aogon":
  2188. // LATIN SMALL LETTER A WITH OGONEK
  2189. return rune(0x0105), true
  2190. case "aopf":
  2191. // MATHEMATICAL DOUBLE-STRUCK SMALL A
  2192. return rune(0x01d552), true
  2193. case "apE":
  2194. // APPROXIMATELY EQUAL OR EQUAL TO
  2195. return rune(0x2a70), true
  2196. case "apacir":
  2197. // ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT
  2198. return rune(0x2a6f), true
  2199. case "ape":
  2200. // ALMOST EQUAL OR EQUAL TO
  2201. return rune(0x224a), true
  2202. case "apid":
  2203. // TRIPLE TILDE
  2204. return rune(0x224b), true
  2205. case "approxeq":
  2206. // ALMOST EQUAL OR EQUAL TO
  2207. return rune(0x224a), true
  2208. case "approx":
  2209. // ALMOST EQUAL TO
  2210. return rune(0x2248), true
  2211. case "ap":
  2212. // ALMOST EQUAL TO
  2213. return rune(0x2248), true
  2214. case "apos":
  2215. // APOSTROPHE
  2216. return rune(0x27), true
  2217. case "aring":
  2218. // LATIN SMALL LETTER A WITH RING ABOVE
  2219. return rune(0xe5), true
  2220. case "arrllsr":
  2221. // LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW
  2222. return rune(0x2943), true
  2223. case "arrlrsl":
  2224. // RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW
  2225. return rune(0x2942), true
  2226. case "arrsrll":
  2227. // SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW
  2228. return rune(0x2944), true
  2229. case "ascr":
  2230. // MATHEMATICAL SCRIPT SMALL A
  2231. return rune(0x01d4b6), true
  2232. case "astb":
  2233. // SQUARED ASTERISK
  2234. return rune(0x29c6), true
  2235. case "ast":
  2236. // ASTERISK
  2237. return rune(0x2a), true
  2238. case "asympeq":
  2239. // EQUIVALENT TO
  2240. return rune(0x224d), true
  2241. case "asymp":
  2242. // ALMOST EQUAL TO
  2243. return rune(0x2248), true
  2244. case "atilde":
  2245. // LATIN SMALL LETTER A WITH TILDE
  2246. return rune(0xe3), true
  2247. case "auml":
  2248. // LATIN SMALL LETTER A WITH DIAERESIS
  2249. return rune(0xe4), true
  2250. case "awconint":
  2251. // ANTICLOCKWISE CONTOUR INTEGRAL
  2252. return rune(0x2233), true
  2253. case "awint":
  2254. // ANTICLOCKWISE INTEGRATION
  2255. return rune(0x2a11), true
  2256. }
  2257. case 'b':
  2258. switch name {
  2259. case "b.Delta":
  2260. // MATHEMATICAL BOLD CAPITAL DELTA
  2261. return rune(0x01d6ab), true
  2262. case "b.Gamma":
  2263. // MATHEMATICAL BOLD CAPITAL GAMMA
  2264. return rune(0x01d6aa), true
  2265. case "b.Gammad":
  2266. // MATHEMATICAL BOLD CAPITAL DIGAMMA
  2267. return rune(0x01d7ca), true
  2268. case "b.Lambda":
  2269. // MATHEMATICAL BOLD CAPITAL LAMDA
  2270. return rune(0x01d6b2), true
  2271. case "b.Omega":
  2272. // MATHEMATICAL BOLD CAPITAL OMEGA
  2273. return rune(0x01d6c0), true
  2274. case "b.Phi":
  2275. // MATHEMATICAL BOLD CAPITAL PHI
  2276. return rune(0x01d6bd), true
  2277. case "b.Pi":
  2278. // MATHEMATICAL BOLD CAPITAL PI
  2279. return rune(0x01d6b7), true
  2280. case "b.Psi":
  2281. // MATHEMATICAL BOLD CAPITAL PSI
  2282. return rune(0x01d6bf), true
  2283. case "b.Sigma":
  2284. // MATHEMATICAL BOLD CAPITAL SIGMA
  2285. return rune(0x01d6ba), true
  2286. case "b.Theta":
  2287. // MATHEMATICAL BOLD CAPITAL THETA
  2288. return rune(0x01d6af), true
  2289. case "b.Upsi":
  2290. // MATHEMATICAL BOLD CAPITAL UPSILON
  2291. return rune(0x01d6bc), true
  2292. case "b.Xi":
  2293. // MATHEMATICAL BOLD CAPITAL XI
  2294. return rune(0x01d6b5), true
  2295. case "b.alpha":
  2296. // MATHEMATICAL BOLD SMALL ALPHA
  2297. return rune(0x01d6c2), true
  2298. case "b.beta":
  2299. // MATHEMATICAL BOLD SMALL BETA
  2300. return rune(0x01d6c3), true
  2301. case "b.chi":
  2302. // MATHEMATICAL BOLD SMALL CHI
  2303. return rune(0x01d6d8), true
  2304. case "b.delta":
  2305. // MATHEMATICAL BOLD SMALL DELTA
  2306. return rune(0x01d6c5), true
  2307. case "b.epsi":
  2308. // MATHEMATICAL BOLD SMALL EPSILON
  2309. return rune(0x01d6c6), true
  2310. case "b.epsiv":
  2311. // MATHEMATICAL BOLD EPSILON SYMBOL
  2312. return rune(0x01d6dc), true
  2313. case "b.eta":
  2314. // MATHEMATICAL BOLD SMALL ETA
  2315. return rune(0x01d6c8), true
  2316. case "b.gammad":
  2317. // MATHEMATICAL BOLD SMALL DIGAMMA
  2318. return rune(0x01d7cb), true
  2319. case "b.gamma":
  2320. // MATHEMATICAL BOLD SMALL GAMMA
  2321. return rune(0x01d6c4), true
  2322. case "b.iota":
  2323. // MATHEMATICAL BOLD SMALL IOTA
  2324. return rune(0x01d6ca), true
  2325. case "b.kappa":
  2326. // MATHEMATICAL BOLD SMALL KAPPA
  2327. return rune(0x01d6cb), true
  2328. case "b.kappav":
  2329. // MATHEMATICAL BOLD KAPPA SYMBOL
  2330. return rune(0x01d6de), true
  2331. case "b.lambda":
  2332. // MATHEMATICAL BOLD SMALL LAMDA
  2333. return rune(0x01d6cc), true
  2334. case "b.mu":
  2335. // MATHEMATICAL BOLD SMALL MU
  2336. return rune(0x01d6cd), true
  2337. case "b.nu":
  2338. // MATHEMATICAL BOLD SMALL NU
  2339. return rune(0x01d6ce), true
  2340. case "b.omega":
  2341. // MATHEMATICAL BOLD SMALL OMEGA
  2342. return rune(0x01d6da), true
  2343. case "b.phi":
  2344. // MATHEMATICAL BOLD SMALL PHI
  2345. return rune(0x01d6d7), true
  2346. case "b.phiv":
  2347. // MATHEMATICAL BOLD PHI SYMBOL
  2348. return rune(0x01d6df), true
  2349. case "b.pi":
  2350. // MATHEMATICAL BOLD SMALL PI
  2351. return rune(0x01d6d1), true
  2352. case "b.piv":
  2353. // MATHEMATICAL BOLD PI SYMBOL
  2354. return rune(0x01d6e1), true
  2355. case "b.psi":
  2356. // MATHEMATICAL BOLD SMALL PSI
  2357. return rune(0x01d6d9), true
  2358. case "b.rho":
  2359. // MATHEMATICAL BOLD SMALL RHO
  2360. return rune(0x01d6d2), true
  2361. case "b.rhov":
  2362. // MATHEMATICAL BOLD RHO SYMBOL
  2363. return rune(0x01d6e0), true
  2364. case "b.sigmav":
  2365. // MATHEMATICAL BOLD SMALL FINAL SIGMA
  2366. return rune(0x01d6d3), true
  2367. case "b.sigma":
  2368. // MATHEMATICAL BOLD SMALL SIGMA
  2369. return rune(0x01d6d4), true
  2370. case "b.tau":
  2371. // MATHEMATICAL BOLD SMALL TAU
  2372. return rune(0x01d6d5), true
  2373. case "b.thetas":
  2374. // MATHEMATICAL BOLD SMALL THETA
  2375. return rune(0x01d6c9), true
  2376. case "b.thetav":
  2377. // MATHEMATICAL BOLD THETA SYMBOL
  2378. return rune(0x01d6dd), true
  2379. case "b.upsi":
  2380. // MATHEMATICAL BOLD SMALL UPSILON
  2381. return rune(0x01d6d6), true
  2382. case "b.xi":
  2383. // MATHEMATICAL BOLD SMALL XI
  2384. return rune(0x01d6cf), true
  2385. case "b.zeta":
  2386. // MATHEMATICAL BOLD SMALL ZETA
  2387. return rune(0x01d6c7), true
  2388. case "bNot":
  2389. // REVERSED DOUBLE STROKE NOT SIGN
  2390. return rune(0x2aed), true
  2391. case "backcong":
  2392. // ALL EQUAL TO
  2393. return rune(0x224c), true
  2394. case "backepsilon":
  2395. // GREEK REVERSED LUNATE EPSILON SYMBOL
  2396. return rune(0x03f6), true
  2397. case "backprime":
  2398. // REVERSED PRIME
  2399. return rune(0x2035), true
  2400. case "backsimeq":
  2401. // REVERSED TILDE EQUALS
  2402. return rune(0x22cd), true
  2403. case "backsim":
  2404. // REVERSED TILDE
  2405. return rune(0x223d), true
  2406. case "barV":
  2407. // DOUBLE DOWN TACK
  2408. return rune(0x2aea), true
  2409. case "barvee":
  2410. // NOR
  2411. return rune(0x22bd), true
  2412. case "barwed":
  2413. // PROJECTIVE
  2414. return rune(0x2305), true
  2415. case "barwedge":
  2416. // PROJECTIVE
  2417. return rune(0x2305), true
  2418. case "bbrk":
  2419. // BOTTOM SQUARE BRACKET
  2420. return rune(0x23b5), true
  2421. case "bbrktbrk":
  2422. // BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET
  2423. return rune(0x23b6), true
  2424. case "bcong":
  2425. // ALL EQUAL TO
  2426. return rune(0x224c), true
  2427. case "bcy":
  2428. // CYRILLIC SMALL LETTER BE
  2429. return rune(0x0431), true
  2430. case "bdlhar":
  2431. // DOWNWARDS HARPOON WITH BARB LEFT FROM BAR
  2432. return rune(0x2961), true
  2433. case "bdquo":
  2434. // DOUBLE LOW-9 QUOTATION MARK
  2435. return rune(0x201e), true
  2436. case "bdrhar":
  2437. // DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR
  2438. return rune(0x295d), true
  2439. case "because":
  2440. // BECAUSE
  2441. return rune(0x2235), true
  2442. case "becaus":
  2443. // BECAUSE
  2444. return rune(0x2235), true
  2445. case "bemptyv":
  2446. // REVERSED EMPTY SET
  2447. return rune(0x29b0), true
  2448. case "bepsi":
  2449. // GREEK REVERSED LUNATE EPSILON SYMBOL
  2450. return rune(0x03f6), true
  2451. case "bernou":
  2452. // SCRIPT CAPITAL B
  2453. return rune(0x212c), true
  2454. case "beta":
  2455. // GREEK SMALL LETTER BETA
  2456. return rune(0x03b2), true
  2457. case "beth":
  2458. // BET SYMBOL
  2459. return rune(0x2136), true
  2460. case "between":
  2461. // BETWEEN
  2462. return rune(0x226c), true
  2463. case "bfr":
  2464. // MATHEMATICAL FRAKTUR SMALL B
  2465. return rune(0x01d51f), true
  2466. case "bgr":
  2467. // GREEK SMALL LETTER BETA
  2468. return rune(0x03b2), true
  2469. case "bigcap":
  2470. // N-ARY INTERSECTION
  2471. return rune(0x22c2), true
  2472. case "bigcirc":
  2473. // LARGE CIRCLE
  2474. return rune(0x25ef), true
  2475. case "bigcup":
  2476. // N-ARY UNION
  2477. return rune(0x22c3), true
  2478. case "bigodot":
  2479. // N-ARY CIRCLED DOT OPERATOR
  2480. return rune(0x2a00), true
  2481. case "bigoplus":
  2482. // N-ARY CIRCLED PLUS OPERATOR
  2483. return rune(0x2a01), true
  2484. case "bigotimes":
  2485. // N-ARY CIRCLED TIMES OPERATOR
  2486. return rune(0x2a02), true
  2487. case "bigsqcup":
  2488. // N-ARY SQUARE UNION OPERATOR
  2489. return rune(0x2a06), true
  2490. case "bigstar":
  2491. // BLACK STAR
  2492. return rune(0x2605), true
  2493. case "bigtriangledown":
  2494. // WHITE DOWN-POINTING TRIANGLE
  2495. return rune(0x25bd), true
  2496. case "bigtriangleup":
  2497. // WHITE UP-POINTING TRIANGLE
  2498. return rune(0x25b3), true
  2499. case "biguplus":
  2500. // N-ARY UNION OPERATOR WITH PLUS
  2501. return rune(0x2a04), true
  2502. case "bigvee":
  2503. // N-ARY LOGICAL OR
  2504. return rune(0x22c1), true
  2505. case "bigwedge":
  2506. // N-ARY LOGICAL AND
  2507. return rune(0x22c0), true
  2508. case "bkarow":
  2509. // RIGHTWARDS DOUBLE DASH ARROW
  2510. return rune(0x290d), true
  2511. case "blacklozenge":
  2512. // BLACK LOZENGE
  2513. return rune(0x29eb), true
  2514. case "blacksquare":
  2515. // BLACK SMALL SQUARE
  2516. return rune(0x25aa), true
  2517. case "blacktriangledown":
  2518. // BLACK DOWN-POINTING SMALL TRIANGLE
  2519. return rune(0x25be), true
  2520. case "blacktriangleleft":
  2521. // BLACK LEFT-POINTING SMALL TRIANGLE
  2522. return rune(0x25c2), true
  2523. case "blacktriangleright":
  2524. // BLACK RIGHT-POINTING SMALL TRIANGLE
  2525. return rune(0x25b8), true
  2526. case "blacktriangle":
  2527. // BLACK UP-POINTING SMALL TRIANGLE
  2528. return rune(0x25b4), true
  2529. case "blank":
  2530. // BLANK SYMBOL
  2531. return rune(0x2422), true
  2532. case "bldhar":
  2533. // LEFTWARDS HARPOON WITH BARB DOWN FROM BAR
  2534. return rune(0x295e), true
  2535. case "blk12":
  2536. // MEDIUM SHADE
  2537. return rune(0x2592), true
  2538. case "blk14":
  2539. // LIGHT SHADE
  2540. return rune(0x2591), true
  2541. case "blk34":
  2542. // DARK SHADE
  2543. return rune(0x2593), true
  2544. case "block":
  2545. // FULL BLOCK
  2546. return rune(0x2588), true
  2547. case "bluhar":
  2548. // LEFTWARDS HARPOON WITH BARB UP FROM BAR
  2549. return rune(0x295a), true
  2550. case "bnequiv":
  2551. // IDENTICAL TO with reverse slash
  2552. return rune(0x2261), true
  2553. case "bne":
  2554. // EQUALS SIGN with reverse slash
  2555. return rune(0x3d), true
  2556. case "bnot":
  2557. // REVERSED NOT SIGN
  2558. return rune(0x2310), true
  2559. case "bopf":
  2560. // MATHEMATICAL DOUBLE-STRUCK SMALL B
  2561. return rune(0x01d553), true
  2562. case "bot":
  2563. // UP TACK
  2564. return rune(0x22a5), true
  2565. case "bottom":
  2566. // UP TACK
  2567. return rune(0x22a5), true
  2568. case "bowtie":
  2569. // BOWTIE
  2570. return rune(0x22c8), true
  2571. case "boxDL":
  2572. // BOX DRAWINGS DOUBLE DOWN AND LEFT
  2573. return rune(0x2557), true
  2574. case "boxDR":
  2575. // BOX DRAWINGS DOUBLE DOWN AND RIGHT
  2576. return rune(0x2554), true
  2577. case "boxDl":
  2578. // BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE
  2579. return rune(0x2556), true
  2580. case "boxDr":
  2581. // BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE
  2582. return rune(0x2553), true
  2583. case "boxHD":
  2584. // BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
  2585. return rune(0x2566), true
  2586. case "boxHU":
  2587. // BOX DRAWINGS DOUBLE UP AND HORIZONTAL
  2588. return rune(0x2569), true
  2589. case "boxHd":
  2590. // BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE
  2591. return rune(0x2564), true
  2592. case "boxHu":
  2593. // BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE
  2594. return rune(0x2567), true
  2595. case "boxH":
  2596. // BOX DRAWINGS DOUBLE HORIZONTAL
  2597. return rune(0x2550), true
  2598. case "boxUL":
  2599. // BOX DRAWINGS DOUBLE UP AND LEFT
  2600. return rune(0x255d), true
  2601. case "boxUR":
  2602. // BOX DRAWINGS DOUBLE UP AND RIGHT
  2603. return rune(0x255a), true
  2604. case "boxUl":
  2605. // BOX DRAWINGS UP DOUBLE AND LEFT SINGLE
  2606. return rune(0x255c), true
  2607. case "boxUr":
  2608. // BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE
  2609. return rune(0x2559), true
  2610. case "boxVH":
  2611. // BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
  2612. return rune(0x256c), true
  2613. case "boxVL":
  2614. // BOX DRAWINGS DOUBLE VERTICAL AND LEFT
  2615. return rune(0x2563), true
  2616. case "boxVR":
  2617. // BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
  2618. return rune(0x2560), true
  2619. case "boxVh":
  2620. // BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE
  2621. return rune(0x256b), true
  2622. case "boxVl":
  2623. // BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE
  2624. return rune(0x2562), true
  2625. case "boxVr":
  2626. // BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE
  2627. return rune(0x255f), true
  2628. case "boxV":
  2629. // BOX DRAWINGS DOUBLE VERTICAL
  2630. return rune(0x2551), true
  2631. case "boxbox":
  2632. // TWO JOINED SQUARES
  2633. return rune(0x29c9), true
  2634. case "boxdL":
  2635. // BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE
  2636. return rune(0x2555), true
  2637. case "boxdR":
  2638. // BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE
  2639. return rune(0x2552), true
  2640. case "boxdl":
  2641. // BOX DRAWINGS LIGHT DOWN AND LEFT
  2642. return rune(0x2510), true
  2643. case "boxdr":
  2644. // BOX DRAWINGS LIGHT DOWN AND RIGHT
  2645. return rune(0x250c), true
  2646. case "boxhU":
  2647. // BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE
  2648. return rune(0x2568), true
  2649. case "boxh":
  2650. // BOX DRAWINGS LIGHT HORIZONTAL
  2651. return rune(0x2500), true
  2652. case "boxhD":
  2653. // BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE
  2654. return rune(0x2565), true
  2655. case "boxhd":
  2656. // BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
  2657. return rune(0x252c), true
  2658. case "boxhu":
  2659. // BOX DRAWINGS LIGHT UP AND HORIZONTAL
  2660. return rune(0x2534), true
  2661. case "boxminus":
  2662. // SQUARED MINUS
  2663. return rune(0x229f), true
  2664. case "boxplus":
  2665. // SQUARED PLUS
  2666. return rune(0x229e), true
  2667. case "boxtimes":
  2668. // SQUARED TIMES
  2669. return rune(0x22a0), true
  2670. case "boxuL":
  2671. // BOX DRAWINGS UP SINGLE AND LEFT DOUBLE
  2672. return rune(0x255b), true
  2673. case "boxuR":
  2674. // BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE
  2675. return rune(0x2558), true
  2676. case "boxul":
  2677. // BOX DRAWINGS LIGHT UP AND LEFT
  2678. return rune(0x2518), true
  2679. case "boxur":
  2680. // BOX DRAWINGS LIGHT UP AND RIGHT
  2681. return rune(0x2514), true
  2682. case "boxvL":
  2683. // BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE
  2684. return rune(0x2561), true
  2685. case "boxvR":
  2686. // BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE
  2687. return rune(0x255e), true
  2688. case "boxvl":
  2689. // BOX DRAWINGS LIGHT VERTICAL AND LEFT
  2690. return rune(0x2524), true
  2691. case "boxvr":
  2692. // BOX DRAWINGS LIGHT VERTICAL AND RIGHT
  2693. return rune(0x251c), true
  2694. case "boxv":
  2695. // BOX DRAWINGS LIGHT VERTICAL
  2696. return rune(0x2502), true
  2697. case "boxvH":
  2698. // BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE
  2699. return rune(0x256a), true
  2700. case "boxvh":
  2701. // BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
  2702. return rune(0x253c), true
  2703. case "bprime":
  2704. // REVERSED PRIME
  2705. return rune(0x2035), true
  2706. case "brdhar":
  2707. // RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR
  2708. return rune(0x295f), true
  2709. case "breve":
  2710. // BREVE
  2711. return rune(0x02d8), true
  2712. case "bruhar":
  2713. // RIGHTWARDS HARPOON WITH BARB UP FROM BAR
  2714. return rune(0x295b), true
  2715. case "brvbar":
  2716. // BROKEN BAR
  2717. return rune(0xa6), true
  2718. case "bscr":
  2719. // MATHEMATICAL SCRIPT SMALL B
  2720. return rune(0x01d4b7), true
  2721. case "bsemi":
  2722. // REVERSED SEMICOLON
  2723. return rune(0x204f), true
  2724. case "bsim":
  2725. // REVERSED TILDE
  2726. return rune(0x223d), true
  2727. case "bsime":
  2728. // REVERSED TILDE EQUALS
  2729. return rune(0x22cd), true
  2730. case "bsolb":
  2731. // SQUARED FALLING DIAGONAL SLASH
  2732. return rune(0x29c5), true
  2733. case "bsolhsub":
  2734. // REVERSE SOLIDUS PRECEDING SUBSET
  2735. return rune(0x27c8), true
  2736. case "bsol":
  2737. // REVERSE SOLIDUS
  2738. return rune(0x5c), true
  2739. case "btimes":
  2740. // SEMIDIRECT PRODUCT WITH BOTTOM CLOSED
  2741. return rune(0x2a32), true
  2742. case "bulhar":
  2743. // UPWARDS HARPOON WITH BARB LEFT FROM BAR
  2744. return rune(0x2960), true
  2745. case "bullet":
  2746. // BULLET
  2747. return rune(0x2022), true
  2748. case "bull":
  2749. // BULLET
  2750. return rune(0x2022), true
  2751. case "bump":
  2752. // GEOMETRICALLY EQUIVALENT TO
  2753. return rune(0x224e), true
  2754. case "bumpE":
  2755. // EQUALS SIGN WITH BUMPY ABOVE
  2756. return rune(0x2aae), true
  2757. case "bumpe":
  2758. // DIFFERENCE BETWEEN
  2759. return rune(0x224f), true
  2760. case "bumpeq":
  2761. // DIFFERENCE BETWEEN
  2762. return rune(0x224f), true
  2763. case "burhar":
  2764. // UPWARDS HARPOON WITH BARB RIGHT FROM BAR
  2765. return rune(0x295c), true
  2766. }
  2767. case 'c':
  2768. switch name {
  2769. case "cacute":
  2770. // LATIN SMALL LETTER C WITH ACUTE
  2771. return rune(0x0107), true
  2772. case "cap":
  2773. // INTERSECTION
  2774. return rune(0x2229), true
  2775. case "capand":
  2776. // INTERSECTION WITH LOGICAL AND
  2777. return rune(0x2a44), true
  2778. case "capbrcup":
  2779. // INTERSECTION ABOVE BAR ABOVE UNION
  2780. return rune(0x2a49), true
  2781. case "capcap":
  2782. // INTERSECTION BESIDE AND JOINED WITH INTERSECTION
  2783. return rune(0x2a4b), true
  2784. case "capcup":
  2785. // INTERSECTION ABOVE UNION
  2786. return rune(0x2a47), true
  2787. case "capdot":
  2788. // INTERSECTION WITH DOT
  2789. return rune(0x2a40), true
  2790. case "capint":
  2791. // INTEGRAL WITH INTERSECTION
  2792. return rune(0x2a19), true
  2793. case "caps":
  2794. // INTERSECTION with serifs
  2795. return rune(0x2229), true
  2796. case "caret":
  2797. // CARET INSERTION POINT
  2798. return rune(0x2041), true
  2799. case "caron":
  2800. // CARON
  2801. return rune(0x02c7), true
  2802. case "ccaps":
  2803. // CLOSED INTERSECTION WITH SERIFS
  2804. return rune(0x2a4d), true
  2805. case "ccaron":
  2806. // LATIN SMALL LETTER C WITH CARON
  2807. return rune(0x010d), true
  2808. case "ccedil":
  2809. // LATIN SMALL LETTER C WITH CEDILLA
  2810. return rune(0xe7), true
  2811. case "ccirc":
  2812. // LATIN SMALL LETTER C WITH CIRCUMFLEX
  2813. return rune(0x0109), true
  2814. case "ccups":
  2815. // CLOSED UNION WITH SERIFS
  2816. return rune(0x2a4c), true
  2817. case "ccupssm":
  2818. // CLOSED UNION WITH SERIFS AND SMASH PRODUCT
  2819. return rune(0x2a50), true
  2820. case "cdot":
  2821. // LATIN SMALL LETTER C WITH DOT ABOVE
  2822. return rune(0x010b), true
  2823. case "cedil":
  2824. // CEDILLA
  2825. return rune(0xb8), true
  2826. case "cemptyv":
  2827. // EMPTY SET WITH SMALL CIRCLE ABOVE
  2828. return rune(0x29b2), true
  2829. case "centerdot":
  2830. // MIDDLE DOT
  2831. return rune(0xb7), true
  2832. case "cent":
  2833. // CENT SIGN
  2834. return rune(0xa2), true
  2835. case "cfr":
  2836. // MATHEMATICAL FRAKTUR SMALL C
  2837. return rune(0x01d520), true
  2838. case "chcy":
  2839. // CYRILLIC SMALL LETTER CHE
  2840. return rune(0x0447), true
  2841. case "check":
  2842. // CHECK MARK
  2843. return rune(0x2713), true
  2844. case "checkmark":
  2845. // CHECK MARK
  2846. return rune(0x2713), true
  2847. case "chi":
  2848. // GREEK SMALL LETTER CHI
  2849. return rune(0x03c7), true
  2850. case "circeq":
  2851. // RING EQUAL TO
  2852. return rune(0x2257), true
  2853. case "circlearrowleft":
  2854. // ANTICLOCKWISE OPEN CIRCLE ARROW
  2855. return rune(0x21ba), true
  2856. case "circlearrowright":
  2857. // CLOCKWISE OPEN CIRCLE ARROW
  2858. return rune(0x21bb), true
  2859. case "circledS":
  2860. // CIRCLED LATIN CAPITAL LETTER S
  2861. return rune(0x24c8), true
  2862. case "circledast":
  2863. // CIRCLED ASTERISK OPERATOR
  2864. return rune(0x229b), true
  2865. case "circledcirc":
  2866. // CIRCLED RING OPERATOR
  2867. return rune(0x229a), true
  2868. case "circleddash":
  2869. // CIRCLED DASH
  2870. return rune(0x229d), true
  2871. case "cire":
  2872. // RING EQUAL TO
  2873. return rune(0x2257), true
  2874. case "cir":
  2875. // WHITE CIRCLE
  2876. return rune(0x25cb), true
  2877. case "cirE":
  2878. // CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT
  2879. return rune(0x29c3), true
  2880. case "cirb":
  2881. // SQUARED SMALL CIRCLE
  2882. return rune(0x29c7), true
  2883. case "circ":
  2884. // MODIFIER LETTER CIRCUMFLEX ACCENT
  2885. return rune(0x02c6), true
  2886. case "circledR":
  2887. // REGISTERED SIGN
  2888. return rune(0xae), true
  2889. case "cirdarr":
  2890. // WHITE CIRCLE WITH DOWN ARROW
  2891. return rune(0x29ec), true
  2892. case "cirerr":
  2893. // ERROR-BARRED WHITE CIRCLE
  2894. return rune(0x29f2), true
  2895. case "cirfdarr":
  2896. // BLACK CIRCLE WITH DOWN ARROW
  2897. return rune(0x29ed), true
  2898. case "cirferr":
  2899. // ERROR-BARRED BLACK CIRCLE
  2900. return rune(0x29f3), true
  2901. case "cirfnint":
  2902. // CIRCULATION FUNCTION
  2903. return rune(0x2a10), true
  2904. case "cirmid":
  2905. // VERTICAL LINE WITH CIRCLE ABOVE
  2906. return rune(0x2aef), true
  2907. case "cirscir":
  2908. // CIRCLE WITH SMALL CIRCLE TO THE RIGHT
  2909. return rune(0x29c2), true
  2910. case "closur":
  2911. // CLOSE UP
  2912. return rune(0x2050), true
  2913. case "clubs":
  2914. // BLACK CLUB SUIT
  2915. return rune(0x2663), true
  2916. case "clubsuit":
  2917. // BLACK CLUB SUIT
  2918. return rune(0x2663), true
  2919. case "colone":
  2920. // COLON EQUALS
  2921. return rune(0x2254), true
  2922. case "coloneq":
  2923. // COLON EQUALS
  2924. return rune(0x2254), true
  2925. case "colon":
  2926. // COLON
  2927. return rune(0x3a), true
  2928. case "commat":
  2929. // COMMERCIAL AT
  2930. return rune(0x40), true
  2931. case "comma":
  2932. // COMMA
  2933. return rune(0x2c), true
  2934. case "comp":
  2935. // COMPLEMENT
  2936. return rune(0x2201), true
  2937. case "compfn":
  2938. // RING OPERATOR
  2939. return rune(0x2218), true
  2940. case "complement":
  2941. // COMPLEMENT
  2942. return rune(0x2201), true
  2943. case "complexes":
  2944. // DOUBLE-STRUCK CAPITAL C
  2945. return rune(0x2102), true
  2946. case "cong":
  2947. // APPROXIMATELY EQUAL TO
  2948. return rune(0x2245), true
  2949. case "congdot":
  2950. // CONGRUENT WITH DOT ABOVE
  2951. return rune(0x2a6d), true
  2952. case "conint":
  2953. // CONTOUR INTEGRAL
  2954. return rune(0x222e), true
  2955. case "copf":
  2956. // MATHEMATICAL DOUBLE-STRUCK SMALL C
  2957. return rune(0x01d554), true
  2958. case "coprod":
  2959. // N-ARY COPRODUCT
  2960. return rune(0x2210), true
  2961. case "copysr":
  2962. // SOUND RECORDING COPYRIGHT
  2963. return rune(0x2117), true
  2964. case "copy":
  2965. // COPYRIGHT SIGN
  2966. return rune(0xa9), true
  2967. case "crarr":
  2968. // DOWNWARDS ARROW WITH CORNER LEFTWARDS
  2969. return rune(0x21b5), true
  2970. case "cross":
  2971. // BALLOT X
  2972. return rune(0x2717), true
  2973. case "cscr":
  2974. // MATHEMATICAL SCRIPT SMALL C
  2975. return rune(0x01d4b8), true
  2976. case "csub":
  2977. // CLOSED SUBSET
  2978. return rune(0x2acf), true
  2979. case "csube":
  2980. // CLOSED SUBSET OR EQUAL TO
  2981. return rune(0x2ad1), true
  2982. case "csup":
  2983. // CLOSED SUPERSET
  2984. return rune(0x2ad0), true
  2985. case "csupe":
  2986. // CLOSED SUPERSET OR EQUAL TO
  2987. return rune(0x2ad2), true
  2988. case "ctdot":
  2989. // MIDLINE HORIZONTAL ELLIPSIS
  2990. return rune(0x22ef), true
  2991. case "cudarrl":
  2992. // RIGHT-SIDE ARC CLOCKWISE ARROW
  2993. return rune(0x2938), true
  2994. case "cudarrr":
  2995. // ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS
  2996. return rune(0x2935), true
  2997. case "cuepr":
  2998. // EQUAL TO OR PRECEDES
  2999. return rune(0x22de), true
  3000. case "cuesc":
  3001. // EQUAL TO OR SUCCEEDS
  3002. return rune(0x22df), true
  3003. case "cularr":
  3004. // ANTICLOCKWISE TOP SEMICIRCLE ARROW
  3005. return rune(0x21b6), true
  3006. case "cularrp":
  3007. // TOP ARC ANTICLOCKWISE ARROW WITH PLUS
  3008. return rune(0x293d), true
  3009. case "cup":
  3010. // UNION
  3011. return rune(0x222a), true
  3012. case "cupbrcap":
  3013. // UNION ABOVE BAR ABOVE INTERSECTION
  3014. return rune(0x2a48), true
  3015. case "cupcap":
  3016. // UNION ABOVE INTERSECTION
  3017. return rune(0x2a46), true
  3018. case "cupcup":
  3019. // UNION BESIDE AND JOINED WITH UNION
  3020. return rune(0x2a4a), true
  3021. case "cupdot":
  3022. // MULTISET MULTIPLICATION
  3023. return rune(0x228d), true
  3024. case "cupint":
  3025. // INTEGRAL WITH UNION
  3026. return rune(0x2a1a), true
  3027. case "cupor":
  3028. // UNION WITH LOGICAL OR
  3029. return rune(0x2a45), true
  3030. case "cupre":
  3031. // PRECEDES OR EQUAL TO
  3032. return rune(0x227c), true
  3033. case "cups":
  3034. // UNION with serifs
  3035. return rune(0x222a), true
  3036. case "curarr":
  3037. // CLOCKWISE TOP SEMICIRCLE ARROW
  3038. return rune(0x21b7), true
  3039. case "curarrm":
  3040. // TOP ARC CLOCKWISE ARROW WITH MINUS
  3041. return rune(0x293c), true
  3042. case "curlyeqprec":
  3043. // EQUAL TO OR PRECEDES
  3044. return rune(0x22de), true
  3045. case "curlyeqsucc":
  3046. // EQUAL TO OR SUCCEEDS
  3047. return rune(0x22df), true
  3048. case "curlyvee":
  3049. // CURLY LOGICAL OR
  3050. return rune(0x22ce), true
  3051. case "curlywedge":
  3052. // CURLY LOGICAL AND
  3053. return rune(0x22cf), true
  3054. case "curren":
  3055. // CURRENCY SIGN
  3056. return rune(0xa4), true
  3057. case "curvearrowleft":
  3058. // ANTICLOCKWISE TOP SEMICIRCLE ARROW
  3059. return rune(0x21b6), true
  3060. case "curvearrowright":
  3061. // CLOCKWISE TOP SEMICIRCLE ARROW
  3062. return rune(0x21b7), true
  3063. case "cuvee":
  3064. // CURLY LOGICAL OR
  3065. return rune(0x22ce), true
  3066. case "cuwed":
  3067. // CURLY LOGICAL AND
  3068. return rune(0x22cf), true
  3069. case "cwconint":
  3070. // CLOCKWISE CONTOUR INTEGRAL
  3071. return rune(0x2232), true
  3072. case "cwint":
  3073. // CLOCKWISE INTEGRAL
  3074. return rune(0x2231), true
  3075. case "cylcty":
  3076. // CYLINDRICITY
  3077. return rune(0x232d), true
  3078. }
  3079. case 'd':
  3080. switch name {
  3081. case "dAarr":
  3082. // DOWNWARDS TRIPLE ARROW
  3083. return rune(0x290b), true
  3084. case "dArr":
  3085. // DOWNWARDS DOUBLE ARROW
  3086. return rune(0x21d3), true
  3087. case "dHar":
  3088. // DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
  3089. return rune(0x2965), true
  3090. case "dagger":
  3091. // DAGGER
  3092. return rune(0x2020), true
  3093. case "dalembrt":
  3094. // SQUARE WITH CONTOURED OUTLINE
  3095. return rune(0x29e0), true
  3096. case "daleth":
  3097. // DALET SYMBOL
  3098. return rune(0x2138), true
  3099. case "darr2":
  3100. // DOWNWARDS PAIRED ARROWS
  3101. return rune(0x21ca), true
  3102. case "darr":
  3103. // DOWNWARDS ARROW
  3104. return rune(0x2193), true
  3105. case "darrb":
  3106. // DOWNWARDS ARROW TO BAR
  3107. return rune(0x2913), true
  3108. case "darrln":
  3109. // DOWNWARDS ARROW WITH HORIZONTAL STROKE
  3110. return rune(0x2908), true
  3111. case "dashv":
  3112. // LEFT TACK
  3113. return rune(0x22a3), true
  3114. case "dash":
  3115. // HYPHEN
  3116. return rune(0x2010), true
  3117. case "dashV":
  3118. // DOUBLE VERTICAL BAR LEFT TURNSTILE
  3119. return rune(0x2ae3), true
  3120. case "dbkarow":
  3121. // RIGHTWARDS TRIPLE DASH ARROW
  3122. return rune(0x290f), true
  3123. case "dblac":
  3124. // DOUBLE ACUTE ACCENT
  3125. return rune(0x02dd), true
  3126. case "dcaron":
  3127. // LATIN SMALL LETTER D WITH CARON
  3128. return rune(0x010f), true
  3129. case "dcy":
  3130. // CYRILLIC SMALL LETTER DE
  3131. return rune(0x0434), true
  3132. case "ddarr":
  3133. // DOWNWARDS PAIRED ARROWS
  3134. return rune(0x21ca), true
  3135. case "dd":
  3136. // DOUBLE-STRUCK ITALIC SMALL D
  3137. return rune(0x2146), true
  3138. case "ddagger":
  3139. // DOUBLE DAGGER
  3140. return rune(0x2021), true
  3141. case "ddotseq":
  3142. // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
  3143. return rune(0x2a77), true
  3144. case "deg":
  3145. // DEGREE SIGN
  3146. return rune(0xb0), true
  3147. case "delta":
  3148. // GREEK SMALL LETTER DELTA
  3149. return rune(0x03b4), true
  3150. case "demptyv":
  3151. // EMPTY SET WITH OVERBAR
  3152. return rune(0x29b1), true
  3153. case "dfisht":
  3154. // DOWN FISH TAIL
  3155. return rune(0x297f), true
  3156. case "dfr":
  3157. // MATHEMATICAL FRAKTUR SMALL D
  3158. return rune(0x01d521), true
  3159. case "dgr":
  3160. // GREEK SMALL LETTER DELTA
  3161. return rune(0x03b4), true
  3162. case "dharl":
  3163. // DOWNWARDS HARPOON WITH BARB LEFTWARDS
  3164. return rune(0x21c3), true
  3165. case "dharr":
  3166. // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
  3167. return rune(0x21c2), true
  3168. case "diam":
  3169. // DIAMOND OPERATOR
  3170. return rune(0x22c4), true
  3171. case "diamdarr":
  3172. // BLACK DIAMOND WITH DOWN ARROW
  3173. return rune(0x29ea), true
  3174. case "diamerr":
  3175. // ERROR-BARRED WHITE DIAMOND
  3176. return rune(0x29f0), true
  3177. case "diamerrf":
  3178. // ERROR-BARRED BLACK DIAMOND
  3179. return rune(0x29f1), true
  3180. case "diamond":
  3181. // DIAMOND OPERATOR
  3182. return rune(0x22c4), true
  3183. case "diamondsuit":
  3184. // BLACK DIAMOND SUIT
  3185. return rune(0x2666), true
  3186. case "diams":
  3187. // BLACK DIAMOND SUIT
  3188. return rune(0x2666), true
  3189. case "die":
  3190. // DIAERESIS
  3191. return rune(0xa8), true
  3192. case "digamma":
  3193. // GREEK SMALL LETTER DIGAMMA
  3194. return rune(0x03dd), true
  3195. case "disin":
  3196. // ELEMENT OF WITH LONG HORIZONTAL STROKE
  3197. return rune(0x22f2), true
  3198. case "divideontimes":
  3199. // DIVISION TIMES
  3200. return rune(0x22c7), true
  3201. case "divonx":
  3202. // DIVISION TIMES
  3203. return rune(0x22c7), true
  3204. case "div":
  3205. // DIVISION SIGN
  3206. return rune(0xf7), true
  3207. case "divide":
  3208. // DIVISION SIGN
  3209. return rune(0xf7), true
  3210. case "djcy":
  3211. // CYRILLIC SMALL LETTER DJE
  3212. return rune(0x0452), true
  3213. case "dlarr":
  3214. // SOUTH WEST ARROW
  3215. return rune(0x2199), true
  3216. case "dlcorn":
  3217. // BOTTOM LEFT CORNER
  3218. return rune(0x231e), true
  3219. case "dlcrop":
  3220. // BOTTOM LEFT CROP
  3221. return rune(0x230d), true
  3222. case "dlharb":
  3223. // DOWNWARDS HARPOON WITH BARB LEFT TO BAR
  3224. return rune(0x2959), true
  3225. case "dollar":
  3226. // DOLLAR SIGN
  3227. return rune(0x24), true
  3228. case "dopf":
  3229. // MATHEMATICAL DOUBLE-STRUCK SMALL D
  3230. return rune(0x01d555), true
  3231. case "doteq":
  3232. // APPROACHES THE LIMIT
  3233. return rune(0x2250), true
  3234. case "doteqdot":
  3235. // GEOMETRICALLY EQUAL TO
  3236. return rune(0x2251), true
  3237. case "dotminus":
  3238. // DOT MINUS
  3239. return rune(0x2238), true
  3240. case "dotplus":
  3241. // DOT PLUS
  3242. return rune(0x2214), true
  3243. case "dotsquare":
  3244. // SQUARED DOT OPERATOR
  3245. return rune(0x22a1), true
  3246. case "dot":
  3247. // DOT ABOVE
  3248. return rune(0x02d9), true
  3249. case "doublebarwedge":
  3250. // PERSPECTIVE
  3251. return rune(0x2306), true
  3252. case "downarrow":
  3253. // DOWNWARDS ARROW
  3254. return rune(0x2193), true
  3255. case "downdownarrows":
  3256. // DOWNWARDS PAIRED ARROWS
  3257. return rune(0x21ca), true
  3258. case "downharpoonleft":
  3259. // DOWNWARDS HARPOON WITH BARB LEFTWARDS
  3260. return rune(0x21c3), true
  3261. case "downharpoonright":
  3262. // DOWNWARDS HARPOON WITH BARB RIGHTWARDS
  3263. return rune(0x21c2), true
  3264. case "drarr":
  3265. // SOUTH EAST ARROW
  3266. return rune(0x2198), true
  3267. case "drbkarow":
  3268. // RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW
  3269. return rune(0x2910), true
  3270. case "drcorn":
  3271. // BOTTOM RIGHT CORNER
  3272. return rune(0x231f), true
  3273. case "drcrop":
  3274. // BOTTOM RIGHT CROP
  3275. return rune(0x230c), true
  3276. case "drharb":
  3277. // DOWNWARDS HARPOON WITH BARB RIGHT TO BAR
  3278. return rune(0x2955), true
  3279. case "dscr":
  3280. // MATHEMATICAL SCRIPT SMALL D
  3281. return rune(0x01d4b9), true
  3282. case "dscy":
  3283. // CYRILLIC SMALL LETTER DZE
  3284. return rune(0x0455), true
  3285. case "dsol":
  3286. // SOLIDUS WITH OVERBAR
  3287. return rune(0x29f6), true
  3288. case "dstrok":
  3289. // LATIN SMALL LETTER D WITH STROKE
  3290. return rune(0x0111), true
  3291. case "dtdot":
  3292. // DOWN RIGHT DIAGONAL ELLIPSIS
  3293. return rune(0x22f1), true
  3294. case "dtrif":
  3295. // BLACK DOWN-POINTING SMALL TRIANGLE
  3296. return rune(0x25be), true
  3297. case "dtri":
  3298. // WHITE DOWN-POINTING SMALL TRIANGLE
  3299. return rune(0x25bf), true
  3300. case "dtrilf":
  3301. // DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK
  3302. return rune(0x29e8), true
  3303. case "dtrirf":
  3304. // DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK
  3305. return rune(0x29e9), true
  3306. case "duarr":
  3307. // DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
  3308. return rune(0x21f5), true
  3309. case "duhar":
  3310. // DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
  3311. return rune(0x296f), true
  3312. case "dumap":
  3313. // DOUBLE-ENDED MULTIMAP
  3314. return rune(0x29df), true
  3315. case "dwangle":
  3316. // OBLIQUE ANGLE OPENING UP
  3317. return rune(0x29a6), true
  3318. case "dzcy":
  3319. // CYRILLIC SMALL LETTER DZHE
  3320. return rune(0x045f), true
  3321. case "dzigrarr":
  3322. // LONG RIGHTWARDS SQUIGGLE ARROW
  3323. return rune(0x27ff), true
  3324. }
  3325. case 'e':
  3326. switch name {
  3327. case "eDDot":
  3328. // EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW
  3329. return rune(0x2a77), true
  3330. case "eDot":
  3331. // GEOMETRICALLY EQUAL TO
  3332. return rune(0x2251), true
  3333. case "eacgr":
  3334. // GREEK SMALL LETTER EPSILON WITH TONOS
  3335. return rune(0x03ad), true
  3336. case "eacute":
  3337. // LATIN SMALL LETTER E WITH ACUTE
  3338. return rune(0xe9), true
  3339. case "easter":
  3340. // EQUALS WITH ASTERISK
  3341. return rune(0x2a6e), true
  3342. case "ecaron":
  3343. // LATIN SMALL LETTER E WITH CARON
  3344. return rune(0x011b), true
  3345. case "ecir":
  3346. // RING IN EQUAL TO
  3347. return rune(0x2256), true
  3348. case "ecirc":
  3349. // LATIN SMALL LETTER E WITH CIRCUMFLEX
  3350. return rune(0xea), true
  3351. case "ecolon":
  3352. // EQUALS COLON
  3353. return rune(0x2255), true
  3354. case "ecy":
  3355. // CYRILLIC SMALL LETTER E
  3356. return rune(0x044d), true
  3357. case "edot":
  3358. // LATIN SMALL LETTER E WITH DOT ABOVE
  3359. return rune(0x0117), true
  3360. case "ee":
  3361. // DOUBLE-STRUCK ITALIC SMALL E
  3362. return rune(0x2147), true
  3363. case "eeacgr":
  3364. // GREEK SMALL LETTER ETA WITH TONOS
  3365. return rune(0x03ae), true
  3366. case "eegr":
  3367. // GREEK SMALL LETTER ETA
  3368. return rune(0x03b7), true
  3369. case "efDot":
  3370. // APPROXIMATELY EQUAL TO OR THE IMAGE OF
  3371. return rune(0x2252), true
  3372. case "efr":
  3373. // MATHEMATICAL FRAKTUR SMALL E
  3374. return rune(0x01d522), true
  3375. case "egr":
  3376. // GREEK SMALL LETTER EPSILON
  3377. return rune(0x03b5), true
  3378. case "egs":
  3379. // SLANTED EQUAL TO OR GREATER-THAN
  3380. return rune(0x2a96), true
  3381. case "egsdot":
  3382. // SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE
  3383. return rune(0x2a98), true
  3384. case "eg":
  3385. // DOUBLE-LINE EQUAL TO OR GREATER-THAN
  3386. return rune(0x2a9a), true
  3387. case "egrave":
  3388. // LATIN SMALL LETTER E WITH GRAVE
  3389. return rune(0xe8), true
  3390. case "elinters":
  3391. // ELECTRICAL INTERSECTION
  3392. return rune(0x23e7), true
  3393. case "ell":
  3394. // SCRIPT SMALL L
  3395. return rune(0x2113), true
  3396. case "els":
  3397. // SLANTED EQUAL TO OR LESS-THAN
  3398. return rune(0x2a95), true
  3399. case "elsdot":
  3400. // SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE
  3401. return rune(0x2a97), true
  3402. case "el":
  3403. // DOUBLE-LINE EQUAL TO OR LESS-THAN
  3404. return rune(0x2a99), true
  3405. case "emacr":
  3406. // LATIN SMALL LETTER E WITH MACRON
  3407. return rune(0x0113), true
  3408. case "empty":
  3409. // EMPTY SET
  3410. return rune(0x2205), true
  3411. case "emptyset":
  3412. // EMPTY SET
  3413. return rune(0x2205), true
  3414. case "emptyv":
  3415. // EMPTY SET
  3416. return rune(0x2205), true
  3417. case "emsp13":
  3418. // THREE-PER-EM SPACE
  3419. return rune(0x2004), true
  3420. case "emsp14":
  3421. // FOUR-PER-EM SPACE
  3422. return rune(0x2005), true
  3423. case "emsp":
  3424. // EM SPACE
  3425. return rune(0x2003), true
  3426. case "eng":
  3427. // LATIN SMALL LETTER ENG
  3428. return rune(0x014b), true
  3429. case "ensp":
  3430. // EN SPACE
  3431. return rune(0x2002), true
  3432. case "eogon":
  3433. // LATIN SMALL LETTER E WITH OGONEK
  3434. return rune(0x0119), true
  3435. case "eopf":
  3436. // MATHEMATICAL DOUBLE-STRUCK SMALL E
  3437. return rune(0x01d556), true
  3438. case "epar":
  3439. // EQUAL AND PARALLEL TO
  3440. return rune(0x22d5), true
  3441. case "eparsl":
  3442. // EQUALS SIGN AND SLANTED PARALLEL
  3443. return rune(0x29e3), true
  3444. case "eplus":
  3445. // EQUALS SIGN ABOVE PLUS SIGN
  3446. return rune(0x2a71), true
  3447. case "epsilon":
  3448. // GREEK SMALL LETTER EPSILON
  3449. return rune(0x03b5), true
  3450. case "epsis":
  3451. // GREEK LUNATE EPSILON SYMBOL
  3452. return rune(0x03f5), true
  3453. case "epsiv":
  3454. // GREEK LUNATE EPSILON SYMBOL
  3455. return rune(0x03f5), true
  3456. case "epsi":
  3457. // GREEK SMALL LETTER EPSILON
  3458. return rune(0x03b5), true
  3459. case "eqcirc":
  3460. // RING IN EQUAL TO
  3461. return rune(0x2256), true
  3462. case "eqcolon":
  3463. // EQUALS COLON
  3464. return rune(0x2255), true
  3465. case "eqeq":
  3466. // TWO CONSECUTIVE EQUALS SIGNS
  3467. return rune(0x2a75), true
  3468. case "eqsim":
  3469. // MINUS TILDE
  3470. return rune(0x2242), true
  3471. case "eqslantgtr":
  3472. // SLANTED EQUAL TO OR GREATER-THAN
  3473. return rune(0x2a96), true
  3474. case "eqslantless":
  3475. // SLANTED EQUAL TO OR LESS-THAN
  3476. return rune(0x2a95), true
  3477. case "equals":
  3478. // EQUALS SIGN
  3479. return rune(0x3d), true
  3480. case "equest":
  3481. // QUESTIONED EQUAL TO
  3482. return rune(0x225f), true
  3483. case "equiv":
  3484. // IDENTICAL TO
  3485. return rune(0x2261), true
  3486. case "equivDD":
  3487. // EQUIVALENT WITH FOUR DOTS ABOVE
  3488. return rune(0x2a78), true
  3489. case "eqvparsl":
  3490. // IDENTICAL TO AND SLANTED PARALLEL
  3491. return rune(0x29e5), true
  3492. case "erDot":
  3493. // IMAGE OF OR APPROXIMATELY EQUAL TO
  3494. return rune(0x2253), true
  3495. case "erarr":
  3496. // EQUALS SIGN ABOVE RIGHTWARDS ARROW
  3497. return rune(0x2971), true
  3498. case "escr":
  3499. // SCRIPT SMALL E
  3500. return rune(0x212f), true
  3501. case "esdot":
  3502. // APPROACHES THE LIMIT
  3503. return rune(0x2250), true
  3504. case "esim":
  3505. // MINUS TILDE
  3506. return rune(0x2242), true
  3507. case "eta":
  3508. // GREEK SMALL LETTER ETA
  3509. return rune(0x03b7), true
  3510. case "eth":
  3511. // LATIN SMALL LETTER ETH
  3512. return rune(0xf0), true
  3513. case "euml":
  3514. // LATIN SMALL LETTER E WITH DIAERESIS
  3515. return rune(0xeb), true
  3516. case "euro":
  3517. // EURO SIGN
  3518. return rune(0x20ac), true
  3519. case "excl":
  3520. // EXCLAMATION MARK
  3521. return rune(0x21), true
  3522. case "exist":
  3523. // THERE EXISTS
  3524. return rune(0x2203), true
  3525. case "expectation":
  3526. // SCRIPT CAPITAL E
  3527. return rune(0x2130), true
  3528. case "exponentiale":
  3529. // DOUBLE-STRUCK ITALIC SMALL E
  3530. return rune(0x2147), true
  3531. }
  3532. case 'f':
  3533. switch name {
  3534. case "fallingdotseq":
  3535. // APPROXIMATELY EQUAL TO OR THE IMAGE OF
  3536. return rune(0x2252), true
  3537. case "fbowtie":
  3538. // BLACK BOWTIE
  3539. return rune(0x29d3), true
  3540. case "fcy":
  3541. // CYRILLIC SMALL LETTER EF
  3542. return rune(0x0444), true
  3543. case "fdiag":
  3544. // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
  3545. return rune(0x2572), true
  3546. case "fdiordi":
  3547. // FALLING DIAGONAL CROSSING RISING DIAGONAL
  3548. return rune(0x292c), true
  3549. case "fdonearr":
  3550. // FALLING DIAGONAL CROSSING NORTH EAST ARROW
  3551. return rune(0x292f), true
  3552. case "female":
  3553. // FEMALE SIGN
  3554. return rune(0x2640), true
  3555. case "ffilig":
  3556. // LATIN SMALL LIGATURE FFI
  3557. return rune(0xfb03), true
  3558. case "fflig":
  3559. // LATIN SMALL LIGATURE FF
  3560. return rune(0xfb00), true
  3561. case "ffllig":
  3562. // LATIN SMALL LIGATURE FFL
  3563. return rune(0xfb04), true
  3564. case "ffr":
  3565. // MATHEMATICAL FRAKTUR SMALL F
  3566. return rune(0x01d523), true
  3567. case "fhrglass":
  3568. // BLACK HOURGLASS
  3569. return rune(0x29d7), true
  3570. case "filig":
  3571. // LATIN SMALL LIGATURE FI
  3572. return rune(0xfb01), true
  3573. case "fjlig":
  3574. // fj ligature
  3575. return rune(0x66), true
  3576. case "flat":
  3577. // MUSIC FLAT SIGN
  3578. return rune(0x266d), true
  3579. case "fllig":
  3580. // LATIN SMALL LIGATURE FL
  3581. return rune(0xfb02), true
  3582. case "fltns":
  3583. // WHITE PARALLELOGRAM
  3584. return rune(0x25b1), true
  3585. case "fnof":
  3586. // LATIN SMALL LETTER F WITH HOOK
  3587. return rune(0x0192), true
  3588. case "fopf":
  3589. // MATHEMATICAL DOUBLE-STRUCK SMALL F
  3590. return rune(0x01d557), true
  3591. case "forall":
  3592. // FOR ALL
  3593. return rune(0x2200), true
  3594. case "fork":
  3595. // PITCHFORK
  3596. return rune(0x22d4), true
  3597. case "forkv":
  3598. // ELEMENT OF OPENING DOWNWARDS
  3599. return rune(0x2ad9), true
  3600. case "fpartint":
  3601. // FINITE PART INTEGRAL
  3602. return rune(0x2a0d), true
  3603. case "frac12":
  3604. // VULGAR FRACTION ONE HALF
  3605. return rune(0xbd), true
  3606. case "frac13":
  3607. // VULGAR FRACTION ONE THIRD
  3608. return rune(0x2153), true
  3609. case "frac14":
  3610. // VULGAR FRACTION ONE QUARTER
  3611. return rune(0xbc), true
  3612. case "frac15":
  3613. // VULGAR FRACTION ONE FIFTH
  3614. return rune(0x2155), true
  3615. case "frac16":
  3616. // VULGAR FRACTION ONE SIXTH
  3617. return rune(0x2159), true
  3618. case "frac18":
  3619. // VULGAR FRACTION ONE EIGHTH
  3620. return rune(0x215b), true
  3621. case "frac23":
  3622. // VULGAR FRACTION TWO THIRDS
  3623. return rune(0x2154), true
  3624. case "frac25":
  3625. // VULGAR FRACTION TWO FIFTHS
  3626. return rune(0x2156), true
  3627. case "frac34":
  3628. // VULGAR FRACTION THREE QUARTERS
  3629. return rune(0xbe), true
  3630. case "frac35":
  3631. // VULGAR FRACTION THREE FIFTHS
  3632. return rune(0x2157), true
  3633. case "frac38":
  3634. // VULGAR FRACTION THREE EIGHTHS
  3635. return rune(0x215c), true
  3636. case "frac45":
  3637. // VULGAR FRACTION FOUR FIFTHS
  3638. return rune(0x2158), true
  3639. case "frac56":
  3640. // VULGAR FRACTION FIVE SIXTHS
  3641. return rune(0x215a), true
  3642. case "frac58":
  3643. // VULGAR FRACTION FIVE EIGHTHS
  3644. return rune(0x215d), true
  3645. case "frac78":
  3646. // VULGAR FRACTION SEVEN EIGHTHS
  3647. return rune(0x215e), true
  3648. case "frasl":
  3649. // FRACTION SLASH
  3650. return rune(0x2044), true
  3651. case "frown":
  3652. // FROWN
  3653. return rune(0x2322), true
  3654. case "fscr":
  3655. // MATHEMATICAL SCRIPT SMALL F
  3656. return rune(0x01d4bb), true
  3657. }
  3658. case 'g':
  3659. switch name {
  3660. case "gE":
  3661. // GREATER-THAN OVER EQUAL TO
  3662. return rune(0x2267), true
  3663. case "gEl":
  3664. // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
  3665. return rune(0x2a8c), true
  3666. case "gacute":
  3667. // LATIN SMALL LETTER G WITH ACUTE
  3668. return rune(0x01f5), true
  3669. case "gammad":
  3670. // GREEK SMALL LETTER DIGAMMA
  3671. return rune(0x03dd), true
  3672. case "gamma":
  3673. // GREEK SMALL LETTER GAMMA
  3674. return rune(0x03b3), true
  3675. case "gap":
  3676. // GREATER-THAN OR APPROXIMATE
  3677. return rune(0x2a86), true
  3678. case "gbreve":
  3679. // LATIN SMALL LETTER G WITH BREVE
  3680. return rune(0x011f), true
  3681. case "gcedil":
  3682. // LATIN SMALL LETTER G WITH CEDILLA
  3683. return rune(0x0123), true
  3684. case "gcirc":
  3685. // LATIN SMALL LETTER G WITH CIRCUMFLEX
  3686. return rune(0x011d), true
  3687. case "gcy":
  3688. // CYRILLIC SMALL LETTER GHE
  3689. return rune(0x0433), true
  3690. case "gdot":
  3691. // LATIN SMALL LETTER G WITH DOT ABOVE
  3692. return rune(0x0121), true
  3693. case "ge":
  3694. // GREATER-THAN OR EQUAL TO
  3695. return rune(0x2265), true
  3696. case "gel":
  3697. // GREATER-THAN EQUAL TO OR LESS-THAN
  3698. return rune(0x22db), true
  3699. case "geq":
  3700. // GREATER-THAN OR EQUAL TO
  3701. return rune(0x2265), true
  3702. case "geqq":
  3703. // GREATER-THAN OVER EQUAL TO
  3704. return rune(0x2267), true
  3705. case "geqslant":
  3706. // GREATER-THAN OR SLANTED EQUAL TO
  3707. return rune(0x2a7e), true
  3708. case "gesl":
  3709. // GREATER-THAN slanted EQUAL TO OR LESS-THAN
  3710. return rune(0x22db), true
  3711. case "ges":
  3712. // GREATER-THAN OR SLANTED EQUAL TO
  3713. return rune(0x2a7e), true
  3714. case "gescc":
  3715. // GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
  3716. return rune(0x2aa9), true
  3717. case "gesdot":
  3718. // GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
  3719. return rune(0x2a80), true
  3720. case "gesdoto":
  3721. // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
  3722. return rune(0x2a82), true
  3723. case "gesdotol":
  3724. // GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT
  3725. return rune(0x2a84), true
  3726. case "gesles":
  3727. // GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL
  3728. return rune(0x2a94), true
  3729. case "gfr":
  3730. // MATHEMATICAL FRAKTUR SMALL G
  3731. return rune(0x01d524), true
  3732. case "gg":
  3733. // MUCH GREATER-THAN
  3734. return rune(0x226b), true
  3735. case "ggg":
  3736. // VERY MUCH GREATER-THAN
  3737. return rune(0x22d9), true
  3738. case "ggr":
  3739. // GREEK SMALL LETTER GAMMA
  3740. return rune(0x03b3), true
  3741. case "gimel":
  3742. // GIMEL SYMBOL
  3743. return rune(0x2137), true
  3744. case "gjcy":
  3745. // CYRILLIC SMALL LETTER GJE
  3746. return rune(0x0453), true
  3747. case "gl":
  3748. // GREATER-THAN OR LESS-THAN
  3749. return rune(0x2277), true
  3750. case "glE":
  3751. // GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL
  3752. return rune(0x2a92), true
  3753. case "gla":
  3754. // GREATER-THAN BESIDE LESS-THAN
  3755. return rune(0x2aa5), true
  3756. case "glj":
  3757. // GREATER-THAN OVERLAPPING LESS-THAN
  3758. return rune(0x2aa4), true
  3759. case "gnE":
  3760. // GREATER-THAN BUT NOT EQUAL TO
  3761. return rune(0x2269), true
  3762. case "gnap":
  3763. // GREATER-THAN AND NOT APPROXIMATE
  3764. return rune(0x2a8a), true
  3765. case "gnapprox":
  3766. // GREATER-THAN AND NOT APPROXIMATE
  3767. return rune(0x2a8a), true
  3768. case "gneqq":
  3769. // GREATER-THAN BUT NOT EQUAL TO
  3770. return rune(0x2269), true
  3771. case "gne":
  3772. // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
  3773. return rune(0x2a88), true
  3774. case "gneq":
  3775. // GREATER-THAN AND SINGLE-LINE NOT EQUAL TO
  3776. return rune(0x2a88), true
  3777. case "gnsim":
  3778. // GREATER-THAN BUT NOT EQUIVALENT TO
  3779. return rune(0x22e7), true
  3780. case "gopf":
  3781. // MATHEMATICAL DOUBLE-STRUCK SMALL G
  3782. return rune(0x01d558), true
  3783. case "grave":
  3784. // GRAVE ACCENT
  3785. return rune(0x60), true
  3786. case "gscr":
  3787. // SCRIPT SMALL G
  3788. return rune(0x210a), true
  3789. case "gsdot":
  3790. // GREATER-THAN WITH DOT
  3791. return rune(0x22d7), true
  3792. case "gsim":
  3793. // GREATER-THAN OR EQUIVALENT TO
  3794. return rune(0x2273), true
  3795. case "gsime":
  3796. // GREATER-THAN ABOVE SIMILAR OR EQUAL
  3797. return rune(0x2a8e), true
  3798. case "gsiml":
  3799. // GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN
  3800. return rune(0x2a90), true
  3801. case "gtcc":
  3802. // GREATER-THAN CLOSED BY CURVE
  3803. return rune(0x2aa7), true
  3804. case "gtcir":
  3805. // GREATER-THAN WITH CIRCLE INSIDE
  3806. return rune(0x2a7a), true
  3807. case "gtdot":
  3808. // GREATER-THAN WITH DOT
  3809. return rune(0x22d7), true
  3810. case "gtlPar":
  3811. // DOUBLE LEFT ARC GREATER-THAN BRACKET
  3812. return rune(0x2995), true
  3813. case "gtquest":
  3814. // GREATER-THAN WITH QUESTION MARK ABOVE
  3815. return rune(0x2a7c), true
  3816. case "gtrapprox":
  3817. // GREATER-THAN OR APPROXIMATE
  3818. return rune(0x2a86), true
  3819. case "gtrarr":
  3820. // GREATER-THAN ABOVE RIGHTWARDS ARROW
  3821. return rune(0x2978), true
  3822. case "gtrdot":
  3823. // GREATER-THAN WITH DOT
  3824. return rune(0x22d7), true
  3825. case "gtreqless":
  3826. // GREATER-THAN EQUAL TO OR LESS-THAN
  3827. return rune(0x22db), true
  3828. case "gtreqqless":
  3829. // GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN
  3830. return rune(0x2a8c), true
  3831. case "gtrless":
  3832. // GREATER-THAN OR LESS-THAN
  3833. return rune(0x2277), true
  3834. case "gtrpar":
  3835. // SPHERICAL ANGLE OPENING LEFT
  3836. return rune(0x29a0), true
  3837. case "gtrsim":
  3838. // GREATER-THAN OR EQUIVALENT TO
  3839. return rune(0x2273), true
  3840. case "gt":
  3841. // GREATER-THAN SIGN
  3842. return rune(0x3e), true
  3843. case "gvertneqq":
  3844. // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
  3845. return rune(0x2269), true
  3846. case "gvnE":
  3847. // GREATER-THAN BUT NOT EQUAL TO - with vertical stroke
  3848. return rune(0x2269), true
  3849. }
  3850. case 'h':
  3851. switch name {
  3852. case "hArr":
  3853. // LEFT RIGHT DOUBLE ARROW
  3854. return rune(0x21d4), true
  3855. case "hairsp":
  3856. // HAIR SPACE
  3857. return rune(0x200a), true
  3858. case "half":
  3859. // VULGAR FRACTION ONE HALF
  3860. return rune(0xbd), true
  3861. case "hamilt":
  3862. // SCRIPT CAPITAL H
  3863. return rune(0x210b), true
  3864. case "hardcy":
  3865. // CYRILLIC SMALL LETTER HARD SIGN
  3866. return rune(0x044a), true
  3867. case "harrw":
  3868. // LEFT RIGHT WAVE ARROW
  3869. return rune(0x21ad), true
  3870. case "harr":
  3871. // LEFT RIGHT ARROW
  3872. return rune(0x2194), true
  3873. case "harrcir":
  3874. // LEFT RIGHT ARROW THROUGH SMALL CIRCLE
  3875. return rune(0x2948), true
  3876. case "hbar":
  3877. // PLANCK CONSTANT OVER TWO PI
  3878. return rune(0x210f), true
  3879. case "hcirc":
  3880. // LATIN SMALL LETTER H WITH CIRCUMFLEX
  3881. return rune(0x0125), true
  3882. case "hearts":
  3883. // BLACK HEART SUIT
  3884. return rune(0x2665), true
  3885. case "heartsuit":
  3886. // BLACK HEART SUIT
  3887. return rune(0x2665), true
  3888. case "hellip":
  3889. // HORIZONTAL ELLIPSIS
  3890. return rune(0x2026), true
  3891. case "hercon":
  3892. // HERMITIAN CONJUGATE MATRIX
  3893. return rune(0x22b9), true
  3894. case "hfr":
  3895. // MATHEMATICAL FRAKTUR SMALL H
  3896. return rune(0x01d525), true
  3897. case "hksearow":
  3898. // SOUTH EAST ARROW WITH HOOK
  3899. return rune(0x2925), true
  3900. case "hkswarow":
  3901. // SOUTH WEST ARROW WITH HOOK
  3902. return rune(0x2926), true
  3903. case "hoarr":
  3904. // LEFT RIGHT OPEN-HEADED ARROW
  3905. return rune(0x21ff), true
  3906. case "homtht":
  3907. // HOMOTHETIC
  3908. return rune(0x223b), true
  3909. case "hookleftarrow":
  3910. // LEFTWARDS ARROW WITH HOOK
  3911. return rune(0x21a9), true
  3912. case "hookrightarrow":
  3913. // RIGHTWARDS ARROW WITH HOOK
  3914. return rune(0x21aa), true
  3915. case "hopf":
  3916. // MATHEMATICAL DOUBLE-STRUCK SMALL H
  3917. return rune(0x01d559), true
  3918. case "horbar":
  3919. // HORIZONTAL BAR
  3920. return rune(0x2015), true
  3921. case "hrglass":
  3922. // WHITE HOURGLASS
  3923. return rune(0x29d6), true
  3924. case "hscr":
  3925. // MATHEMATICAL SCRIPT SMALL H
  3926. return rune(0x01d4bd), true
  3927. case "hslash":
  3928. // PLANCK CONSTANT OVER TWO PI
  3929. return rune(0x210f), true
  3930. case "hstrok":
  3931. // LATIN SMALL LETTER H WITH STROKE
  3932. return rune(0x0127), true
  3933. case "htimes":
  3934. // VECTOR OR CROSS PRODUCT
  3935. return rune(0x2a2f), true
  3936. case "hybull":
  3937. // HYPHEN BULLET
  3938. return rune(0x2043), true
  3939. case "hyphen":
  3940. // HYPHEN
  3941. return rune(0x2010), true
  3942. }
  3943. case 'i':
  3944. switch name {
  3945. case "iacgr":
  3946. // GREEK SMALL LETTER IOTA WITH TONOS
  3947. return rune(0x03af), true
  3948. case "iacute":
  3949. // LATIN SMALL LETTER I WITH ACUTE
  3950. return rune(0xed), true
  3951. case "ic":
  3952. // INVISIBLE SEPARATOR
  3953. return rune(0x2063), true
  3954. case "icirc":
  3955. // LATIN SMALL LETTER I WITH CIRCUMFLEX
  3956. return rune(0xee), true
  3957. case "icy":
  3958. // CYRILLIC SMALL LETTER I
  3959. return rune(0x0438), true
  3960. case "idiagr":
  3961. // GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS
  3962. return rune(0x0390), true
  3963. case "idigr":
  3964. // GREEK SMALL LETTER IOTA WITH DIALYTIKA
  3965. return rune(0x03ca), true
  3966. case "iecy":
  3967. // CYRILLIC SMALL LETTER IE
  3968. return rune(0x0435), true
  3969. case "iexcl":
  3970. // INVERTED EXCLAMATION MARK
  3971. return rune(0xa1), true
  3972. case "iff":
  3973. // LEFT RIGHT DOUBLE ARROW
  3974. return rune(0x21d4), true
  3975. case "ifr":
  3976. // MATHEMATICAL FRAKTUR SMALL I
  3977. return rune(0x01d526), true
  3978. case "igr":
  3979. // GREEK SMALL LETTER IOTA
  3980. return rune(0x03b9), true
  3981. case "igrave":
  3982. // LATIN SMALL LETTER I WITH GRAVE
  3983. return rune(0xec), true
  3984. case "iiint":
  3985. // TRIPLE INTEGRAL
  3986. return rune(0x222d), true
  3987. case "ii":
  3988. // DOUBLE-STRUCK ITALIC SMALL I
  3989. return rune(0x2148), true
  3990. case "iiiint":
  3991. // QUADRUPLE INTEGRAL OPERATOR
  3992. return rune(0x2a0c), true
  3993. case "iinfin":
  3994. // INCOMPLETE INFINITY
  3995. return rune(0x29dc), true
  3996. case "iiota":
  3997. // TURNED GREEK SMALL LETTER IOTA
  3998. return rune(0x2129), true
  3999. case "ijlig":
  4000. // LATIN SMALL LIGATURE IJ
  4001. return rune(0x0133), true
  4002. case "imacr":
  4003. // LATIN SMALL LETTER I WITH MACRON
  4004. return rune(0x012b), true
  4005. case "image":
  4006. // BLACK-LETTER CAPITAL I
  4007. return rune(0x2111), true
  4008. case "imagline":
  4009. // SCRIPT CAPITAL I
  4010. return rune(0x2110), true
  4011. case "imagpart":
  4012. // BLACK-LETTER CAPITAL I
  4013. return rune(0x2111), true
  4014. case "imath":
  4015. // LATIN SMALL LETTER DOTLESS I
  4016. return rune(0x0131), true
  4017. case "imof":
  4018. // IMAGE OF
  4019. return rune(0x22b7), true
  4020. case "imped":
  4021. // LATIN CAPITAL LETTER Z WITH STROKE
  4022. return rune(0x01b5), true
  4023. case "in":
  4024. // ELEMENT OF
  4025. return rune(0x2208), true
  4026. case "incare":
  4027. // CARE OF
  4028. return rune(0x2105), true
  4029. case "infin":
  4030. // INFINITY
  4031. return rune(0x221e), true
  4032. case "infintie":
  4033. // TIE OVER INFINITY
  4034. return rune(0x29dd), true
  4035. case "inodot":
  4036. // LATIN SMALL LETTER DOTLESS I
  4037. return rune(0x0131), true
  4038. case "int":
  4039. // INTEGRAL
  4040. return rune(0x222b), true
  4041. case "intcal":
  4042. // INTERCALATE
  4043. return rune(0x22ba), true
  4044. case "integers":
  4045. // DOUBLE-STRUCK CAPITAL Z
  4046. return rune(0x2124), true
  4047. case "intercal":
  4048. // INTERCALATE
  4049. return rune(0x22ba), true
  4050. case "intlarhk":
  4051. // INTEGRAL WITH LEFTWARDS ARROW WITH HOOK
  4052. return rune(0x2a17), true
  4053. case "intprod":
  4054. // INTERIOR PRODUCT
  4055. return rune(0x2a3c), true
  4056. case "iocy":
  4057. // CYRILLIC SMALL LETTER IO
  4058. return rune(0x0451), true
  4059. case "iogon":
  4060. // LATIN SMALL LETTER I WITH OGONEK
  4061. return rune(0x012f), true
  4062. case "iopf":
  4063. // MATHEMATICAL DOUBLE-STRUCK SMALL I
  4064. return rune(0x01d55a), true
  4065. case "iota":
  4066. // GREEK SMALL LETTER IOTA
  4067. return rune(0x03b9), true
  4068. case "iprod":
  4069. // INTERIOR PRODUCT
  4070. return rune(0x2a3c), true
  4071. case "iprodr":
  4072. // RIGHTHAND INTERIOR PRODUCT
  4073. return rune(0x2a3d), true
  4074. case "iquest":
  4075. // INVERTED QUESTION MARK
  4076. return rune(0xbf), true
  4077. case "iscr":
  4078. // MATHEMATICAL SCRIPT SMALL I
  4079. return rune(0x01d4be), true
  4080. case "isin":
  4081. // ELEMENT OF
  4082. return rune(0x2208), true
  4083. case "isinE":
  4084. // ELEMENT OF WITH TWO HORIZONTAL STROKES
  4085. return rune(0x22f9), true
  4086. case "isindot":
  4087. // ELEMENT OF WITH DOT ABOVE
  4088. return rune(0x22f5), true
  4089. case "isinsv":
  4090. // ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  4091. return rune(0x22f3), true
  4092. case "isins":
  4093. // SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  4094. return rune(0x22f4), true
  4095. case "isinv":
  4096. // ELEMENT OF
  4097. return rune(0x2208), true
  4098. case "isinvb":
  4099. // ELEMENT OF WITH UNDERBAR
  4100. return rune(0x22f8), true
  4101. case "it":
  4102. // INVISIBLE TIMES
  4103. return rune(0x2062), true
  4104. case "itilde":
  4105. // LATIN SMALL LETTER I WITH TILDE
  4106. return rune(0x0129), true
  4107. case "iukcy":
  4108. // CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I
  4109. return rune(0x0456), true
  4110. case "iuml":
  4111. // LATIN SMALL LETTER I WITH DIAERESIS
  4112. return rune(0xef), true
  4113. }
  4114. case 'j':
  4115. switch name {
  4116. case "jcirc":
  4117. // LATIN SMALL LETTER J WITH CIRCUMFLEX
  4118. return rune(0x0135), true
  4119. case "jcy":
  4120. // CYRILLIC SMALL LETTER SHORT I
  4121. return rune(0x0439), true
  4122. case "jfr":
  4123. // MATHEMATICAL FRAKTUR SMALL J
  4124. return rune(0x01d527), true
  4125. case "jmath":
  4126. // LATIN SMALL LETTER DOTLESS J
  4127. return rune(0x0237), true
  4128. case "jnodot":
  4129. // LATIN SMALL LETTER DOTLESS J
  4130. return rune(0x0237), true
  4131. case "jopf":
  4132. // MATHEMATICAL DOUBLE-STRUCK SMALL J
  4133. return rune(0x01d55b), true
  4134. case "jscr":
  4135. // MATHEMATICAL SCRIPT SMALL J
  4136. return rune(0x01d4bf), true
  4137. case "jsercy":
  4138. // CYRILLIC SMALL LETTER JE
  4139. return rune(0x0458), true
  4140. case "jukcy":
  4141. // CYRILLIC SMALL LETTER UKRAINIAN IE
  4142. return rune(0x0454), true
  4143. }
  4144. case 'k':
  4145. switch name {
  4146. case "kappav":
  4147. // GREEK KAPPA SYMBOL
  4148. return rune(0x03f0), true
  4149. case "kappa":
  4150. // GREEK SMALL LETTER KAPPA
  4151. return rune(0x03ba), true
  4152. case "kcedil":
  4153. // LATIN SMALL LETTER K WITH CEDILLA
  4154. return rune(0x0137), true
  4155. case "kcy":
  4156. // CYRILLIC SMALL LETTER KA
  4157. return rune(0x043a), true
  4158. case "kfr":
  4159. // MATHEMATICAL FRAKTUR SMALL K
  4160. return rune(0x01d528), true
  4161. case "kgr":
  4162. // GREEK SMALL LETTER KAPPA
  4163. return rune(0x03ba), true
  4164. case "kgreen":
  4165. // LATIN SMALL LETTER KRA
  4166. return rune(0x0138), true
  4167. case "khcy":
  4168. // CYRILLIC SMALL LETTER HA
  4169. return rune(0x0445), true
  4170. case "khgr":
  4171. // GREEK SMALL LETTER CHI
  4172. return rune(0x03c7), true
  4173. case "kjcy":
  4174. // CYRILLIC SMALL LETTER KJE
  4175. return rune(0x045c), true
  4176. case "kopf":
  4177. // MATHEMATICAL DOUBLE-STRUCK SMALL K
  4178. return rune(0x01d55c), true
  4179. case "koppa":
  4180. // GREEK LETTER KOPPA
  4181. return rune(0x03de), true
  4182. case "kscr":
  4183. // MATHEMATICAL SCRIPT SMALL K
  4184. return rune(0x01d4c0), true
  4185. }
  4186. case 'l':
  4187. switch name {
  4188. case "lAarr":
  4189. // LEFTWARDS TRIPLE ARROW
  4190. return rune(0x21da), true
  4191. case "lArr":
  4192. // LEFTWARDS DOUBLE ARROW
  4193. return rune(0x21d0), true
  4194. case "lAtail":
  4195. // LEFTWARDS DOUBLE ARROW-TAIL
  4196. return rune(0x291b), true
  4197. case "lBarr":
  4198. // LEFTWARDS TRIPLE DASH ARROW
  4199. return rune(0x290e), true
  4200. case "lE":
  4201. // LESS-THAN OVER EQUAL TO
  4202. return rune(0x2266), true
  4203. case "lEg":
  4204. // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
  4205. return rune(0x2a8b), true
  4206. case "lHar":
  4207. // LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN
  4208. return rune(0x2962), true
  4209. case "lacute":
  4210. // LATIN SMALL LETTER L WITH ACUTE
  4211. return rune(0x013a), true
  4212. case "laemptyv":
  4213. // EMPTY SET WITH LEFT ARROW ABOVE
  4214. return rune(0x29b4), true
  4215. case "lagran":
  4216. // SCRIPT CAPITAL L
  4217. return rune(0x2112), true
  4218. case "lambda":
  4219. // GREEK SMALL LETTER LAMDA
  4220. return rune(0x03bb), true
  4221. case "lang":
  4222. // MATHEMATICAL LEFT ANGLE BRACKET
  4223. return rune(0x27e8), true
  4224. case "langd":
  4225. // LEFT ANGLE BRACKET WITH DOT
  4226. return rune(0x2991), true
  4227. case "langle":
  4228. // MATHEMATICAL LEFT ANGLE BRACKET
  4229. return rune(0x27e8), true
  4230. case "lap":
  4231. // LESS-THAN OR APPROXIMATE
  4232. return rune(0x2a85), true
  4233. case "laquo":
  4234. // LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
  4235. return rune(0xab), true
  4236. case "larr2":
  4237. // LEFTWARDS PAIRED ARROWS
  4238. return rune(0x21c7), true
  4239. case "larrb":
  4240. // LEFTWARDS ARROW TO BAR
  4241. return rune(0x21e4), true
  4242. case "larrhk":
  4243. // LEFTWARDS ARROW WITH HOOK
  4244. return rune(0x21a9), true
  4245. case "larrlp":
  4246. // LEFTWARDS ARROW WITH LOOP
  4247. return rune(0x21ab), true
  4248. case "larrtl":
  4249. // LEFTWARDS ARROW WITH TAIL
  4250. return rune(0x21a2), true
  4251. case "larr":
  4252. // LEFTWARDS ARROW
  4253. return rune(0x2190), true
  4254. case "larrbfs":
  4255. // LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND
  4256. return rune(0x291f), true
  4257. case "larrfs":
  4258. // LEFTWARDS ARROW TO BLACK DIAMOND
  4259. return rune(0x291d), true
  4260. case "larrpl":
  4261. // LEFT-SIDE ARC ANTICLOCKWISE ARROW
  4262. return rune(0x2939), true
  4263. case "larrsim":
  4264. // LEFTWARDS ARROW ABOVE TILDE OPERATOR
  4265. return rune(0x2973), true
  4266. case "latail":
  4267. // LEFTWARDS ARROW-TAIL
  4268. return rune(0x2919), true
  4269. case "lat":
  4270. // LARGER THAN
  4271. return rune(0x2aab), true
  4272. case "late":
  4273. // LARGER THAN OR EQUAL TO
  4274. return rune(0x2aad), true
  4275. case "lates":
  4276. // LARGER THAN OR slanted EQUAL
  4277. return rune(0x2aad), true
  4278. case "lbarr":
  4279. // LEFTWARDS DOUBLE DASH ARROW
  4280. return rune(0x290c), true
  4281. case "lbbrk":
  4282. // LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT
  4283. return rune(0x2772), true
  4284. case "lbrace":
  4285. // LEFT CURLY BRACKET
  4286. return rune(0x7b), true
  4287. case "lbrack":
  4288. // LEFT SQUARE BRACKET
  4289. return rune(0x5b), true
  4290. case "lbrke":
  4291. // LEFT SQUARE BRACKET WITH UNDERBAR
  4292. return rune(0x298b), true
  4293. case "lbrksld":
  4294. // LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
  4295. return rune(0x298f), true
  4296. case "lbrkslu":
  4297. // LEFT SQUARE BRACKET WITH TICK IN TOP CORNER
  4298. return rune(0x298d), true
  4299. case "lcaron":
  4300. // LATIN SMALL LETTER L WITH CARON
  4301. return rune(0x013e), true
  4302. case "lcedil":
  4303. // LATIN SMALL LETTER L WITH CEDILLA
  4304. return rune(0x013c), true
  4305. case "lceil":
  4306. // LEFT CEILING
  4307. return rune(0x2308), true
  4308. case "lcub":
  4309. // LEFT CURLY BRACKET
  4310. return rune(0x7b), true
  4311. case "lcy":
  4312. // CYRILLIC SMALL LETTER EL
  4313. return rune(0x043b), true
  4314. case "ldca":
  4315. // ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS
  4316. return rune(0x2936), true
  4317. case "ldharb":
  4318. // LEFTWARDS HARPOON WITH BARB DOWN TO BAR
  4319. return rune(0x2956), true
  4320. case "ldot":
  4321. // LESS-THAN WITH DOT
  4322. return rune(0x22d6), true
  4323. case "ldquor":
  4324. // DOUBLE LOW-9 QUOTATION MARK
  4325. return rune(0x201e), true
  4326. case "ldquo":
  4327. // LEFT DOUBLE QUOTATION MARK
  4328. return rune(0x201c), true
  4329. case "ldrdhar":
  4330. // LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
  4331. return rune(0x2967), true
  4332. case "ldrdshar":
  4333. // LEFT BARB DOWN RIGHT BARB DOWN HARPOON
  4334. return rune(0x2950), true
  4335. case "ldrushar":
  4336. // LEFT BARB DOWN RIGHT BARB UP HARPOON
  4337. return rune(0x294b), true
  4338. case "ldsh":
  4339. // DOWNWARDS ARROW WITH TIP LEFTWARDS
  4340. return rune(0x21b2), true
  4341. case "leftarrowtail":
  4342. // LEFTWARDS ARROW WITH TAIL
  4343. return rune(0x21a2), true
  4344. case "leftarrow":
  4345. // LEFTWARDS ARROW
  4346. return rune(0x2190), true
  4347. case "leftharpoondown":
  4348. // LEFTWARDS HARPOON WITH BARB DOWNWARDS
  4349. return rune(0x21bd), true
  4350. case "leftharpoonup":
  4351. // LEFTWARDS HARPOON WITH BARB UPWARDS
  4352. return rune(0x21bc), true
  4353. case "leftleftarrows":
  4354. // LEFTWARDS PAIRED ARROWS
  4355. return rune(0x21c7), true
  4356. case "leftrightarrows":
  4357. // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  4358. return rune(0x21c6), true
  4359. case "leftrightarrow":
  4360. // LEFT RIGHT ARROW
  4361. return rune(0x2194), true
  4362. case "leftrightharpoons":
  4363. // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  4364. return rune(0x21cb), true
  4365. case "leftrightsquigarrow":
  4366. // LEFT RIGHT WAVE ARROW
  4367. return rune(0x21ad), true
  4368. case "le":
  4369. // LESS-THAN OR EQUAL TO
  4370. return rune(0x2264), true
  4371. case "leftthreetimes":
  4372. // LEFT SEMIDIRECT PRODUCT
  4373. return rune(0x22cb), true
  4374. case "leg":
  4375. // LESS-THAN EQUAL TO OR GREATER-THAN
  4376. return rune(0x22da), true
  4377. case "leq":
  4378. // LESS-THAN OR EQUAL TO
  4379. return rune(0x2264), true
  4380. case "leqq":
  4381. // LESS-THAN OVER EQUAL TO
  4382. return rune(0x2266), true
  4383. case "leqslant":
  4384. // LESS-THAN OR SLANTED EQUAL TO
  4385. return rune(0x2a7d), true
  4386. case "lesg":
  4387. // LESS-THAN slanted EQUAL TO OR GREATER-THAN
  4388. return rune(0x22da), true
  4389. case "lessdot":
  4390. // LESS-THAN WITH DOT
  4391. return rune(0x22d6), true
  4392. case "lesseqgtr":
  4393. // LESS-THAN EQUAL TO OR GREATER-THAN
  4394. return rune(0x22da), true
  4395. case "lessgtr":
  4396. // LESS-THAN OR GREATER-THAN
  4397. return rune(0x2276), true
  4398. case "lesssim":
  4399. // LESS-THAN OR EQUIVALENT TO
  4400. return rune(0x2272), true
  4401. case "les":
  4402. // LESS-THAN OR SLANTED EQUAL TO
  4403. return rune(0x2a7d), true
  4404. case "lescc":
  4405. // LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL
  4406. return rune(0x2aa8), true
  4407. case "lesdot":
  4408. // LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE
  4409. return rune(0x2a7f), true
  4410. case "lesdoto":
  4411. // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE
  4412. return rune(0x2a81), true
  4413. case "lesdotor":
  4414. // LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT
  4415. return rune(0x2a83), true
  4416. case "lesges":
  4417. // LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL
  4418. return rune(0x2a93), true
  4419. case "lessapprox":
  4420. // LESS-THAN OR APPROXIMATE
  4421. return rune(0x2a85), true
  4422. case "lesseqqgtr":
  4423. // LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN
  4424. return rune(0x2a8b), true
  4425. case "lfbowtie":
  4426. // BOWTIE WITH LEFT HALF BLACK
  4427. return rune(0x29d1), true
  4428. case "lfisht":
  4429. // LEFT FISH TAIL
  4430. return rune(0x297c), true
  4431. case "lfloor":
  4432. // LEFT FLOOR
  4433. return rune(0x230a), true
  4434. case "lfr":
  4435. // MATHEMATICAL FRAKTUR SMALL L
  4436. return rune(0x01d529), true
  4437. case "lftimes":
  4438. // TIMES WITH LEFT HALF BLACK
  4439. return rune(0x29d4), true
  4440. case "lg":
  4441. // LESS-THAN OR GREATER-THAN
  4442. return rune(0x2276), true
  4443. case "lgE":
  4444. // LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL
  4445. return rune(0x2a91), true
  4446. case "lgr":
  4447. // GREEK SMALL LETTER LAMDA
  4448. return rune(0x03bb), true
  4449. case "lhard":
  4450. // LEFTWARDS HARPOON WITH BARB DOWNWARDS
  4451. return rune(0x21bd), true
  4452. case "lharu":
  4453. // LEFTWARDS HARPOON WITH BARB UPWARDS
  4454. return rune(0x21bc), true
  4455. case "lharul":
  4456. // LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
  4457. return rune(0x296a), true
  4458. case "lhblk":
  4459. // LOWER HALF BLOCK
  4460. return rune(0x2584), true
  4461. case "ljcy":
  4462. // CYRILLIC SMALL LETTER LJE
  4463. return rune(0x0459), true
  4464. case "llarr":
  4465. // LEFTWARDS PAIRED ARROWS
  4466. return rune(0x21c7), true
  4467. case "ll":
  4468. // MUCH LESS-THAN
  4469. return rune(0x226a), true
  4470. case "llcorner":
  4471. // BOTTOM LEFT CORNER
  4472. return rune(0x231e), true
  4473. case "llhard":
  4474. // LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
  4475. return rune(0x296b), true
  4476. case "lltrif":
  4477. // BLACK LOWER LEFT TRIANGLE
  4478. return rune(0x25e3), true
  4479. case "lltri":
  4480. // LOWER LEFT TRIANGLE
  4481. return rune(0x25fa), true
  4482. case "lmidot":
  4483. // LATIN SMALL LETTER L WITH MIDDLE DOT
  4484. return rune(0x0140), true
  4485. case "lmoust":
  4486. // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
  4487. return rune(0x23b0), true
  4488. case "lmoustache":
  4489. // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
  4490. return rune(0x23b0), true
  4491. case "lnE":
  4492. // LESS-THAN BUT NOT EQUAL TO
  4493. return rune(0x2268), true
  4494. case "lnap":
  4495. // LESS-THAN AND NOT APPROXIMATE
  4496. return rune(0x2a89), true
  4497. case "lnapprox":
  4498. // LESS-THAN AND NOT APPROXIMATE
  4499. return rune(0x2a89), true
  4500. case "lneqq":
  4501. // LESS-THAN BUT NOT EQUAL TO
  4502. return rune(0x2268), true
  4503. case "lne":
  4504. // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
  4505. return rune(0x2a87), true
  4506. case "lneq":
  4507. // LESS-THAN AND SINGLE-LINE NOT EQUAL TO
  4508. return rune(0x2a87), true
  4509. case "lnsim":
  4510. // LESS-THAN BUT NOT EQUIVALENT TO
  4511. return rune(0x22e6), true
  4512. case "loang":
  4513. // MATHEMATICAL LEFT WHITE TORTOISE SHELL BRACKET
  4514. return rune(0x27ec), true
  4515. case "loarr":
  4516. // LEFTWARDS OPEN-HEADED ARROW
  4517. return rune(0x21fd), true
  4518. case "lobrk":
  4519. // MATHEMATICAL LEFT WHITE SQUARE BRACKET
  4520. return rune(0x27e6), true
  4521. case "locub":
  4522. // LEFT WHITE CURLY BRACKET
  4523. return rune(0x2983), true
  4524. case "longleftarrow":
  4525. // LONG LEFTWARDS ARROW
  4526. return rune(0x27f5), true
  4527. case "longleftrightarrow":
  4528. // LONG LEFT RIGHT ARROW
  4529. return rune(0x27f7), true
  4530. case "longmapsto":
  4531. // LONG RIGHTWARDS ARROW FROM BAR
  4532. return rune(0x27fc), true
  4533. case "longrightarrow":
  4534. // LONG RIGHTWARDS ARROW
  4535. return rune(0x27f6), true
  4536. case "looparrowleft":
  4537. // LEFTWARDS ARROW WITH LOOP
  4538. return rune(0x21ab), true
  4539. case "looparrowright":
  4540. // RIGHTWARDS ARROW WITH LOOP
  4541. return rune(0x21ac), true
  4542. case "lopar":
  4543. // LEFT WHITE PARENTHESIS
  4544. return rune(0x2985), true
  4545. case "lopf":
  4546. // MATHEMATICAL DOUBLE-STRUCK SMALL L
  4547. return rune(0x01d55d), true
  4548. case "loplus":
  4549. // PLUS SIGN IN LEFT HALF CIRCLE
  4550. return rune(0x2a2d), true
  4551. case "lotimes":
  4552. // MULTIPLICATION SIGN IN LEFT HALF CIRCLE
  4553. return rune(0x2a34), true
  4554. case "lowast":
  4555. // LOW ASTERISK
  4556. return rune(0x204e), true
  4557. case "lowbar":
  4558. // LOW LINE
  4559. return rune(0x5f), true
  4560. case "lowint":
  4561. // INTEGRAL WITH UNDERBAR
  4562. return rune(0x2a1c), true
  4563. case "loz":
  4564. // LOZENGE
  4565. return rune(0x25ca), true
  4566. case "lozenge":
  4567. // LOZENGE
  4568. return rune(0x25ca), true
  4569. case "lozf":
  4570. // BLACK LOZENGE
  4571. return rune(0x29eb), true
  4572. case "lpargt":
  4573. // SPHERICAL ANGLE OPENING LEFT
  4574. return rune(0x29a0), true
  4575. case "lparlt":
  4576. // LEFT ARC LESS-THAN BRACKET
  4577. return rune(0x2993), true
  4578. case "lpar":
  4579. // LEFT PARENTHESIS
  4580. return rune(0x28), true
  4581. case "lrarr2":
  4582. // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  4583. return rune(0x21c6), true
  4584. case "lrarr":
  4585. // LEFTWARDS ARROW OVER RIGHTWARDS ARROW
  4586. return rune(0x21c6), true
  4587. case "lrcorner":
  4588. // BOTTOM RIGHT CORNER
  4589. return rune(0x231f), true
  4590. case "lrhar":
  4591. // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  4592. return rune(0x21cb), true
  4593. case "lrhar2":
  4594. // LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON
  4595. return rune(0x21cb), true
  4596. case "lrhard":
  4597. // RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH
  4598. return rune(0x296d), true
  4599. case "lrm":
  4600. // LEFT-TO-RIGHT MARK
  4601. return rune(0x200e), true
  4602. case "lrtri":
  4603. // RIGHT TRIANGLE
  4604. return rune(0x22bf), true
  4605. case "lsaquo":
  4606. // SINGLE LEFT-POINTING ANGLE QUOTATION MARK
  4607. return rune(0x2039), true
  4608. case "lscr":
  4609. // MATHEMATICAL SCRIPT SMALL L
  4610. return rune(0x01d4c1), true
  4611. case "lsh":
  4612. // UPWARDS ARROW WITH TIP LEFTWARDS
  4613. return rune(0x21b0), true
  4614. case "lsim":
  4615. // LESS-THAN OR EQUIVALENT TO
  4616. return rune(0x2272), true
  4617. case "lsime":
  4618. // LESS-THAN ABOVE SIMILAR OR EQUAL
  4619. return rune(0x2a8d), true
  4620. case "lsimg":
  4621. // LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN
  4622. return rune(0x2a8f), true
  4623. case "lsqb":
  4624. // LEFT SQUARE BRACKET
  4625. return rune(0x5b), true
  4626. case "lsquor":
  4627. // SINGLE LOW-9 QUOTATION MARK
  4628. return rune(0x201a), true
  4629. case "lsquo":
  4630. // LEFT SINGLE QUOTATION MARK
  4631. return rune(0x2018), true
  4632. case "lstrok":
  4633. // LATIN SMALL LETTER L WITH STROKE
  4634. return rune(0x0142), true
  4635. case "ltcc":
  4636. // LESS-THAN CLOSED BY CURVE
  4637. return rune(0x2aa6), true
  4638. case "ltcir":
  4639. // LESS-THAN WITH CIRCLE INSIDE
  4640. return rune(0x2a79), true
  4641. case "ltdot":
  4642. // LESS-THAN WITH DOT
  4643. return rune(0x22d6), true
  4644. case "lthree":
  4645. // LEFT SEMIDIRECT PRODUCT
  4646. return rune(0x22cb), true
  4647. case "ltimes":
  4648. // LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
  4649. return rune(0x22c9), true
  4650. case "ltlarr":
  4651. // LESS-THAN ABOVE LEFTWARDS ARROW
  4652. return rune(0x2976), true
  4653. case "ltquest":
  4654. // LESS-THAN WITH QUESTION MARK ABOVE
  4655. return rune(0x2a7b), true
  4656. case "ltrPar":
  4657. // DOUBLE RIGHT ARC LESS-THAN BRACKET
  4658. return rune(0x2996), true
  4659. case "ltrie":
  4660. // NORMAL SUBGROUP OF OR EQUAL TO
  4661. return rune(0x22b4), true
  4662. case "ltrif":
  4663. // BLACK LEFT-POINTING SMALL TRIANGLE
  4664. return rune(0x25c2), true
  4665. case "ltri":
  4666. // WHITE LEFT-POINTING SMALL TRIANGLE
  4667. return rune(0x25c3), true
  4668. case "ltrivb":
  4669. // LEFT TRIANGLE BESIDE VERTICAL BAR
  4670. return rune(0x29cf), true
  4671. case "lt":
  4672. // LESS-THAN SIGN
  4673. return rune(0x3c), true
  4674. case "luharb":
  4675. // LEFTWARDS HARPOON WITH BARB UP TO BAR
  4676. return rune(0x2952), true
  4677. case "lurdshar":
  4678. // LEFT BARB UP RIGHT BARB DOWN HARPOON
  4679. return rune(0x294a), true
  4680. case "luruhar":
  4681. // LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP
  4682. return rune(0x2966), true
  4683. case "lurushar":
  4684. // LEFT BARB UP RIGHT BARB UP HARPOON
  4685. return rune(0x294e), true
  4686. case "lvertneqq":
  4687. // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
  4688. return rune(0x2268), true
  4689. case "lvnE":
  4690. // LESS-THAN BUT NOT EQUAL TO - with vertical stroke
  4691. return rune(0x2268), true
  4692. }
  4693. case 'm':
  4694. switch name {
  4695. case "mDDot":
  4696. // GEOMETRIC PROPORTION
  4697. return rune(0x223a), true
  4698. case "macr":
  4699. // MACRON
  4700. return rune(0xaf), true
  4701. case "male":
  4702. // MALE SIGN
  4703. return rune(0x2642), true
  4704. case "malt":
  4705. // MALTESE CROSS
  4706. return rune(0x2720), true
  4707. case "maltese":
  4708. // MALTESE CROSS
  4709. return rune(0x2720), true
  4710. case "mapstodown":
  4711. // DOWNWARDS ARROW FROM BAR
  4712. return rune(0x21a7), true
  4713. case "mapsto":
  4714. // RIGHTWARDS ARROW FROM BAR
  4715. return rune(0x21a6), true
  4716. case "map":
  4717. // RIGHTWARDS ARROW FROM BAR
  4718. return rune(0x21a6), true
  4719. case "mapstoleft":
  4720. // LEFTWARDS ARROW FROM BAR
  4721. return rune(0x21a4), true
  4722. case "mapstoup":
  4723. // UPWARDS ARROW FROM BAR
  4724. return rune(0x21a5), true
  4725. case "marker":
  4726. // BLACK VERTICAL RECTANGLE
  4727. return rune(0x25ae), true
  4728. case "mcomma":
  4729. // MINUS SIGN WITH COMMA ABOVE
  4730. return rune(0x2a29), true
  4731. case "mcy":
  4732. // CYRILLIC SMALL LETTER EM
  4733. return rune(0x043c), true
  4734. case "mdash":
  4735. // EM DASH
  4736. return rune(0x2014), true
  4737. case "measuredangle":
  4738. // MEASURED ANGLE
  4739. return rune(0x2221), true
  4740. case "mfr":
  4741. // MATHEMATICAL FRAKTUR SMALL M
  4742. return rune(0x01d52a), true
  4743. case "mgr":
  4744. // GREEK SMALL LETTER MU
  4745. return rune(0x03bc), true
  4746. case "mho":
  4747. // INVERTED OHM SIGN
  4748. return rune(0x2127), true
  4749. case "micro":
  4750. // MICRO SIGN
  4751. return rune(0xb5), true
  4752. case "mid":
  4753. // DIVIDES
  4754. return rune(0x2223), true
  4755. case "midast":
  4756. // ASTERISK
  4757. return rune(0x2a), true
  4758. case "midcir":
  4759. // VERTICAL LINE WITH CIRCLE BELOW
  4760. return rune(0x2af0), true
  4761. case "middot":
  4762. // MIDDLE DOT
  4763. return rune(0xb7), true
  4764. case "minus":
  4765. // MINUS SIGN
  4766. return rune(0x2212), true
  4767. case "minusb":
  4768. // SQUARED MINUS
  4769. return rune(0x229f), true
  4770. case "minusd":
  4771. // DOT MINUS
  4772. return rune(0x2238), true
  4773. case "minusdu":
  4774. // MINUS SIGN WITH DOT BELOW
  4775. return rune(0x2a2a), true
  4776. case "mlcp":
  4777. // TRANSVERSAL INTERSECTION
  4778. return rune(0x2adb), true
  4779. case "mldr":
  4780. // HORIZONTAL ELLIPSIS
  4781. return rune(0x2026), true
  4782. case "mnplus":
  4783. // MINUS-OR-PLUS SIGN
  4784. return rune(0x2213), true
  4785. case "models":
  4786. // MODELS
  4787. return rune(0x22a7), true
  4788. case "mopf":
  4789. // MATHEMATICAL DOUBLE-STRUCK SMALL M
  4790. return rune(0x01d55e), true
  4791. case "mp":
  4792. // MINUS-OR-PLUS SIGN
  4793. return rune(0x2213), true
  4794. case "mscr":
  4795. // MATHEMATICAL SCRIPT SMALL M
  4796. return rune(0x01d4c2), true
  4797. case "mstpos":
  4798. // INVERTED LAZY S
  4799. return rune(0x223e), true
  4800. case "multimap":
  4801. // MULTIMAP
  4802. return rune(0x22b8), true
  4803. case "mumap":
  4804. // MULTIMAP
  4805. return rune(0x22b8), true
  4806. case "mu":
  4807. // GREEK SMALL LETTER MU
  4808. return rune(0x03bc), true
  4809. }
  4810. case 'n':
  4811. switch name {
  4812. case "nGg":
  4813. // VERY MUCH GREATER-THAN with slash
  4814. return rune(0x22d9), true
  4815. case "nGtv":
  4816. // MUCH GREATER THAN with slash
  4817. return rune(0x226b), true
  4818. case "nGt":
  4819. // MUCH GREATER THAN with vertical line
  4820. return rune(0x226b), true
  4821. case "nLeftarrow":
  4822. // LEFTWARDS DOUBLE ARROW WITH STROKE
  4823. return rune(0x21cd), true
  4824. case "nLeftrightarrow":
  4825. // LEFT RIGHT DOUBLE ARROW WITH STROKE
  4826. return rune(0x21ce), true
  4827. case "nLl":
  4828. // VERY MUCH LESS-THAN with slash
  4829. return rune(0x22d8), true
  4830. case "nLtv":
  4831. // MUCH LESS THAN with slash
  4832. return rune(0x226a), true
  4833. case "nLt":
  4834. // MUCH LESS THAN with vertical line
  4835. return rune(0x226a), true
  4836. case "nRightarrow":
  4837. // RIGHTWARDS DOUBLE ARROW WITH STROKE
  4838. return rune(0x21cf), true
  4839. case "nVDash":
  4840. // NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE
  4841. return rune(0x22af), true
  4842. case "nVdash":
  4843. // DOES NOT FORCE
  4844. return rune(0x22ae), true
  4845. case "nabla":
  4846. // NABLA
  4847. return rune(0x2207), true
  4848. case "nacute":
  4849. // LATIN SMALL LETTER N WITH ACUTE
  4850. return rune(0x0144), true
  4851. case "nang":
  4852. // ANGLE with vertical line
  4853. return rune(0x2220), true
  4854. case "nap":
  4855. // NOT ALMOST EQUAL TO
  4856. return rune(0x2249), true
  4857. case "napE":
  4858. // APPROXIMATELY EQUAL OR EQUAL TO with slash
  4859. return rune(0x2a70), true
  4860. case "napid":
  4861. // TRIPLE TILDE with slash
  4862. return rune(0x224b), true
  4863. case "napos":
  4864. // LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
  4865. return rune(0x0149), true
  4866. case "napprox":
  4867. // NOT ALMOST EQUAL TO
  4868. return rune(0x2249), true
  4869. case "naturals":
  4870. // DOUBLE-STRUCK CAPITAL N
  4871. return rune(0x2115), true
  4872. case "natur":
  4873. // MUSIC NATURAL SIGN
  4874. return rune(0x266e), true
  4875. case "natural":
  4876. // MUSIC NATURAL SIGN
  4877. return rune(0x266e), true
  4878. case "nbsp":
  4879. // NO-BREAK SPACE
  4880. return rune(0xa0), true
  4881. case "nbump":
  4882. // GEOMETRICALLY EQUIVALENT TO with slash
  4883. return rune(0x224e), true
  4884. case "nbumpe":
  4885. // DIFFERENCE BETWEEN with slash
  4886. return rune(0x224f), true
  4887. case "ncap":
  4888. // INTERSECTION WITH OVERBAR
  4889. return rune(0x2a43), true
  4890. case "ncaron":
  4891. // LATIN SMALL LETTER N WITH CARON
  4892. return rune(0x0148), true
  4893. case "ncedil":
  4894. // LATIN SMALL LETTER N WITH CEDILLA
  4895. return rune(0x0146), true
  4896. case "ncong":
  4897. // NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
  4898. return rune(0x2247), true
  4899. case "ncongdot":
  4900. // CONGRUENT WITH DOT ABOVE with slash
  4901. return rune(0x2a6d), true
  4902. case "ncup":
  4903. // UNION WITH OVERBAR
  4904. return rune(0x2a42), true
  4905. case "ncy":
  4906. // CYRILLIC SMALL LETTER EN
  4907. return rune(0x043d), true
  4908. case "ndash":
  4909. // EN DASH
  4910. return rune(0x2013), true
  4911. case "neArr":
  4912. // NORTH EAST DOUBLE ARROW
  4913. return rune(0x21d7), true
  4914. case "nearrow":
  4915. // NORTH EAST ARROW
  4916. return rune(0x2197), true
  4917. case "nearr":
  4918. // NORTH EAST ARROW
  4919. return rune(0x2197), true
  4920. case "nedot":
  4921. // APPROACHES THE LIMIT with slash
  4922. return rune(0x2250), true
  4923. case "nesim":
  4924. // MINUS TILDE with slash
  4925. return rune(0x2242), true
  4926. case "nexist":
  4927. // THERE DOES NOT EXIST
  4928. return rune(0x2204), true
  4929. case "nexists":
  4930. // THERE DOES NOT EXIST
  4931. return rune(0x2204), true
  4932. case "ne":
  4933. // NOT EQUAL TO
  4934. return rune(0x2260), true
  4935. case "nearhk":
  4936. // NORTH EAST ARROW WITH HOOK
  4937. return rune(0x2924), true
  4938. case "neonwarr":
  4939. // NORTH EAST ARROW CROSSING NORTH WEST ARROW
  4940. return rune(0x2931), true
  4941. case "neosearr":
  4942. // NORTH EAST ARROW CROSSING SOUTH EAST ARROW
  4943. return rune(0x292e), true
  4944. case "nequiv":
  4945. // NOT IDENTICAL TO
  4946. return rune(0x2262), true
  4947. case "nesear":
  4948. // NORTH EAST ARROW AND SOUTH EAST ARROW
  4949. return rune(0x2928), true
  4950. case "neswsarr":
  4951. // NORTH EAST AND SOUTH WEST ARROW
  4952. return rune(0x2922), true
  4953. case "nfr":
  4954. // MATHEMATICAL FRAKTUR SMALL N
  4955. return rune(0x01d52b), true
  4956. case "ngE":
  4957. // GREATER-THAN OVER EQUAL TO with slash
  4958. return rune(0x2267), true
  4959. case "ngeqq":
  4960. // GREATER-THAN OVER EQUAL TO with slash
  4961. return rune(0x2267), true
  4962. case "nge":
  4963. // NEITHER GREATER-THAN NOR EQUAL TO
  4964. return rune(0x2271), true
  4965. case "ngeq":
  4966. // NEITHER GREATER-THAN NOR EQUAL TO
  4967. return rune(0x2271), true
  4968. case "ngeqslant":
  4969. // GREATER-THAN OR SLANTED EQUAL TO with slash
  4970. return rune(0x2a7e), true
  4971. case "nges":
  4972. // GREATER-THAN OR SLANTED EQUAL TO with slash
  4973. return rune(0x2a7e), true
  4974. case "ngr":
  4975. // GREEK SMALL LETTER NU
  4976. return rune(0x03bd), true
  4977. case "ngsim":
  4978. // NEITHER GREATER-THAN NOR EQUIVALENT TO
  4979. return rune(0x2275), true
  4980. case "ngt":
  4981. // NOT GREATER-THAN
  4982. return rune(0x226f), true
  4983. case "ngtr":
  4984. // NOT GREATER-THAN
  4985. return rune(0x226f), true
  4986. case "nhArr":
  4987. // LEFT RIGHT DOUBLE ARROW WITH STROKE
  4988. return rune(0x21ce), true
  4989. case "nharr":
  4990. // LEFT RIGHT ARROW WITH STROKE
  4991. return rune(0x21ae), true
  4992. case "nhpar":
  4993. // PARALLEL WITH HORIZONTAL STROKE
  4994. return rune(0x2af2), true
  4995. case "niv":
  4996. // CONTAINS AS MEMBER
  4997. return rune(0x220b), true
  4998. case "ni":
  4999. // CONTAINS AS MEMBER
  5000. return rune(0x220b), true
  5001. case "nisd":
  5002. // CONTAINS WITH LONG HORIZONTAL STROKE
  5003. return rune(0x22fa), true
  5004. case "nis":
  5005. // SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  5006. return rune(0x22fc), true
  5007. case "njcy":
  5008. // CYRILLIC SMALL LETTER NJE
  5009. return rune(0x045a), true
  5010. case "nlArr":
  5011. // LEFTWARDS DOUBLE ARROW WITH STROKE
  5012. return rune(0x21cd), true
  5013. case "nlE":
  5014. // LESS-THAN OVER EQUAL TO with slash
  5015. return rune(0x2266), true
  5016. case "nlarr":
  5017. // LEFTWARDS ARROW WITH STROKE
  5018. return rune(0x219a), true
  5019. case "nldr":
  5020. // TWO DOT LEADER
  5021. return rune(0x2025), true
  5022. case "nleftarrow":
  5023. // LEFTWARDS ARROW WITH STROKE
  5024. return rune(0x219a), true
  5025. case "nleftrightarrow":
  5026. // LEFT RIGHT ARROW WITH STROKE
  5027. return rune(0x21ae), true
  5028. case "nleqq":
  5029. // LESS-THAN OVER EQUAL TO with slash
  5030. return rune(0x2266), true
  5031. case "nless":
  5032. // NOT LESS-THAN
  5033. return rune(0x226e), true
  5034. case "nle":
  5035. // NEITHER LESS-THAN NOR EQUAL TO
  5036. return rune(0x2270), true
  5037. case "nleq":
  5038. // NEITHER LESS-THAN NOR EQUAL TO
  5039. return rune(0x2270), true
  5040. case "nleqslant":
  5041. // LESS-THAN OR SLANTED EQUAL TO with slash
  5042. return rune(0x2a7d), true
  5043. case "nles":
  5044. // LESS-THAN OR SLANTED EQUAL TO with slash
  5045. return rune(0x2a7d), true
  5046. case "nlsim":
  5047. // NEITHER LESS-THAN NOR EQUIVALENT TO
  5048. return rune(0x2274), true
  5049. case "nlt":
  5050. // NOT LESS-THAN
  5051. return rune(0x226e), true
  5052. case "nltri":
  5053. // NOT NORMAL SUBGROUP OF
  5054. return rune(0x22ea), true
  5055. case "nltrie":
  5056. // NOT NORMAL SUBGROUP OF OR EQUAL TO
  5057. return rune(0x22ec), true
  5058. case "nltrivb":
  5059. // LEFT TRIANGLE BESIDE VERTICAL BAR with slash
  5060. return rune(0x29cf), true
  5061. case "nmid":
  5062. // DOES NOT DIVIDE
  5063. return rune(0x2224), true
  5064. case "nopf":
  5065. // MATHEMATICAL DOUBLE-STRUCK SMALL N
  5066. return rune(0x01d55f), true
  5067. case "notin":
  5068. // NOT AN ELEMENT OF
  5069. return rune(0x2209), true
  5070. case "notinE":
  5071. // ELEMENT OF WITH TWO HORIZONTAL STROKES with slash
  5072. return rune(0x22f9), true
  5073. case "notindot":
  5074. // ELEMENT OF WITH DOT ABOVE with slash
  5075. return rune(0x22f5), true
  5076. case "notinva":
  5077. // NOT AN ELEMENT OF
  5078. return rune(0x2209), true
  5079. case "notinvb":
  5080. // SMALL ELEMENT OF WITH OVERBAR
  5081. return rune(0x22f7), true
  5082. case "notinvc":
  5083. // ELEMENT OF WITH OVERBAR
  5084. return rune(0x22f6), true
  5085. case "notni":
  5086. // DOES NOT CONTAIN AS MEMBER
  5087. return rune(0x220c), true
  5088. case "notniva":
  5089. // DOES NOT CONTAIN AS MEMBER
  5090. return rune(0x220c), true
  5091. case "notnivb":
  5092. // SMALL CONTAINS WITH OVERBAR
  5093. return rune(0x22fe), true
  5094. case "notnivc":
  5095. // CONTAINS WITH OVERBAR
  5096. return rune(0x22fd), true
  5097. case "not":
  5098. // NOT SIGN
  5099. return rune(0xac), true
  5100. case "npart":
  5101. // PARTIAL DIFFERENTIAL with slash
  5102. return rune(0x2202), true
  5103. case "npar":
  5104. // NOT PARALLEL TO
  5105. return rune(0x2226), true
  5106. case "nparallel":
  5107. // NOT PARALLEL TO
  5108. return rune(0x2226), true
  5109. case "nparsl":
  5110. // DOUBLE SOLIDUS OPERATOR with reverse slash
  5111. return rune(0x2afd), true
  5112. case "npolint":
  5113. // LINE INTEGRATION NOT INCLUDING THE POLE
  5114. return rune(0x2a14), true
  5115. case "nprsim":
  5116. // PRECEDES OR EQUIVALENT TO with slash
  5117. return rune(0x227e), true
  5118. case "npr":
  5119. // DOES NOT PRECEDE
  5120. return rune(0x2280), true
  5121. case "nprcue":
  5122. // DOES NOT PRECEDE OR EQUAL
  5123. return rune(0x22e0), true
  5124. case "nprec":
  5125. // DOES NOT PRECEDE
  5126. return rune(0x2280), true
  5127. case "npre":
  5128. // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
  5129. return rune(0x2aaf), true
  5130. case "npreceq":
  5131. // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN with slash
  5132. return rune(0x2aaf), true
  5133. case "nrArr":
  5134. // RIGHTWARDS DOUBLE ARROW WITH STROKE
  5135. return rune(0x21cf), true
  5136. case "nrarrw":
  5137. // RIGHTWARDS WAVE ARROW with slash
  5138. return rune(0x219d), true
  5139. case "nrarr":
  5140. // RIGHTWARDS ARROW WITH STROKE
  5141. return rune(0x219b), true
  5142. case "nrarrc":
  5143. // WAVE ARROW POINTING DIRECTLY RIGHT with slash
  5144. return rune(0x2933), true
  5145. case "nrightarrow":
  5146. // RIGHTWARDS ARROW WITH STROKE
  5147. return rune(0x219b), true
  5148. case "nrtri":
  5149. // DOES NOT CONTAIN AS NORMAL SUBGROUP
  5150. return rune(0x22eb), true
  5151. case "nrtrie":
  5152. // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
  5153. return rune(0x22ed), true
  5154. case "nsGt":
  5155. // DOUBLE NESTED GREATER-THAN with slash
  5156. return rune(0x2aa2), true
  5157. case "nsLt":
  5158. // DOUBLE NESTED LESS-THAN with slash
  5159. return rune(0x2aa1), true
  5160. case "nscsim":
  5161. // SUCCEEDS OR EQUIVALENT TO with slash
  5162. return rune(0x227f), true
  5163. case "nsc":
  5164. // DOES NOT SUCCEED
  5165. return rune(0x2281), true
  5166. case "nsccue":
  5167. // DOES NOT SUCCEED OR EQUAL
  5168. return rune(0x22e1), true
  5169. case "nsce":
  5170. // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
  5171. return rune(0x2ab0), true
  5172. case "nscr":
  5173. // MATHEMATICAL SCRIPT SMALL N
  5174. return rune(0x01d4c3), true
  5175. case "nshortmid":
  5176. // DOES NOT DIVIDE
  5177. return rune(0x2224), true
  5178. case "nshortparallel":
  5179. // NOT PARALLEL TO
  5180. return rune(0x2226), true
  5181. case "nsim":
  5182. // NOT TILDE
  5183. return rune(0x2241), true
  5184. case "nsime":
  5185. // NOT ASYMPTOTICALLY EQUAL TO
  5186. return rune(0x2244), true
  5187. case "nsimeq":
  5188. // NOT ASYMPTOTICALLY EQUAL TO
  5189. return rune(0x2244), true
  5190. case "nsmid":
  5191. // DOES NOT DIVIDE
  5192. return rune(0x2224), true
  5193. case "nspar":
  5194. // NOT PARALLEL TO
  5195. return rune(0x2226), true
  5196. case "nsqsub":
  5197. // SQUARE IMAGE OF with slash
  5198. return rune(0x228f), true
  5199. case "nsqsube":
  5200. // NOT SQUARE IMAGE OF OR EQUAL TO
  5201. return rune(0x22e2), true
  5202. case "nsqsup":
  5203. // SQUARE ORIGINAL OF with slash
  5204. return rune(0x2290), true
  5205. case "nsqsupe":
  5206. // NOT SQUARE ORIGINAL OF OR EQUAL TO
  5207. return rune(0x22e3), true
  5208. case "nsubset":
  5209. // SUBSET OF with vertical line
  5210. return rune(0x2282), true
  5211. case "nsub":
  5212. // NOT A SUBSET OF
  5213. return rune(0x2284), true
  5214. case "nsubE":
  5215. // SUBSET OF ABOVE EQUALS SIGN with slash
  5216. return rune(0x2ac5), true
  5217. case "nsube":
  5218. // NEITHER A SUBSET OF NOR EQUAL TO
  5219. return rune(0x2288), true
  5220. case "nsubseteq":
  5221. // NEITHER A SUBSET OF NOR EQUAL TO
  5222. return rune(0x2288), true
  5223. case "nsubseteqq":
  5224. // SUBSET OF ABOVE EQUALS SIGN with slash
  5225. return rune(0x2ac5), true
  5226. case "nsucc":
  5227. // DOES NOT SUCCEED
  5228. return rune(0x2281), true
  5229. case "nsucceq":
  5230. // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN with slash
  5231. return rune(0x2ab0), true
  5232. case "nsupset":
  5233. // SUPERSET OF with vertical line
  5234. return rune(0x2283), true
  5235. case "nsup":
  5236. // NOT A SUPERSET OF
  5237. return rune(0x2285), true
  5238. case "nsupE":
  5239. // SUPERSET OF ABOVE EQUALS SIGN with slash
  5240. return rune(0x2ac6), true
  5241. case "nsupe":
  5242. // NEITHER A SUPERSET OF NOR EQUAL TO
  5243. return rune(0x2289), true
  5244. case "nsupseteq":
  5245. // NEITHER A SUPERSET OF NOR EQUAL TO
  5246. return rune(0x2289), true
  5247. case "nsupseteqq":
  5248. // SUPERSET OF ABOVE EQUALS SIGN with slash
  5249. return rune(0x2ac6), true
  5250. case "ntgl":
  5251. // NEITHER GREATER-THAN NOR LESS-THAN
  5252. return rune(0x2279), true
  5253. case "ntilde":
  5254. // LATIN SMALL LETTER N WITH TILDE
  5255. return rune(0xf1), true
  5256. case "ntlg":
  5257. // NEITHER LESS-THAN NOR GREATER-THAN
  5258. return rune(0x2278), true
  5259. case "ntriangleleft":
  5260. // NOT NORMAL SUBGROUP OF
  5261. return rune(0x22ea), true
  5262. case "ntrianglelefteq":
  5263. // NOT NORMAL SUBGROUP OF OR EQUAL TO
  5264. return rune(0x22ec), true
  5265. case "ntriangleright":
  5266. // DOES NOT CONTAIN AS NORMAL SUBGROUP
  5267. return rune(0x22eb), true
  5268. case "ntrianglerighteq":
  5269. // DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL
  5270. return rune(0x22ed), true
  5271. case "numero":
  5272. // NUMERO SIGN
  5273. return rune(0x2116), true
  5274. case "numsp":
  5275. // FIGURE SPACE
  5276. return rune(0x2007), true
  5277. case "nu":
  5278. // GREEK SMALL LETTER NU
  5279. return rune(0x03bd), true
  5280. case "num":
  5281. // NUMBER SIGN
  5282. return rune(0x23), true
  5283. case "nvDash":
  5284. // NOT TRUE
  5285. return rune(0x22ad), true
  5286. case "nvHarr":
  5287. // LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE
  5288. return rune(0x2904), true
  5289. case "nvap":
  5290. // EQUIVALENT TO with vertical line
  5291. return rune(0x224d), true
  5292. case "nvbrtri":
  5293. // VERTICAL BAR BESIDE RIGHT TRIANGLE with slash
  5294. return rune(0x29d0), true
  5295. case "nvdash":
  5296. // DOES NOT PROVE
  5297. return rune(0x22ac), true
  5298. case "nvge":
  5299. // GREATER-THAN OR EQUAL TO with vertical line
  5300. return rune(0x2265), true
  5301. case "nvgt":
  5302. // GREATER-THAN SIGN with vertical line
  5303. return rune(0x3e), true
  5304. case "nvinfin":
  5305. // INFINITY NEGATED WITH VERTICAL BAR
  5306. return rune(0x29de), true
  5307. case "nvlArr":
  5308. // LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE
  5309. return rune(0x2902), true
  5310. case "nvle":
  5311. // LESS-THAN OR EQUAL TO with vertical line
  5312. return rune(0x2264), true
  5313. case "nvltrie":
  5314. // NORMAL SUBGROUP OF OR EQUAL TO with vertical line
  5315. return rune(0x22b4), true
  5316. case "nvlt":
  5317. // LESS-THAN SIGN with vertical line
  5318. return rune(0x3c), true
  5319. case "nvrArr":
  5320. // RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE
  5321. return rune(0x2903), true
  5322. case "nvrtrie":
  5323. // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO with vertical line
  5324. return rune(0x22b5), true
  5325. case "nvsim":
  5326. // TILDE OPERATOR with vertical line
  5327. return rune(0x223c), true
  5328. case "nwArr":
  5329. // NORTH WEST DOUBLE ARROW
  5330. return rune(0x21d6), true
  5331. case "nwarhk":
  5332. // NORTH WEST ARROW WITH HOOK
  5333. return rune(0x2923), true
  5334. case "nwarrow":
  5335. // NORTH WEST ARROW
  5336. return rune(0x2196), true
  5337. case "nwarr":
  5338. // NORTH WEST ARROW
  5339. return rune(0x2196), true
  5340. case "nwnear":
  5341. // NORTH WEST ARROW AND NORTH EAST ARROW
  5342. return rune(0x2927), true
  5343. case "nwonearr":
  5344. // NORTH WEST ARROW CROSSING NORTH EAST ARROW
  5345. return rune(0x2932), true
  5346. case "nwsesarr":
  5347. // NORTH WEST AND SOUTH EAST ARROW
  5348. return rune(0x2921), true
  5349. }
  5350. case 'o':
  5351. switch name {
  5352. case "oS":
  5353. // CIRCLED LATIN CAPITAL LETTER S
  5354. return rune(0x24c8), true
  5355. case "oacgr":
  5356. // GREEK SMALL LETTER OMICRON WITH TONOS
  5357. return rune(0x03cc), true
  5358. case "oacute":
  5359. // LATIN SMALL LETTER O WITH ACUTE
  5360. return rune(0xf3), true
  5361. case "oast":
  5362. // CIRCLED ASTERISK OPERATOR
  5363. return rune(0x229b), true
  5364. case "obsol":
  5365. // CIRCLED REVERSE SOLIDUS
  5366. return rune(0x29b8), true
  5367. case "ocir":
  5368. // CIRCLED RING OPERATOR
  5369. return rune(0x229a), true
  5370. case "ocirc":
  5371. // LATIN SMALL LETTER O WITH CIRCUMFLEX
  5372. return rune(0xf4), true
  5373. case "ocy":
  5374. // CYRILLIC SMALL LETTER O
  5375. return rune(0x043e), true
  5376. case "odash":
  5377. // CIRCLED DASH
  5378. return rune(0x229d), true
  5379. case "odblac":
  5380. // LATIN SMALL LETTER O WITH DOUBLE ACUTE
  5381. return rune(0x0151), true
  5382. case "odiv":
  5383. // CIRCLED DIVISION SIGN
  5384. return rune(0x2a38), true
  5385. case "odot":
  5386. // CIRCLED DOT OPERATOR
  5387. return rune(0x2299), true
  5388. case "odsold":
  5389. // CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN
  5390. return rune(0x29bc), true
  5391. case "oelig":
  5392. // LATIN SMALL LIGATURE OE
  5393. return rune(0x0153), true
  5394. case "ofcir":
  5395. // CIRCLED BULLET
  5396. return rune(0x29bf), true
  5397. case "ofr":
  5398. // MATHEMATICAL FRAKTUR SMALL O
  5399. return rune(0x01d52c), true
  5400. case "ogon":
  5401. // OGONEK
  5402. return rune(0x02db), true
  5403. case "ogr":
  5404. // GREEK SMALL LETTER OMICRON
  5405. return rune(0x03bf), true
  5406. case "ograve":
  5407. // LATIN SMALL LETTER O WITH GRAVE
  5408. return rune(0xf2), true
  5409. case "ogt":
  5410. // CIRCLED GREATER-THAN
  5411. return rune(0x29c1), true
  5412. case "ohacgr":
  5413. // GREEK SMALL LETTER OMEGA WITH TONOS
  5414. return rune(0x03ce), true
  5415. case "ohbar":
  5416. // CIRCLE WITH HORIZONTAL BAR
  5417. return rune(0x29b5), true
  5418. case "ohgr":
  5419. // GREEK SMALL LETTER OMEGA
  5420. return rune(0x03c9), true
  5421. case "ohm":
  5422. // GREEK CAPITAL LETTER OMEGA
  5423. return rune(0x03a9), true
  5424. case "oint":
  5425. // CONTOUR INTEGRAL
  5426. return rune(0x222e), true
  5427. case "olarr":
  5428. // ANTICLOCKWISE OPEN CIRCLE ARROW
  5429. return rune(0x21ba), true
  5430. case "olcir":
  5431. // CIRCLED WHITE BULLET
  5432. return rune(0x29be), true
  5433. case "olcross":
  5434. // CIRCLE WITH SUPERIMPOSED X
  5435. return rune(0x29bb), true
  5436. case "oline":
  5437. // OVERLINE
  5438. return rune(0x203e), true
  5439. case "olt":
  5440. // CIRCLED LESS-THAN
  5441. return rune(0x29c0), true
  5442. case "omacr":
  5443. // LATIN SMALL LETTER O WITH MACRON
  5444. return rune(0x014d), true
  5445. case "omega":
  5446. // GREEK SMALL LETTER OMEGA
  5447. return rune(0x03c9), true
  5448. case "omicron":
  5449. // GREEK SMALL LETTER OMICRON
  5450. return rune(0x03bf), true
  5451. case "omid":
  5452. // CIRCLED VERTICAL BAR
  5453. return rune(0x29b6), true
  5454. case "ominus":
  5455. // CIRCLED MINUS
  5456. return rune(0x2296), true
  5457. case "oopf":
  5458. // MATHEMATICAL DOUBLE-STRUCK SMALL O
  5459. return rune(0x01d560), true
  5460. case "opar":
  5461. // CIRCLED PARALLEL
  5462. return rune(0x29b7), true
  5463. case "operp":
  5464. // CIRCLED PERPENDICULAR
  5465. return rune(0x29b9), true
  5466. case "opfgamma":
  5467. // DOUBLE-STRUCK SMALL GAMMA
  5468. return rune(0x213d), true
  5469. case "opfpi":
  5470. // DOUBLE-STRUCK CAPITAL PI
  5471. return rune(0x213f), true
  5472. case "opfsum":
  5473. // DOUBLE-STRUCK N-ARY SUMMATION
  5474. return rune(0x2140), true
  5475. case "oplus":
  5476. // CIRCLED PLUS
  5477. return rune(0x2295), true
  5478. case "orarr":
  5479. // CLOCKWISE OPEN CIRCLE ARROW
  5480. return rune(0x21bb), true
  5481. case "or":
  5482. // LOGICAL OR
  5483. return rune(0x2228), true
  5484. case "orderof":
  5485. // SCRIPT SMALL O
  5486. return rune(0x2134), true
  5487. case "order":
  5488. // SCRIPT SMALL O
  5489. return rune(0x2134), true
  5490. case "ord":
  5491. // LOGICAL OR WITH HORIZONTAL DASH
  5492. return rune(0x2a5d), true
  5493. case "ordf":
  5494. // FEMININE ORDINAL INDICATOR
  5495. return rune(0xaa), true
  5496. case "ordm":
  5497. // MASCULINE ORDINAL INDICATOR
  5498. return rune(0xba), true
  5499. case "origof":
  5500. // ORIGINAL OF
  5501. return rune(0x22b6), true
  5502. case "oror":
  5503. // TWO INTERSECTING LOGICAL OR
  5504. return rune(0x2a56), true
  5505. case "orslope":
  5506. // SLOPING LARGE OR
  5507. return rune(0x2a57), true
  5508. case "orv":
  5509. // LOGICAL OR WITH MIDDLE STEM
  5510. return rune(0x2a5b), true
  5511. case "oscr":
  5512. // SCRIPT SMALL O
  5513. return rune(0x2134), true
  5514. case "oslash":
  5515. // LATIN SMALL LETTER O WITH STROKE
  5516. return rune(0xf8), true
  5517. case "osol":
  5518. // CIRCLED DIVISION SLASH
  5519. return rune(0x2298), true
  5520. case "otilde":
  5521. // LATIN SMALL LETTER O WITH TILDE
  5522. return rune(0xf5), true
  5523. case "otimes":
  5524. // CIRCLED TIMES
  5525. return rune(0x2297), true
  5526. case "otimesas":
  5527. // CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT
  5528. return rune(0x2a36), true
  5529. case "ouml":
  5530. // LATIN SMALL LETTER O WITH DIAERESIS
  5531. return rune(0xf6), true
  5532. case "ovbar":
  5533. // APL FUNCTIONAL SYMBOL CIRCLE STILE
  5534. return rune(0x233d), true
  5535. case "ovrbrk":
  5536. // TOP SQUARE BRACKET
  5537. return rune(0x23b4), true
  5538. case "ovrcub":
  5539. // TOP CURLY BRACKET
  5540. return rune(0x23de), true
  5541. case "ovrpar":
  5542. // TOP PARENTHESIS
  5543. return rune(0x23dc), true
  5544. case "oxuarr":
  5545. // UP ARROW THROUGH CIRCLE
  5546. return rune(0x29bd), true
  5547. }
  5548. case 'p':
  5549. switch name {
  5550. case "part":
  5551. // PARTIAL DIFFERENTIAL
  5552. return rune(0x2202), true
  5553. case "par":
  5554. // PARALLEL TO
  5555. return rune(0x2225), true
  5556. case "parallel":
  5557. // PARALLEL TO
  5558. return rune(0x2225), true
  5559. case "para":
  5560. // PILCROW SIGN
  5561. return rune(0xb6), true
  5562. case "parsim":
  5563. // PARALLEL WITH TILDE OPERATOR
  5564. return rune(0x2af3), true
  5565. case "parsl":
  5566. // DOUBLE SOLIDUS OPERATOR
  5567. return rune(0x2afd), true
  5568. case "pcy":
  5569. // CYRILLIC SMALL LETTER PE
  5570. return rune(0x043f), true
  5571. case "percnt":
  5572. // PERCENT SIGN
  5573. return rune(0x25), true
  5574. case "period":
  5575. // FULL STOP
  5576. return rune(0x2e), true
  5577. case "permil":
  5578. // PER MILLE SIGN
  5579. return rune(0x2030), true
  5580. case "perp":
  5581. // UP TACK
  5582. return rune(0x22a5), true
  5583. case "pertenk":
  5584. // PER TEN THOUSAND SIGN
  5585. return rune(0x2031), true
  5586. case "pfr":
  5587. // MATHEMATICAL FRAKTUR SMALL P
  5588. return rune(0x01d52d), true
  5589. case "pgr":
  5590. // GREEK SMALL LETTER PI
  5591. return rune(0x03c0), true
  5592. case "phgr":
  5593. // GREEK SMALL LETTER PHI
  5594. return rune(0x03c6), true
  5595. case "phis":
  5596. // GREEK PHI SYMBOL
  5597. return rune(0x03d5), true
  5598. case "phiv":
  5599. // GREEK PHI SYMBOL
  5600. return rune(0x03d5), true
  5601. case "phi":
  5602. // GREEK SMALL LETTER PHI
  5603. return rune(0x03c6), true
  5604. case "phmmat":
  5605. // SCRIPT CAPITAL M
  5606. return rune(0x2133), true
  5607. case "phone":
  5608. // BLACK TELEPHONE
  5609. return rune(0x260e), true
  5610. case "pitchfork":
  5611. // PITCHFORK
  5612. return rune(0x22d4), true
  5613. case "piv":
  5614. // GREEK PI SYMBOL
  5615. return rune(0x03d6), true
  5616. case "pi":
  5617. // GREEK SMALL LETTER PI
  5618. return rune(0x03c0), true
  5619. case "planck":
  5620. // PLANCK CONSTANT OVER TWO PI
  5621. return rune(0x210f), true
  5622. case "planckh":
  5623. // PLANCK CONSTANT
  5624. return rune(0x210e), true
  5625. case "plankv":
  5626. // PLANCK CONSTANT OVER TWO PI
  5627. return rune(0x210f), true
  5628. case "plusacir":
  5629. // PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE
  5630. return rune(0x2a23), true
  5631. case "plusb":
  5632. // SQUARED PLUS
  5633. return rune(0x229e), true
  5634. case "pluscir":
  5635. // PLUS SIGN WITH SMALL CIRCLE ABOVE
  5636. return rune(0x2a22), true
  5637. case "plusdo":
  5638. // DOT PLUS
  5639. return rune(0x2214), true
  5640. case "plusdu":
  5641. // PLUS SIGN WITH DOT BELOW
  5642. return rune(0x2a25), true
  5643. case "pluse":
  5644. // PLUS SIGN ABOVE EQUALS SIGN
  5645. return rune(0x2a72), true
  5646. case "plusmn":
  5647. // PLUS-MINUS SIGN
  5648. return rune(0xb1), true
  5649. case "plussim":
  5650. // PLUS SIGN WITH TILDE BELOW
  5651. return rune(0x2a26), true
  5652. case "plustrif":
  5653. // PLUS SIGN WITH BLACK TRIANGLE
  5654. return rune(0x2a28), true
  5655. case "plustwo":
  5656. // PLUS SIGN WITH SUBSCRIPT TWO
  5657. return rune(0x2a27), true
  5658. case "plus":
  5659. // PLUS SIGN
  5660. return rune(0x2b), true
  5661. case "pm":
  5662. // PLUS-MINUS SIGN
  5663. return rune(0xb1), true
  5664. case "pointint":
  5665. // INTEGRAL AROUND A POINT OPERATOR
  5666. return rune(0x2a15), true
  5667. case "popf":
  5668. // MATHEMATICAL DOUBLE-STRUCK SMALL P
  5669. return rune(0x01d561), true
  5670. case "pound":
  5671. // POUND SIGN
  5672. return rune(0xa3), true
  5673. case "prod":
  5674. // N-ARY PRODUCT
  5675. return rune(0x220f), true
  5676. case "prop":
  5677. // PROPORTIONAL TO
  5678. return rune(0x221d), true
  5679. case "propto":
  5680. // PROPORTIONAL TO
  5681. return rune(0x221d), true
  5682. case "pr":
  5683. // PRECEDES
  5684. return rune(0x227a), true
  5685. case "prE":
  5686. // PRECEDES ABOVE EQUALS SIGN
  5687. return rune(0x2ab3), true
  5688. case "prap":
  5689. // PRECEDES ABOVE ALMOST EQUAL TO
  5690. return rune(0x2ab7), true
  5691. case "prcue":
  5692. // PRECEDES OR EQUAL TO
  5693. return rune(0x227c), true
  5694. case "prec":
  5695. // PRECEDES
  5696. return rune(0x227a), true
  5697. case "preccurlyeq":
  5698. // PRECEDES OR EQUAL TO
  5699. return rune(0x227c), true
  5700. case "precnsim":
  5701. // PRECEDES BUT NOT EQUIVALENT TO
  5702. return rune(0x22e8), true
  5703. case "precsim":
  5704. // PRECEDES OR EQUIVALENT TO
  5705. return rune(0x227e), true
  5706. case "pre":
  5707. // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
  5708. return rune(0x2aaf), true
  5709. case "precapprox":
  5710. // PRECEDES ABOVE ALMOST EQUAL TO
  5711. return rune(0x2ab7), true
  5712. case "preceq":
  5713. // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
  5714. return rune(0x2aaf), true
  5715. case "precnapprox":
  5716. // PRECEDES ABOVE NOT ALMOST EQUAL TO
  5717. return rune(0x2ab9), true
  5718. case "precneqq":
  5719. // PRECEDES ABOVE NOT EQUAL TO
  5720. return rune(0x2ab5), true
  5721. case "primes":
  5722. // DOUBLE-STRUCK CAPITAL P
  5723. return rune(0x2119), true
  5724. case "prime":
  5725. // PRIME
  5726. return rune(0x2032), true
  5727. case "prnE":
  5728. // PRECEDES ABOVE NOT EQUAL TO
  5729. return rune(0x2ab5), true
  5730. case "prnap":
  5731. // PRECEDES ABOVE NOT ALMOST EQUAL TO
  5732. return rune(0x2ab9), true
  5733. case "prnsim":
  5734. // PRECEDES BUT NOT EQUIVALENT TO
  5735. return rune(0x22e8), true
  5736. case "profalar":
  5737. // ALL AROUND-PROFILE
  5738. return rune(0x232e), true
  5739. case "profline":
  5740. // ARC
  5741. return rune(0x2312), true
  5742. case "profsurf":
  5743. // SEGMENT
  5744. return rune(0x2313), true
  5745. case "prsim":
  5746. // PRECEDES OR EQUIVALENT TO
  5747. return rune(0x227e), true
  5748. case "prurel":
  5749. // PRECEDES UNDER RELATION
  5750. return rune(0x22b0), true
  5751. case "pscr":
  5752. // MATHEMATICAL SCRIPT SMALL P
  5753. return rune(0x01d4c5), true
  5754. case "psgr":
  5755. // GREEK SMALL LETTER PSI
  5756. return rune(0x03c8), true
  5757. case "psi":
  5758. // GREEK SMALL LETTER PSI
  5759. return rune(0x03c8), true
  5760. case "puncsp":
  5761. // PUNCTUATION SPACE
  5762. return rune(0x2008), true
  5763. }
  5764. case 'q':
  5765. switch name {
  5766. case "qfr":
  5767. // MATHEMATICAL FRAKTUR SMALL Q
  5768. return rune(0x01d52e), true
  5769. case "qint":
  5770. // QUADRUPLE INTEGRAL OPERATOR
  5771. return rune(0x2a0c), true
  5772. case "qopf":
  5773. // MATHEMATICAL DOUBLE-STRUCK SMALL Q
  5774. return rune(0x01d562), true
  5775. case "qprime":
  5776. // QUADRUPLE PRIME
  5777. return rune(0x2057), true
  5778. case "qscr":
  5779. // MATHEMATICAL SCRIPT SMALL Q
  5780. return rune(0x01d4c6), true
  5781. case "quaternions":
  5782. // DOUBLE-STRUCK CAPITAL H
  5783. return rune(0x210d), true
  5784. case "quatint":
  5785. // QUATERNION INTEGRAL OPERATOR
  5786. return rune(0x2a16), true
  5787. case "questeq":
  5788. // QUESTIONED EQUAL TO
  5789. return rune(0x225f), true
  5790. case "quest":
  5791. // QUESTION MARK
  5792. return rune(0x3f), true
  5793. case "quot":
  5794. // QUOTATION MARK
  5795. return rune(0x22), true
  5796. }
  5797. case 'r':
  5798. switch name {
  5799. case "rAarr":
  5800. // RIGHTWARDS TRIPLE ARROW
  5801. return rune(0x21db), true
  5802. case "rArr":
  5803. // RIGHTWARDS DOUBLE ARROW
  5804. return rune(0x21d2), true
  5805. case "rAtail":
  5806. // RIGHTWARDS DOUBLE ARROW-TAIL
  5807. return rune(0x291c), true
  5808. case "rBarr":
  5809. // RIGHTWARDS TRIPLE DASH ARROW
  5810. return rune(0x290f), true
  5811. case "rHar":
  5812. // RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN
  5813. return rune(0x2964), true
  5814. case "race":
  5815. // REVERSED TILDE with underline
  5816. return rune(0x223d), true
  5817. case "racute":
  5818. // LATIN SMALL LETTER R WITH ACUTE
  5819. return rune(0x0155), true
  5820. case "radic":
  5821. // SQUARE ROOT
  5822. return rune(0x221a), true
  5823. case "raemptyv":
  5824. // EMPTY SET WITH RIGHT ARROW ABOVE
  5825. return rune(0x29b3), true
  5826. case "rang":
  5827. // MATHEMATICAL RIGHT ANGLE BRACKET
  5828. return rune(0x27e9), true
  5829. case "rangd":
  5830. // RIGHT ANGLE BRACKET WITH DOT
  5831. return rune(0x2992), true
  5832. case "range":
  5833. // REVERSED ANGLE WITH UNDERBAR
  5834. return rune(0x29a5), true
  5835. case "rangle":
  5836. // MATHEMATICAL RIGHT ANGLE BRACKET
  5837. return rune(0x27e9), true
  5838. case "raquo":
  5839. // RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
  5840. return rune(0xbb), true
  5841. case "rarr2":
  5842. // RIGHTWARDS PAIRED ARROWS
  5843. return rune(0x21c9), true
  5844. case "rarr3":
  5845. // THREE RIGHTWARDS ARROWS
  5846. return rune(0x21f6), true
  5847. case "rarrb":
  5848. // RIGHTWARDS ARROW TO BAR
  5849. return rune(0x21e5), true
  5850. case "rarrhk":
  5851. // RIGHTWARDS ARROW WITH HOOK
  5852. return rune(0x21aa), true
  5853. case "rarrlp":
  5854. // RIGHTWARDS ARROW WITH LOOP
  5855. return rune(0x21ac), true
  5856. case "rarrtl":
  5857. // RIGHTWARDS ARROW WITH TAIL
  5858. return rune(0x21a3), true
  5859. case "rarrw":
  5860. // RIGHTWARDS WAVE ARROW
  5861. return rune(0x219d), true
  5862. case "rarr":
  5863. // RIGHTWARDS ARROW
  5864. return rune(0x2192), true
  5865. case "rarrap":
  5866. // RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO
  5867. return rune(0x2975), true
  5868. case "rarrbfs":
  5869. // RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND
  5870. return rune(0x2920), true
  5871. case "rarrc":
  5872. // WAVE ARROW POINTING DIRECTLY RIGHT
  5873. return rune(0x2933), true
  5874. case "rarrfs":
  5875. // RIGHTWARDS ARROW TO BLACK DIAMOND
  5876. return rune(0x291e), true
  5877. case "rarrpl":
  5878. // RIGHTWARDS ARROW WITH PLUS BELOW
  5879. return rune(0x2945), true
  5880. case "rarrsim":
  5881. // RIGHTWARDS ARROW ABOVE TILDE OPERATOR
  5882. return rune(0x2974), true
  5883. case "rarrx":
  5884. // RIGHTWARDS ARROW THROUGH X
  5885. return rune(0x2947), true
  5886. case "ratail":
  5887. // RIGHTWARDS ARROW-TAIL
  5888. return rune(0x291a), true
  5889. case "ratio":
  5890. // RATIO
  5891. return rune(0x2236), true
  5892. case "rationals":
  5893. // DOUBLE-STRUCK CAPITAL Q
  5894. return rune(0x211a), true
  5895. case "rbarr":
  5896. // RIGHTWARDS DOUBLE DASH ARROW
  5897. return rune(0x290d), true
  5898. case "rbbrk":
  5899. // LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT
  5900. return rune(0x2773), true
  5901. case "rbrace":
  5902. // RIGHT CURLY BRACKET
  5903. return rune(0x7d), true
  5904. case "rbrack":
  5905. // RIGHT SQUARE BRACKET
  5906. return rune(0x5d), true
  5907. case "rbrke":
  5908. // RIGHT SQUARE BRACKET WITH UNDERBAR
  5909. return rune(0x298c), true
  5910. case "rbrksld":
  5911. // RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER
  5912. return rune(0x298e), true
  5913. case "rbrkslu":
  5914. // RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER
  5915. return rune(0x2990), true
  5916. case "rcaron":
  5917. // LATIN SMALL LETTER R WITH CARON
  5918. return rune(0x0159), true
  5919. case "rcedil":
  5920. // LATIN SMALL LETTER R WITH CEDILLA
  5921. return rune(0x0157), true
  5922. case "rceil":
  5923. // RIGHT CEILING
  5924. return rune(0x2309), true
  5925. case "rcub":
  5926. // RIGHT CURLY BRACKET
  5927. return rune(0x7d), true
  5928. case "rcy":
  5929. // CYRILLIC SMALL LETTER ER
  5930. return rune(0x0440), true
  5931. case "rdca":
  5932. // ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS
  5933. return rune(0x2937), true
  5934. case "rdharb":
  5935. // RIGHTWARDS HARPOON WITH BARB DOWN TO BAR
  5936. return rune(0x2957), true
  5937. case "rdiag":
  5938. // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
  5939. return rune(0x2571), true
  5940. case "rdiofdi":
  5941. // RISING DIAGONAL CROSSING FALLING DIAGONAL
  5942. return rune(0x292b), true
  5943. case "rdldhar":
  5944. // RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN
  5945. return rune(0x2969), true
  5946. case "rdosearr":
  5947. // RISING DIAGONAL CROSSING SOUTH EAST ARROW
  5948. return rune(0x2930), true
  5949. case "rdquor":
  5950. // RIGHT DOUBLE QUOTATION MARK
  5951. return rune(0x201d), true
  5952. case "rdquo":
  5953. // RIGHT DOUBLE QUOTATION MARK
  5954. return rune(0x201d), true
  5955. case "rdsh":
  5956. // DOWNWARDS ARROW WITH TIP RIGHTWARDS
  5957. return rune(0x21b3), true
  5958. case "realpart":
  5959. // BLACK-LETTER CAPITAL R
  5960. return rune(0x211c), true
  5961. case "reals":
  5962. // DOUBLE-STRUCK CAPITAL R
  5963. return rune(0x211d), true
  5964. case "real":
  5965. // BLACK-LETTER CAPITAL R
  5966. return rune(0x211c), true
  5967. case "realine":
  5968. // SCRIPT CAPITAL R
  5969. return rune(0x211b), true
  5970. case "rect":
  5971. // WHITE RECTANGLE
  5972. return rune(0x25ad), true
  5973. case "reg":
  5974. // REGISTERED SIGN
  5975. return rune(0xae), true
  5976. case "rfbowtie":
  5977. // BOWTIE WITH RIGHT HALF BLACK
  5978. return rune(0x29d2), true
  5979. case "rfisht":
  5980. // RIGHT FISH TAIL
  5981. return rune(0x297d), true
  5982. case "rfloor":
  5983. // RIGHT FLOOR
  5984. return rune(0x230b), true
  5985. case "rfr":
  5986. // MATHEMATICAL FRAKTUR SMALL R
  5987. return rune(0x01d52f), true
  5988. case "rftimes":
  5989. // TIMES WITH RIGHT HALF BLACK
  5990. return rune(0x29d5), true
  5991. case "rgr":
  5992. // GREEK SMALL LETTER RHO
  5993. return rune(0x03c1), true
  5994. case "rhard":
  5995. // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
  5996. return rune(0x21c1), true
  5997. case "rharu":
  5998. // RIGHTWARDS HARPOON WITH BARB UPWARDS
  5999. return rune(0x21c0), true
  6000. case "rharul":
  6001. // RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH
  6002. return rune(0x296c), true
  6003. case "rhov":
  6004. // GREEK RHO SYMBOL
  6005. return rune(0x03f1), true
  6006. case "rho":
  6007. // GREEK SMALL LETTER RHO
  6008. return rune(0x03c1), true
  6009. case "rightarrowtail":
  6010. // RIGHTWARDS ARROW WITH TAIL
  6011. return rune(0x21a3), true
  6012. case "rightarrow":
  6013. // RIGHTWARDS ARROW
  6014. return rune(0x2192), true
  6015. case "rightharpoondown":
  6016. // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
  6017. return rune(0x21c1), true
  6018. case "rightharpoonup":
  6019. // RIGHTWARDS HARPOON WITH BARB UPWARDS
  6020. return rune(0x21c0), true
  6021. case "rightleftarrows":
  6022. // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  6023. return rune(0x21c4), true
  6024. case "rightleftharpoons":
  6025. // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  6026. return rune(0x21cc), true
  6027. case "rightrightarrows":
  6028. // RIGHTWARDS PAIRED ARROWS
  6029. return rune(0x21c9), true
  6030. case "rightsquigarrow":
  6031. // RIGHTWARDS WAVE ARROW
  6032. return rune(0x219d), true
  6033. case "rightthreetimes":
  6034. // RIGHT SEMIDIRECT PRODUCT
  6035. return rune(0x22cc), true
  6036. case "rimply":
  6037. // RIGHT DOUBLE ARROW WITH ROUNDED HEAD
  6038. return rune(0x2970), true
  6039. case "ring":
  6040. // RING ABOVE
  6041. return rune(0x02da), true
  6042. case "risingdotseq":
  6043. // IMAGE OF OR APPROXIMATELY EQUAL TO
  6044. return rune(0x2253), true
  6045. case "rlarr2":
  6046. // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  6047. return rune(0x21c4), true
  6048. case "rlarr":
  6049. // RIGHTWARDS ARROW OVER LEFTWARDS ARROW
  6050. return rune(0x21c4), true
  6051. case "rlhar":
  6052. // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  6053. return rune(0x21cc), true
  6054. case "rlhar2":
  6055. // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  6056. return rune(0x21cc), true
  6057. case "rlm":
  6058. // RIGHT-TO-LEFT MARK
  6059. return rune(0x200f), true
  6060. case "rmoust":
  6061. // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
  6062. return rune(0x23b1), true
  6063. case "rmoustache":
  6064. // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
  6065. return rune(0x23b1), true
  6066. case "rnmid":
  6067. // DOES NOT DIVIDE WITH REVERSED NEGATION SLASH
  6068. return rune(0x2aee), true
  6069. case "roang":
  6070. // MATHEMATICAL RIGHT WHITE TORTOISE SHELL BRACKET
  6071. return rune(0x27ed), true
  6072. case "roarr":
  6073. // RIGHTWARDS OPEN-HEADED ARROW
  6074. return rune(0x21fe), true
  6075. case "robrk":
  6076. // MATHEMATICAL RIGHT WHITE SQUARE BRACKET
  6077. return rune(0x27e7), true
  6078. case "rocub":
  6079. // RIGHT WHITE CURLY BRACKET
  6080. return rune(0x2984), true
  6081. case "ropar":
  6082. // RIGHT WHITE PARENTHESIS
  6083. return rune(0x2986), true
  6084. case "ropf":
  6085. // MATHEMATICAL DOUBLE-STRUCK SMALL R
  6086. return rune(0x01d563), true
  6087. case "roplus":
  6088. // PLUS SIGN IN RIGHT HALF CIRCLE
  6089. return rune(0x2a2e), true
  6090. case "rotimes":
  6091. // MULTIPLICATION SIGN IN RIGHT HALF CIRCLE
  6092. return rune(0x2a35), true
  6093. case "rpargt":
  6094. // RIGHT ARC GREATER-THAN BRACKET
  6095. return rune(0x2994), true
  6096. case "rpar":
  6097. // RIGHT PARENTHESIS
  6098. return rune(0x29), true
  6099. case "rppolint":
  6100. // LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE
  6101. return rune(0x2a12), true
  6102. case "rrarr":
  6103. // RIGHTWARDS PAIRED ARROWS
  6104. return rune(0x21c9), true
  6105. case "rsaquo":
  6106. // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
  6107. return rune(0x203a), true
  6108. case "rscr":
  6109. // MATHEMATICAL SCRIPT SMALL R
  6110. return rune(0x01d4c7), true
  6111. case "rsh":
  6112. // UPWARDS ARROW WITH TIP RIGHTWARDS
  6113. return rune(0x21b1), true
  6114. case "rsolbar":
  6115. // REVERSE SOLIDUS WITH HORIZONTAL STROKE
  6116. return rune(0x29f7), true
  6117. case "rsqb":
  6118. // RIGHT SQUARE BRACKET
  6119. return rune(0x5d), true
  6120. case "rsquor":
  6121. // RIGHT SINGLE QUOTATION MARK
  6122. return rune(0x2019), true
  6123. case "rsquo":
  6124. // RIGHT SINGLE QUOTATION MARK
  6125. return rune(0x2019), true
  6126. case "rthree":
  6127. // RIGHT SEMIDIRECT PRODUCT
  6128. return rune(0x22cc), true
  6129. case "rtimes":
  6130. // RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
  6131. return rune(0x22ca), true
  6132. case "rtrie":
  6133. // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
  6134. return rune(0x22b5), true
  6135. case "rtrif":
  6136. // BLACK RIGHT-POINTING SMALL TRIANGLE
  6137. return rune(0x25b8), true
  6138. case "rtri":
  6139. // WHITE RIGHT-POINTING SMALL TRIANGLE
  6140. return rune(0x25b9), true
  6141. case "rtriltri":
  6142. // RIGHT TRIANGLE ABOVE LEFT TRIANGLE
  6143. return rune(0x29ce), true
  6144. case "ruharb":
  6145. // RIGHTWARDS HARPOON WITH BARB UP TO BAR
  6146. return rune(0x2953), true
  6147. case "ruluhar":
  6148. // RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP
  6149. return rune(0x2968), true
  6150. case "rx":
  6151. // PRESCRIPTION TAKE
  6152. return rune(0x211e), true
  6153. }
  6154. case 's':
  6155. switch name {
  6156. case "sacute":
  6157. // LATIN SMALL LETTER S WITH ACUTE
  6158. return rune(0x015b), true
  6159. case "samalg":
  6160. // N-ARY COPRODUCT
  6161. return rune(0x2210), true
  6162. case "sampi":
  6163. // GREEK LETTER SAMPI
  6164. return rune(0x03e0), true
  6165. case "sbquo":
  6166. // SINGLE LOW-9 QUOTATION MARK
  6167. return rune(0x201a), true
  6168. case "sbsol":
  6169. // SMALL REVERSE SOLIDUS
  6170. return rune(0xfe68), true
  6171. case "sc":
  6172. // SUCCEEDS
  6173. return rune(0x227b), true
  6174. case "scE":
  6175. // SUCCEEDS ABOVE EQUALS SIGN
  6176. return rune(0x2ab4), true
  6177. case "scap":
  6178. // SUCCEEDS ABOVE ALMOST EQUAL TO
  6179. return rune(0x2ab8), true
  6180. case "scaron":
  6181. // LATIN SMALL LETTER S WITH CARON
  6182. return rune(0x0161), true
  6183. case "sccue":
  6184. // SUCCEEDS OR EQUAL TO
  6185. return rune(0x227d), true
  6186. case "scedil":
  6187. // LATIN SMALL LETTER S WITH CEDILLA
  6188. return rune(0x015f), true
  6189. case "sce":
  6190. // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
  6191. return rune(0x2ab0), true
  6192. case "scirc":
  6193. // LATIN SMALL LETTER S WITH CIRCUMFLEX
  6194. return rune(0x015d), true
  6195. case "scnE":
  6196. // SUCCEEDS ABOVE NOT EQUAL TO
  6197. return rune(0x2ab6), true
  6198. case "scnap":
  6199. // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
  6200. return rune(0x2aba), true
  6201. case "scnsim":
  6202. // SUCCEEDS BUT NOT EQUIVALENT TO
  6203. return rune(0x22e9), true
  6204. case "scpolint":
  6205. // LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE
  6206. return rune(0x2a13), true
  6207. case "scsim":
  6208. // SUCCEEDS OR EQUIVALENT TO
  6209. return rune(0x227f), true
  6210. case "scy":
  6211. // CYRILLIC SMALL LETTER ES
  6212. return rune(0x0441), true
  6213. case "sdotb":
  6214. // SQUARED DOT OPERATOR
  6215. return rune(0x22a1), true
  6216. case "sdot":
  6217. // DOT OPERATOR
  6218. return rune(0x22c5), true
  6219. case "sdote":
  6220. // EQUALS SIGN WITH DOT BELOW
  6221. return rune(0x2a66), true
  6222. case "seArr":
  6223. // SOUTH EAST DOUBLE ARROW
  6224. return rune(0x21d8), true
  6225. case "searhk":
  6226. // SOUTH EAST ARROW WITH HOOK
  6227. return rune(0x2925), true
  6228. case "searrow":
  6229. // SOUTH EAST ARROW
  6230. return rune(0x2198), true
  6231. case "searr":
  6232. // SOUTH EAST ARROW
  6233. return rune(0x2198), true
  6234. case "sect":
  6235. // SECTION SIGN
  6236. return rune(0xa7), true
  6237. case "semi":
  6238. // SEMICOLON
  6239. return rune(0x3b), true
  6240. case "seonearr":
  6241. // SOUTH EAST ARROW CROSSING NORTH EAST ARROW
  6242. return rune(0x292d), true
  6243. case "seswar":
  6244. // SOUTH EAST ARROW AND SOUTH WEST ARROW
  6245. return rune(0x2929), true
  6246. case "setminus":
  6247. // SET MINUS
  6248. return rune(0x2216), true
  6249. case "setmn":
  6250. // SET MINUS
  6251. return rune(0x2216), true
  6252. case "sext":
  6253. // SIX POINTED BLACK STAR
  6254. return rune(0x2736), true
  6255. case "sfgr":
  6256. // GREEK SMALL LETTER FINAL SIGMA
  6257. return rune(0x03c2), true
  6258. case "sfrown":
  6259. // FROWN
  6260. return rune(0x2322), true
  6261. case "sfr":
  6262. // MATHEMATICAL FRAKTUR SMALL S
  6263. return rune(0x01d530), true
  6264. case "sgr":
  6265. // GREEK SMALL LETTER SIGMA
  6266. return rune(0x03c3), true
  6267. case "sharp":
  6268. // MUSIC SHARP SIGN
  6269. return rune(0x266f), true
  6270. case "shchcy":
  6271. // CYRILLIC SMALL LETTER SHCHA
  6272. return rune(0x0449), true
  6273. case "shcy":
  6274. // CYRILLIC SMALL LETTER SHA
  6275. return rune(0x0448), true
  6276. case "shortmid":
  6277. // DIVIDES
  6278. return rune(0x2223), true
  6279. case "shortparallel":
  6280. // PARALLEL TO
  6281. return rune(0x2225), true
  6282. case "shuffle":
  6283. // SHUFFLE PRODUCT
  6284. return rune(0x29e2), true
  6285. case "shy":
  6286. // SOFT HYPHEN
  6287. return rune(0xad), true
  6288. case "sigma":
  6289. // GREEK SMALL LETTER SIGMA
  6290. return rune(0x03c3), true
  6291. case "sigmaf":
  6292. // GREEK SMALL LETTER FINAL SIGMA
  6293. return rune(0x03c2), true
  6294. case "sigmav":
  6295. // GREEK SMALL LETTER FINAL SIGMA
  6296. return rune(0x03c2), true
  6297. case "sim":
  6298. // TILDE OPERATOR
  6299. return rune(0x223c), true
  6300. case "simdot":
  6301. // TILDE OPERATOR WITH DOT ABOVE
  6302. return rune(0x2a6a), true
  6303. case "sime":
  6304. // ASYMPTOTICALLY EQUAL TO
  6305. return rune(0x2243), true
  6306. case "simeq":
  6307. // ASYMPTOTICALLY EQUAL TO
  6308. return rune(0x2243), true
  6309. case "simg":
  6310. // SIMILAR OR GREATER-THAN
  6311. return rune(0x2a9e), true
  6312. case "simgE":
  6313. // SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN
  6314. return rune(0x2aa0), true
  6315. case "siml":
  6316. // SIMILAR OR LESS-THAN
  6317. return rune(0x2a9d), true
  6318. case "simlE":
  6319. // SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN
  6320. return rune(0x2a9f), true
  6321. case "simne":
  6322. // APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
  6323. return rune(0x2246), true
  6324. case "simplus":
  6325. // PLUS SIGN WITH TILDE ABOVE
  6326. return rune(0x2a24), true
  6327. case "simrarr":
  6328. // TILDE OPERATOR ABOVE RIGHTWARDS ARROW
  6329. return rune(0x2972), true
  6330. case "slarr":
  6331. // LEFTWARDS ARROW
  6332. return rune(0x2190), true
  6333. case "slint":
  6334. // INTEGRAL AVERAGE WITH SLASH
  6335. return rune(0x2a0f), true
  6336. case "smallsetminus":
  6337. // SET MINUS
  6338. return rune(0x2216), true
  6339. case "smashp":
  6340. // SMASH PRODUCT
  6341. return rune(0x2a33), true
  6342. case "smeparsl":
  6343. // EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE
  6344. return rune(0x29e4), true
  6345. case "smid":
  6346. // DIVIDES
  6347. return rune(0x2223), true
  6348. case "smile":
  6349. // SMILE
  6350. return rune(0x2323), true
  6351. case "smt":
  6352. // SMALLER THAN
  6353. return rune(0x2aaa), true
  6354. case "smte":
  6355. // SMALLER THAN OR EQUAL TO
  6356. return rune(0x2aac), true
  6357. case "smtes":
  6358. // SMALLER THAN OR slanted EQUAL
  6359. return rune(0x2aac), true
  6360. case "softcy":
  6361. // CYRILLIC SMALL LETTER SOFT SIGN
  6362. return rune(0x044c), true
  6363. case "solbar":
  6364. // APL FUNCTIONAL SYMBOL SLASH BAR
  6365. return rune(0x233f), true
  6366. case "solb":
  6367. // SQUARED RISING DIAGONAL SLASH
  6368. return rune(0x29c4), true
  6369. case "sol":
  6370. // SOLIDUS
  6371. return rune(0x2f), true
  6372. case "sopf":
  6373. // MATHEMATICAL DOUBLE-STRUCK SMALL S
  6374. return rune(0x01d564), true
  6375. case "spades":
  6376. // BLACK SPADE SUIT
  6377. return rune(0x2660), true
  6378. case "spadesuit":
  6379. // BLACK SPADE SUIT
  6380. return rune(0x2660), true
  6381. case "spar":
  6382. // PARALLEL TO
  6383. return rune(0x2225), true
  6384. case "sqcap":
  6385. // SQUARE CAP
  6386. return rune(0x2293), true
  6387. case "sqcaps":
  6388. // SQUARE CAP with serifs
  6389. return rune(0x2293), true
  6390. case "sqcup":
  6391. // SQUARE CUP
  6392. return rune(0x2294), true
  6393. case "sqcups":
  6394. // SQUARE CUP with serifs
  6395. return rune(0x2294), true
  6396. case "sqsub":
  6397. // SQUARE IMAGE OF
  6398. return rune(0x228f), true
  6399. case "sqsube":
  6400. // SQUARE IMAGE OF OR EQUAL TO
  6401. return rune(0x2291), true
  6402. case "sqsubset":
  6403. // SQUARE IMAGE OF
  6404. return rune(0x228f), true
  6405. case "sqsubseteq":
  6406. // SQUARE IMAGE OF OR EQUAL TO
  6407. return rune(0x2291), true
  6408. case "sqsup":
  6409. // SQUARE ORIGINAL OF
  6410. return rune(0x2290), true
  6411. case "sqsupe":
  6412. // SQUARE ORIGINAL OF OR EQUAL TO
  6413. return rune(0x2292), true
  6414. case "sqsupset":
  6415. // SQUARE ORIGINAL OF
  6416. return rune(0x2290), true
  6417. case "sqsupseteq":
  6418. // SQUARE ORIGINAL OF OR EQUAL TO
  6419. return rune(0x2292), true
  6420. case "squ":
  6421. // WHITE SQUARE
  6422. return rune(0x25a1), true
  6423. case "square":
  6424. // WHITE SQUARE
  6425. return rune(0x25a1), true
  6426. case "squarf":
  6427. // BLACK SMALL SQUARE
  6428. return rune(0x25aa), true
  6429. case "squb":
  6430. // SQUARED SQUARE
  6431. return rune(0x29c8), true
  6432. case "squerr":
  6433. // ERROR-BARRED WHITE SQUARE
  6434. return rune(0x29ee), true
  6435. case "squf":
  6436. // BLACK SMALL SQUARE
  6437. return rune(0x25aa), true
  6438. case "squferr":
  6439. // ERROR-BARRED BLACK SQUARE
  6440. return rune(0x29ef), true
  6441. case "srarr":
  6442. // RIGHTWARDS ARROW
  6443. return rune(0x2192), true
  6444. case "sscr":
  6445. // MATHEMATICAL SCRIPT SMALL S
  6446. return rune(0x01d4c8), true
  6447. case "ssetmn":
  6448. // SET MINUS
  6449. return rune(0x2216), true
  6450. case "ssmile":
  6451. // SMILE
  6452. return rune(0x2323), true
  6453. case "sstarf":
  6454. // STAR OPERATOR
  6455. return rune(0x22c6), true
  6456. case "starf":
  6457. // BLACK STAR
  6458. return rune(0x2605), true
  6459. case "star":
  6460. // WHITE STAR
  6461. return rune(0x2606), true
  6462. case "stigma":
  6463. // GREEK LETTER STIGMA
  6464. return rune(0x03da), true
  6465. case "straightepsilon":
  6466. // GREEK LUNATE EPSILON SYMBOL
  6467. return rune(0x03f5), true
  6468. case "straightphi":
  6469. // GREEK PHI SYMBOL
  6470. return rune(0x03d5), true
  6471. case "strns":
  6472. // MACRON
  6473. return rune(0xaf), true
  6474. case "sub":
  6475. // SUBSET OF
  6476. return rune(0x2282), true
  6477. case "subE":
  6478. // SUBSET OF ABOVE EQUALS SIGN
  6479. return rune(0x2ac5), true
  6480. case "subdot":
  6481. // SUBSET WITH DOT
  6482. return rune(0x2abd), true
  6483. case "sube":
  6484. // SUBSET OF OR EQUAL TO
  6485. return rune(0x2286), true
  6486. case "subedot":
  6487. // SUBSET OF OR EQUAL TO WITH DOT ABOVE
  6488. return rune(0x2ac3), true
  6489. case "submult":
  6490. // SUBSET WITH MULTIPLICATION SIGN BELOW
  6491. return rune(0x2ac1), true
  6492. case "subnE":
  6493. // SUBSET OF ABOVE NOT EQUAL TO
  6494. return rune(0x2acb), true
  6495. case "subne":
  6496. // SUBSET OF WITH NOT EQUAL TO
  6497. return rune(0x228a), true
  6498. case "subplus":
  6499. // SUBSET WITH PLUS SIGN BELOW
  6500. return rune(0x2abf), true
  6501. case "subrarr":
  6502. // SUBSET ABOVE RIGHTWARDS ARROW
  6503. return rune(0x2979), true
  6504. case "subset":
  6505. // SUBSET OF
  6506. return rune(0x2282), true
  6507. case "subseteq":
  6508. // SUBSET OF OR EQUAL TO
  6509. return rune(0x2286), true
  6510. case "subseteqq":
  6511. // SUBSET OF ABOVE EQUALS SIGN
  6512. return rune(0x2ac5), true
  6513. case "subsetneq":
  6514. // SUBSET OF WITH NOT EQUAL TO
  6515. return rune(0x228a), true
  6516. case "subsetneqq":
  6517. // SUBSET OF ABOVE NOT EQUAL TO
  6518. return rune(0x2acb), true
  6519. case "subsim":
  6520. // SUBSET OF ABOVE TILDE OPERATOR
  6521. return rune(0x2ac7), true
  6522. case "subsub":
  6523. // SUBSET ABOVE SUBSET
  6524. return rune(0x2ad5), true
  6525. case "subsup":
  6526. // SUBSET ABOVE SUPERSET
  6527. return rune(0x2ad3), true
  6528. case "succ":
  6529. // SUCCEEDS
  6530. return rune(0x227b), true
  6531. case "succapprox":
  6532. // SUCCEEDS ABOVE ALMOST EQUAL TO
  6533. return rune(0x2ab8), true
  6534. case "succcurlyeq":
  6535. // SUCCEEDS OR EQUAL TO
  6536. return rune(0x227d), true
  6537. case "succeq":
  6538. // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
  6539. return rune(0x2ab0), true
  6540. case "succnapprox":
  6541. // SUCCEEDS ABOVE NOT ALMOST EQUAL TO
  6542. return rune(0x2aba), true
  6543. case "succneqq":
  6544. // SUCCEEDS ABOVE NOT EQUAL TO
  6545. return rune(0x2ab6), true
  6546. case "succnsim":
  6547. // SUCCEEDS BUT NOT EQUIVALENT TO
  6548. return rune(0x22e9), true
  6549. case "succsim":
  6550. // SUCCEEDS OR EQUIVALENT TO
  6551. return rune(0x227f), true
  6552. case "sum":
  6553. // N-ARY SUMMATION
  6554. return rune(0x2211), true
  6555. case "sumint":
  6556. // SUMMATION WITH INTEGRAL
  6557. return rune(0x2a0b), true
  6558. case "sung":
  6559. // EIGHTH NOTE
  6560. return rune(0x266a), true
  6561. case "sup":
  6562. // SUPERSET OF
  6563. return rune(0x2283), true
  6564. case "sup1":
  6565. // SUPERSCRIPT ONE
  6566. return rune(0xb9), true
  6567. case "sup2":
  6568. // SUPERSCRIPT TWO
  6569. return rune(0xb2), true
  6570. case "sup3":
  6571. // SUPERSCRIPT THREE
  6572. return rune(0xb3), true
  6573. case "supE":
  6574. // SUPERSET OF ABOVE EQUALS SIGN
  6575. return rune(0x2ac6), true
  6576. case "supdot":
  6577. // SUPERSET WITH DOT
  6578. return rune(0x2abe), true
  6579. case "supdsub":
  6580. // SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET
  6581. return rune(0x2ad8), true
  6582. case "supe":
  6583. // SUPERSET OF OR EQUAL TO
  6584. return rune(0x2287), true
  6585. case "supedot":
  6586. // SUPERSET OF OR EQUAL TO WITH DOT ABOVE
  6587. return rune(0x2ac4), true
  6588. case "suphsol":
  6589. // SUPERSET PRECEDING SOLIDUS
  6590. return rune(0x27c9), true
  6591. case "suphsub":
  6592. // SUPERSET BESIDE SUBSET
  6593. return rune(0x2ad7), true
  6594. case "suplarr":
  6595. // SUPERSET ABOVE LEFTWARDS ARROW
  6596. return rune(0x297b), true
  6597. case "supmult":
  6598. // SUPERSET WITH MULTIPLICATION SIGN BELOW
  6599. return rune(0x2ac2), true
  6600. case "supnE":
  6601. // SUPERSET OF ABOVE NOT EQUAL TO
  6602. return rune(0x2acc), true
  6603. case "supne":
  6604. // SUPERSET OF WITH NOT EQUAL TO
  6605. return rune(0x228b), true
  6606. case "supplus":
  6607. // SUPERSET WITH PLUS SIGN BELOW
  6608. return rune(0x2ac0), true
  6609. case "supset":
  6610. // SUPERSET OF
  6611. return rune(0x2283), true
  6612. case "supseteq":
  6613. // SUPERSET OF OR EQUAL TO
  6614. return rune(0x2287), true
  6615. case "supseteqq":
  6616. // SUPERSET OF ABOVE EQUALS SIGN
  6617. return rune(0x2ac6), true
  6618. case "supsetneq":
  6619. // SUPERSET OF WITH NOT EQUAL TO
  6620. return rune(0x228b), true
  6621. case "supsetneqq":
  6622. // SUPERSET OF ABOVE NOT EQUAL TO
  6623. return rune(0x2acc), true
  6624. case "supsim":
  6625. // SUPERSET OF ABOVE TILDE OPERATOR
  6626. return rune(0x2ac8), true
  6627. case "supsub":
  6628. // SUPERSET ABOVE SUBSET
  6629. return rune(0x2ad4), true
  6630. case "supsup":
  6631. // SUPERSET ABOVE SUPERSET
  6632. return rune(0x2ad6), true
  6633. case "swArr":
  6634. // SOUTH WEST DOUBLE ARROW
  6635. return rune(0x21d9), true
  6636. case "swarhk":
  6637. // SOUTH WEST ARROW WITH HOOK
  6638. return rune(0x2926), true
  6639. case "swarrow":
  6640. // SOUTH WEST ARROW
  6641. return rune(0x2199), true
  6642. case "swarr":
  6643. // SOUTH WEST ARROW
  6644. return rune(0x2199), true
  6645. case "swnwar":
  6646. // SOUTH WEST ARROW AND NORTH WEST ARROW
  6647. return rune(0x292a), true
  6648. case "szlig":
  6649. // LATIN SMALL LETTER SHARP S
  6650. return rune(0xdf), true
  6651. }
  6652. case 't':
  6653. switch name {
  6654. case "target":
  6655. // POSITION INDICATOR
  6656. return rune(0x2316), true
  6657. case "tau":
  6658. // GREEK SMALL LETTER TAU
  6659. return rune(0x03c4), true
  6660. case "tbrk":
  6661. // TOP SQUARE BRACKET
  6662. return rune(0x23b4), true
  6663. case "tcaron":
  6664. // LATIN SMALL LETTER T WITH CARON
  6665. return rune(0x0165), true
  6666. case "tcedil":
  6667. // LATIN SMALL LETTER T WITH CEDILLA
  6668. return rune(0x0163), true
  6669. case "tcy":
  6670. // CYRILLIC SMALL LETTER TE
  6671. return rune(0x0442), true
  6672. case "tdot":
  6673. // COMBINING THREE DOTS ABOVE
  6674. return rune(0x20db), true
  6675. case "telrec":
  6676. // TELEPHONE RECORDER
  6677. return rune(0x2315), true
  6678. case "tfr":
  6679. // MATHEMATICAL FRAKTUR SMALL T
  6680. return rune(0x01d531), true
  6681. case "tgr":
  6682. // GREEK SMALL LETTER TAU
  6683. return rune(0x03c4), true
  6684. case "there4":
  6685. // THEREFORE
  6686. return rune(0x2234), true
  6687. case "therefore":
  6688. // THEREFORE
  6689. return rune(0x2234), true
  6690. case "thermod":
  6691. // THERMODYNAMIC
  6692. return rune(0x29e7), true
  6693. case "thetasym":
  6694. // GREEK THETA SYMBOL
  6695. return rune(0x03d1), true
  6696. case "thetas":
  6697. // GREEK SMALL LETTER THETA
  6698. return rune(0x03b8), true
  6699. case "thetav":
  6700. // GREEK THETA SYMBOL
  6701. return rune(0x03d1), true
  6702. case "theta":
  6703. // GREEK SMALL LETTER THETA
  6704. return rune(0x03b8), true
  6705. case "thgr":
  6706. // GREEK SMALL LETTER THETA
  6707. return rune(0x03b8), true
  6708. case "thickapprox":
  6709. // ALMOST EQUAL TO
  6710. return rune(0x2248), true
  6711. case "thicksim":
  6712. // TILDE OPERATOR
  6713. return rune(0x223c), true
  6714. case "thinsp":
  6715. // THIN SPACE
  6716. return rune(0x2009), true
  6717. case "thkap":
  6718. // ALMOST EQUAL TO
  6719. return rune(0x2248), true
  6720. case "thksim":
  6721. // TILDE OPERATOR
  6722. return rune(0x223c), true
  6723. case "thorn":
  6724. // LATIN SMALL LETTER THORN
  6725. return rune(0xfe), true
  6726. case "tilde":
  6727. // SMALL TILDE
  6728. return rune(0x02dc), true
  6729. case "timeint":
  6730. // INTEGRAL WITH TIMES SIGN
  6731. return rune(0x2a18), true
  6732. case "timesb":
  6733. // SQUARED TIMES
  6734. return rune(0x22a0), true
  6735. case "timesbar":
  6736. // MULTIPLICATION SIGN WITH UNDERBAR
  6737. return rune(0x2a31), true
  6738. case "timesd":
  6739. // MULTIPLICATION SIGN WITH DOT ABOVE
  6740. return rune(0x2a30), true
  6741. case "times":
  6742. // MULTIPLICATION SIGN
  6743. return rune(0xd7), true
  6744. case "tint":
  6745. // TRIPLE INTEGRAL
  6746. return rune(0x222d), true
  6747. case "toea":
  6748. // NORTH EAST ARROW AND SOUTH EAST ARROW
  6749. return rune(0x2928), true
  6750. case "top":
  6751. // DOWN TACK
  6752. return rune(0x22a4), true
  6753. case "topbot":
  6754. // APL FUNCTIONAL SYMBOL I-BEAM
  6755. return rune(0x2336), true
  6756. case "topcir":
  6757. // DOWN TACK WITH CIRCLE BELOW
  6758. return rune(0x2af1), true
  6759. case "topfork":
  6760. // PITCHFORK WITH TEE TOP
  6761. return rune(0x2ada), true
  6762. case "topf":
  6763. // MATHEMATICAL DOUBLE-STRUCK SMALL T
  6764. return rune(0x01d565), true
  6765. case "tosa":
  6766. // SOUTH EAST ARROW AND SOUTH WEST ARROW
  6767. return rune(0x2929), true
  6768. case "tprime":
  6769. // TRIPLE PRIME
  6770. return rune(0x2034), true
  6771. case "trade":
  6772. // TRADE MARK SIGN
  6773. return rune(0x2122), true
  6774. case "triS":
  6775. // S IN TRIANGLE
  6776. return rune(0x29cc), true
  6777. case "trianglelefteq":
  6778. // NORMAL SUBGROUP OF OR EQUAL TO
  6779. return rune(0x22b4), true
  6780. case "triangleq":
  6781. // DELTA EQUAL TO
  6782. return rune(0x225c), true
  6783. case "trianglerighteq":
  6784. // CONTAINS AS NORMAL SUBGROUP OR EQUAL TO
  6785. return rune(0x22b5), true
  6786. case "triangle":
  6787. // WHITE UP-POINTING SMALL TRIANGLE
  6788. return rune(0x25b5), true
  6789. case "triangledown":
  6790. // WHITE DOWN-POINTING SMALL TRIANGLE
  6791. return rune(0x25bf), true
  6792. case "triangleleft":
  6793. // WHITE LEFT-POINTING SMALL TRIANGLE
  6794. return rune(0x25c3), true
  6795. case "triangleright":
  6796. // WHITE RIGHT-POINTING SMALL TRIANGLE
  6797. return rune(0x25b9), true
  6798. case "tribar":
  6799. // TRIANGLE WITH UNDERBAR
  6800. return rune(0x29cb), true
  6801. case "tridot":
  6802. // WHITE UP-POINTING TRIANGLE WITH DOT
  6803. return rune(0x25ec), true
  6804. case "tridoto":
  6805. // TRIANGLE WITH DOT ABOVE
  6806. return rune(0x29ca), true
  6807. case "trie":
  6808. // DELTA EQUAL TO
  6809. return rune(0x225c), true
  6810. case "triminus":
  6811. // MINUS SIGN IN TRIANGLE
  6812. return rune(0x2a3a), true
  6813. case "triplus":
  6814. // PLUS SIGN IN TRIANGLE
  6815. return rune(0x2a39), true
  6816. case "trisb":
  6817. // TRIANGLE WITH SERIFS AT BOTTOM
  6818. return rune(0x29cd), true
  6819. case "tritime":
  6820. // MULTIPLICATION SIGN IN TRIANGLE
  6821. return rune(0x2a3b), true
  6822. case "trpezium":
  6823. // WHITE TRAPEZIUM
  6824. return rune(0x23e2), true
  6825. case "tscr":
  6826. // MATHEMATICAL SCRIPT SMALL T
  6827. return rune(0x01d4c9), true
  6828. case "tscy":
  6829. // CYRILLIC SMALL LETTER TSE
  6830. return rune(0x0446), true
  6831. case "tshcy":
  6832. // CYRILLIC SMALL LETTER TSHE
  6833. return rune(0x045b), true
  6834. case "tstrok":
  6835. // LATIN SMALL LETTER T WITH STROKE
  6836. return rune(0x0167), true
  6837. case "tverbar":
  6838. // TRIPLE VERTICAL BAR DELIMITER
  6839. return rune(0x2980), true
  6840. case "twixt":
  6841. // BETWEEN
  6842. return rune(0x226c), true
  6843. case "twoheadleftarrow":
  6844. // LEFTWARDS TWO HEADED ARROW
  6845. return rune(0x219e), true
  6846. case "twoheadrightarrow":
  6847. // RIGHTWARDS TWO HEADED ARROW
  6848. return rune(0x21a0), true
  6849. }
  6850. case 'u':
  6851. switch name {
  6852. case "uAarr":
  6853. // UPWARDS TRIPLE ARROW
  6854. return rune(0x290a), true
  6855. case "uArr":
  6856. // UPWARDS DOUBLE ARROW
  6857. return rune(0x21d1), true
  6858. case "uHar":
  6859. // UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT
  6860. return rune(0x2963), true
  6861. case "uacgr":
  6862. // GREEK SMALL LETTER UPSILON WITH TONOS
  6863. return rune(0x03cd), true
  6864. case "uacute":
  6865. // LATIN SMALL LETTER U WITH ACUTE
  6866. return rune(0xfa), true
  6867. case "uarr2":
  6868. // UPWARDS PAIRED ARROWS
  6869. return rune(0x21c8), true
  6870. case "uarr":
  6871. // UPWARDS ARROW
  6872. return rune(0x2191), true
  6873. case "uarrb":
  6874. // UPWARDS ARROW TO BAR
  6875. return rune(0x2912), true
  6876. case "uarrln":
  6877. // UPWARDS ARROW WITH HORIZONTAL STROKE
  6878. return rune(0x2909), true
  6879. case "ubrcy":
  6880. // CYRILLIC SMALL LETTER SHORT U
  6881. return rune(0x045e), true
  6882. case "ubreve":
  6883. // LATIN SMALL LETTER U WITH BREVE
  6884. return rune(0x016d), true
  6885. case "ucirc":
  6886. // LATIN SMALL LETTER U WITH CIRCUMFLEX
  6887. return rune(0xfb), true
  6888. case "ucy":
  6889. // CYRILLIC SMALL LETTER U
  6890. return rune(0x0443), true
  6891. case "udarr":
  6892. // UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
  6893. return rune(0x21c5), true
  6894. case "udblac":
  6895. // LATIN SMALL LETTER U WITH DOUBLE ACUTE
  6896. return rune(0x0171), true
  6897. case "udhar":
  6898. // UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT
  6899. return rune(0x296e), true
  6900. case "udiagr":
  6901. // GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS
  6902. return rune(0x03b0), true
  6903. case "udigr":
  6904. // GREEK SMALL LETTER UPSILON WITH DIALYTIKA
  6905. return rune(0x03cb), true
  6906. case "udrbrk":
  6907. // BOTTOM SQUARE BRACKET
  6908. return rune(0x23b5), true
  6909. case "udrcub":
  6910. // BOTTOM CURLY BRACKET
  6911. return rune(0x23df), true
  6912. case "udrpar":
  6913. // BOTTOM PARENTHESIS
  6914. return rune(0x23dd), true
  6915. case "ufisht":
  6916. // UP FISH TAIL
  6917. return rune(0x297e), true
  6918. case "ufr":
  6919. // MATHEMATICAL FRAKTUR SMALL U
  6920. return rune(0x01d532), true
  6921. case "ugr":
  6922. // GREEK SMALL LETTER UPSILON
  6923. return rune(0x03c5), true
  6924. case "ugrave":
  6925. // LATIN SMALL LETTER U WITH GRAVE
  6926. return rune(0xf9), true
  6927. case "uharl":
  6928. // UPWARDS HARPOON WITH BARB LEFTWARDS
  6929. return rune(0x21bf), true
  6930. case "uharr":
  6931. // UPWARDS HARPOON WITH BARB RIGHTWARDS
  6932. return rune(0x21be), true
  6933. case "uhblk":
  6934. // UPPER HALF BLOCK
  6935. return rune(0x2580), true
  6936. case "ulcorn":
  6937. // TOP LEFT CORNER
  6938. return rune(0x231c), true
  6939. case "ulcorner":
  6940. // TOP LEFT CORNER
  6941. return rune(0x231c), true
  6942. case "ulcrop":
  6943. // TOP LEFT CROP
  6944. return rune(0x230f), true
  6945. case "uldlshar":
  6946. // UP BARB LEFT DOWN BARB LEFT HARPOON
  6947. return rune(0x2951), true
  6948. case "ulharb":
  6949. // UPWARDS HARPOON WITH BARB LEFT TO BAR
  6950. return rune(0x2958), true
  6951. case "ultri":
  6952. // UPPER LEFT TRIANGLE
  6953. return rune(0x25f8), true
  6954. case "umacr":
  6955. // LATIN SMALL LETTER U WITH MACRON
  6956. return rune(0x016b), true
  6957. case "uml":
  6958. // DIAERESIS
  6959. return rune(0xa8), true
  6960. case "uogon":
  6961. // LATIN SMALL LETTER U WITH OGONEK
  6962. return rune(0x0173), true
  6963. case "uopf":
  6964. // MATHEMATICAL DOUBLE-STRUCK SMALL U
  6965. return rune(0x01d566), true
  6966. case "uparrow":
  6967. // UPWARDS ARROW
  6968. return rune(0x2191), true
  6969. case "updownarrow":
  6970. // UP DOWN ARROW
  6971. return rune(0x2195), true
  6972. case "upharpoonleft":
  6973. // UPWARDS HARPOON WITH BARB LEFTWARDS
  6974. return rune(0x21bf), true
  6975. case "upharpoonright":
  6976. // UPWARDS HARPOON WITH BARB RIGHTWARDS
  6977. return rune(0x21be), true
  6978. case "upint":
  6979. // INTEGRAL WITH OVERBAR
  6980. return rune(0x2a1b), true
  6981. case "uplus":
  6982. // MULTISET UNION
  6983. return rune(0x228e), true
  6984. case "upsih":
  6985. // GREEK UPSILON WITH HOOK SYMBOL
  6986. return rune(0x03d2), true
  6987. case "upsilon":
  6988. // GREEK SMALL LETTER UPSILON
  6989. return rune(0x03c5), true
  6990. case "upsi":
  6991. // GREEK SMALL LETTER UPSILON
  6992. return rune(0x03c5), true
  6993. case "upuparrows":
  6994. // UPWARDS PAIRED ARROWS
  6995. return rune(0x21c8), true
  6996. case "urcorn":
  6997. // TOP RIGHT CORNER
  6998. return rune(0x231d), true
  6999. case "urcorner":
  7000. // TOP RIGHT CORNER
  7001. return rune(0x231d), true
  7002. case "urcrop":
  7003. // TOP RIGHT CROP
  7004. return rune(0x230e), true
  7005. case "urdrshar":
  7006. // UP BARB RIGHT DOWN BARB RIGHT HARPOON
  7007. return rune(0x294f), true
  7008. case "urharb":
  7009. // UPWARDS HARPOON WITH BARB RIGHT TO BAR
  7010. return rune(0x2954), true
  7011. case "uring":
  7012. // LATIN SMALL LETTER U WITH RING ABOVE
  7013. return rune(0x016f), true
  7014. case "urtrif":
  7015. // BLACK UPPER RIGHT TRIANGLE
  7016. return rune(0x25e5), true
  7017. case "urtri":
  7018. // UPPER RIGHT TRIANGLE
  7019. return rune(0x25f9), true
  7020. case "uscr":
  7021. // MATHEMATICAL SCRIPT SMALL U
  7022. return rune(0x01d4ca), true
  7023. case "utdot":
  7024. // UP RIGHT DIAGONAL ELLIPSIS
  7025. return rune(0x22f0), true
  7026. case "utilde":
  7027. // LATIN SMALL LETTER U WITH TILDE
  7028. return rune(0x0169), true
  7029. case "utrif":
  7030. // BLACK UP-POINTING SMALL TRIANGLE
  7031. return rune(0x25b4), true
  7032. case "utri":
  7033. // WHITE UP-POINTING SMALL TRIANGLE
  7034. return rune(0x25b5), true
  7035. case "uuarr":
  7036. // UPWARDS PAIRED ARROWS
  7037. return rune(0x21c8), true
  7038. case "uuml":
  7039. // LATIN SMALL LETTER U WITH DIAERESIS
  7040. return rune(0xfc), true
  7041. case "uwangle":
  7042. // OBLIQUE ANGLE OPENING DOWN
  7043. return rune(0x29a7), true
  7044. }
  7045. case 'v':
  7046. switch name {
  7047. case "vArr":
  7048. // UP DOWN DOUBLE ARROW
  7049. return rune(0x21d5), true
  7050. case "vBar":
  7051. // SHORT UP TACK WITH UNDERBAR
  7052. return rune(0x2ae8), true
  7053. case "vBarv":
  7054. // SHORT UP TACK ABOVE SHORT DOWN TACK
  7055. return rune(0x2ae9), true
  7056. case "vDash":
  7057. // TRUE
  7058. return rune(0x22a8), true
  7059. case "vDdash":
  7060. // VERTICAL BAR TRIPLE RIGHT TURNSTILE
  7061. return rune(0x2ae2), true
  7062. case "vangrt":
  7063. // RIGHT ANGLE VARIANT WITH SQUARE
  7064. return rune(0x299c), true
  7065. case "varepsilon":
  7066. // GREEK LUNATE EPSILON SYMBOL
  7067. return rune(0x03f5), true
  7068. case "varkappa":
  7069. // GREEK KAPPA SYMBOL
  7070. return rune(0x03f0), true
  7071. case "varnothing":
  7072. // EMPTY SET
  7073. return rune(0x2205), true
  7074. case "varphi":
  7075. // GREEK PHI SYMBOL
  7076. return rune(0x03d5), true
  7077. case "varpi":
  7078. // GREEK PI SYMBOL
  7079. return rune(0x03d6), true
  7080. case "varpropto":
  7081. // PROPORTIONAL TO
  7082. return rune(0x221d), true
  7083. case "varr":
  7084. // UP DOWN ARROW
  7085. return rune(0x2195), true
  7086. case "varrho":
  7087. // GREEK RHO SYMBOL
  7088. return rune(0x03f1), true
  7089. case "varsigma":
  7090. // GREEK SMALL LETTER FINAL SIGMA
  7091. return rune(0x03c2), true
  7092. case "varsubsetneq":
  7093. // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  7094. return rune(0x228a), true
  7095. case "varsubsetneqq":
  7096. // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  7097. return rune(0x2acb), true
  7098. case "varsupsetneq":
  7099. // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  7100. return rune(0x228b), true
  7101. case "varsupsetneqq":
  7102. // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  7103. return rune(0x2acc), true
  7104. case "vartheta":
  7105. // GREEK THETA SYMBOL
  7106. return rune(0x03d1), true
  7107. case "vartriangleleft":
  7108. // NORMAL SUBGROUP OF
  7109. return rune(0x22b2), true
  7110. case "vartriangleright":
  7111. // CONTAINS AS NORMAL SUBGROUP
  7112. return rune(0x22b3), true
  7113. case "vbrtri":
  7114. // VERTICAL BAR BESIDE RIGHT TRIANGLE
  7115. return rune(0x29d0), true
  7116. case "vcy":
  7117. // CYRILLIC SMALL LETTER VE
  7118. return rune(0x0432), true
  7119. case "vdash":
  7120. // RIGHT TACK
  7121. return rune(0x22a2), true
  7122. case "vee":
  7123. // LOGICAL OR
  7124. return rune(0x2228), true
  7125. case "veeBar":
  7126. // LOGICAL OR WITH DOUBLE UNDERBAR
  7127. return rune(0x2a63), true
  7128. case "veebar":
  7129. // XOR
  7130. return rune(0x22bb), true
  7131. case "veeeq":
  7132. // EQUIANGULAR TO
  7133. return rune(0x225a), true
  7134. case "vellip":
  7135. // VERTICAL ELLIPSIS
  7136. return rune(0x22ee), true
  7137. case "vellip4":
  7138. // DOTTED FENCE
  7139. return rune(0x2999), true
  7140. case "vellipv":
  7141. // TRIPLE COLON OPERATOR
  7142. return rune(0x2af6), true
  7143. case "verbar":
  7144. // VERTICAL LINE
  7145. return rune(0x7c), true
  7146. case "vert3":
  7147. // TRIPLE VERTICAL BAR BINARY RELATION
  7148. return rune(0x2af4), true
  7149. case "vert":
  7150. // VERTICAL LINE
  7151. return rune(0x7c), true
  7152. case "vfr":
  7153. // MATHEMATICAL FRAKTUR SMALL V
  7154. return rune(0x01d533), true
  7155. case "vldash":
  7156. // LEFT SQUARE BRACKET LOWER CORNER
  7157. return rune(0x23a3), true
  7158. case "vltri":
  7159. // NORMAL SUBGROUP OF
  7160. return rune(0x22b2), true
  7161. case "vnsub":
  7162. // SUBSET OF with vertical line
  7163. return rune(0x2282), true
  7164. case "vnsup":
  7165. // SUPERSET OF with vertical line
  7166. return rune(0x2283), true
  7167. case "vopf":
  7168. // MATHEMATICAL DOUBLE-STRUCK SMALL V
  7169. return rune(0x01d567), true
  7170. case "vprime":
  7171. // PRIME
  7172. return rune(0x2032), true
  7173. case "vprop":
  7174. // PROPORTIONAL TO
  7175. return rune(0x221d), true
  7176. case "vrtri":
  7177. // CONTAINS AS NORMAL SUBGROUP
  7178. return rune(0x22b3), true
  7179. case "vscr":
  7180. // MATHEMATICAL SCRIPT SMALL V
  7181. return rune(0x01d4cb), true
  7182. case "vsubnE":
  7183. // SUBSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  7184. return rune(0x2acb), true
  7185. case "vsubne":
  7186. // SUBSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  7187. return rune(0x228a), true
  7188. case "vsupnE":
  7189. // SUPERSET OF ABOVE NOT EQUAL TO - variant with stroke through bottom members
  7190. return rune(0x2acc), true
  7191. case "vsupne":
  7192. // SUPERSET OF WITH NOT EQUAL TO - variant with stroke through bottom members
  7193. return rune(0x228b), true
  7194. case "vzigzag":
  7195. // VERTICAL ZIGZAG LINE
  7196. return rune(0x299a), true
  7197. }
  7198. case 'w':
  7199. switch name {
  7200. case "wcirc":
  7201. // LATIN SMALL LETTER W WITH CIRCUMFLEX
  7202. return rune(0x0175), true
  7203. case "wedbar":
  7204. // LOGICAL AND WITH UNDERBAR
  7205. return rune(0x2a5f), true
  7206. case "wedge":
  7207. // LOGICAL AND
  7208. return rune(0x2227), true
  7209. case "wedgeq":
  7210. // ESTIMATES
  7211. return rune(0x2259), true
  7212. case "weierp":
  7213. // SCRIPT CAPITAL P
  7214. return rune(0x2118), true
  7215. case "wfr":
  7216. // MATHEMATICAL FRAKTUR SMALL W
  7217. return rune(0x01d534), true
  7218. case "wopf":
  7219. // MATHEMATICAL DOUBLE-STRUCK SMALL W
  7220. return rune(0x01d568), true
  7221. case "wp":
  7222. // SCRIPT CAPITAL P
  7223. return rune(0x2118), true
  7224. case "wreath":
  7225. // WREATH PRODUCT
  7226. return rune(0x2240), true
  7227. case "wr":
  7228. // WREATH PRODUCT
  7229. return rune(0x2240), true
  7230. case "wscr":
  7231. // MATHEMATICAL SCRIPT SMALL W
  7232. return rune(0x01d4cc), true
  7233. }
  7234. case 'x':
  7235. switch name {
  7236. case "xandand":
  7237. // TWO LOGICAL AND OPERATOR
  7238. return rune(0x2a07), true
  7239. case "xbsol":
  7240. // BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
  7241. return rune(0x2571), true
  7242. case "xcap":
  7243. // N-ARY INTERSECTION
  7244. return rune(0x22c2), true
  7245. case "xcirc":
  7246. // LARGE CIRCLE
  7247. return rune(0x25ef), true
  7248. case "xcup":
  7249. // N-ARY UNION
  7250. return rune(0x22c3), true
  7251. case "xcupdot":
  7252. // N-ARY UNION OPERATOR WITH DOT
  7253. return rune(0x2a03), true
  7254. case "xdtri":
  7255. // WHITE DOWN-POINTING TRIANGLE
  7256. return rune(0x25bd), true
  7257. case "xfr":
  7258. // MATHEMATICAL FRAKTUR SMALL X
  7259. return rune(0x01d535), true
  7260. case "xgr":
  7261. // GREEK SMALL LETTER XI
  7262. return rune(0x03be), true
  7263. case "xhArr":
  7264. // LONG LEFT RIGHT DOUBLE ARROW
  7265. return rune(0x27fa), true
  7266. case "xharr":
  7267. // LONG LEFT RIGHT ARROW
  7268. return rune(0x27f7), true
  7269. case "xi":
  7270. // GREEK SMALL LETTER XI
  7271. return rune(0x03be), true
  7272. case "xlArr":
  7273. // LONG LEFTWARDS DOUBLE ARROW
  7274. return rune(0x27f8), true
  7275. case "xlarr":
  7276. // LONG LEFTWARDS ARROW
  7277. return rune(0x27f5), true
  7278. case "xmap":
  7279. // LONG RIGHTWARDS ARROW FROM BAR
  7280. return rune(0x27fc), true
  7281. case "xnis":
  7282. // CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE
  7283. return rune(0x22fb), true
  7284. case "xodot":
  7285. // N-ARY CIRCLED DOT OPERATOR
  7286. return rune(0x2a00), true
  7287. case "xopf":
  7288. // MATHEMATICAL DOUBLE-STRUCK SMALL X
  7289. return rune(0x01d569), true
  7290. case "xoplus":
  7291. // N-ARY CIRCLED PLUS OPERATOR
  7292. return rune(0x2a01), true
  7293. case "xoror":
  7294. // TWO LOGICAL OR OPERATOR
  7295. return rune(0x2a08), true
  7296. case "xotime":
  7297. // N-ARY CIRCLED TIMES OPERATOR
  7298. return rune(0x2a02), true
  7299. case "xrArr":
  7300. // LONG RIGHTWARDS DOUBLE ARROW
  7301. return rune(0x27f9), true
  7302. case "xrarr":
  7303. // LONG RIGHTWARDS ARROW
  7304. return rune(0x27f6), true
  7305. case "xscr":
  7306. // MATHEMATICAL SCRIPT SMALL X
  7307. return rune(0x01d4cd), true
  7308. case "xsol":
  7309. // BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
  7310. return rune(0x2572), true
  7311. case "xsqcap":
  7312. // N-ARY SQUARE INTERSECTION OPERATOR
  7313. return rune(0x2a05), true
  7314. case "xsqcup":
  7315. // N-ARY SQUARE UNION OPERATOR
  7316. return rune(0x2a06), true
  7317. case "xsqu":
  7318. // WHITE MEDIUM SQUARE
  7319. return rune(0x25fb), true
  7320. case "xsquf":
  7321. // BLACK MEDIUM SQUARE
  7322. return rune(0x25fc), true
  7323. case "xtimes":
  7324. // N-ARY TIMES OPERATOR
  7325. return rune(0x2a09), true
  7326. case "xuplus":
  7327. // N-ARY UNION OPERATOR WITH PLUS
  7328. return rune(0x2a04), true
  7329. case "xutri":
  7330. // WHITE UP-POINTING TRIANGLE
  7331. return rune(0x25b3), true
  7332. case "xvee":
  7333. // N-ARY LOGICAL OR
  7334. return rune(0x22c1), true
  7335. case "xwedge":
  7336. // N-ARY LOGICAL AND
  7337. return rune(0x22c0), true
  7338. }
  7339. case 'y':
  7340. switch name {
  7341. case "yacute":
  7342. // LATIN SMALL LETTER Y WITH ACUTE
  7343. return rune(0xfd), true
  7344. case "yacy":
  7345. // CYRILLIC SMALL LETTER YA
  7346. return rune(0x044f), true
  7347. case "ycirc":
  7348. // LATIN SMALL LETTER Y WITH CIRCUMFLEX
  7349. return rune(0x0177), true
  7350. case "ycy":
  7351. // CYRILLIC SMALL LETTER YERU
  7352. return rune(0x044b), true
  7353. case "yen":
  7354. // YEN SIGN
  7355. return rune(0xa5), true
  7356. case "yfr":
  7357. // MATHEMATICAL FRAKTUR SMALL Y
  7358. return rune(0x01d536), true
  7359. case "yicy":
  7360. // CYRILLIC SMALL LETTER YI
  7361. return rune(0x0457), true
  7362. case "yopf":
  7363. // MATHEMATICAL DOUBLE-STRUCK SMALL Y
  7364. return rune(0x01d56a), true
  7365. case "yscr":
  7366. // MATHEMATICAL SCRIPT SMALL Y
  7367. return rune(0x01d4ce), true
  7368. case "yucy":
  7369. // CYRILLIC SMALL LETTER YU
  7370. return rune(0x044e), true
  7371. case "yuml":
  7372. // LATIN SMALL LETTER Y WITH DIAERESIS
  7373. return rune(0xff), true
  7374. }
  7375. case 'z':
  7376. switch name {
  7377. case "zacute":
  7378. // LATIN SMALL LETTER Z WITH ACUTE
  7379. return rune(0x017a), true
  7380. case "zcaron":
  7381. // LATIN SMALL LETTER Z WITH CARON
  7382. return rune(0x017e), true
  7383. case "zcy":
  7384. // CYRILLIC SMALL LETTER ZE
  7385. return rune(0x0437), true
  7386. case "zdot":
  7387. // LATIN SMALL LETTER Z WITH DOT ABOVE
  7388. return rune(0x017c), true
  7389. case "zeetrf":
  7390. // BLACK-LETTER CAPITAL Z
  7391. return rune(0x2128), true
  7392. case "zeta":
  7393. // GREEK SMALL LETTER ZETA
  7394. return rune(0x03b6), true
  7395. case "zfr":
  7396. // MATHEMATICAL FRAKTUR SMALL Z
  7397. return rune(0x01d537), true
  7398. case "zgr":
  7399. // GREEK SMALL LETTER ZETA
  7400. return rune(0x03b6), true
  7401. case "zhcy":
  7402. // CYRILLIC SMALL LETTER ZHE
  7403. return rune(0x0436), true
  7404. case "zigrarr":
  7405. // RIGHTWARDS SQUIGGLE ARROW
  7406. return rune(0x21dd), true
  7407. case "zopf":
  7408. // MATHEMATICAL DOUBLE-STRUCK SMALL Z
  7409. return rune(0x01d56b), true
  7410. case "zscr":
  7411. // MATHEMATICAL SCRIPT SMALL Z
  7412. return rune(0x01d4cf), true
  7413. case "zwj":
  7414. // ZERO WIDTH JOINER
  7415. return rune(0x200d), true
  7416. case "zwnj":
  7417. // ZERO WIDTH NON-JOINER
  7418. return rune(0x200c), true
  7419. }
  7420. }
  7421. return -1, false
  7422. }
  7423. /*
  7424. ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------ DO NOT EDIT ------ GENERATED ------
  7425. */