You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

xhtmlent.cc 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515
  1. const char* xhtml_entities =
  2. "<!-- Portions (C) International Organization for Standardization 1986\n"
  3. " Permission to copy in any form is granted for use with\n"
  4. " conforming SGML systems and applications as defined in\n"
  5. " ISO 8879, provided this notice is included in all copies.\n"
  6. "-->\n"
  7. "<!-- Character entity set. Typical invocation:\n"
  8. " <!ENTITY % HTMLlat1 PUBLIC\n"
  9. " \"-//W3C//ENTITIES Latin 1 for XHTML//EN\"\n"
  10. " \"http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent\">\n"
  11. " %HTMLlat1;\n"
  12. "-->\n"
  13. "\n"
  14. "<!ENTITY nbsp \"&#160;\"> <!-- no-break space = non-breaking space,\n"
  15. " U+00A0 ISOnum -->\n"
  16. "<!ENTITY iexcl \"&#161;\"> <!-- inverted exclamation mark, U+00A1 ISOnum -->\n"
  17. "<!ENTITY cent \"&#162;\"> <!-- cent sign, U+00A2 ISOnum -->\n"
  18. "<!ENTITY pound \"&#163;\"> <!-- pound sign, U+00A3 ISOnum -->\n"
  19. "<!ENTITY curren \"&#164;\"> <!-- currency sign, U+00A4 ISOnum -->\n"
  20. "<!ENTITY yen \"&#165;\"> <!-- yen sign = yuan sign, U+00A5 ISOnum -->\n"
  21. "<!ENTITY brvbar \"&#166;\"> <!-- broken bar = broken vertical bar,\n"
  22. " U+00A6 ISOnum -->\n"
  23. "<!ENTITY sect \"&#167;\"> <!-- section sign, U+00A7 ISOnum -->\n"
  24. "<!ENTITY uml \"&#168;\"> <!-- diaeresis = spacing diaeresis,\n"
  25. " U+00A8 ISOdia -->\n"
  26. "<!ENTITY copy \"&#169;\"> <!-- copyright sign, U+00A9 ISOnum -->\n"
  27. "<!ENTITY ordf \"&#170;\"> <!-- feminine ordinal indicator, U+00AA ISOnum -->\n"
  28. "<!ENTITY laquo \"&#171;\"> <!-- left-pointing double angle quotation mark\n"
  29. " = left pointing guillemet, U+00AB ISOnum -->\n"
  30. "<!ENTITY not \"&#172;\"> <!-- not sign = angled dash,\n"
  31. " U+00AC ISOnum -->\n"
  32. "<!ENTITY shy \"&#173;\"> <!-- soft hyphen = discretionary hyphen,\n"
  33. " U+00AD ISOnum -->\n"
  34. "<!ENTITY reg \"&#174;\"> <!-- registered sign = registered trade mark sign,\n"
  35. " U+00AE ISOnum -->\n"
  36. "<!ENTITY macr \"&#175;\"> <!-- macron = spacing macron = overline\n"
  37. " = APL overbar, U+00AF ISOdia -->\n"
  38. "<!ENTITY deg \"&#176;\"> <!-- degree sign, U+00B0 ISOnum -->\n"
  39. "<!ENTITY plusmn \"&#177;\"> <!-- plus-minus sign = plus-or-minus sign,\n"
  40. " U+00B1 ISOnum -->\n"
  41. "<!ENTITY sup2 \"&#178;\"> <!-- superscript two = superscript digit two\n"
  42. " = squared, U+00B2 ISOnum -->\n"
  43. "<!ENTITY sup3 \"&#179;\"> <!-- superscript three = superscript digit three\n"
  44. " = cubed, U+00B3 ISOnum -->\n"
  45. "<!ENTITY acute \"&#180;\"> <!-- acute accent = spacing acute,\n"
  46. " U+00B4 ISOdia -->\n"
  47. "<!ENTITY micro \"&#181;\"> <!-- micro sign, U+00B5 ISOnum -->\n"
  48. "<!ENTITY para \"&#182;\"> <!-- pilcrow sign = paragraph sign,\n"
  49. " U+00B6 ISOnum -->\n"
  50. "<!ENTITY middot \"&#183;\"> <!-- middle dot = Georgian comma\n"
  51. " = Greek middle dot, U+00B7 ISOnum -->\n"
  52. "<!ENTITY cedil \"&#184;\"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia -->\n"
  53. "<!ENTITY sup1 \"&#185;\"> <!-- superscript one = superscript digit one,\n"
  54. " U+00B9 ISOnum -->\n"
  55. "<!ENTITY ordm \"&#186;\"> <!-- masculine ordinal indicator,\n"
  56. " U+00BA ISOnum -->\n"
  57. "<!ENTITY raquo \"&#187;\"> <!-- right-pointing double angle quotation mark\n"
  58. " = right pointing guillemet, U+00BB ISOnum -->\n"
  59. "<!ENTITY frac14 \"&#188;\"> <!-- vulgar fraction one quarter\n"
  60. " = fraction one quarter, U+00BC ISOnum -->\n"
  61. "<!ENTITY frac12 \"&#189;\"> <!-- vulgar fraction one half\n"
  62. " = fraction one half, U+00BD ISOnum -->\n"
  63. "<!ENTITY frac34 \"&#190;\"> <!-- vulgar fraction three quarters\n"
  64. " = fraction three quarters, U+00BE ISOnum -->\n"
  65. "<!ENTITY iquest \"&#191;\"> <!-- inverted question mark\n"
  66. " = turned question mark, U+00BF ISOnum -->\n"
  67. "<!ENTITY Agrave \"&#192;\"> <!-- latin capital letter A with grave\n"
  68. " = latin capital letter A grave,\n"
  69. " U+00C0 ISOlat1 -->\n"
  70. "<!ENTITY Aacute \"&#193;\"> <!-- latin capital letter A with acute,\n"
  71. " U+00C1 ISOlat1 -->\n"
  72. "<!ENTITY Acirc \"&#194;\"> <!-- latin capital letter A with circumflex,\n"
  73. " U+00C2 ISOlat1 -->\n"
  74. "<!ENTITY Atilde \"&#195;\"> <!-- latin capital letter A with tilde,\n"
  75. " U+00C3 ISOlat1 -->\n"
  76. "<!ENTITY Auml \"&#196;\"> <!-- latin capital letter A with diaeresis,\n"
  77. " U+00C4 ISOlat1 -->\n"
  78. "<!ENTITY Aring \"&#197;\"> <!-- latin capital letter A with ring above\n"
  79. " = latin capital letter A ring,\n"
  80. " U+00C5 ISOlat1 -->\n"
  81. "<!ENTITY AElig \"&#198;\"> <!-- latin capital letter AE\n"
  82. " = latin capital ligature AE,\n"
  83. " U+00C6 ISOlat1 -->\n"
  84. "<!ENTITY Ccedil \"&#199;\"> <!-- latin capital letter C with cedilla,\n"
  85. " U+00C7 ISOlat1 -->\n"
  86. "<!ENTITY Egrave \"&#200;\"> <!-- latin capital letter E with grave,\n"
  87. " U+00C8 ISOlat1 -->\n"
  88. "<!ENTITY Eacute \"&#201;\"> <!-- latin capital letter E with acute,\n"
  89. " U+00C9 ISOlat1 -->\n"
  90. "<!ENTITY Ecirc \"&#202;\"> <!-- latin capital letter E with circumflex,\n"
  91. " U+00CA ISOlat1 -->\n"
  92. "<!ENTITY Euml \"&#203;\"> <!-- latin capital letter E with diaeresis,\n"
  93. " U+00CB ISOlat1 -->\n"
  94. "<!ENTITY Igrave \"&#204;\"> <!-- latin capital letter I with grave,\n"
  95. " U+00CC ISOlat1 -->\n"
  96. "<!ENTITY Iacute \"&#205;\"> <!-- latin capital letter I with acute,\n"
  97. " U+00CD ISOlat1 -->\n"
  98. "<!ENTITY Icirc \"&#206;\"> <!-- latin capital letter I with circumflex,\n"
  99. " U+00CE ISOlat1 -->\n"
  100. "<!ENTITY Iuml \"&#207;\"> <!-- latin capital letter I with diaeresis,\n"
  101. " U+00CF ISOlat1 -->\n"
  102. "<!ENTITY ETH \"&#208;\"> <!-- latin capital letter ETH, U+00D0 ISOlat1 -->\n"
  103. "<!ENTITY Ntilde \"&#209;\"> <!-- latin capital letter N with tilde,\n"
  104. " U+00D1 ISOlat1 -->\n"
  105. "<!ENTITY Ograve \"&#210;\"> <!-- latin capital letter O with grave,\n"
  106. " U+00D2 ISOlat1 -->\n"
  107. "<!ENTITY Oacute \"&#211;\"> <!-- latin capital letter O with acute,\n"
  108. " U+00D3 ISOlat1 -->\n"
  109. "<!ENTITY Ocirc \"&#212;\"> <!-- latin capital letter O with circumflex,\n"
  110. " U+00D4 ISOlat1 -->\n"
  111. "<!ENTITY Otilde \"&#213;\"> <!-- latin capital letter O with tilde,\n"
  112. " U+00D5 ISOlat1 -->\n"
  113. "<!ENTITY Ouml \"&#214;\"> <!-- latin capital letter O with diaeresis,\n"
  114. " U+00D6 ISOlat1 -->\n"
  115. "<!ENTITY times \"&#215;\"> <!-- multiplication sign, U+00D7 ISOnum -->\n"
  116. "<!ENTITY Oslash \"&#216;\"> <!-- latin capital letter O with stroke\n"
  117. " = latin capital letter O slash,\n"
  118. " U+00D8 ISOlat1 -->\n"
  119. "<!ENTITY Ugrave \"&#217;\"> <!-- latin capital letter U with grave,\n"
  120. " U+00D9 ISOlat1 -->\n"
  121. "<!ENTITY Uacute \"&#218;\"> <!-- latin capital letter U with acute,\n"
  122. " U+00DA ISOlat1 -->\n"
  123. "<!ENTITY Ucirc \"&#219;\"> <!-- latin capital letter U with circumflex,\n"
  124. " U+00DB ISOlat1 -->\n"
  125. "<!ENTITY Uuml \"&#220;\"> <!-- latin capital letter U with diaeresis,\n"
  126. " U+00DC ISOlat1 -->\n"
  127. "<!ENTITY Yacute \"&#221;\"> <!-- latin capital letter Y with acute,\n"
  128. " U+00DD ISOlat1 -->\n"
  129. "<!ENTITY THORN \"&#222;\"> <!-- latin capital letter THORN,\n"
  130. " U+00DE ISOlat1 -->\n"
  131. "<!ENTITY szlig \"&#223;\"> <!-- latin small letter sharp s = ess-zed,\n"
  132. " U+00DF ISOlat1 -->\n"
  133. "<!ENTITY agrave \"&#224;\"> <!-- latin small letter a with grave\n"
  134. " = latin small letter a grave,\n"
  135. " U+00E0 ISOlat1 -->\n"
  136. "<!ENTITY aacute \"&#225;\"> <!-- latin small letter a with acute,\n"
  137. " U+00E1 ISOlat1 -->\n"
  138. "<!ENTITY acirc \"&#226;\"> <!-- latin small letter a with circumflex,\n"
  139. " U+00E2 ISOlat1 -->\n"
  140. "<!ENTITY atilde \"&#227;\"> <!-- latin small letter a with tilde,\n"
  141. " U+00E3 ISOlat1 -->\n"
  142. "<!ENTITY auml \"&#228;\"> <!-- latin small letter a with diaeresis,\n"
  143. " U+00E4 ISOlat1 -->\n"
  144. "<!ENTITY aring \"&#229;\"> <!-- latin small letter a with ring above\n"
  145. " = latin small letter a ring,\n"
  146. " U+00E5 ISOlat1 -->\n"
  147. "<!ENTITY aelig \"&#230;\"> <!-- latin small letter ae\n"
  148. " = latin small ligature ae, U+00E6 ISOlat1 -->\n"
  149. "<!ENTITY ccedil \"&#231;\"> <!-- latin small letter c with cedilla,\n"
  150. " U+00E7 ISOlat1 -->\n"
  151. "<!ENTITY egrave \"&#232;\"> <!-- latin small letter e with grave,\n"
  152. " U+00E8 ISOlat1 -->\n"
  153. "<!ENTITY eacute \"&#233;\"> <!-- latin small letter e with acute,\n"
  154. " U+00E9 ISOlat1 -->\n"
  155. "<!ENTITY ecirc \"&#234;\"> <!-- latin small letter e with circumflex,\n"
  156. " U+00EA ISOlat1 -->\n"
  157. "<!ENTITY euml \"&#235;\"> <!-- latin small letter e with diaeresis,\n"
  158. " U+00EB ISOlat1 -->\n"
  159. "<!ENTITY igrave \"&#236;\"> <!-- latin small letter i with grave,\n"
  160. " U+00EC ISOlat1 -->\n"
  161. "<!ENTITY iacute \"&#237;\"> <!-- latin small letter i with acute,\n"
  162. " U+00ED ISOlat1 -->\n"
  163. "<!ENTITY icirc \"&#238;\"> <!-- latin small letter i with circumflex,\n"
  164. " U+00EE ISOlat1 -->\n"
  165. "<!ENTITY iuml \"&#239;\"> <!-- latin small letter i with diaeresis,\n"
  166. " U+00EF ISOlat1 -->\n"
  167. "<!ENTITY eth \"&#240;\"> <!-- latin small letter eth, U+00F0 ISOlat1 -->\n"
  168. "<!ENTITY ntilde \"&#241;\"> <!-- latin small letter n with tilde,\n"
  169. " U+00F1 ISOlat1 -->\n"
  170. "<!ENTITY ograve \"&#242;\"> <!-- latin small letter o with grave,\n"
  171. " U+00F2 ISOlat1 -->\n"
  172. "<!ENTITY oacute \"&#243;\"> <!-- latin small letter o with acute,\n"
  173. " U+00F3 ISOlat1 -->\n"
  174. "<!ENTITY ocirc \"&#244;\"> <!-- latin small letter o with circumflex,\n"
  175. " U+00F4 ISOlat1 -->\n"
  176. "<!ENTITY otilde \"&#245;\"> <!-- latin small letter o with tilde,\n"
  177. " U+00F5 ISOlat1 -->\n"
  178. "<!ENTITY ouml \"&#246;\"> <!-- latin small letter o with diaeresis,\n"
  179. " U+00F6 ISOlat1 -->\n"
  180. "<!ENTITY divide \"&#247;\"> <!-- division sign, U+00F7 ISOnum -->\n"
  181. "<!ENTITY oslash \"&#248;\"> <!-- latin small letter o with stroke,\n"
  182. " = latin small letter o slash,\n"
  183. " U+00F8 ISOlat1 -->\n"
  184. "<!ENTITY ugrave \"&#249;\"> <!-- latin small letter u with grave,\n"
  185. " U+00F9 ISOlat1 -->\n"
  186. "<!ENTITY uacute \"&#250;\"> <!-- latin small letter u with acute,\n"
  187. " U+00FA ISOlat1 -->\n"
  188. "<!ENTITY ucirc \"&#251;\"> <!-- latin small letter u with circumflex,\n"
  189. " U+00FB ISOlat1 -->\n"
  190. "<!ENTITY uuml \"&#252;\"> <!-- latin small letter u with diaeresis,\n"
  191. " U+00FC ISOlat1 -->\n"
  192. "<!ENTITY yacute \"&#253;\"> <!-- latin small letter y with acute,\n"
  193. " U+00FD ISOlat1 -->\n"
  194. "<!ENTITY thorn \"&#254;\"> <!-- latin small letter thorn,\n"
  195. " U+00FE ISOlat1 -->\n"
  196. "<!ENTITY yuml \"&#255;\"> <!-- latin small letter y with diaeresis,\n"
  197. " U+00FF ISOlat1 -->\n"
  198. "<!-- Special characters for XHTML -->\n"
  199. "\n"
  200. "<!-- Character entity set. Typical invocation:\n"
  201. " <!ENTITY % HTMLspecial PUBLIC\n"
  202. " \"-//W3C//ENTITIES Special for XHTML//EN\"\n"
  203. " \"http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent\">\n"
  204. " %HTMLspecial;\n"
  205. "-->\n"
  206. "\n"
  207. "<!-- Portions (C) International Organization for Standardization 1986:\n"
  208. " Permission to copy in any form is granted for use with\n"
  209. " conforming SGML systems and applications as defined in\n"
  210. " ISO 8879, provided this notice is included in all copies.\n"
  211. "-->\n"
  212. "\n"
  213. "<!-- Relevant ISO entity set is given unless names are newly introduced.\n"
  214. " New names (i.e., not in ISO 8879 list) do not clash with any\n"
  215. " existing ISO 8879 entity names. ISO 10646 character numbers\n"
  216. " are given for each character, in hex. values are decimal\n"
  217. " conversions of the ISO 10646 values and refer to the document\n"
  218. " character set. Names are Unicode names. \n"
  219. "-->\n"
  220. "\n"
  221. "<!-- C0 Controls and Basic Latin -->\n"
  222. "<!ENTITY quot \"&#34;\"> <!-- quotation mark, U+0022 ISOnum -->\n"
  223. "<!ENTITY amp \"&#38;#38;\"> <!-- ampersand, U+0026 ISOnum -->\n"
  224. "<!ENTITY lt \"&#38;#60;\"> <!-- less-than sign, U+003C ISOnum -->\n"
  225. "<!ENTITY gt \"&#62;\"> <!-- greater-than sign, U+003E ISOnum -->\n"
  226. "<!ENTITY apos \"&#39;\"> <!-- apostrophe = APL quote, U+0027 ISOnum -->\n"
  227. "\n"
  228. "<!-- Latin Extended-A -->\n"
  229. "<!ENTITY OElig \"&#338;\"> <!-- latin capital ligature OE,\n"
  230. " U+0152 ISOlat2 -->\n"
  231. "<!ENTITY oelig \"&#339;\"> <!-- latin small ligature oe, U+0153 ISOlat2 -->\n"
  232. "<!-- ligature is a misnomer, this is a separate character in some languages -->\n"
  233. "<!ENTITY Scaron \"&#352;\"> <!-- latin capital letter S with caron,\n"
  234. " U+0160 ISOlat2 -->\n"
  235. "<!ENTITY scaron \"&#353;\"> <!-- latin small letter s with caron,\n"
  236. " U+0161 ISOlat2 -->\n"
  237. "<!ENTITY Yuml \"&#376;\"> <!-- latin capital letter Y with diaeresis,\n"
  238. " U+0178 ISOlat2 -->\n"
  239. "\n"
  240. "<!-- Spacing Modifier Letters -->\n"
  241. "<!ENTITY circ \"&#710;\"> <!-- modifier letter circumflex accent,\n"
  242. " U+02C6 ISOpub -->\n"
  243. "<!ENTITY tilde \"&#732;\"> <!-- small tilde, U+02DC ISOdia -->\n"
  244. "\n"
  245. "<!-- General Punctuation -->\n"
  246. "<!ENTITY ensp \"&#8194;\"> <!-- en space, U+2002 ISOpub -->\n"
  247. "<!ENTITY emsp \"&#8195;\"> <!-- em space, U+2003 ISOpub -->\n"
  248. "<!ENTITY thinsp \"&#8201;\"> <!-- thin space, U+2009 ISOpub -->\n"
  249. "<!ENTITY zwnj \"&#8204;\"> <!-- zero width non-joiner,\n"
  250. " U+200C NEW RFC 2070 -->\n"
  251. "<!ENTITY zwj \"&#8205;\"> <!-- zero width joiner, U+200D NEW RFC 2070 -->\n"
  252. "<!ENTITY lrm \"&#8206;\"> <!-- left-to-right mark, U+200E NEW RFC 2070 -->\n"
  253. "<!ENTITY rlm \"&#8207;\"> <!-- right-to-left mark, U+200F NEW RFC 2070 -->\n"
  254. "<!ENTITY ndash \"&#8211;\"> <!-- en dash, U+2013 ISOpub -->\n"
  255. "<!ENTITY mdash \"&#8212;\"> <!-- em dash, U+2014 ISOpub -->\n"
  256. "<!ENTITY lsquo \"&#8216;\"> <!-- left single quotation mark,\n"
  257. " U+2018 ISOnum -->\n"
  258. "<!ENTITY rsquo \"&#8217;\"> <!-- right single quotation mark,\n"
  259. " U+2019 ISOnum -->\n"
  260. "<!ENTITY sbquo \"&#8218;\"> <!-- single low-9 quotation mark, U+201A NEW -->\n"
  261. "<!ENTITY ldquo \"&#8220;\"> <!-- left double quotation mark,\n"
  262. " U+201C ISOnum -->\n"
  263. "<!ENTITY rdquo \"&#8221;\"> <!-- right double quotation mark,\n"
  264. " U+201D ISOnum -->\n"
  265. "<!ENTITY bdquo \"&#8222;\"> <!-- double low-9 quotation mark, U+201E NEW -->\n"
  266. "<!ENTITY dagger \"&#8224;\"> <!-- dagger, U+2020 ISOpub -->\n"
  267. "<!ENTITY Dagger \"&#8225;\"> <!-- double dagger, U+2021 ISOpub -->\n"
  268. "<!ENTITY permil \"&#8240;\"> <!-- per mille sign, U+2030 ISOtech -->\n"
  269. "<!ENTITY lsaquo \"&#8249;\"> <!-- single left-pointing angle quotation mark,\n"
  270. " U+2039 ISO proposed -->\n"
  271. "<!-- lsaquo is proposed but not yet ISO standardized -->\n"
  272. "<!ENTITY rsaquo \"&#8250;\"> <!-- single right-pointing angle quotation mark,\n"
  273. " U+203A ISO proposed -->\n"
  274. "<!-- rsaquo is proposed but not yet ISO standardized -->\n"
  275. "\n"
  276. "<!-- Currency Symbols -->\n"
  277. "<!ENTITY euro \"&#8364;\"> <!-- euro sign, U+20AC NEW -->\n"
  278. "<!-- Mathematical, Greek and Symbolic characters for XHTML -->\n"
  279. "\n"
  280. "<!-- Character entity set. Typical invocation:\n"
  281. " <!ENTITY % HTMLsymbol PUBLIC\n"
  282. " \"-//W3C//ENTITIES Symbols for XHTML//EN\"\n"
  283. " \"http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent\">\n"
  284. " %HTMLsymbol;\n"
  285. "-->\n"
  286. "\n"
  287. "<!-- Portions (C) International Organization for Standardization 1986:\n"
  288. " Permission to copy in any form is granted for use with\n"
  289. " conforming SGML systems and applications as defined in\n"
  290. " ISO 8879, provided this notice is included in all copies.\n"
  291. "-->\n"
  292. "\n"
  293. "<!-- Relevant ISO entity set is given unless names are newly introduced.\n"
  294. " New names (i.e., not in ISO 8879 list) do not clash with any\n"
  295. " existing ISO 8879 entity names. ISO 10646 character numbers\n"
  296. " are given for each character, in hex. values are decimal\n"
  297. " conversions of the ISO 10646 values and refer to the document\n"
  298. " character set. Names are Unicode names. \n"
  299. "-->\n"
  300. "\n"
  301. "<!-- Latin Extended-B -->\n"
  302. "<!ENTITY fnof \"&#402;\"> <!-- latin small letter f with hook = function\n"
  303. " = florin, U+0192 ISOtech -->\n"
  304. "\n"
  305. "<!-- Greek -->\n"
  306. "<!ENTITY Alpha \"&#913;\"> <!-- greek capital letter alpha, U+0391 -->\n"
  307. "<!ENTITY Beta \"&#914;\"> <!-- greek capital letter beta, U+0392 -->\n"
  308. "<!ENTITY Gamma \"&#915;\"> <!-- greek capital letter gamma,\n"
  309. " U+0393 ISOgrk3 -->\n"
  310. "<!ENTITY Delta \"&#916;\"> <!-- greek capital letter delta,\n"
  311. " U+0394 ISOgrk3 -->\n"
  312. "<!ENTITY Epsilon \"&#917;\"> <!-- greek capital letter epsilon, U+0395 -->\n"
  313. "<!ENTITY Zeta \"&#918;\"> <!-- greek capital letter zeta, U+0396 -->\n"
  314. "<!ENTITY Eta \"&#919;\"> <!-- greek capital letter eta, U+0397 -->\n"
  315. "<!ENTITY Theta \"&#920;\"> <!-- greek capital letter theta,\n"
  316. " U+0398 ISOgrk3 -->\n"
  317. "<!ENTITY Iota \"&#921;\"> <!-- greek capital letter iota, U+0399 -->\n"
  318. "<!ENTITY Kappa \"&#922;\"> <!-- greek capital letter kappa, U+039A -->\n"
  319. "<!ENTITY Lambda \"&#923;\"> <!-- greek capital letter lamda,\n"
  320. " U+039B ISOgrk3 -->\n"
  321. "<!ENTITY Mu \"&#924;\"> <!-- greek capital letter mu, U+039C -->\n"
  322. "<!ENTITY Nu \"&#925;\"> <!-- greek capital letter nu, U+039D -->\n"
  323. "<!ENTITY Xi \"&#926;\"> <!-- greek capital letter xi, U+039E ISOgrk3 -->\n"
  324. "<!ENTITY Omicron \"&#927;\"> <!-- greek capital letter omicron, U+039F -->\n"
  325. "<!ENTITY Pi \"&#928;\"> <!-- greek capital letter pi, U+03A0 ISOgrk3 -->\n"
  326. "<!ENTITY Rho \"&#929;\"> <!-- greek capital letter rho, U+03A1 -->\n"
  327. "<!-- there is no Sigmaf, and no U+03A2 character either -->\n"
  328. "<!ENTITY Sigma \"&#931;\"> <!-- greek capital letter sigma,\n"
  329. " U+03A3 ISOgrk3 -->\n"
  330. "<!ENTITY Tau \"&#932;\"> <!-- greek capital letter tau, U+03A4 -->\n"
  331. "<!ENTITY Upsilon \"&#933;\"> <!-- greek capital letter upsilon,\n"
  332. " U+03A5 ISOgrk3 -->\n"
  333. "<!ENTITY Phi \"&#934;\"> <!-- greek capital letter phi,\n"
  334. " U+03A6 ISOgrk3 -->\n"
  335. "<!ENTITY Chi \"&#935;\"> <!-- greek capital letter chi, U+03A7 -->\n"
  336. "<!ENTITY Psi \"&#936;\"> <!-- greek capital letter psi,\n"
  337. " U+03A8 ISOgrk3 -->\n"
  338. "<!ENTITY Omega \"&#937;\"> <!-- greek capital letter omega,\n"
  339. " U+03A9 ISOgrk3 -->\n"
  340. "\n"
  341. "<!ENTITY alpha \"&#945;\"> <!-- greek small letter alpha,\n"
  342. " U+03B1 ISOgrk3 -->\n"
  343. "<!ENTITY beta \"&#946;\"> <!-- greek small letter beta, U+03B2 ISOgrk3 -->\n"
  344. "<!ENTITY gamma \"&#947;\"> <!-- greek small letter gamma,\n"
  345. " U+03B3 ISOgrk3 -->\n"
  346. "<!ENTITY delta \"&#948;\"> <!-- greek small letter delta,\n"
  347. " U+03B4 ISOgrk3 -->\n"
  348. "<!ENTITY epsilon \"&#949;\"> <!-- greek small letter epsilon,\n"
  349. " U+03B5 ISOgrk3 -->\n"
  350. "<!ENTITY zeta \"&#950;\"> <!-- greek small letter zeta, U+03B6 ISOgrk3 -->\n"
  351. "<!ENTITY eta \"&#951;\"> <!-- greek small letter eta, U+03B7 ISOgrk3 -->\n"
  352. "<!ENTITY theta \"&#952;\"> <!-- greek small letter theta,\n"
  353. " U+03B8 ISOgrk3 -->\n"
  354. "<!ENTITY iota \"&#953;\"> <!-- greek small letter iota, U+03B9 ISOgrk3 -->\n"
  355. "<!ENTITY kappa \"&#954;\"> <!-- greek small letter kappa,\n"
  356. " U+03BA ISOgrk3 -->\n"
  357. "<!ENTITY lambda \"&#955;\"> <!-- greek small letter lamda,\n"
  358. " U+03BB ISOgrk3 -->\n"
  359. "<!ENTITY mu \"&#956;\"> <!-- greek small letter mu, U+03BC ISOgrk3 -->\n"
  360. "<!ENTITY nu \"&#957;\"> <!-- greek small letter nu, U+03BD ISOgrk3 -->\n"
  361. "<!ENTITY xi \"&#958;\"> <!-- greek small letter xi, U+03BE ISOgrk3 -->\n"
  362. "<!ENTITY omicron \"&#959;\"> <!-- greek small letter omicron, U+03BF NEW -->\n"
  363. "<!ENTITY pi \"&#960;\"> <!-- greek small letter pi, U+03C0 ISOgrk3 -->\n"
  364. "<!ENTITY rho \"&#961;\"> <!-- greek small letter rho, U+03C1 ISOgrk3 -->\n"
  365. "<!ENTITY sigmaf \"&#962;\"> <!-- greek small letter final sigma,\n"
  366. " U+03C2 ISOgrk3 -->\n"
  367. "<!ENTITY sigma \"&#963;\"> <!-- greek small letter sigma,\n"
  368. " U+03C3 ISOgrk3 -->\n"
  369. "<!ENTITY tau \"&#964;\"> <!-- greek small letter tau, U+03C4 ISOgrk3 -->\n"
  370. "<!ENTITY upsilon \"&#965;\"> <!-- greek small letter upsilon,\n"
  371. " U+03C5 ISOgrk3 -->\n"
  372. "<!ENTITY phi \"&#966;\"> <!-- greek small letter phi, U+03C6 ISOgrk3 -->\n"
  373. "<!ENTITY chi \"&#967;\"> <!-- greek small letter chi, U+03C7 ISOgrk3 -->\n"
  374. "<!ENTITY psi \"&#968;\"> <!-- greek small letter psi, U+03C8 ISOgrk3 -->\n"
  375. "<!ENTITY omega \"&#969;\"> <!-- greek small letter omega,\n"
  376. " U+03C9 ISOgrk3 -->\n"
  377. "<!ENTITY thetasym \"&#977;\"> <!-- greek theta symbol,\n"
  378. " U+03D1 NEW -->\n"
  379. "<!ENTITY upsih \"&#978;\"> <!-- greek upsilon with hook symbol,\n"
  380. " U+03D2 NEW -->\n"
  381. "<!ENTITY piv \"&#982;\"> <!-- greek pi symbol, U+03D6 ISOgrk3 -->\n"
  382. "\n"
  383. "<!-- General Punctuation -->\n"
  384. "<!ENTITY bull \"&#8226;\"> <!-- bullet = black small circle,\n"
  385. " U+2022 ISOpub -->\n"
  386. "<!-- bullet is NOT the same as bullet operator, U+2219 -->\n"
  387. "<!ENTITY hellip \"&#8230;\"> <!-- horizontal ellipsis = three dot leader,\n"
  388. " U+2026 ISOpub -->\n"
  389. "<!ENTITY prime \"&#8242;\"> <!-- prime = minutes = feet, U+2032 ISOtech -->\n"
  390. "<!ENTITY Prime \"&#8243;\"> <!-- double prime = seconds = inches,\n"
  391. " U+2033 ISOtech -->\n"
  392. "<!ENTITY oline \"&#8254;\"> <!-- overline = spacing overscore,\n"
  393. " U+203E NEW -->\n"
  394. "<!ENTITY frasl \"&#8260;\"> <!-- fraction slash, U+2044 NEW -->\n"
  395. "\n"
  396. "<!-- Letterlike Symbols -->\n"
  397. "<!ENTITY weierp \"&#8472;\"> <!-- script capital P = power set\n"
  398. " = Weierstrass p, U+2118 ISOamso -->\n"
  399. "<!ENTITY image \"&#8465;\"> <!-- black-letter capital I = imaginary part,\n"
  400. " U+2111 ISOamso -->\n"
  401. "<!ENTITY real \"&#8476;\"> <!-- black-letter capital R = real part symbol,\n"
  402. " U+211C ISOamso -->\n"
  403. "<!ENTITY trade \"&#8482;\"> <!-- trade mark sign, U+2122 ISOnum -->\n"
  404. "<!ENTITY alefsym \"&#8501;\"> <!-- alef symbol = first transfinite cardinal,\n"
  405. " U+2135 NEW -->\n"
  406. "<!-- alef symbol is NOT the same as hebrew letter alef,\n"
  407. " U+05D0 although the same glyph could be used to depict both characters -->\n"
  408. "\n"
  409. "<!-- Arrows -->\n"
  410. "<!ENTITY larr \"&#8592;\"> <!-- leftwards arrow, U+2190 ISOnum -->\n"
  411. "<!ENTITY uarr \"&#8593;\"> <!-- upwards arrow, U+2191 ISOnum-->\n"
  412. "<!ENTITY rarr \"&#8594;\"> <!-- rightwards arrow, U+2192 ISOnum -->\n"
  413. "<!ENTITY darr \"&#8595;\"> <!-- downwards arrow, U+2193 ISOnum -->\n"
  414. "<!ENTITY harr \"&#8596;\"> <!-- left right arrow, U+2194 ISOamsa -->\n"
  415. "<!ENTITY crarr \"&#8629;\"> <!-- downwards arrow with corner leftwards\n"
  416. " = carriage return, U+21B5 NEW -->\n"
  417. "<!ENTITY lArr \"&#8656;\"> <!-- leftwards double arrow, U+21D0 ISOtech -->\n"
  418. "<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow\n"
  419. " but also does not have any other character for that function. So lArr can\n"
  420. " be used for 'is implied by' as ISOtech suggests -->\n"
  421. "<!ENTITY uArr \"&#8657;\"> <!-- upwards double arrow, U+21D1 ISOamsa -->\n"
  422. "<!ENTITY rArr \"&#8658;\"> <!-- rightwards double arrow,\n"
  423. " U+21D2 ISOtech -->\n"
  424. "<!-- Unicode does not say this is the 'implies' character but does not have \n"
  425. " another character with this function so rArr can be used for 'implies'\n"
  426. " as ISOtech suggests -->\n"
  427. "<!ENTITY dArr \"&#8659;\"> <!-- downwards double arrow, U+21D3 ISOamsa -->\n"
  428. "<!ENTITY hArr \"&#8660;\"> <!-- left right double arrow,\n"
  429. " U+21D4 ISOamsa -->\n"
  430. "\n"
  431. "<!-- Mathematical Operators -->\n"
  432. "<!ENTITY forall \"&#8704;\"> <!-- for all, U+2200 ISOtech -->\n"
  433. "<!ENTITY part \"&#8706;\"> <!-- partial differential, U+2202 ISOtech -->\n"
  434. "<!ENTITY exist \"&#8707;\"> <!-- there exists, U+2203 ISOtech -->\n"
  435. "<!ENTITY empty \"&#8709;\"> <!-- empty set = null set, U+2205 ISOamso -->\n"
  436. "<!ENTITY nabla \"&#8711;\"> <!-- nabla = backward difference,\n"
  437. " U+2207 ISOtech -->\n"
  438. "<!ENTITY isin \"&#8712;\"> <!-- element of, U+2208 ISOtech -->\n"
  439. "<!ENTITY notin \"&#8713;\"> <!-- not an element of, U+2209 ISOtech -->\n"
  440. "<!ENTITY ni \"&#8715;\"> <!-- contains as member, U+220B ISOtech -->\n"
  441. "<!ENTITY prod \"&#8719;\"> <!-- n-ary product = product sign,\n"
  442. " U+220F ISOamsb -->\n"
  443. "<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though\n"
  444. " the same glyph might be used for both -->\n"
  445. "<!ENTITY sum \"&#8721;\"> <!-- n-ary summation, U+2211 ISOamsb -->\n"
  446. "<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma'\n"
  447. " though the same glyph might be used for both -->\n"
  448. "<!ENTITY minus \"&#8722;\"> <!-- minus sign, U+2212 ISOtech -->\n"
  449. "<!ENTITY lowast \"&#8727;\"> <!-- asterisk operator, U+2217 ISOtech -->\n"
  450. "<!ENTITY radic \"&#8730;\"> <!-- square root = radical sign,\n"
  451. " U+221A ISOtech -->\n"
  452. "<!ENTITY prop \"&#8733;\"> <!-- proportional to, U+221D ISOtech -->\n"
  453. "<!ENTITY infin \"&#8734;\"> <!-- infinity, U+221E ISOtech -->\n"
  454. "<!ENTITY ang \"&#8736;\"> <!-- angle, U+2220 ISOamso -->\n"
  455. "<!ENTITY and \"&#8743;\"> <!-- logical and = wedge, U+2227 ISOtech -->\n"
  456. "<!ENTITY or \"&#8744;\"> <!-- logical or = vee, U+2228 ISOtech -->\n"
  457. "<!ENTITY cap \"&#8745;\"> <!-- intersection = cap, U+2229 ISOtech -->\n"
  458. "<!ENTITY cup \"&#8746;\"> <!-- union = cup, U+222A ISOtech -->\n"
  459. "<!ENTITY int \"&#8747;\"> <!-- integral, U+222B ISOtech -->\n"
  460. "<!ENTITY there4 \"&#8756;\"> <!-- therefore, U+2234 ISOtech -->\n"
  461. "<!ENTITY sim \"&#8764;\"> <!-- tilde operator = varies with = similar to,\n"
  462. " U+223C ISOtech -->\n"
  463. "<!-- tilde operator is NOT the same character as the tilde, U+007E,\n"
  464. " although the same glyph might be used to represent both -->\n"
  465. "<!ENTITY cong \"&#8773;\"> <!-- approximately equal to, U+2245 ISOtech -->\n"
  466. "<!ENTITY asymp \"&#8776;\"> <!-- almost equal to = asymptotic to,\n"
  467. " U+2248 ISOamsr -->\n"
  468. "<!ENTITY ne \"&#8800;\"> <!-- not equal to, U+2260 ISOtech -->\n"
  469. "<!ENTITY equiv \"&#8801;\"> <!-- identical to, U+2261 ISOtech -->\n"
  470. "<!ENTITY le \"&#8804;\"> <!-- less-than or equal to, U+2264 ISOtech -->\n"
  471. "<!ENTITY ge \"&#8805;\"> <!-- greater-than or equal to,\n"
  472. " U+2265 ISOtech -->\n"
  473. "<!ENTITY sub \"&#8834;\"> <!-- subset of, U+2282 ISOtech -->\n"
  474. "<!ENTITY sup \"&#8835;\"> <!-- superset of, U+2283 ISOtech -->\n"
  475. "<!ENTITY nsub \"&#8836;\"> <!-- not a subset of, U+2284 ISOamsn -->\n"
  476. "<!ENTITY sube \"&#8838;\"> <!-- subset of or equal to, U+2286 ISOtech -->\n"
  477. "<!ENTITY supe \"&#8839;\"> <!-- superset of or equal to,\n"
  478. " U+2287 ISOtech -->\n"
  479. "<!ENTITY oplus \"&#8853;\"> <!-- circled plus = direct sum,\n"
  480. " U+2295 ISOamsb -->\n"
  481. "<!ENTITY otimes \"&#8855;\"> <!-- circled times = vector product,\n"
  482. " U+2297 ISOamsb -->\n"
  483. "<!ENTITY perp \"&#8869;\"> <!-- up tack = orthogonal to = perpendicular,\n"
  484. " U+22A5 ISOtech -->\n"
  485. "<!ENTITY sdot \"&#8901;\"> <!-- dot operator, U+22C5 ISOamsb -->\n"
  486. "<!-- dot operator is NOT the same character as U+00B7 middle dot -->\n"
  487. "\n"
  488. "<!-- Miscellaneous Technical -->\n"
  489. "<!ENTITY lceil \"&#8968;\"> <!-- left ceiling = APL upstile,\n"
  490. " U+2308 ISOamsc -->\n"
  491. "<!ENTITY rceil \"&#8969;\"> <!-- right ceiling, U+2309 ISOamsc -->\n"
  492. "<!ENTITY lfloor \"&#8970;\"> <!-- left floor = APL downstile,\n"
  493. " U+230A ISOamsc -->\n"
  494. "<!ENTITY rfloor \"&#8971;\"> <!-- right floor, U+230B ISOamsc -->\n"
  495. "<!ENTITY lang \"&#9001;\"> <!-- left-pointing angle bracket = bra,\n"
  496. " U+2329 ISOtech -->\n"
  497. "<!-- lang is NOT the same character as U+003C 'less than sign' \n"
  498. " or U+2039 'single left-pointing angle quotation mark' -->\n"
  499. "<!ENTITY rang \"&#9002;\"> <!-- right-pointing angle bracket = ket,\n"
  500. " U+232A ISOtech -->\n"
  501. "<!-- rang is NOT the same character as U+003E 'greater than sign' \n"
  502. " or U+203A 'single right-pointing angle quotation mark' -->\n"
  503. "\n"
  504. "<!-- Geometric Shapes -->\n"
  505. "<!ENTITY loz \"&#9674;\"> <!-- lozenge, U+25CA ISOpub -->\n"
  506. "\n"
  507. "<!-- Miscellaneous Symbols -->\n"
  508. "<!ENTITY spades \"&#9824;\"> <!-- black spade suit, U+2660 ISOpub -->\n"
  509. "<!-- black here seems to mean filled as opposed to hollow -->\n"
  510. "<!ENTITY clubs \"&#9827;\"> <!-- black club suit = shamrock,\n"
  511. " U+2663 ISOpub -->\n"
  512. "<!ENTITY hearts \"&#9829;\"> <!-- black heart suit = valentine,\n"
  513. " U+2665 ISOpub -->\n"
  514. "<!ENTITY diams \"&#9830;\"> <!-- black diamond suit, U+2666 ISOpub -->\n"
  515. ;