Entities.cpp 74 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302
  1. /*
  2. * Copyright (c) 2020, Andreas Kling <kling@serenityos.org>
  3. * All rights reserved.
  4. *
  5. * Redistribution and use in source and binary forms, with or without
  6. * modification, are permitted provided that the following conditions are met:
  7. *
  8. * 1. Redistributions of source code must retain the above copyright notice, this
  9. * list of conditions and the following disclaimer.
  10. *
  11. * 2. Redistributions in binary form must reproduce the above copyright notice,
  12. * this list of conditions and the following disclaimer in the documentation
  13. * and/or other materials provided with the distribution.
  14. *
  15. * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  16. * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  17. * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  18. * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
  19. * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  20. * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
  21. * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
  22. * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  23. * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  24. * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  25. */
  26. #include <AK/LogStream.h>
  27. #include <AK/StringView.h>
  28. #include <LibWeb/Parser/Entities.h>
  29. namespace Web {
  30. namespace HTML {
  31. Optional<EntityMatch> codepoints_from_entity(const StringView& entity)
  32. {
  33. constexpr struct {
  34. StringView entity;
  35. u32 codepoint;
  36. } single_codepoint_entities[] = {
  37. { "AElig;", 0x000C6 },
  38. { "AElig", 0x000C6 },
  39. { "AMP;", 0x00026 },
  40. { "AMP", 0x00026 },
  41. { "Aacute;", 0x000C1 },
  42. { "Aacute", 0x000C1 },
  43. { "Abreve;", 0x00102 },
  44. { "Acirc;", 0x000C2 },
  45. { "Acirc", 0x000C2 },
  46. { "Acy;", 0x00410 },
  47. { "Afr;", 0x1D504 },
  48. { "Agrave;", 0x000C0 },
  49. { "Agrave", 0x000C0 },
  50. { "Alpha;", 0x00391 },
  51. { "Amacr;", 0x00100 },
  52. { "And;", 0x02A53 },
  53. { "Aogon;", 0x00104 },
  54. { "Aopf;", 0x1D538 },
  55. { "ApplyFunction;", 0x02061 },
  56. { "Aring;", 0x000C5 },
  57. { "Aring", 0x000C5 },
  58. { "Ascr;", 0x1D49C },
  59. { "Assign;", 0x02254 },
  60. { "Atilde;", 0x000C3 },
  61. { "Atilde", 0x000C3 },
  62. { "Auml;", 0x000C4 },
  63. { "Auml", 0x000C4 },
  64. { "Backslash;", 0x02216 },
  65. { "Barv;", 0x02AE7 },
  66. { "Barwed;", 0x02306 },
  67. { "Bcy;", 0x00411 },
  68. { "Because;", 0x02235 },
  69. { "Bernoullis;", 0x0212C },
  70. { "Beta;", 0x00392 },
  71. { "Bfr;", 0x1D505 },
  72. { "Bopf;", 0x1D539 },
  73. { "Breve;", 0x002D8 },
  74. { "Bscr;", 0x0212C },
  75. { "Bumpeq;", 0x0224E },
  76. { "CHcy;", 0x00427 },
  77. { "COPY;", 0x000A9 },
  78. { "COPY", 0x000A9 },
  79. { "Cacute;", 0x00106 },
  80. { "Cap;", 0x022D2 },
  81. { "CapitalDifferentialD;", 0x02145 },
  82. { "Cayleys;", 0x0212D },
  83. { "Ccaron;", 0x0010C },
  84. { "Ccedil;", 0x000C7 },
  85. { "Ccedil", 0x000C7 },
  86. { "Ccirc;", 0x00108 },
  87. { "Cconint;", 0x02230 },
  88. { "Cdot;", 0x0010A },
  89. { "Cedilla;", 0x000B8 },
  90. { "CenterDot;", 0x000B7 },
  91. { "Cfr;", 0x0212D },
  92. { "Chi;", 0x003A7 },
  93. { "CircleDot;", 0x02299 },
  94. { "CircleMinus;", 0x02296 },
  95. { "CirclePlus;", 0x02295 },
  96. { "CircleTimes;", 0x02297 },
  97. { "ClockwiseContourIntegral;", 0x02232 },
  98. { "CloseCurlyDoubleQuote;", 0x0201D },
  99. { "CloseCurlyQuote;", 0x02019 },
  100. { "Colon;", 0x02237 },
  101. { "Colone;", 0x02A74 },
  102. { "Congruent;", 0x02261 },
  103. { "Conint;", 0x0222F },
  104. { "ContourIntegral;", 0x0222E },
  105. { "Copf;", 0x02102 },
  106. { "Coproduct;", 0x02210 },
  107. { "CounterClockwiseContourIntegral;", 0x02233 },
  108. { "Cross;", 0x02A2F },
  109. { "Cscr;", 0x1D49E },
  110. { "Cup;", 0x022D3 },
  111. { "CupCap;", 0x0224D },
  112. { "DD;", 0x02145 },
  113. { "DDotrahd;", 0x02911 },
  114. { "DJcy;", 0x00402 },
  115. { "DScy;", 0x00405 },
  116. { "DZcy;", 0x0040F },
  117. { "Dagger;", 0x02021 },
  118. { "Darr;", 0x021A1 },
  119. { "Dashv;", 0x02AE4 },
  120. { "Dcaron;", 0x0010E },
  121. { "Dcy;", 0x00414 },
  122. { "Del;", 0x02207 },
  123. { "Delta;", 0x00394 },
  124. { "Dfr;", 0x1D507 },
  125. { "DiacriticalAcute;", 0x000B4 },
  126. { "DiacriticalDot;", 0x002D9 },
  127. { "DiacriticalDoubleAcute;", 0x002DD },
  128. { "DiacriticalGrave;", 0x00060 },
  129. { "DiacriticalTilde;", 0x002DC },
  130. { "Diamond;", 0x022C4 },
  131. { "DifferentialD;", 0x02146 },
  132. { "Dopf;", 0x1D53B },
  133. { "Dot;", 0x000A8 },
  134. { "DotDot;", 0x020DC },
  135. { "DotEqual;", 0x02250 },
  136. { "DoubleContourIntegral;", 0x0222F },
  137. { "DoubleDot;", 0x000A8 },
  138. { "DoubleDownArrow;", 0x021D3 },
  139. { "DoubleLeftArrow;", 0x021D0 },
  140. { "DoubleLeftRightArrow;", 0x021D4 },
  141. { "DoubleLeftTee;", 0x02AE4 },
  142. { "DoubleLongLeftArrow;", 0x027F8 },
  143. { "DoubleLongLeftRightArrow;", 0x027FA },
  144. { "DoubleLongRightArrow;", 0x027F9 },
  145. { "DoubleRightArrow;", 0x021D2 },
  146. { "DoubleRightTee;", 0x022A8 },
  147. { "DoubleUpArrow;", 0x021D1 },
  148. { "DoubleUpDownArrow;", 0x021D5 },
  149. { "DoubleVerticalBar;", 0x02225 },
  150. { "DownArrow;", 0x02193 },
  151. { "DownArrowBar;", 0x02913 },
  152. { "DownArrowUpArrow;", 0x021F5 },
  153. { "DownBreve;", 0x00311 },
  154. { "DownLeftRightVector;", 0x02950 },
  155. { "DownLeftTeeVector;", 0x0295E },
  156. { "DownLeftVector;", 0x021BD },
  157. { "DownLeftVectorBar;", 0x02956 },
  158. { "DownRightTeeVector;", 0x0295F },
  159. { "DownRightVector;", 0x021C1 },
  160. { "DownRightVectorBar;", 0x02957 },
  161. { "DownTee;", 0x022A4 },
  162. { "DownTeeArrow;", 0x021A7 },
  163. { "Downarrow;", 0x021D3 },
  164. { "Dscr;", 0x1D49F },
  165. { "Dstrok;", 0x00110 },
  166. { "ENG;", 0x0014A },
  167. { "ETH;", 0x000D0 },
  168. { "ETH", 0x000D0 },
  169. { "Eacute;", 0x000C9 },
  170. { "Eacute", 0x000C9 },
  171. { "Ecaron;", 0x0011A },
  172. { "Ecirc;", 0x000CA },
  173. { "Ecirc", 0x000CA },
  174. { "Ecy;", 0x0042D },
  175. { "Edot;", 0x00116 },
  176. { "Efr;", 0x1D508 },
  177. { "Egrave;", 0x000C8 },
  178. { "Egrave", 0x000C8 },
  179. { "Element;", 0x02208 },
  180. { "Emacr;", 0x00112 },
  181. { "EmptySmallSquare;", 0x025FB },
  182. { "EmptyVerySmallSquare;", 0x025AB },
  183. { "Eogon;", 0x00118 },
  184. { "Eopf;", 0x1D53C },
  185. { "Epsilon;", 0x00395 },
  186. { "Equal;", 0x02A75 },
  187. { "EqualTilde;", 0x02242 },
  188. { "Equilibrium;", 0x021CC },
  189. { "Escr;", 0x02130 },
  190. { "Esim;", 0x02A73 },
  191. { "Eta;", 0x00397 },
  192. { "Euml;", 0x000CB },
  193. { "Euml", 0x000CB },
  194. { "Exists;", 0x02203 },
  195. { "ExponentialE;", 0x02147 },
  196. { "Fcy;", 0x00424 },
  197. { "Ffr;", 0x1D509 },
  198. { "FilledSmallSquare;", 0x025FC },
  199. { "FilledVerySmallSquare;", 0x025AA },
  200. { "Fopf;", 0x1D53D },
  201. { "ForAll;", 0x02200 },
  202. { "Fouriertrf;", 0x02131 },
  203. { "Fscr;", 0x02131 },
  204. { "GJcy;", 0x00403 },
  205. { "GT;", 0x0003E },
  206. { "GT", 0x0003E },
  207. { "Gamma;", 0x00393 },
  208. { "Gammad;", 0x003DC },
  209. { "Gbreve;", 0x0011E },
  210. { "Gcedil;", 0x00122 },
  211. { "Gcirc;", 0x0011C },
  212. { "Gcy;", 0x00413 },
  213. { "Gdot;", 0x00120 },
  214. { "Gfr;", 0x1D50A },
  215. { "Gg;", 0x022D9 },
  216. { "Gopf;", 0x1D53E },
  217. { "GreaterEqual;", 0x02265 },
  218. { "GreaterEqualLess;", 0x022DB },
  219. { "GreaterFullEqual;", 0x02267 },
  220. { "GreaterGreater;", 0x02AA2 },
  221. { "GreaterLess;", 0x02277 },
  222. { "GreaterSlantEqual;", 0x02A7E },
  223. { "GreaterTilde;", 0x02273 },
  224. { "Gscr;", 0x1D4A2 },
  225. { "Gt;", 0x0226B },
  226. { "HARDcy;", 0x0042A },
  227. { "Hacek;", 0x002C7 },
  228. { "Hat;", 0x0005E },
  229. { "Hcirc;", 0x00124 },
  230. { "Hfr;", 0x0210C },
  231. { "HilbertSpace;", 0x0210B },
  232. { "Hopf;", 0x0210D },
  233. { "HorizontalLine;", 0x02500 },
  234. { "Hscr;", 0x0210B },
  235. { "Hstrok;", 0x00126 },
  236. { "HumpDownHump;", 0x0224E },
  237. { "HumpEqual;", 0x0224F },
  238. { "IEcy;", 0x00415 },
  239. { "IJlig;", 0x00132 },
  240. { "IOcy;", 0x00401 },
  241. { "Iacute;", 0x000CD },
  242. { "Iacute", 0x000CD },
  243. { "Icirc;", 0x000CE },
  244. { "Icirc", 0x000CE },
  245. { "Icy;", 0x00418 },
  246. { "Idot;", 0x00130 },
  247. { "Ifr;", 0x02111 },
  248. { "Igrave;", 0x000CC },
  249. { "Igrave", 0x000CC },
  250. { "Im;", 0x02111 },
  251. { "Imacr;", 0x0012A },
  252. { "ImaginaryI;", 0x02148 },
  253. { "Implies;", 0x021D2 },
  254. { "Int;", 0x0222C },
  255. { "Integral;", 0x0222B },
  256. { "Intersection;", 0x022C2 },
  257. { "InvisibleComma;", 0x02063 },
  258. { "InvisibleTimes;", 0x02062 },
  259. { "Iogon;", 0x0012E },
  260. { "Iopf;", 0x1D540 },
  261. { "Iota;", 0x00399 },
  262. { "Iscr;", 0x02110 },
  263. { "Itilde;", 0x00128 },
  264. { "Iukcy;", 0x00406 },
  265. { "Iuml;", 0x000CF },
  266. { "Iuml", 0x000CF },
  267. { "Jcirc;", 0x00134 },
  268. { "Jcy;", 0x00419 },
  269. { "Jfr;", 0x1D50D },
  270. { "Jopf;", 0x1D541 },
  271. { "Jscr;", 0x1D4A5 },
  272. { "Jsercy;", 0x00408 },
  273. { "Jukcy;", 0x00404 },
  274. { "KHcy;", 0x00425 },
  275. { "KJcy;", 0x0040C },
  276. { "Kappa;", 0x0039A },
  277. { "Kcedil;", 0x00136 },
  278. { "Kcy;", 0x0041A },
  279. { "Kfr;", 0x1D50E },
  280. { "Kopf;", 0x1D542 },
  281. { "Kscr;", 0x1D4A6 },
  282. { "LJcy;", 0x00409 },
  283. { "LT;", 0x0003C },
  284. { "LT", 0x0003C },
  285. { "Lacute;", 0x00139 },
  286. { "Lambda;", 0x0039B },
  287. { "Lang;", 0x027EA },
  288. { "Laplacetrf;", 0x02112 },
  289. { "Larr;", 0x0219E },
  290. { "Lcaron;", 0x0013D },
  291. { "Lcedil;", 0x0013B },
  292. { "Lcy;", 0x0041B },
  293. { "LeftAngleBracket;", 0x027E8 },
  294. { "LeftArrow;", 0x02190 },
  295. { "LeftArrowBar;", 0x021E4 },
  296. { "LeftArrowRightArrow;", 0x021C6 },
  297. { "LeftCeiling;", 0x02308 },
  298. { "LeftDoubleBracket;", 0x027E6 },
  299. { "LeftDownTeeVector;", 0x02961 },
  300. { "LeftDownVector;", 0x021C3 },
  301. { "LeftDownVectorBar;", 0x02959 },
  302. { "LeftFloor;", 0x0230A },
  303. { "LeftRightArrow;", 0x02194 },
  304. { "LeftRightVector;", 0x0294E },
  305. { "LeftTee;", 0x022A3 },
  306. { "LeftTeeArrow;", 0x021A4 },
  307. { "LeftTeeVector;", 0x0295A },
  308. { "LeftTriangle;", 0x022B2 },
  309. { "LeftTriangleBar;", 0x029CF },
  310. { "LeftTriangleEqual;", 0x022B4 },
  311. { "LeftUpDownVector;", 0x02951 },
  312. { "LeftUpTeeVector;", 0x02960 },
  313. { "LeftUpVector;", 0x021BF },
  314. { "LeftUpVectorBar;", 0x02958 },
  315. { "LeftVector;", 0x021BC },
  316. { "LeftVectorBar;", 0x02952 },
  317. { "Leftarrow;", 0x021D0 },
  318. { "Leftrightarrow;", 0x021D4 },
  319. { "LessEqualGreater;", 0x022DA },
  320. { "LessFullEqual;", 0x02266 },
  321. { "LessGreater;", 0x02276 },
  322. { "LessLess;", 0x02AA1 },
  323. { "LessSlantEqual;", 0x02A7D },
  324. { "LessTilde;", 0x02272 },
  325. { "Lfr;", 0x1D50F },
  326. { "Ll;", 0x022D8 },
  327. { "Lleftarrow;", 0x021DA },
  328. { "Lmidot;", 0x0013F },
  329. { "LongLeftArrow;", 0x027F5 },
  330. { "LongLeftRightArrow;", 0x027F7 },
  331. { "LongRightArrow;", 0x027F6 },
  332. { "Longleftarrow;", 0x027F8 },
  333. { "Longleftrightarrow;", 0x027FA },
  334. { "Longrightarrow;", 0x027F9 },
  335. { "Lopf;", 0x1D543 },
  336. { "LowerLeftArrow;", 0x02199 },
  337. { "LowerRightArrow;", 0x02198 },
  338. { "Lscr;", 0x02112 },
  339. { "Lsh;", 0x021B0 },
  340. { "Lstrok;", 0x00141 },
  341. { "Lt;", 0x0226A },
  342. { "Map;", 0x02905 },
  343. { "Mcy;", 0x0041C },
  344. { "MediumSpace;", 0x0205F },
  345. { "Mellintrf;", 0x02133 },
  346. { "Mfr;", 0x1D510 },
  347. { "MinusPlus;", 0x02213 },
  348. { "Mopf;", 0x1D544 },
  349. { "Mscr;", 0x02133 },
  350. { "Mu;", 0x0039C },
  351. { "NJcy;", 0x0040A },
  352. { "Nacute;", 0x00143 },
  353. { "Ncaron;", 0x00147 },
  354. { "Ncedil;", 0x00145 },
  355. { "Ncy;", 0x0041D },
  356. { "NegativeMediumSpace;", 0x0200B },
  357. { "NegativeThickSpace;", 0x0200B },
  358. { "NegativeThinSpace;", 0x0200B },
  359. { "NegativeVeryThinSpace;", 0x0200B },
  360. { "NestedGreaterGreater;", 0x0226B },
  361. { "NestedLessLess;", 0x0226A },
  362. { "NewLine;", 0x0000A },
  363. { "Nfr;", 0x1D511 },
  364. { "NoBreak;", 0x02060 },
  365. { "NonBreakingSpace;", 0x000A0 },
  366. { "Nopf;", 0x02115 },
  367. { "Not;", 0x02AEC },
  368. { "NotCongruent;", 0x02262 },
  369. { "NotCupCap;", 0x0226D },
  370. { "NotDoubleVerticalBar;", 0x02226 },
  371. { "NotElement;", 0x02209 },
  372. { "NotEqual;", 0x02260 },
  373. { "NotExists;", 0x02204 },
  374. { "NotGreater;", 0x0226F },
  375. { "NotGreaterEqual;", 0x02271 },
  376. { "NotGreaterLess;", 0x02279 },
  377. { "NotGreaterTilde;", 0x02275 },
  378. { "NotLeftTriangle;", 0x022EA },
  379. { "NotLeftTriangleEqual;", 0x022EC },
  380. { "NotLess;", 0x0226E },
  381. { "NotLessEqual;", 0x02270 },
  382. { "NotLessGreater;", 0x02278 },
  383. { "NotLessTilde;", 0x02274 },
  384. { "NotPrecedes;", 0x02280 },
  385. { "NotPrecedesSlantEqual;", 0x022E0 },
  386. { "NotReverseElement;", 0x0220C },
  387. { "NotRightTriangle;", 0x022EB },
  388. { "NotRightTriangleEqual;", 0x022ED },
  389. { "NotSquareSubsetEqual;", 0x022E2 },
  390. { "NotSquareSupersetEqual;", 0x022E3 },
  391. { "NotSubsetEqual;", 0x02288 },
  392. { "NotSucceeds;", 0x02281 },
  393. { "NotSucceedsSlantEqual;", 0x022E1 },
  394. { "NotSupersetEqual;", 0x02289 },
  395. { "NotTilde;", 0x02241 },
  396. { "NotTildeEqual;", 0x02244 },
  397. { "NotTildeFullEqual;", 0x02247 },
  398. { "NotTildeTilde;", 0x02249 },
  399. { "NotVerticalBar;", 0x02224 },
  400. { "Nscr;", 0x1D4A9 },
  401. { "Ntilde;", 0x000D1 },
  402. { "Ntilde", 0x000D1 },
  403. { "Nu;", 0x0039D },
  404. { "OElig;", 0x00152 },
  405. { "Oacute;", 0x000D3 },
  406. { "Oacute", 0x000D3 },
  407. { "Ocirc;", 0x000D4 },
  408. { "Ocirc", 0x000D4 },
  409. { "Ocy;", 0x0041E },
  410. { "Odblac;", 0x00150 },
  411. { "Ofr;", 0x1D512 },
  412. { "Ograve;", 0x000D2 },
  413. { "Ograve", 0x000D2 },
  414. { "Omacr;", 0x0014C },
  415. { "Omega;", 0x003A9 },
  416. { "Omicron;", 0x0039F },
  417. { "Oopf;", 0x1D546 },
  418. { "OpenCurlyDoubleQuote;", 0x0201C },
  419. { "OpenCurlyQuote;", 0x02018 },
  420. { "Or;", 0x02A54 },
  421. { "Oscr;", 0x1D4AA },
  422. { "Oslash;", 0x000D8 },
  423. { "Oslash", 0x000D8 },
  424. { "Otilde;", 0x000D5 },
  425. { "Otilde", 0x000D5 },
  426. { "Otimes;", 0x02A37 },
  427. { "Ouml;", 0x000D6 },
  428. { "Ouml", 0x000D6 },
  429. { "OverBar;", 0x0203E },
  430. { "OverBrace;", 0x023DE },
  431. { "OverBracket;", 0x023B4 },
  432. { "OverParenthesis;", 0x023DC },
  433. { "PartialD;", 0x02202 },
  434. { "Pcy;", 0x0041F },
  435. { "Pfr;", 0x1D513 },
  436. { "Phi;", 0x003A6 },
  437. { "Pi;", 0x003A0 },
  438. { "PlusMinus;", 0x000B1 },
  439. { "Poincareplane;", 0x0210C },
  440. { "Popf;", 0x02119 },
  441. { "Pr;", 0x02ABB },
  442. { "Precedes;", 0x0227A },
  443. { "PrecedesEqual;", 0x02AAF },
  444. { "PrecedesSlantEqual;", 0x0227C },
  445. { "PrecedesTilde;", 0x0227E },
  446. { "Prime;", 0x02033 },
  447. { "Product;", 0x0220F },
  448. { "Proportion;", 0x02237 },
  449. { "Proportional;", 0x0221D },
  450. { "Pscr;", 0x1D4AB },
  451. { "Psi;", 0x003A8 },
  452. { "QUOT;", 0x00022 },
  453. { "QUOT", 0x00022 },
  454. { "Qfr;", 0x1D514 },
  455. { "Qopf;", 0x0211A },
  456. { "Qscr;", 0x1D4AC },
  457. { "RBarr;", 0x02910 },
  458. { "REG;", 0x000AE },
  459. { "REG", 0x000AE },
  460. { "Racute;", 0x00154 },
  461. { "Rang;", 0x027EB },
  462. { "Rarr;", 0x021A0 },
  463. { "Rarrtl;", 0x02916 },
  464. { "Rcaron;", 0x00158 },
  465. { "Rcedil;", 0x00156 },
  466. { "Rcy;", 0x00420 },
  467. { "Re;", 0x0211C },
  468. { "ReverseElement;", 0x0220B },
  469. { "ReverseEquilibrium;", 0x021CB },
  470. { "ReverseUpEquilibrium;", 0x0296F },
  471. { "Rfr;", 0x0211C },
  472. { "Rho;", 0x003A1 },
  473. { "RightAngleBracket;", 0x027E9 },
  474. { "RightArrow;", 0x02192 },
  475. { "RightArrowBar;", 0x021E5 },
  476. { "RightArrowLeftArrow;", 0x021C4 },
  477. { "RightCeiling;", 0x02309 },
  478. { "RightDoubleBracket;", 0x027E7 },
  479. { "RightDownTeeVector;", 0x0295D },
  480. { "RightDownVector;", 0x021C2 },
  481. { "RightDownVectorBar;", 0x02955 },
  482. { "RightFloor;", 0x0230B },
  483. { "RightTee;", 0x022A2 },
  484. { "RightTeeArrow;", 0x021A6 },
  485. { "RightTeeVector;", 0x0295B },
  486. { "RightTriangle;", 0x022B3 },
  487. { "RightTriangleBar;", 0x029D0 },
  488. { "RightTriangleEqual;", 0x022B5 },
  489. { "RightUpDownVector;", 0x0294F },
  490. { "RightUpTeeVector;", 0x0295C },
  491. { "RightUpVector;", 0x021BE },
  492. { "RightUpVectorBar;", 0x02954 },
  493. { "RightVector;", 0x021C0 },
  494. { "RightVectorBar;", 0x02953 },
  495. { "Rightarrow;", 0x021D2 },
  496. { "Ropf;", 0x0211D },
  497. { "RoundImplies;", 0x02970 },
  498. { "Rrightarrow;", 0x021DB },
  499. { "Rscr;", 0x0211B },
  500. { "Rsh;", 0x021B1 },
  501. { "RuleDelayed;", 0x029F4 },
  502. { "SHCHcy;", 0x00429 },
  503. { "SHcy;", 0x00428 },
  504. { "SOFTcy;", 0x0042C },
  505. { "Sacute;", 0x0015A },
  506. { "Sc;", 0x02ABC },
  507. { "Scaron;", 0x00160 },
  508. { "Scedil;", 0x0015E },
  509. { "Scirc;", 0x0015C },
  510. { "Scy;", 0x00421 },
  511. { "Sfr;", 0x1D516 },
  512. { "ShortDownArrow;", 0x02193 },
  513. { "ShortLeftArrow;", 0x02190 },
  514. { "ShortRightArrow;", 0x02192 },
  515. { "ShortUpArrow;", 0x02191 },
  516. { "Sigma;", 0x003A3 },
  517. { "SmallCircle;", 0x02218 },
  518. { "Sopf;", 0x1D54A },
  519. { "Sqrt;", 0x0221A },
  520. { "Square;", 0x025A1 },
  521. { "SquareIntersection;", 0x02293 },
  522. { "SquareSubset;", 0x0228F },
  523. { "SquareSubsetEqual;", 0x02291 },
  524. { "SquareSuperset;", 0x02290 },
  525. { "SquareSupersetEqual;", 0x02292 },
  526. { "SquareUnion;", 0x02294 },
  527. { "Sscr;", 0x1D4AE },
  528. { "Star;", 0x022C6 },
  529. { "Sub;", 0x022D0 },
  530. { "Subset;", 0x022D0 },
  531. { "SubsetEqual;", 0x02286 },
  532. { "Succeeds;", 0x0227B },
  533. { "SucceedsEqual;", 0x02AB0 },
  534. { "SucceedsSlantEqual;", 0x0227D },
  535. { "SucceedsTilde;", 0x0227F },
  536. { "SuchThat;", 0x0220B },
  537. { "Sum;", 0x02211 },
  538. { "Sup;", 0x022D1 },
  539. { "Superset;", 0x02283 },
  540. { "SupersetEqual;", 0x02287 },
  541. { "Supset;", 0x022D1 },
  542. { "THORN;", 0x000DE },
  543. { "THORN", 0x000DE },
  544. { "TRADE;", 0x02122 },
  545. { "TSHcy;", 0x0040B },
  546. { "TScy;", 0x00426 },
  547. { "Tab;", 0x00009 },
  548. { "Tau;", 0x003A4 },
  549. { "Tcaron;", 0x00164 },
  550. { "Tcedil;", 0x00162 },
  551. { "Tcy;", 0x00422 },
  552. { "Tfr;", 0x1D517 },
  553. { "Therefore;", 0x02234 },
  554. { "Theta;", 0x00398 },
  555. { "ThinSpace;", 0x02009 },
  556. { "Tilde;", 0x0223C },
  557. { "TildeEqual;", 0x02243 },
  558. { "TildeFullEqual;", 0x02245 },
  559. { "TildeTilde;", 0x02248 },
  560. { "Topf;", 0x1D54B },
  561. { "TripleDot;", 0x020DB },
  562. { "Tscr;", 0x1D4AF },
  563. { "Tstrok;", 0x00166 },
  564. { "Uacute;", 0x000DA },
  565. { "Uacute", 0x000DA },
  566. { "Uarr;", 0x0219F },
  567. { "Uarrocir;", 0x02949 },
  568. { "Ubrcy;", 0x0040E },
  569. { "Ubreve;", 0x0016C },
  570. { "Ucirc;", 0x000DB },
  571. { "Ucirc", 0x000DB },
  572. { "Ucy;", 0x00423 },
  573. { "Udblac;", 0x00170 },
  574. { "Ufr;", 0x1D518 },
  575. { "Ugrave;", 0x000D9 },
  576. { "Ugrave", 0x000D9 },
  577. { "Umacr;", 0x0016A },
  578. { "UnderBar;", 0x0005F },
  579. { "UnderBrace;", 0x023DF },
  580. { "UnderBracket;", 0x023B5 },
  581. { "UnderParenthesis;", 0x023DD },
  582. { "Union;", 0x022C3 },
  583. { "UnionPlus;", 0x0228E },
  584. { "Uogon;", 0x00172 },
  585. { "Uopf;", 0x1D54C },
  586. { "UpArrow;", 0x02191 },
  587. { "UpArrowBar;", 0x02912 },
  588. { "UpArrowDownArrow;", 0x021C5 },
  589. { "UpDownArrow;", 0x02195 },
  590. { "UpEquilibrium;", 0x0296E },
  591. { "UpTee;", 0x022A5 },
  592. { "UpTeeArrow;", 0x021A5 },
  593. { "Uparrow;", 0x021D1 },
  594. { "Updownarrow;", 0x021D5 },
  595. { "UpperLeftArrow;", 0x02196 },
  596. { "UpperRightArrow;", 0x02197 },
  597. { "Upsi;", 0x003D2 },
  598. { "Upsilon;", 0x003A5 },
  599. { "Uring;", 0x0016E },
  600. { "Uscr;", 0x1D4B0 },
  601. { "Utilde;", 0x00168 },
  602. { "Uuml;", 0x000DC },
  603. { "Uuml", 0x000DC },
  604. { "VDash;", 0x022AB },
  605. { "Vbar;", 0x02AEB },
  606. { "Vcy;", 0x00412 },
  607. { "Vdash;", 0x022A9 },
  608. { "Vdashl;", 0x02AE6 },
  609. { "Vee;", 0x022C1 },
  610. { "Verbar;", 0x02016 },
  611. { "Vert;", 0x02016 },
  612. { "VerticalBar;", 0x02223 },
  613. { "VerticalLine;", 0x0007C },
  614. { "VerticalSeparator;", 0x02758 },
  615. { "VerticalTilde;", 0x02240 },
  616. { "VeryThinSpace;", 0x0200A },
  617. { "Vfr;", 0x1D519 },
  618. { "Vopf;", 0x1D54D },
  619. { "Vscr;", 0x1D4B1 },
  620. { "Vvdash;", 0x022AA },
  621. { "Wcirc;", 0x00174 },
  622. { "Wedge;", 0x022C0 },
  623. { "Wfr;", 0x1D51A },
  624. { "Wopf;", 0x1D54E },
  625. { "Wscr;", 0x1D4B2 },
  626. { "Xfr;", 0x1D51B },
  627. { "Xi;", 0x0039E },
  628. { "Xopf;", 0x1D54F },
  629. { "Xscr;", 0x1D4B3 },
  630. { "YAcy;", 0x0042F },
  631. { "YIcy;", 0x00407 },
  632. { "YUcy;", 0x0042E },
  633. { "Yacute;", 0x000DD },
  634. { "Yacute", 0x000DD },
  635. { "Ycirc;", 0x00176 },
  636. { "Ycy;", 0x0042B },
  637. { "Yfr;", 0x1D51C },
  638. { "Yopf;", 0x1D550 },
  639. { "Yscr;", 0x1D4B4 },
  640. { "Yuml;", 0x00178 },
  641. { "ZHcy;", 0x00416 },
  642. { "Zacute;", 0x00179 },
  643. { "Zcaron;", 0x0017D },
  644. { "Zcy;", 0x00417 },
  645. { "Zdot;", 0x0017B },
  646. { "ZeroWidthSpace;", 0x0200B },
  647. { "Zeta;", 0x00396 },
  648. { "Zfr;", 0x02128 },
  649. { "Zopf;", 0x02124 },
  650. { "Zscr;", 0x1D4B5 },
  651. { "aacute;", 0x000E1 },
  652. { "aacute", 0x000E1 },
  653. { "abreve;", 0x00103 },
  654. { "ac;", 0x0223E },
  655. { "acd;", 0x0223F },
  656. { "acirc;", 0x000E2 },
  657. { "acirc", 0x000E2 },
  658. { "acute;", 0x000B4 },
  659. { "acute", 0x000B4 },
  660. { "acy;", 0x00430 },
  661. { "aelig;", 0x000E6 },
  662. { "aelig", 0x000E6 },
  663. { "af;", 0x02061 },
  664. { "afr;", 0x1D51E },
  665. { "agrave;", 0x000E0 },
  666. { "agrave", 0x000E0 },
  667. { "alefsym;", 0x02135 },
  668. { "aleph;", 0x02135 },
  669. { "alpha;", 0x003B1 },
  670. { "amacr;", 0x00101 },
  671. { "amalg;", 0x02A3F },
  672. { "amp;", 0x00026 },
  673. { "amp", 0x00026 },
  674. { "and;", 0x02227 },
  675. { "andand;", 0x02A55 },
  676. { "andd;", 0x02A5C },
  677. { "andslope;", 0x02A58 },
  678. { "andv;", 0x02A5A },
  679. { "ang;", 0x02220 },
  680. { "ange;", 0x029A4 },
  681. { "angle;", 0x02220 },
  682. { "angmsd;", 0x02221 },
  683. { "angmsdaa;", 0x029A8 },
  684. { "angmsdab;", 0x029A9 },
  685. { "angmsdac;", 0x029AA },
  686. { "angmsdad;", 0x029AB },
  687. { "angmsdae;", 0x029AC },
  688. { "angmsdaf;", 0x029AD },
  689. { "angmsdag;", 0x029AE },
  690. { "angmsdah;", 0x029AF },
  691. { "angrt;", 0x0221F },
  692. { "angrtvb;", 0x022BE },
  693. { "angrtvbd;", 0x0299D },
  694. { "angsph;", 0x02222 },
  695. { "angst;", 0x000C5 },
  696. { "angzarr;", 0x0237C },
  697. { "aogon;", 0x00105 },
  698. { "aopf;", 0x1D552 },
  699. { "ap;", 0x02248 },
  700. { "apE;", 0x02A70 },
  701. { "apacir;", 0x02A6F },
  702. { "ape;", 0x0224A },
  703. { "apid;", 0x0224B },
  704. { "apos;", 0x00027 },
  705. { "approx;", 0x02248 },
  706. { "approxeq;", 0x0224A },
  707. { "aring;", 0x000E5 },
  708. { "aring", 0x000E5 },
  709. { "ascr;", 0x1D4B6 },
  710. { "ast;", 0x0002A },
  711. { "asymp;", 0x02248 },
  712. { "asympeq;", 0x0224D },
  713. { "atilde;", 0x000E3 },
  714. { "atilde", 0x000E3 },
  715. { "auml;", 0x000E4 },
  716. { "auml", 0x000E4 },
  717. { "awconint;", 0x02233 },
  718. { "awint;", 0x02A11 },
  719. { "bNot;", 0x02AED },
  720. { "backcong;", 0x0224C },
  721. { "backepsilon;", 0x003F6 },
  722. { "backprime;", 0x02035 },
  723. { "backsim;", 0x0223D },
  724. { "backsimeq;", 0x022CD },
  725. { "barvee;", 0x022BD },
  726. { "barwed;", 0x02305 },
  727. { "barwedge;", 0x02305 },
  728. { "bbrk;", 0x023B5 },
  729. { "bbrktbrk;", 0x023B6 },
  730. { "bcong;", 0x0224C },
  731. { "bcy;", 0x00431 },
  732. { "bdquo;", 0x0201E },
  733. { "becaus;", 0x02235 },
  734. { "because;", 0x02235 },
  735. { "bemptyv;", 0x029B0 },
  736. { "bepsi;", 0x003F6 },
  737. { "bernou;", 0x0212C },
  738. { "beta;", 0x003B2 },
  739. { "beth;", 0x02136 },
  740. { "between;", 0x0226C },
  741. { "bfr;", 0x1D51F },
  742. { "bigcap;", 0x022C2 },
  743. { "bigcirc;", 0x025EF },
  744. { "bigcup;", 0x022C3 },
  745. { "bigodot;", 0x02A00 },
  746. { "bigoplus;", 0x02A01 },
  747. { "bigotimes;", 0x02A02 },
  748. { "bigsqcup;", 0x02A06 },
  749. { "bigstar;", 0x02605 },
  750. { "bigtriangledown;", 0x025BD },
  751. { "bigtriangleup;", 0x025B3 },
  752. { "biguplus;", 0x02A04 },
  753. { "bigvee;", 0x022C1 },
  754. { "bigwedge;", 0x022C0 },
  755. { "bkarow;", 0x0290D },
  756. { "blacklozenge;", 0x029EB },
  757. { "blacksquare;", 0x025AA },
  758. { "blacktriangle;", 0x025B4 },
  759. { "blacktriangledown;", 0x025BE },
  760. { "blacktriangleleft;", 0x025C2 },
  761. { "blacktriangleright;", 0x025B8 },
  762. { "blank;", 0x02423 },
  763. { "blk12;", 0x02592 },
  764. { "blk14;", 0x02591 },
  765. { "blk34;", 0x02593 },
  766. { "block;", 0x02588 },
  767. { "bnot;", 0x02310 },
  768. { "bopf;", 0x1D553 },
  769. { "bot;", 0x022A5 },
  770. { "bottom;", 0x022A5 },
  771. { "bowtie;", 0x022C8 },
  772. { "boxDL;", 0x02557 },
  773. { "boxDR;", 0x02554 },
  774. { "boxDl;", 0x02556 },
  775. { "boxDr;", 0x02553 },
  776. { "boxH;", 0x02550 },
  777. { "boxHD;", 0x02566 },
  778. { "boxHU;", 0x02569 },
  779. { "boxHd;", 0x02564 },
  780. { "boxHu;", 0x02567 },
  781. { "boxUL;", 0x0255D },
  782. { "boxUR;", 0x0255A },
  783. { "boxUl;", 0x0255C },
  784. { "boxUr;", 0x02559 },
  785. { "boxV;", 0x02551 },
  786. { "boxVH;", 0x0256C },
  787. { "boxVL;", 0x02563 },
  788. { "boxVR;", 0x02560 },
  789. { "boxVh;", 0x0256B },
  790. { "boxVl;", 0x02562 },
  791. { "boxVr;", 0x0255F },
  792. { "boxbox;", 0x029C9 },
  793. { "boxdL;", 0x02555 },
  794. { "boxdR;", 0x02552 },
  795. { "boxdl;", 0x02510 },
  796. { "boxdr;", 0x0250C },
  797. { "boxh;", 0x02500 },
  798. { "boxhD;", 0x02565 },
  799. { "boxhU;", 0x02568 },
  800. { "boxhd;", 0x0252C },
  801. { "boxhu;", 0x02534 },
  802. { "boxminus;", 0x0229F },
  803. { "boxplus;", 0x0229E },
  804. { "boxtimes;", 0x022A0 },
  805. { "boxuL;", 0x0255B },
  806. { "boxuR;", 0x02558 },
  807. { "boxul;", 0x02518 },
  808. { "boxur;", 0x02514 },
  809. { "boxv;", 0x02502 },
  810. { "boxvH;", 0x0256A },
  811. { "boxvL;", 0x02561 },
  812. { "boxvR;", 0x0255E },
  813. { "boxvh;", 0x0253C },
  814. { "boxvl;", 0x02524 },
  815. { "boxvr;", 0x0251C },
  816. { "bprime;", 0x02035 },
  817. { "breve;", 0x002D8 },
  818. { "brvbar;", 0x000A6 },
  819. { "brvbar", 0x000A6 },
  820. { "bscr;", 0x1D4B7 },
  821. { "bsemi;", 0x0204F },
  822. { "bsim;", 0x0223D },
  823. { "bsime;", 0x022CD },
  824. { "bsol;", 0x0005C },
  825. { "bsolb;", 0x029C5 },
  826. { "bsolhsub;", 0x027C8 },
  827. { "bull;", 0x02022 },
  828. { "bullet;", 0x02022 },
  829. { "bump;", 0x0224E },
  830. { "bumpE;", 0x02AAE },
  831. { "bumpe;", 0x0224F },
  832. { "bumpeq;", 0x0224F },
  833. { "cacute;", 0x00107 },
  834. { "cap;", 0x02229 },
  835. { "capand;", 0x02A44 },
  836. { "capbrcup;", 0x02A49 },
  837. { "capcap;", 0x02A4B },
  838. { "capcup;", 0x02A47 },
  839. { "capdot;", 0x02A40 },
  840. { "caret;", 0x02041 },
  841. { "caron;", 0x002C7 },
  842. { "ccaps;", 0x02A4D },
  843. { "ccaron;", 0x0010D },
  844. { "ccedil;", 0x000E7 },
  845. { "ccedil", 0x000E7 },
  846. { "ccirc;", 0x00109 },
  847. { "ccups;", 0x02A4C },
  848. { "ccupssm;", 0x02A50 },
  849. { "cdot;", 0x0010B },
  850. { "cedil;", 0x000B8 },
  851. { "cedil", 0x000B8 },
  852. { "cemptyv;", 0x029B2 },
  853. { "cent;", 0x000A2 },
  854. { "cent", 0x000A2 },
  855. { "centerdot;", 0x000B7 },
  856. { "cfr;", 0x1D520 },
  857. { "chcy;", 0x00447 },
  858. { "check;", 0x02713 },
  859. { "checkmark;", 0x02713 },
  860. { "chi;", 0x003C7 },
  861. { "cir;", 0x025CB },
  862. { "cirE;", 0x029C3 },
  863. { "circ;", 0x002C6 },
  864. { "circeq;", 0x02257 },
  865. { "circlearrowleft;", 0x021BA },
  866. { "circlearrowright;", 0x021BB },
  867. { "circledR;", 0x000AE },
  868. { "circledS;", 0x024C8 },
  869. { "circledast;", 0x0229B },
  870. { "circledcirc;", 0x0229A },
  871. { "circleddash;", 0x0229D },
  872. { "cire;", 0x02257 },
  873. { "cirfnint;", 0x02A10 },
  874. { "cirmid;", 0x02AEF },
  875. { "cirscir;", 0x029C2 },
  876. { "clubs;", 0x02663 },
  877. { "clubsuit;", 0x02663 },
  878. { "colon;", 0x0003A },
  879. { "colone;", 0x02254 },
  880. { "coloneq;", 0x02254 },
  881. { "comma;", 0x0002C },
  882. { "commat;", 0x00040 },
  883. { "comp;", 0x02201 },
  884. { "compfn;", 0x02218 },
  885. { "complement;", 0x02201 },
  886. { "complexes;", 0x02102 },
  887. { "cong;", 0x02245 },
  888. { "congdot;", 0x02A6D },
  889. { "conint;", 0x0222E },
  890. { "copf;", 0x1D554 },
  891. { "coprod;", 0x02210 },
  892. { "copy;", 0x000A9 },
  893. { "copy", 0x000A9 },
  894. { "copysr;", 0x02117 },
  895. { "crarr;", 0x021B5 },
  896. { "cross;", 0x02717 },
  897. { "cscr;", 0x1D4B8 },
  898. { "csub;", 0x02ACF },
  899. { "csube;", 0x02AD1 },
  900. { "csup;", 0x02AD0 },
  901. { "csupe;", 0x02AD2 },
  902. { "ctdot;", 0x022EF },
  903. { "cudarrl;", 0x02938 },
  904. { "cudarrr;", 0x02935 },
  905. { "cuepr;", 0x022DE },
  906. { "cuesc;", 0x022DF },
  907. { "cularr;", 0x021B6 },
  908. { "cularrp;", 0x0293D },
  909. { "cup;", 0x0222A },
  910. { "cupbrcap;", 0x02A48 },
  911. { "cupcap;", 0x02A46 },
  912. { "cupcup;", 0x02A4A },
  913. { "cupdot;", 0x0228D },
  914. { "cupor;", 0x02A45 },
  915. { "curarr;", 0x021B7 },
  916. { "curarrm;", 0x0293C },
  917. { "curlyeqprec;", 0x022DE },
  918. { "curlyeqsucc;", 0x022DF },
  919. { "curlyvee;", 0x022CE },
  920. { "curlywedge;", 0x022CF },
  921. { "curren;", 0x000A4 },
  922. { "curren", 0x000A4 },
  923. { "curvearrowleft;", 0x021B6 },
  924. { "curvearrowright;", 0x021B7 },
  925. { "cuvee;", 0x022CE },
  926. { "cuwed;", 0x022CF },
  927. { "cwconint;", 0x02232 },
  928. { "cwint;", 0x02231 },
  929. { "cylcty;", 0x0232D },
  930. { "dArr;", 0x021D3 },
  931. { "dHar;", 0x02965 },
  932. { "dagger;", 0x02020 },
  933. { "daleth;", 0x02138 },
  934. { "darr;", 0x02193 },
  935. { "dash;", 0x02010 },
  936. { "dashv;", 0x022A3 },
  937. { "dbkarow;", 0x0290F },
  938. { "dblac;", 0x002DD },
  939. { "dcaron;", 0x0010F },
  940. { "dcy;", 0x00434 },
  941. { "dd;", 0x02146 },
  942. { "ddagger;", 0x02021 },
  943. { "ddarr;", 0x021CA },
  944. { "ddotseq;", 0x02A77 },
  945. { "deg;", 0x000B0 },
  946. { "deg", 0x000B0 },
  947. { "delta;", 0x003B4 },
  948. { "demptyv;", 0x029B1 },
  949. { "dfisht;", 0x0297F },
  950. { "dfr;", 0x1D521 },
  951. { "dharl;", 0x021C3 },
  952. { "dharr;", 0x021C2 },
  953. { "diam;", 0x022C4 },
  954. { "diamond;", 0x022C4 },
  955. { "diamondsuit;", 0x02666 },
  956. { "diams;", 0x02666 },
  957. { "die;", 0x000A8 },
  958. { "digamma;", 0x003DD },
  959. { "disin;", 0x022F2 },
  960. { "div;", 0x000F7 },
  961. { "divide;", 0x000F7 },
  962. { "divide", 0x000F7 },
  963. { "divideontimes;", 0x022C7 },
  964. { "divonx;", 0x022C7 },
  965. { "djcy;", 0x00452 },
  966. { "dlcorn;", 0x0231E },
  967. { "dlcrop;", 0x0230D },
  968. { "dollar;", 0x00024 },
  969. { "dopf;", 0x1D555 },
  970. { "dot;", 0x002D9 },
  971. { "doteq;", 0x02250 },
  972. { "doteqdot;", 0x02251 },
  973. { "dotminus;", 0x02238 },
  974. { "dotplus;", 0x02214 },
  975. { "dotsquare;", 0x022A1 },
  976. { "doublebarwedge;", 0x02306 },
  977. { "downarrow;", 0x02193 },
  978. { "downdownarrows;", 0x021CA },
  979. { "downharpoonleft;", 0x021C3 },
  980. { "downharpoonright;", 0x021C2 },
  981. { "drbkarow;", 0x02910 },
  982. { "drcorn;", 0x0231F },
  983. { "drcrop;", 0x0230C },
  984. { "dscr;", 0x1D4B9 },
  985. { "dscy;", 0x00455 },
  986. { "dsol;", 0x029F6 },
  987. { "dstrok;", 0x00111 },
  988. { "dtdot;", 0x022F1 },
  989. { "dtri;", 0x025BF },
  990. { "dtrif;", 0x025BE },
  991. { "duarr;", 0x021F5 },
  992. { "duhar;", 0x0296F },
  993. { "dwangle;", 0x029A6 },
  994. { "dzcy;", 0x0045F },
  995. { "dzigrarr;", 0x027FF },
  996. { "eDDot;", 0x02A77 },
  997. { "eDot;", 0x02251 },
  998. { "eacute;", 0x000E9 },
  999. { "eacute", 0x000E9 },
  1000. { "easter;", 0x02A6E },
  1001. { "ecaron;", 0x0011B },
  1002. { "ecir;", 0x02256 },
  1003. { "ecirc;", 0x000EA },
  1004. { "ecirc", 0x000EA },
  1005. { "ecolon;", 0x02255 },
  1006. { "ecy;", 0x0044D },
  1007. { "edot;", 0x00117 },
  1008. { "ee;", 0x02147 },
  1009. { "efDot;", 0x02252 },
  1010. { "efr;", 0x1D522 },
  1011. { "eg;", 0x02A9A },
  1012. { "egrave;", 0x000E8 },
  1013. { "egrave", 0x000E8 },
  1014. { "egs;", 0x02A96 },
  1015. { "egsdot;", 0x02A98 },
  1016. { "el;", 0x02A99 },
  1017. { "elinters;", 0x023E7 },
  1018. { "ell;", 0x02113 },
  1019. { "els;", 0x02A95 },
  1020. { "elsdot;", 0x02A97 },
  1021. { "emacr;", 0x00113 },
  1022. { "empty;", 0x02205 },
  1023. { "emptyset;", 0x02205 },
  1024. { "emptyv;", 0x02205 },
  1025. { "emsp13;", 0x02004 },
  1026. { "emsp14;", 0x02005 },
  1027. { "emsp;", 0x02003 },
  1028. { "eng;", 0x0014B },
  1029. { "ensp;", 0x02002 },
  1030. { "eogon;", 0x00119 },
  1031. { "eopf;", 0x1D556 },
  1032. { "epar;", 0x022D5 },
  1033. { "eparsl;", 0x029E3 },
  1034. { "eplus;", 0x02A71 },
  1035. { "epsi;", 0x003B5 },
  1036. { "epsilon;", 0x003B5 },
  1037. { "epsiv;", 0x003F5 },
  1038. { "eqcirc;", 0x02256 },
  1039. { "eqcolon;", 0x02255 },
  1040. { "eqsim;", 0x02242 },
  1041. { "eqslantgtr;", 0x02A96 },
  1042. { "eqslantless;", 0x02A95 },
  1043. { "equals;", 0x0003D },
  1044. { "equest;", 0x0225F },
  1045. { "equiv;", 0x02261 },
  1046. { "equivDD;", 0x02A78 },
  1047. { "eqvparsl;", 0x029E5 },
  1048. { "erDot;", 0x02253 },
  1049. { "erarr;", 0x02971 },
  1050. { "escr;", 0x0212F },
  1051. { "esdot;", 0x02250 },
  1052. { "esim;", 0x02242 },
  1053. { "eta;", 0x003B7 },
  1054. { "eth;", 0x000F0 },
  1055. { "eth", 0x000F0 },
  1056. { "euml;", 0x000EB },
  1057. { "euml", 0x000EB },
  1058. { "euro;", 0x020AC },
  1059. { "excl;", 0x00021 },
  1060. { "exist;", 0x02203 },
  1061. { "expectation;", 0x02130 },
  1062. { "exponentiale;", 0x02147 },
  1063. { "fallingdotseq;", 0x02252 },
  1064. { "fcy;", 0x00444 },
  1065. { "female;", 0x02640 },
  1066. { "ffilig;", 0x0FB03 },
  1067. { "fflig;", 0x0FB00 },
  1068. { "ffllig;", 0x0FB04 },
  1069. { "ffr;", 0x1D523 },
  1070. { "filig;", 0x0FB01 },
  1071. { "flat;", 0x0266D },
  1072. { "fllig;", 0x0FB02 },
  1073. { "fltns;", 0x025B1 },
  1074. { "fnof;", 0x00192 },
  1075. { "fopf;", 0x1D557 },
  1076. { "forall;", 0x02200 },
  1077. { "fork;", 0x022D4 },
  1078. { "forkv;", 0x02AD9 },
  1079. { "fpartint;", 0x02A0D },
  1080. { "frac12;", 0x000BD },
  1081. { "frac12", 0x000BD },
  1082. { "frac13;", 0x02153 },
  1083. { "frac14;", 0x000BC },
  1084. { "frac14", 0x000BC },
  1085. { "frac15;", 0x02155 },
  1086. { "frac16;", 0x02159 },
  1087. { "frac18;", 0x0215B },
  1088. { "frac23;", 0x02154 },
  1089. { "frac25;", 0x02156 },
  1090. { "frac34;", 0x000BE },
  1091. { "frac34", 0x000BE },
  1092. { "frac35;", 0x02157 },
  1093. { "frac38;", 0x0215C },
  1094. { "frac45;", 0x02158 },
  1095. { "frac56;", 0x0215A },
  1096. { "frac58;", 0x0215D },
  1097. { "frac78;", 0x0215E },
  1098. { "frasl;", 0x02044 },
  1099. { "frown;", 0x02322 },
  1100. { "fscr;", 0x1D4BB },
  1101. { "gE;", 0x02267 },
  1102. { "gEl;", 0x02A8C },
  1103. { "gacute;", 0x001F5 },
  1104. { "gamma;", 0x003B3 },
  1105. { "gammad;", 0x003DD },
  1106. { "gap;", 0x02A86 },
  1107. { "gbreve;", 0x0011F },
  1108. { "gcirc;", 0x0011D },
  1109. { "gcy;", 0x00433 },
  1110. { "gdot;", 0x00121 },
  1111. { "ge;", 0x02265 },
  1112. { "gel;", 0x022DB },
  1113. { "geq;", 0x02265 },
  1114. { "geqq;", 0x02267 },
  1115. { "geqslant;", 0x02A7E },
  1116. { "ges;", 0x02A7E },
  1117. { "gescc;", 0x02AA9 },
  1118. { "gesdot;", 0x02A80 },
  1119. { "gesdoto;", 0x02A82 },
  1120. { "gesdotol;", 0x02A84 },
  1121. { "gesles;", 0x02A94 },
  1122. { "gfr;", 0x1D524 },
  1123. { "gg;", 0x0226B },
  1124. { "ggg;", 0x022D9 },
  1125. { "gimel;", 0x02137 },
  1126. { "gjcy;", 0x00453 },
  1127. { "gl;", 0x02277 },
  1128. { "glE;", 0x02A92 },
  1129. { "gla;", 0x02AA5 },
  1130. { "glj;", 0x02AA4 },
  1131. { "gnE;", 0x02269 },
  1132. { "gnap;", 0x02A8A },
  1133. { "gnapprox;", 0x02A8A },
  1134. { "gne;", 0x02A88 },
  1135. { "gneq;", 0x02A88 },
  1136. { "gneqq;", 0x02269 },
  1137. { "gnsim;", 0x022E7 },
  1138. { "gopf;", 0x1D558 },
  1139. { "grave;", 0x00060 },
  1140. { "gscr;", 0x0210A },
  1141. { "gsim;", 0x02273 },
  1142. { "gsime;", 0x02A8E },
  1143. { "gsiml;", 0x02A90 },
  1144. { "gt;", 0x0003E },
  1145. { "gt", 0x0003E },
  1146. { "gtcc;", 0x02AA7 },
  1147. { "gtcir;", 0x02A7A },
  1148. { "gtdot;", 0x022D7 },
  1149. { "gtlPar;", 0x02995 },
  1150. { "gtquest;", 0x02A7C },
  1151. { "gtrapprox;", 0x02A86 },
  1152. { "gtrarr;", 0x02978 },
  1153. { "gtrdot;", 0x022D7 },
  1154. { "gtreqless;", 0x022DB },
  1155. { "gtreqqless;", 0x02A8C },
  1156. { "gtrless;", 0x02277 },
  1157. { "gtrsim;", 0x02273 },
  1158. { "hArr;", 0x021D4 },
  1159. { "hairsp;", 0x0200A },
  1160. { "half;", 0x000BD },
  1161. { "hamilt;", 0x0210B },
  1162. { "hardcy;", 0x0044A },
  1163. { "harr;", 0x02194 },
  1164. { "harrcir;", 0x02948 },
  1165. { "harrw;", 0x021AD },
  1166. { "hbar;", 0x0210F },
  1167. { "hcirc;", 0x00125 },
  1168. { "hearts;", 0x02665 },
  1169. { "heartsuit;", 0x02665 },
  1170. { "hellip;", 0x02026 },
  1171. { "hercon;", 0x022B9 },
  1172. { "hfr;", 0x1D525 },
  1173. { "hksearow;", 0x02925 },
  1174. { "hkswarow;", 0x02926 },
  1175. { "hoarr;", 0x021FF },
  1176. { "homtht;", 0x0223B },
  1177. { "hookleftarrow;", 0x021A9 },
  1178. { "hookrightarrow;", 0x021AA },
  1179. { "hopf;", 0x1D559 },
  1180. { "horbar;", 0x02015 },
  1181. { "hscr;", 0x1D4BD },
  1182. { "hslash;", 0x0210F },
  1183. { "hstrok;", 0x00127 },
  1184. { "hybull;", 0x02043 },
  1185. { "hyphen;", 0x02010 },
  1186. { "iacute;", 0x000ED },
  1187. { "iacute", 0x000ED },
  1188. { "ic;", 0x02063 },
  1189. { "icirc;", 0x000EE },
  1190. { "icirc", 0x000EE },
  1191. { "icy;", 0x00438 },
  1192. { "iecy;", 0x00435 },
  1193. { "iexcl;", 0x000A1 },
  1194. { "iexcl", 0x000A1 },
  1195. { "iff;", 0x021D4 },
  1196. { "ifr;", 0x1D526 },
  1197. { "igrave;", 0x000EC },
  1198. { "igrave", 0x000EC },
  1199. { "ii;", 0x02148 },
  1200. { "iiiint;", 0x02A0C },
  1201. { "iiint;", 0x0222D },
  1202. { "iinfin;", 0x029DC },
  1203. { "iiota;", 0x02129 },
  1204. { "ijlig;", 0x00133 },
  1205. { "imacr;", 0x0012B },
  1206. { "image;", 0x02111 },
  1207. { "imagline;", 0x02110 },
  1208. { "imagpart;", 0x02111 },
  1209. { "imath;", 0x00131 },
  1210. { "imof;", 0x022B7 },
  1211. { "imped;", 0x001B5 },
  1212. { "in;", 0x02208 },
  1213. { "incare;", 0x02105 },
  1214. { "infin;", 0x0221E },
  1215. { "infintie;", 0x029DD },
  1216. { "inodot;", 0x00131 },
  1217. { "int;", 0x0222B },
  1218. { "intcal;", 0x022BA },
  1219. { "integers;", 0x02124 },
  1220. { "intercal;", 0x022BA },
  1221. { "intlarhk;", 0x02A17 },
  1222. { "intprod;", 0x02A3C },
  1223. { "iocy;", 0x00451 },
  1224. { "iogon;", 0x0012F },
  1225. { "iopf;", 0x1D55A },
  1226. { "iota;", 0x003B9 },
  1227. { "iprod;", 0x02A3C },
  1228. { "iquest;", 0x000BF },
  1229. { "iquest", 0x000BF },
  1230. { "iscr;", 0x1D4BE },
  1231. { "isin;", 0x02208 },
  1232. { "isinE;", 0x022F9 },
  1233. { "isindot;", 0x022F5 },
  1234. { "isins;", 0x022F4 },
  1235. { "isinsv;", 0x022F3 },
  1236. { "isinv;", 0x02208 },
  1237. { "it;", 0x02062 },
  1238. { "itilde;", 0x00129 },
  1239. { "iukcy;", 0x00456 },
  1240. { "iuml;", 0x000EF },
  1241. { "iuml", 0x000EF },
  1242. { "jcirc;", 0x00135 },
  1243. { "jcy;", 0x00439 },
  1244. { "jfr;", 0x1D527 },
  1245. { "jmath;", 0x00237 },
  1246. { "jopf;", 0x1D55B },
  1247. { "jscr;", 0x1D4BF },
  1248. { "jsercy;", 0x00458 },
  1249. { "jukcy;", 0x00454 },
  1250. { "kappa;", 0x003BA },
  1251. { "kappav;", 0x003F0 },
  1252. { "kcedil;", 0x00137 },
  1253. { "kcy;", 0x0043A },
  1254. { "kfr;", 0x1D528 },
  1255. { "kgreen;", 0x00138 },
  1256. { "khcy;", 0x00445 },
  1257. { "kjcy;", 0x0045C },
  1258. { "kopf;", 0x1D55C },
  1259. { "kscr;", 0x1D4C0 },
  1260. { "lAarr;", 0x021DA },
  1261. { "lArr;", 0x021D0 },
  1262. { "lAtail;", 0x0291B },
  1263. { "lBarr;", 0x0290E },
  1264. { "lE;", 0x02266 },
  1265. { "lEg;", 0x02A8B },
  1266. { "lHar;", 0x02962 },
  1267. { "lacute;", 0x0013A },
  1268. { "laemptyv;", 0x029B4 },
  1269. { "lagran;", 0x02112 },
  1270. { "lambda;", 0x003BB },
  1271. { "lang;", 0x027E8 },
  1272. { "langd;", 0x02991 },
  1273. { "langle;", 0x027E8 },
  1274. { "lap;", 0x02A85 },
  1275. { "laquo;", 0x000AB },
  1276. { "laquo", 0x000AB },
  1277. { "larr;", 0x02190 },
  1278. { "larrb;", 0x021E4 },
  1279. { "larrbfs;", 0x0291F },
  1280. { "larrfs;", 0x0291D },
  1281. { "larrhk;", 0x021A9 },
  1282. { "larrlp;", 0x021AB },
  1283. { "larrpl;", 0x02939 },
  1284. { "larrsim;", 0x02973 },
  1285. { "larrtl;", 0x021A2 },
  1286. { "lat;", 0x02AAB },
  1287. { "latail;", 0x02919 },
  1288. { "late;", 0x02AAD },
  1289. { "lbarr;", 0x0290C },
  1290. { "lbbrk;", 0x02772 },
  1291. { "lbrace;", 0x0007B },
  1292. { "lbrack;", 0x0005B },
  1293. { "lbrke;", 0x0298B },
  1294. { "lbrksld;", 0x0298F },
  1295. { "lbrkslu;", 0x0298D },
  1296. { "lcaron;", 0x0013E },
  1297. { "lcedil;", 0x0013C },
  1298. { "lceil;", 0x02308 },
  1299. { "lcub;", 0x0007B },
  1300. { "lcy;", 0x0043B },
  1301. { "ldca;", 0x02936 },
  1302. { "ldquo;", 0x0201C },
  1303. { "ldquor;", 0x0201E },
  1304. { "ldrdhar;", 0x02967 },
  1305. { "ldrushar;", 0x0294B },
  1306. { "ldsh;", 0x021B2 },
  1307. { "le;", 0x02264 },
  1308. { "leftarrow;", 0x02190 },
  1309. { "leftarrowtail;", 0x021A2 },
  1310. { "leftharpoondown;", 0x021BD },
  1311. { "leftharpoonup;", 0x021BC },
  1312. { "leftleftarrows;", 0x021C7 },
  1313. { "leftrightarrow;", 0x02194 },
  1314. { "leftrightarrows;", 0x021C6 },
  1315. { "leftrightharpoons;", 0x021CB },
  1316. { "leftrightsquigarrow;", 0x021AD },
  1317. { "leftthreetimes;", 0x022CB },
  1318. { "leg;", 0x022DA },
  1319. { "leq;", 0x02264 },
  1320. { "leqq;", 0x02266 },
  1321. { "leqslant;", 0x02A7D },
  1322. { "les;", 0x02A7D },
  1323. { "lescc;", 0x02AA8 },
  1324. { "lesdot;", 0x02A7F },
  1325. { "lesdoto;", 0x02A81 },
  1326. { "lesdotor;", 0x02A83 },
  1327. { "lesges;", 0x02A93 },
  1328. { "lessapprox;", 0x02A85 },
  1329. { "lessdot;", 0x022D6 },
  1330. { "lesseqgtr;", 0x022DA },
  1331. { "lesseqqgtr;", 0x02A8B },
  1332. { "lessgtr;", 0x02276 },
  1333. { "lesssim;", 0x02272 },
  1334. { "lfisht;", 0x0297C },
  1335. { "lfloor;", 0x0230A },
  1336. { "lfr;", 0x1D529 },
  1337. { "lg;", 0x02276 },
  1338. { "lgE;", 0x02A91 },
  1339. { "lhard;", 0x021BD },
  1340. { "lharu;", 0x021BC },
  1341. { "lharul;", 0x0296A },
  1342. { "lhblk;", 0x02584 },
  1343. { "ljcy;", 0x00459 },
  1344. { "ll;", 0x0226A },
  1345. { "llarr;", 0x021C7 },
  1346. { "llcorner;", 0x0231E },
  1347. { "llhard;", 0x0296B },
  1348. { "lltri;", 0x025FA },
  1349. { "lmidot;", 0x00140 },
  1350. { "lmoust;", 0x023B0 },
  1351. { "lmoustache;", 0x023B0 },
  1352. { "lnE;", 0x02268 },
  1353. { "lnap;", 0x02A89 },
  1354. { "lnapprox;", 0x02A89 },
  1355. { "lne;", 0x02A87 },
  1356. { "lneq;", 0x02A87 },
  1357. { "lneqq;", 0x02268 },
  1358. { "lnsim;", 0x022E6 },
  1359. { "loang;", 0x027EC },
  1360. { "loarr;", 0x021FD },
  1361. { "lobrk;", 0x027E6 },
  1362. { "longleftarrow;", 0x027F5 },
  1363. { "longleftrightarrow;", 0x027F7 },
  1364. { "longmapsto;", 0x027FC },
  1365. { "longrightarrow;", 0x027F6 },
  1366. { "looparrowleft;", 0x021AB },
  1367. { "looparrowright;", 0x021AC },
  1368. { "lopar;", 0x02985 },
  1369. { "lopf;", 0x1D55D },
  1370. { "loplus;", 0x02A2D },
  1371. { "lotimes;", 0x02A34 },
  1372. { "lowast;", 0x02217 },
  1373. { "lowbar;", 0x0005F },
  1374. { "loz;", 0x025CA },
  1375. { "lozenge;", 0x025CA },
  1376. { "lozf;", 0x029EB },
  1377. { "lpar;", 0x00028 },
  1378. { "lparlt;", 0x02993 },
  1379. { "lrarr;", 0x021C6 },
  1380. { "lrcorner;", 0x0231F },
  1381. { "lrhar;", 0x021CB },
  1382. { "lrhard;", 0x0296D },
  1383. { "lrm;", 0x0200E },
  1384. { "lrtri;", 0x022BF },
  1385. { "lsaquo;", 0x02039 },
  1386. { "lscr;", 0x1D4C1 },
  1387. { "lsh;", 0x021B0 },
  1388. { "lsim;", 0x02272 },
  1389. { "lsime;", 0x02A8D },
  1390. { "lsimg;", 0x02A8F },
  1391. { "lsqb;", 0x0005B },
  1392. { "lsquo;", 0x02018 },
  1393. { "lsquor;", 0x0201A },
  1394. { "lstrok;", 0x00142 },
  1395. { "lt;", 0x0003C },
  1396. { "lt", 0x0003C },
  1397. { "ltcc;", 0x02AA6 },
  1398. { "ltcir;", 0x02A79 },
  1399. { "ltdot;", 0x022D6 },
  1400. { "lthree;", 0x022CB },
  1401. { "ltimes;", 0x022C9 },
  1402. { "ltlarr;", 0x02976 },
  1403. { "ltquest;", 0x02A7B },
  1404. { "ltrPar;", 0x02996 },
  1405. { "ltri;", 0x025C3 },
  1406. { "ltrie;", 0x022B4 },
  1407. { "ltrif;", 0x025C2 },
  1408. { "lurdshar;", 0x0294A },
  1409. { "luruhar;", 0x02966 },
  1410. { "mDDot;", 0x0223A },
  1411. { "macr;", 0x000AF },
  1412. { "macr", 0x000AF },
  1413. { "male;", 0x02642 },
  1414. { "malt;", 0x02720 },
  1415. { "maltese;", 0x02720 },
  1416. { "map;", 0x021A6 },
  1417. { "mapsto;", 0x021A6 },
  1418. { "mapstodown;", 0x021A7 },
  1419. { "mapstoleft;", 0x021A4 },
  1420. { "mapstoup;", 0x021A5 },
  1421. { "marker;", 0x025AE },
  1422. { "mcomma;", 0x02A29 },
  1423. { "mcy;", 0x0043C },
  1424. { "mdash;", 0x02014 },
  1425. { "measuredangle;", 0x02221 },
  1426. { "mfr;", 0x1D52A },
  1427. { "mho;", 0x02127 },
  1428. { "micro;", 0x000B5 },
  1429. { "micro", 0x000B5 },
  1430. { "mid;", 0x02223 },
  1431. { "midast;", 0x0002A },
  1432. { "midcir;", 0x02AF0 },
  1433. { "middot;", 0x000B7 },
  1434. { "middot", 0x000B7 },
  1435. { "minus;", 0x02212 },
  1436. { "minusb;", 0x0229F },
  1437. { "minusd;", 0x02238 },
  1438. { "minusdu;", 0x02A2A },
  1439. { "mlcp;", 0x02ADB },
  1440. { "mldr;", 0x02026 },
  1441. { "mnplus;", 0x02213 },
  1442. { "models;", 0x022A7 },
  1443. { "mopf;", 0x1D55E },
  1444. { "mp;", 0x02213 },
  1445. { "mscr;", 0x1D4C2 },
  1446. { "mstpos;", 0x0223E },
  1447. { "mu;", 0x003BC },
  1448. { "multimap;", 0x022B8 },
  1449. { "mumap;", 0x022B8 },
  1450. { "nLeftarrow;", 0x021CD },
  1451. { "nLeftrightarrow;", 0x021CE },
  1452. { "nRightarrow;", 0x021CF },
  1453. { "nVDash;", 0x022AF },
  1454. { "nVdash;", 0x022AE },
  1455. { "nabla;", 0x02207 },
  1456. { "nacute;", 0x00144 },
  1457. { "nap;", 0x02249 },
  1458. { "napos;", 0x00149 },
  1459. { "napprox;", 0x02249 },
  1460. { "natur;", 0x0266E },
  1461. { "natural;", 0x0266E },
  1462. { "naturals;", 0x02115 },
  1463. { "nbsp;", 0x000A0 },
  1464. { "nbsp", 0x000A0 },
  1465. { "ncap;", 0x02A43 },
  1466. { "ncaron;", 0x00148 },
  1467. { "ncedil;", 0x00146 },
  1468. { "ncong;", 0x02247 },
  1469. { "ncup;", 0x02A42 },
  1470. { "ncy;", 0x0043D },
  1471. { "ndash;", 0x02013 },
  1472. { "ne;", 0x02260 },
  1473. { "neArr;", 0x021D7 },
  1474. { "nearhk;", 0x02924 },
  1475. { "nearr;", 0x02197 },
  1476. { "nearrow;", 0x02197 },
  1477. { "nequiv;", 0x02262 },
  1478. { "nesear;", 0x02928 },
  1479. { "nexist;", 0x02204 },
  1480. { "nexists;", 0x02204 },
  1481. { "nfr;", 0x1D52B },
  1482. { "nge;", 0x02271 },
  1483. { "ngeq;", 0x02271 },
  1484. { "ngsim;", 0x02275 },
  1485. { "ngt;", 0x0226F },
  1486. { "ngtr;", 0x0226F },
  1487. { "nhArr;", 0x021CE },
  1488. { "nharr;", 0x021AE },
  1489. { "nhpar;", 0x02AF2 },
  1490. { "ni;", 0x0220B },
  1491. { "nis;", 0x022FC },
  1492. { "nisd;", 0x022FA },
  1493. { "niv;", 0x0220B },
  1494. { "njcy;", 0x0045A },
  1495. { "nlArr;", 0x021CD },
  1496. { "nlarr;", 0x0219A },
  1497. { "nldr;", 0x02025 },
  1498. { "nle;", 0x02270 },
  1499. { "nleftarrow;", 0x0219A },
  1500. { "nleftrightarrow;", 0x021AE },
  1501. { "nleq;", 0x02270 },
  1502. { "nless;", 0x0226E },
  1503. { "nlsim;", 0x02274 },
  1504. { "nlt;", 0x0226E },
  1505. { "nltri;", 0x022EA },
  1506. { "nltrie;", 0x022EC },
  1507. { "nmid;", 0x02224 },
  1508. { "nopf;", 0x1D55F },
  1509. { "not;", 0x000AC },
  1510. { "not", 0x000AC },
  1511. { "notin;", 0x02209 },
  1512. { "notinva;", 0x02209 },
  1513. { "notinvb;", 0x022F7 },
  1514. { "notinvc;", 0x022F6 },
  1515. { "notni;", 0x0220C },
  1516. { "notniva;", 0x0220C },
  1517. { "notnivb;", 0x022FE },
  1518. { "notnivc;", 0x022FD },
  1519. { "npar;", 0x02226 },
  1520. { "nparallel;", 0x02226 },
  1521. { "npolint;", 0x02A14 },
  1522. { "npr;", 0x02280 },
  1523. { "nprcue;", 0x022E0 },
  1524. { "nprec;", 0x02280 },
  1525. { "nrArr;", 0x021CF },
  1526. { "nrarr;", 0x0219B },
  1527. { "nrightarrow;", 0x0219B },
  1528. { "nrtri;", 0x022EB },
  1529. { "nrtrie;", 0x022ED },
  1530. { "nsc;", 0x02281 },
  1531. { "nsccue;", 0x022E1 },
  1532. { "nscr;", 0x1D4C3 },
  1533. { "nshortmid;", 0x02224 },
  1534. { "nshortparallel;", 0x02226 },
  1535. { "nsim;", 0x02241 },
  1536. { "nsime;", 0x02244 },
  1537. { "nsimeq;", 0x02244 },
  1538. { "nsmid;", 0x02224 },
  1539. { "nspar;", 0x02226 },
  1540. { "nsqsube;", 0x022E2 },
  1541. { "nsqsupe;", 0x022E3 },
  1542. { "nsub;", 0x02284 },
  1543. { "nsube;", 0x02288 },
  1544. { "nsubseteq;", 0x02288 },
  1545. { "nsucc;", 0x02281 },
  1546. { "nsup;", 0x02285 },
  1547. { "nsupe;", 0x02289 },
  1548. { "nsupseteq;", 0x02289 },
  1549. { "ntgl;", 0x02279 },
  1550. { "ntilde;", 0x000F1 },
  1551. { "ntilde", 0x000F1 },
  1552. { "ntlg;", 0x02278 },
  1553. { "ntriangleleft;", 0x022EA },
  1554. { "ntrianglelefteq;", 0x022EC },
  1555. { "ntriangleright;", 0x022EB },
  1556. { "ntrianglerighteq;", 0x022ED },
  1557. { "nu;", 0x003BD },
  1558. { "num;", 0x00023 },
  1559. { "numero;", 0x02116 },
  1560. { "numsp;", 0x02007 },
  1561. { "nvDash;", 0x022AD },
  1562. { "nvHarr;", 0x02904 },
  1563. { "nvdash;", 0x022AC },
  1564. { "nvinfin;", 0x029DE },
  1565. { "nvlArr;", 0x02902 },
  1566. { "nvrArr;", 0x02903 },
  1567. { "nwArr;", 0x021D6 },
  1568. { "nwarhk;", 0x02923 },
  1569. { "nwarr;", 0x02196 },
  1570. { "nwarrow;", 0x02196 },
  1571. { "nwnear;", 0x02927 },
  1572. { "oS;", 0x024C8 },
  1573. { "oacute;", 0x000F3 },
  1574. { "oacute", 0x000F3 },
  1575. { "oast;", 0x0229B },
  1576. { "ocir;", 0x0229A },
  1577. { "ocirc;", 0x000F4 },
  1578. { "ocirc", 0x000F4 },
  1579. { "ocy;", 0x0043E },
  1580. { "odash;", 0x0229D },
  1581. { "odblac;", 0x00151 },
  1582. { "odiv;", 0x02A38 },
  1583. { "odot;", 0x02299 },
  1584. { "odsold;", 0x029BC },
  1585. { "oelig;", 0x00153 },
  1586. { "ofcir;", 0x029BF },
  1587. { "ofr;", 0x1D52C },
  1588. { "ogon;", 0x002DB },
  1589. { "ograve;", 0x000F2 },
  1590. { "ograve", 0x000F2 },
  1591. { "ogt;", 0x029C1 },
  1592. { "ohbar;", 0x029B5 },
  1593. { "ohm;", 0x003A9 },
  1594. { "oint;", 0x0222E },
  1595. { "olarr;", 0x021BA },
  1596. { "olcir;", 0x029BE },
  1597. { "olcross;", 0x029BB },
  1598. { "oline;", 0x0203E },
  1599. { "olt;", 0x029C0 },
  1600. { "omacr;", 0x0014D },
  1601. { "omega;", 0x003C9 },
  1602. { "omicron;", 0x003BF },
  1603. { "omid;", 0x029B6 },
  1604. { "ominus;", 0x02296 },
  1605. { "oopf;", 0x1D560 },
  1606. { "opar;", 0x029B7 },
  1607. { "operp;", 0x029B9 },
  1608. { "oplus;", 0x02295 },
  1609. { "or;", 0x02228 },
  1610. { "orarr;", 0x021BB },
  1611. { "ord;", 0x02A5D },
  1612. { "order;", 0x02134 },
  1613. { "orderof;", 0x02134 },
  1614. { "ordf;", 0x000AA },
  1615. { "ordf", 0x000AA },
  1616. { "ordm;", 0x000BA },
  1617. { "ordm", 0x000BA },
  1618. { "origof;", 0x022B6 },
  1619. { "oror;", 0x02A56 },
  1620. { "orslope;", 0x02A57 },
  1621. { "orv;", 0x02A5B },
  1622. { "oscr;", 0x02134 },
  1623. { "oslash;", 0x000F8 },
  1624. { "oslash", 0x000F8 },
  1625. { "osol;", 0x02298 },
  1626. { "otilde;", 0x000F5 },
  1627. { "otilde", 0x000F5 },
  1628. { "otimes;", 0x02297 },
  1629. { "otimesas;", 0x02A36 },
  1630. { "ouml;", 0x000F6 },
  1631. { "ouml", 0x000F6 },
  1632. { "ovbar;", 0x0233D },
  1633. { "par;", 0x02225 },
  1634. { "para;", 0x000B6 },
  1635. { "para", 0x000B6 },
  1636. { "parallel;", 0x02225 },
  1637. { "parsim;", 0x02AF3 },
  1638. { "parsl;", 0x02AFD },
  1639. { "part;", 0x02202 },
  1640. { "pcy;", 0x0043F },
  1641. { "percnt;", 0x00025 },
  1642. { "period;", 0x0002E },
  1643. { "permil;", 0x02030 },
  1644. { "perp;", 0x022A5 },
  1645. { "pertenk;", 0x02031 },
  1646. { "pfr;", 0x1D52D },
  1647. { "phi;", 0x003C6 },
  1648. { "phiv;", 0x003D5 },
  1649. { "phmmat;", 0x02133 },
  1650. { "phone;", 0x0260E },
  1651. { "pi;", 0x003C0 },
  1652. { "pitchfork;", 0x022D4 },
  1653. { "piv;", 0x003D6 },
  1654. { "planck;", 0x0210F },
  1655. { "planckh;", 0x0210E },
  1656. { "plankv;", 0x0210F },
  1657. { "plus;", 0x0002B },
  1658. { "plusacir;", 0x02A23 },
  1659. { "plusb;", 0x0229E },
  1660. { "pluscir;", 0x02A22 },
  1661. { "plusdo;", 0x02214 },
  1662. { "plusdu;", 0x02A25 },
  1663. { "pluse;", 0x02A72 },
  1664. { "plusmn;", 0x000B1 },
  1665. { "plusmn", 0x000B1 },
  1666. { "plussim;", 0x02A26 },
  1667. { "plustwo;", 0x02A27 },
  1668. { "pm;", 0x000B1 },
  1669. { "pointint;", 0x02A15 },
  1670. { "popf;", 0x1D561 },
  1671. { "pound;", 0x000A3 },
  1672. { "pound", 0x000A3 },
  1673. { "pr;", 0x0227A },
  1674. { "prE;", 0x02AB3 },
  1675. { "prap;", 0x02AB7 },
  1676. { "prcue;", 0x0227C },
  1677. { "pre;", 0x02AAF },
  1678. { "prec;", 0x0227A },
  1679. { "precapprox;", 0x02AB7 },
  1680. { "preccurlyeq;", 0x0227C },
  1681. { "preceq;", 0x02AAF },
  1682. { "precnapprox;", 0x02AB9 },
  1683. { "precneqq;", 0x02AB5 },
  1684. { "precnsim;", 0x022E8 },
  1685. { "precsim;", 0x0227E },
  1686. { "prime;", 0x02032 },
  1687. { "primes;", 0x02119 },
  1688. { "prnE;", 0x02AB5 },
  1689. { "prnap;", 0x02AB9 },
  1690. { "prnsim;", 0x022E8 },
  1691. { "prod;", 0x0220F },
  1692. { "profalar;", 0x0232E },
  1693. { "profline;", 0x02312 },
  1694. { "profsurf;", 0x02313 },
  1695. { "prop;", 0x0221D },
  1696. { "propto;", 0x0221D },
  1697. { "prsim;", 0x0227E },
  1698. { "prurel;", 0x022B0 },
  1699. { "pscr;", 0x1D4C5 },
  1700. { "psi;", 0x003C8 },
  1701. { "puncsp;", 0x02008 },
  1702. { "qfr;", 0x1D52E },
  1703. { "qint;", 0x02A0C },
  1704. { "qopf;", 0x1D562 },
  1705. { "qprime;", 0x02057 },
  1706. { "qscr;", 0x1D4C6 },
  1707. { "quaternions;", 0x0210D },
  1708. { "quatint;", 0x02A16 },
  1709. { "quest;", 0x0003F },
  1710. { "questeq;", 0x0225F },
  1711. { "quot;", 0x00022 },
  1712. { "quot", 0x00022 },
  1713. { "rAarr;", 0x021DB },
  1714. { "rArr;", 0x021D2 },
  1715. { "rAtail;", 0x0291C },
  1716. { "rBarr;", 0x0290F },
  1717. { "rHar;", 0x02964 },
  1718. { "racute;", 0x00155 },
  1719. { "radic;", 0x0221A },
  1720. { "raemptyv;", 0x029B3 },
  1721. { "rang;", 0x027E9 },
  1722. { "rangd;", 0x02992 },
  1723. { "range;", 0x029A5 },
  1724. { "rangle;", 0x027E9 },
  1725. { "raquo;", 0x000BB },
  1726. { "raquo", 0x000BB },
  1727. { "rarr;", 0x02192 },
  1728. { "rarrap;", 0x02975 },
  1729. { "rarrb;", 0x021E5 },
  1730. { "rarrbfs;", 0x02920 },
  1731. { "rarrc;", 0x02933 },
  1732. { "rarrfs;", 0x0291E },
  1733. { "rarrhk;", 0x021AA },
  1734. { "rarrlp;", 0x021AC },
  1735. { "rarrpl;", 0x02945 },
  1736. { "rarrsim;", 0x02974 },
  1737. { "rarrtl;", 0x021A3 },
  1738. { "rarrw;", 0x0219D },
  1739. { "ratail;", 0x0291A },
  1740. { "ratio;", 0x02236 },
  1741. { "rationals;", 0x0211A },
  1742. { "rbarr;", 0x0290D },
  1743. { "rbbrk;", 0x02773 },
  1744. { "rbrace;", 0x0007D },
  1745. { "rbrack;", 0x0005D },
  1746. { "rbrke;", 0x0298C },
  1747. { "rbrksld;", 0x0298E },
  1748. { "rbrkslu;", 0x02990 },
  1749. { "rcaron;", 0x00159 },
  1750. { "rcedil;", 0x00157 },
  1751. { "rceil;", 0x02309 },
  1752. { "rcub;", 0x0007D },
  1753. { "rcy;", 0x00440 },
  1754. { "rdca;", 0x02937 },
  1755. { "rdldhar;", 0x02969 },
  1756. { "rdquo;", 0x0201D },
  1757. { "rdquor;", 0x0201D },
  1758. { "rdsh;", 0x021B3 },
  1759. { "real;", 0x0211C },
  1760. { "realine;", 0x0211B },
  1761. { "realpart;", 0x0211C },
  1762. { "reals;", 0x0211D },
  1763. { "rect;", 0x025AD },
  1764. { "reg;", 0x000AE },
  1765. { "reg", 0x000AE },
  1766. { "rfisht;", 0x0297D },
  1767. { "rfloor;", 0x0230B },
  1768. { "rfr;", 0x1D52F },
  1769. { "rhard;", 0x021C1 },
  1770. { "rharu;", 0x021C0 },
  1771. { "rharul;", 0x0296C },
  1772. { "rho;", 0x003C1 },
  1773. { "rhov;", 0x003F1 },
  1774. { "rightarrow;", 0x02192 },
  1775. { "rightarrowtail;", 0x021A3 },
  1776. { "rightharpoondown;", 0x021C1 },
  1777. { "rightharpoonup;", 0x021C0 },
  1778. { "rightleftarrows;", 0x021C4 },
  1779. { "rightleftharpoons;", 0x021CC },
  1780. { "rightrightarrows;", 0x021C9 },
  1781. { "rightsquigarrow;", 0x0219D },
  1782. { "rightthreetimes;", 0x022CC },
  1783. { "ring;", 0x002DA },
  1784. { "risingdotseq;", 0x02253 },
  1785. { "rlarr;", 0x021C4 },
  1786. { "rlhar;", 0x021CC },
  1787. { "rlm;", 0x0200F },
  1788. { "rmoust;", 0x023B1 },
  1789. { "rmoustache;", 0x023B1 },
  1790. { "rnmid;", 0x02AEE },
  1791. { "roang;", 0x027ED },
  1792. { "roarr;", 0x021FE },
  1793. { "robrk;", 0x027E7 },
  1794. { "ropar;", 0x02986 },
  1795. { "ropf;", 0x1D563 },
  1796. { "roplus;", 0x02A2E },
  1797. { "rotimes;", 0x02A35 },
  1798. { "rpar;", 0x00029 },
  1799. { "rpargt;", 0x02994 },
  1800. { "rppolint;", 0x02A12 },
  1801. { "rrarr;", 0x021C9 },
  1802. { "rsaquo;", 0x0203A },
  1803. { "rscr;", 0x1D4C7 },
  1804. { "rsh;", 0x021B1 },
  1805. { "rsqb;", 0x0005D },
  1806. { "rsquo;", 0x02019 },
  1807. { "rsquor;", 0x02019 },
  1808. { "rthree;", 0x022CC },
  1809. { "rtimes;", 0x022CA },
  1810. { "rtri;", 0x025B9 },
  1811. { "rtrie;", 0x022B5 },
  1812. { "rtrif;", 0x025B8 },
  1813. { "rtriltri;", 0x029CE },
  1814. { "ruluhar;", 0x02968 },
  1815. { "rx;", 0x0211E },
  1816. { "sacute;", 0x0015B },
  1817. { "sbquo;", 0x0201A },
  1818. { "sc;", 0x0227B },
  1819. { "scE;", 0x02AB4 },
  1820. { "scap;", 0x02AB8 },
  1821. { "scaron;", 0x00161 },
  1822. { "sccue;", 0x0227D },
  1823. { "sce;", 0x02AB0 },
  1824. { "scedil;", 0x0015F },
  1825. { "scirc;", 0x0015D },
  1826. { "scnE;", 0x02AB6 },
  1827. { "scnap;", 0x02ABA },
  1828. { "scnsim;", 0x022E9 },
  1829. { "scpolint;", 0x02A13 },
  1830. { "scsim;", 0x0227F },
  1831. { "scy;", 0x00441 },
  1832. { "sdot;", 0x022C5 },
  1833. { "sdotb;", 0x022A1 },
  1834. { "sdote;", 0x02A66 },
  1835. { "seArr;", 0x021D8 },
  1836. { "searhk;", 0x02925 },
  1837. { "searr;", 0x02198 },
  1838. { "searrow;", 0x02198 },
  1839. { "sect;", 0x000A7 },
  1840. { "sect", 0x000A7 },
  1841. { "semi;", 0x0003B },
  1842. { "seswar;", 0x02929 },
  1843. { "setminus;", 0x02216 },
  1844. { "setmn;", 0x02216 },
  1845. { "sext;", 0x02736 },
  1846. { "sfr;", 0x1D530 },
  1847. { "sfrown;", 0x02322 },
  1848. { "sharp;", 0x0266F },
  1849. { "shchcy;", 0x00449 },
  1850. { "shcy;", 0x00448 },
  1851. { "shortmid;", 0x02223 },
  1852. { "shortparallel;", 0x02225 },
  1853. { "shy;", 0x000AD },
  1854. { "shy", 0x000AD },
  1855. { "sigma;", 0x003C3 },
  1856. { "sigmaf;", 0x003C2 },
  1857. { "sigmav;", 0x003C2 },
  1858. { "sim;", 0x0223C },
  1859. { "simdot;", 0x02A6A },
  1860. { "sime;", 0x02243 },
  1861. { "simeq;", 0x02243 },
  1862. { "simg;", 0x02A9E },
  1863. { "simgE;", 0x02AA0 },
  1864. { "siml;", 0x02A9D },
  1865. { "simlE;", 0x02A9F },
  1866. { "simne;", 0x02246 },
  1867. { "simplus;", 0x02A24 },
  1868. { "simrarr;", 0x02972 },
  1869. { "slarr;", 0x02190 },
  1870. { "smallsetminus;", 0x02216 },
  1871. { "smashp;", 0x02A33 },
  1872. { "smeparsl;", 0x029E4 },
  1873. { "smid;", 0x02223 },
  1874. { "smile;", 0x02323 },
  1875. { "smt;", 0x02AAA },
  1876. { "smte;", 0x02AAC },
  1877. { "softcy;", 0x0044C },
  1878. { "sol;", 0x0002F },
  1879. { "solb;", 0x029C4 },
  1880. { "solbar;", 0x0233F },
  1881. { "sopf;", 0x1D564 },
  1882. { "spades;", 0x02660 },
  1883. { "spadesuit;", 0x02660 },
  1884. { "spar;", 0x02225 },
  1885. { "sqcap;", 0x02293 },
  1886. { "sqcup;", 0x02294 },
  1887. { "sqsub;", 0x0228F },
  1888. { "sqsube;", 0x02291 },
  1889. { "sqsubset;", 0x0228F },
  1890. { "sqsubseteq;", 0x02291 },
  1891. { "sqsup;", 0x02290 },
  1892. { "sqsupe;", 0x02292 },
  1893. { "sqsupset;", 0x02290 },
  1894. { "sqsupseteq;", 0x02292 },
  1895. { "squ;", 0x025A1 },
  1896. { "square;", 0x025A1 },
  1897. { "squarf;", 0x025AA },
  1898. { "squf;", 0x025AA },
  1899. { "srarr;", 0x02192 },
  1900. { "sscr;", 0x1D4C8 },
  1901. { "ssetmn;", 0x02216 },
  1902. { "ssmile;", 0x02323 },
  1903. { "sstarf;", 0x022C6 },
  1904. { "star;", 0x02606 },
  1905. { "starf;", 0x02605 },
  1906. { "straightepsilon;", 0x003F5 },
  1907. { "straightphi;", 0x003D5 },
  1908. { "strns;", 0x000AF },
  1909. { "sub;", 0x02282 },
  1910. { "subE;", 0x02AC5 },
  1911. { "subdot;", 0x02ABD },
  1912. { "sube;", 0x02286 },
  1913. { "subedot;", 0x02AC3 },
  1914. { "submult;", 0x02AC1 },
  1915. { "subnE;", 0x02ACB },
  1916. { "subne;", 0x0228A },
  1917. { "subplus;", 0x02ABF },
  1918. { "subrarr;", 0x02979 },
  1919. { "subset;", 0x02282 },
  1920. { "subseteq;", 0x02286 },
  1921. { "subseteqq;", 0x02AC5 },
  1922. { "subsetneq;", 0x0228A },
  1923. { "subsetneqq;", 0x02ACB },
  1924. { "subsim;", 0x02AC7 },
  1925. { "subsub;", 0x02AD5 },
  1926. { "subsup;", 0x02AD3 },
  1927. { "succ;", 0x0227B },
  1928. { "succapprox;", 0x02AB8 },
  1929. { "succcurlyeq;", 0x0227D },
  1930. { "succeq;", 0x02AB0 },
  1931. { "succnapprox;", 0x02ABA },
  1932. { "succneqq;", 0x02AB6 },
  1933. { "succnsim;", 0x022E9 },
  1934. { "succsim;", 0x0227F },
  1935. { "sum;", 0x02211 },
  1936. { "sung;", 0x0266A },
  1937. { "sup1;", 0x000B9 },
  1938. { "sup1", 0x000B9 },
  1939. { "sup2;", 0x000B2 },
  1940. { "sup2", 0x000B2 },
  1941. { "sup3;", 0x000B3 },
  1942. { "sup3", 0x000B3 },
  1943. { "sup;", 0x02283 },
  1944. { "supE;", 0x02AC6 },
  1945. { "supdot;", 0x02ABE },
  1946. { "supdsub;", 0x02AD8 },
  1947. { "supe;", 0x02287 },
  1948. { "supedot;", 0x02AC4 },
  1949. { "suphsol;", 0x027C9 },
  1950. { "suphsub;", 0x02AD7 },
  1951. { "suplarr;", 0x0297B },
  1952. { "supmult;", 0x02AC2 },
  1953. { "supnE;", 0x02ACC },
  1954. { "supne;", 0x0228B },
  1955. { "supplus;", 0x02AC0 },
  1956. { "supset;", 0x02283 },
  1957. { "supseteq;", 0x02287 },
  1958. { "supseteqq;", 0x02AC6 },
  1959. { "supsetneq;", 0x0228B },
  1960. { "supsetneqq;", 0x02ACC },
  1961. { "supsim;", 0x02AC8 },
  1962. { "supsub;", 0x02AD4 },
  1963. { "supsup;", 0x02AD6 },
  1964. { "swArr;", 0x021D9 },
  1965. { "swarhk;", 0x02926 },
  1966. { "swarr;", 0x02199 },
  1967. { "swarrow;", 0x02199 },
  1968. { "swnwar;", 0x0292A },
  1969. { "szlig;", 0x000DF },
  1970. { "szlig", 0x000DF },
  1971. { "target;", 0x02316 },
  1972. { "tau;", 0x003C4 },
  1973. { "tbrk;", 0x023B4 },
  1974. { "tcaron;", 0x00165 },
  1975. { "tcedil;", 0x00163 },
  1976. { "tcy;", 0x00442 },
  1977. { "tdot;", 0x020DB },
  1978. { "telrec;", 0x02315 },
  1979. { "tfr;", 0x1D531 },
  1980. { "there4;", 0x02234 },
  1981. { "therefore;", 0x02234 },
  1982. { "theta;", 0x003B8 },
  1983. { "thetasym;", 0x003D1 },
  1984. { "thetav;", 0x003D1 },
  1985. { "thickapprox;", 0x02248 },
  1986. { "thicksim;", 0x0223C },
  1987. { "thinsp;", 0x02009 },
  1988. { "thkap;", 0x02248 },
  1989. { "thksim;", 0x0223C },
  1990. { "thorn;", 0x000FE },
  1991. { "thorn", 0x000FE },
  1992. { "tilde;", 0x002DC },
  1993. { "times;", 0x000D7 },
  1994. { "times", 0x000D7 },
  1995. { "timesb;", 0x022A0 },
  1996. { "timesbar;", 0x02A31 },
  1997. { "timesd;", 0x02A30 },
  1998. { "tint;", 0x0222D },
  1999. { "toea;", 0x02928 },
  2000. { "top;", 0x022A4 },
  2001. { "topbot;", 0x02336 },
  2002. { "topcir;", 0x02AF1 },
  2003. { "topf;", 0x1D565 },
  2004. { "topfork;", 0x02ADA },
  2005. { "tosa;", 0x02929 },
  2006. { "tprime;", 0x02034 },
  2007. { "trade;", 0x02122 },
  2008. { "triangle;", 0x025B5 },
  2009. { "triangledown;", 0x025BF },
  2010. { "triangleleft;", 0x025C3 },
  2011. { "trianglelefteq;", 0x022B4 },
  2012. { "triangleq;", 0x0225C },
  2013. { "triangleright;", 0x025B9 },
  2014. { "trianglerighteq;", 0x022B5 },
  2015. { "tridot;", 0x025EC },
  2016. { "trie;", 0x0225C },
  2017. { "triminus;", 0x02A3A },
  2018. { "triplus;", 0x02A39 },
  2019. { "trisb;", 0x029CD },
  2020. { "tritime;", 0x02A3B },
  2021. { "trpezium;", 0x023E2 },
  2022. { "tscr;", 0x1D4C9 },
  2023. { "tscy;", 0x00446 },
  2024. { "tshcy;", 0x0045B },
  2025. { "tstrok;", 0x00167 },
  2026. { "twixt;", 0x0226C },
  2027. { "twoheadleftarrow;", 0x0219E },
  2028. { "twoheadrightarrow;", 0x021A0 },
  2029. { "uArr;", 0x021D1 },
  2030. { "uHar;", 0x02963 },
  2031. { "uacute;", 0x000FA },
  2032. { "uacute", 0x000FA },
  2033. { "uarr;", 0x02191 },
  2034. { "ubrcy;", 0x0045E },
  2035. { "ubreve;", 0x0016D },
  2036. { "ucirc;", 0x000FB },
  2037. { "ucirc", 0x000FB },
  2038. { "ucy;", 0x00443 },
  2039. { "udarr;", 0x021C5 },
  2040. { "udblac;", 0x00171 },
  2041. { "udhar;", 0x0296E },
  2042. { "ufisht;", 0x0297E },
  2043. { "ufr;", 0x1D532 },
  2044. { "ugrave;", 0x000F9 },
  2045. { "ugrave", 0x000F9 },
  2046. { "uharl;", 0x021BF },
  2047. { "uharr;", 0x021BE },
  2048. { "uhblk;", 0x02580 },
  2049. { "ulcorn;", 0x0231C },
  2050. { "ulcorner;", 0x0231C },
  2051. { "ulcrop;", 0x0230F },
  2052. { "ultri;", 0x025F8 },
  2053. { "umacr;", 0x0016B },
  2054. { "uml;", 0x000A8 },
  2055. { "uml", 0x000A8 },
  2056. { "uogon;", 0x00173 },
  2057. { "uopf;", 0x1D566 },
  2058. { "uparrow;", 0x02191 },
  2059. { "updownarrow;", 0x02195 },
  2060. { "upharpoonleft;", 0x021BF },
  2061. { "upharpoonright;", 0x021BE },
  2062. { "uplus;", 0x0228E },
  2063. { "upsi;", 0x003C5 },
  2064. { "upsih;", 0x003D2 },
  2065. { "upsilon;", 0x003C5 },
  2066. { "upuparrows;", 0x021C8 },
  2067. { "urcorn;", 0x0231D },
  2068. { "urcorner;", 0x0231D },
  2069. { "urcrop;", 0x0230E },
  2070. { "uring;", 0x0016F },
  2071. { "urtri;", 0x025F9 },
  2072. { "uscr;", 0x1D4CA },
  2073. { "utdot;", 0x022F0 },
  2074. { "utilde;", 0x00169 },
  2075. { "utri;", 0x025B5 },
  2076. { "utrif;", 0x025B4 },
  2077. { "uuarr;", 0x021C8 },
  2078. { "uuml;", 0x000FC },
  2079. { "uuml", 0x000FC },
  2080. { "uwangle;", 0x029A7 },
  2081. { "vArr;", 0x021D5 },
  2082. { "vBar;", 0x02AE8 },
  2083. { "vBarv;", 0x02AE9 },
  2084. { "vDash;", 0x022A8 },
  2085. { "vangrt;", 0x0299C },
  2086. { "varepsilon;", 0x003F5 },
  2087. { "varkappa;", 0x003F0 },
  2088. { "varnothing;", 0x02205 },
  2089. { "varphi;", 0x003D5 },
  2090. { "varpi;", 0x003D6 },
  2091. { "varpropto;", 0x0221D },
  2092. { "varr;", 0x02195 },
  2093. { "varrho;", 0x003F1 },
  2094. { "varsigma;", 0x003C2 },
  2095. { "vartheta;", 0x003D1 },
  2096. { "vartriangleleft;", 0x022B2 },
  2097. { "vartriangleright;", 0x022B3 },
  2098. { "vcy;", 0x00432 },
  2099. { "vdash;", 0x022A2 },
  2100. { "vee;", 0x02228 },
  2101. { "veebar;", 0x022BB },
  2102. { "veeeq;", 0x0225A },
  2103. { "vellip;", 0x022EE },
  2104. { "verbar;", 0x0007C },
  2105. { "vert;", 0x0007C },
  2106. { "vfr;", 0x1D533 },
  2107. { "vltri;", 0x022B2 },
  2108. { "vopf;", 0x1D567 },
  2109. { "vprop;", 0x0221D },
  2110. { "vrtri;", 0x022B3 },
  2111. { "vscr;", 0x1D4CB },
  2112. { "vzigzag;", 0x0299A },
  2113. { "wcirc;", 0x00175 },
  2114. { "wedbar;", 0x02A5F },
  2115. { "wedge;", 0x02227 },
  2116. { "wedgeq;", 0x02259 },
  2117. { "weierp;", 0x02118 },
  2118. { "wfr;", 0x1D534 },
  2119. { "wopf;", 0x1D568 },
  2120. { "wp;", 0x02118 },
  2121. { "wr;", 0x02240 },
  2122. { "wreath;", 0x02240 },
  2123. { "wscr;", 0x1D4CC },
  2124. { "xcap;", 0x022C2 },
  2125. { "xcirc;", 0x025EF },
  2126. { "xcup;", 0x022C3 },
  2127. { "xdtri;", 0x025BD },
  2128. { "xfr;", 0x1D535 },
  2129. { "xhArr;", 0x027FA },
  2130. { "xharr;", 0x027F7 },
  2131. { "xi;", 0x003BE },
  2132. { "xlArr;", 0x027F8 },
  2133. { "xlarr;", 0x027F5 },
  2134. { "xmap;", 0x027FC },
  2135. { "xnis;", 0x022FB },
  2136. { "xodot;", 0x02A00 },
  2137. { "xopf;", 0x1D569 },
  2138. { "xoplus;", 0x02A01 },
  2139. { "xotime;", 0x02A02 },
  2140. { "xrArr;", 0x027F9 },
  2141. { "xrarr;", 0x027F6 },
  2142. { "xscr;", 0x1D4CD },
  2143. { "xsqcup;", 0x02A06 },
  2144. { "xuplus;", 0x02A04 },
  2145. { "xutri;", 0x025B3 },
  2146. { "xvee;", 0x022C1 },
  2147. { "xwedge;", 0x022C0 },
  2148. { "yacute;", 0x000FD },
  2149. { "yacute", 0x000FD },
  2150. { "yacy;", 0x0044F },
  2151. { "ycirc;", 0x00177 },
  2152. { "ycy;", 0x0044B },
  2153. { "yen;", 0x000A5 },
  2154. { "yen", 0x000A5 },
  2155. { "yfr;", 0x1D536 },
  2156. { "yicy;", 0x00457 },
  2157. { "yopf;", 0x1D56A },
  2158. { "yscr;", 0x1D4CE },
  2159. { "yucy;", 0x0044E },
  2160. { "yuml;", 0x000FF },
  2161. { "yuml", 0x000FF },
  2162. { "zacute;", 0x0017A },
  2163. { "zcaron;", 0x0017E },
  2164. { "zcy;", 0x00437 },
  2165. { "zdot;", 0x0017C },
  2166. { "zeetrf;", 0x02128 },
  2167. { "zeta;", 0x003B6 },
  2168. { "zfr;", 0x1D537 },
  2169. { "zhcy;", 0x00436 },
  2170. { "zigrarr;", 0x021DD },
  2171. { "zopf;", 0x1D56B },
  2172. { "zscr;", 0x1D4CF },
  2173. { "zwj;", 0x0200D },
  2174. { "zwnj;", 0x0200C }
  2175. };
  2176. constexpr struct {
  2177. StringView entity;
  2178. u32 codepoint1;
  2179. u32 codepoint2;
  2180. } double_codepoint_entities[] = {
  2181. { "NotEqualTilde;", 0x02242, 0x00338 },
  2182. { "NotGreaterFullEqual;", 0x02267, 0x00338 },
  2183. { "NotGreaterGreater;", 0x0226B, 0x00338 },
  2184. { "NotGreaterSlantEqual;", 0x02A7E, 0x00338 },
  2185. { "NotHumpDownHump;", 0x0224E, 0x00338 },
  2186. { "NotHumpEqual;", 0x0224F, 0x00338 },
  2187. { "NotLeftTriangleBar;", 0x029CF, 0x00338 },
  2188. { "NotLessLess;", 0x0226A, 0x00338 },
  2189. { "NotLessSlantEqual;", 0x02A7D, 0x00338 },
  2190. { "NotNestedGreaterGreater;", 0x02AA2, 0x00338 },
  2191. { "NotNestedLessLess;", 0x02AA1, 0x00338 },
  2192. { "NotPrecedesEqual;", 0x02AAF, 0x00338 },
  2193. { "NotRightTriangleBar;", 0x029D0, 0x00338 },
  2194. { "NotSquareSubset;", 0x0228F, 0x00338 },
  2195. { "NotSquareSuperset;", 0x02290, 0x00338 },
  2196. { "NotSubset;", 0x02282, 0x020D2 },
  2197. { "NotSucceedsEqual;", 0x02AB0, 0x00338 },
  2198. { "NotSucceedsTilde;", 0x0227F, 0x00338 },
  2199. { "NotSuperset;", 0x02283, 0x020D2 },
  2200. { "ThickSpace;", 0x0205F, 0x0200A },
  2201. { "acE;", 0x0223E, 0x00333 },
  2202. { "bne;", 0x0003D, 0x020E5 },
  2203. { "bnequiv;", 0x02261, 0x020E5 },
  2204. { "caps;", 0x02229, 0x0FE00 },
  2205. { "cups;", 0x0222A, 0x0FE00 },
  2206. { "fjlig;", 0x00066, 0x0006A },
  2207. { "gesl;", 0x022DB, 0x0FE00 },
  2208. { "gvertneqq;", 0x02269, 0x0FE00 },
  2209. { "gvnE;", 0x02269, 0x0FE00 },
  2210. { "lates;", 0x02AAD, 0x0FE00 },
  2211. { "lesg;", 0x022DA, 0x0FE00 },
  2212. { "lvertneqq;", 0x02268, 0x0FE00 },
  2213. { "lvnE;", 0x02268, 0x0FE00 },
  2214. { "nGg;", 0x022D9, 0x00338 },
  2215. { "nGt;", 0x0226B, 0x020D2 },
  2216. { "nGtv;", 0x0226B, 0x00338 },
  2217. { "nLl;", 0x022D8, 0x00338 },
  2218. { "nLt;", 0x0226A, 0x020D2 },
  2219. { "nLtv;", 0x0226A, 0x00338 },
  2220. { "nang;", 0x02220, 0x020D2 },
  2221. { "napE;", 0x02A70, 0x00338 },
  2222. { "napid;", 0x0224B, 0x00338 },
  2223. { "nbump;", 0x0224E, 0x00338 },
  2224. { "nbumpe;", 0x0224F, 0x00338 },
  2225. { "ncongdot;", 0x02A6D, 0x00338 },
  2226. { "nedot;", 0x02250, 0x00338 },
  2227. { "nesim;", 0x02242, 0x00338 },
  2228. { "ngE;", 0x02267, 0x00338 },
  2229. { "ngeqq;", 0x02267, 0x00338 },
  2230. { "ngeqslant;", 0x02A7E, 0x00338 },
  2231. { "nges;", 0x02A7E, 0x00338 },
  2232. { "nlE;", 0x02266, 0x00338 },
  2233. { "nleqq;", 0x02266, 0x00338 },
  2234. { "nleqslant;", 0x02A7D, 0x00338 },
  2235. { "nles;", 0x02A7D, 0x00338 },
  2236. { "notinE;", 0x022F9, 0x00338 },
  2237. { "notindot;", 0x022F5, 0x00338 },
  2238. { "nparsl;", 0x02AFD, 0x020E5 },
  2239. { "npart;", 0x02202, 0x00338 },
  2240. { "npre;", 0x02AAF, 0x00338 },
  2241. { "npreceq;", 0x02AAF, 0x00338 },
  2242. { "nrarrc;", 0x02933, 0x00338 },
  2243. { "nrarrw;", 0x0219D, 0x00338 },
  2244. { "nsce;", 0x02AB0, 0x00338 },
  2245. { "nsubE;", 0x02AC5, 0x00338 },
  2246. { "nsubset;", 0x02282, 0x020D2 },
  2247. { "nsubseteqq;", 0x02AC5, 0x00338 },
  2248. { "nsucceq;", 0x02AB0, 0x00338 },
  2249. { "nsupE;", 0x02AC6, 0x00338 },
  2250. { "nsupset;", 0x02283, 0x020D2 },
  2251. { "nsupseteqq;", 0x02AC6, 0x00338 },
  2252. { "nvap;", 0x0224D, 0x020D2 },
  2253. { "nvge;", 0x02265, 0x020D2 },
  2254. { "nvgt;", 0x0003E, 0x020D2 },
  2255. { "nvle;", 0x02264, 0x020D2 },
  2256. { "nvlt;", 0x0003C, 0x020D2 },
  2257. { "nvltrie;", 0x022B4, 0x020D2 },
  2258. { "nvrtrie;", 0x022B5, 0x020D2 },
  2259. { "nvsim;", 0x0223C, 0x020D2 },
  2260. { "race;", 0x0223D, 0x00331 },
  2261. { "smtes;", 0x02AAC, 0x0FE00 },
  2262. { "sqcaps;", 0x02293, 0x0FE00 },
  2263. { "sqcups;", 0x02294, 0x0FE00 },
  2264. { "varsubsetneq;", 0x0228A, 0x0FE00 },
  2265. { "varsubsetneqq;", 0x02ACB, 0x0FE00 },
  2266. { "varsupsetneq;", 0x0228B, 0x0FE00 },
  2267. { "varsupsetneqq;", 0x02ACC, 0x0FE00 },
  2268. { "vnsub;", 0x02282, 0x020D2 },
  2269. { "vnsup;", 0x02283, 0x020D2 },
  2270. { "vsubnE;", 0x02ACB, 0x0FE00 },
  2271. { "vsubne;", 0x0228A, 0x0FE00 },
  2272. { "vsupnE;", 0x02ACC, 0x0FE00 },
  2273. { "vsupne;", 0x0228B, 0x0FE00 },
  2274. };
  2275. EntityMatch match;
  2276. for (auto& single_codepoint_entity : single_codepoint_entities) {
  2277. if (entity.starts_with(single_codepoint_entity.entity)) {
  2278. if (match.entity.is_null() || single_codepoint_entity.entity.length() > match.entity.length())
  2279. match = { { single_codepoint_entity.codepoint }, single_codepoint_entity.entity };
  2280. }
  2281. }
  2282. for (auto& double_codepoint_entity : double_codepoint_entities) {
  2283. if (entity.starts_with(double_codepoint_entity.entity)) {
  2284. if (match.entity.is_null() || double_codepoint_entity.entity.length() > match.entity.length())
  2285. match = EntityMatch { { double_codepoint_entity.codepoint1, double_codepoint_entity.codepoint2 }, StringView(double_codepoint_entity.entity) };
  2286. }
  2287. }
  2288. if (match.entity.is_empty())
  2289. return {};
  2290. return match;
  2291. }
  2292. }
  2293. }