fontdata.js 98 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963
  1. /* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */
  2. /* vim: set ts=2 et sw=2 tw=80: */
  3. /*************************************************************
  4. *
  5. * MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata.js
  6. *
  7. * Initializes the HTML-CSS OutputJax to use the MathJax TeX fonts
  8. * for displaying mathematics.
  9. *
  10. * ---------------------------------------------------------------------
  11. *
  12. * Copyright (c) 2009-2013 The MathJax Consortium
  13. *
  14. * Licensed under the Apache License, Version 2.0 (the "License");
  15. * you may not use this file except in compliance with the License.
  16. * You may obtain a copy of the License at
  17. *
  18. * http://www.apache.org/licenses/LICENSE-2.0
  19. *
  20. * Unless required by applicable law or agreed to in writing, software
  21. * distributed under the License is distributed on an "AS IS" BASIS,
  22. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  23. * See the License for the specific language governing permissions and
  24. * limitations under the License.
  25. */
  26. (function (HTMLCSS,MML,AJAX) {
  27. var VERSION = "2.2";
  28. var MAIN = "MathJax_Main",
  29. BOLD = "MathJax_Main-bold",
  30. ITALIC = "MathJax_Math-italic",
  31. AMS = "MathJax_AMS",
  32. SIZE1 = "MathJax_Size1",
  33. SIZE2 = "MathJax_Size2",
  34. SIZE3 = "MathJax_Size3",
  35. SIZE4 = "MathJax_Size4";
  36. var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V};
  37. HTMLCSS.Augment({
  38. FONTDATA: {
  39. version: VERSION,
  40. TeX_factor: 1, // TeX em's to font em's
  41. baselineskip: 1.2,
  42. lineH: .8, lineD: .2,
  43. hasStyleChar: true, // char 0xEFFD encodes font style
  44. FONTS: {
  45. "MathJax_Main": "Main/Regular/Main.js",
  46. "MathJax_Main-bold": "Main/Bold/Main.js",
  47. "MathJax_Main-italic": "Main/Italic/Main.js",
  48. "MathJax_Math-italic": "Math/Italic/Main.js",
  49. "MathJax_Math-bold-italic": "Math/BoldItalic/Main.js",
  50. "MathJax_Caligraphic": "Caligraphic/Regular/Main.js",
  51. "MathJax_Size1": "Size1/Regular/Main.js",
  52. "MathJax_Size2": "Size2/Regular/Main.js",
  53. "MathJax_Size3": "Size3/Regular/Main.js",
  54. "MathJax_Size4": "Size4/Regular/Main.js",
  55. "MathJax_AMS": "AMS/Regular/Main.js",
  56. "MathJax_Fraktur": "Fraktur/Regular/Main.js",
  57. "MathJax_Fraktur-bold": "Fraktur/Bold/Main.js",
  58. "MathJax_SansSerif": "SansSerif/Regular/Main.js",
  59. "MathJax_SansSerif-bold": "SansSerif/Bold/Main.js",
  60. "MathJax_SansSerif-italic": "SansSerif/Italic/Main.js",
  61. "MathJax_Script": "Script/Regular/Main.js",
  62. "MathJax_Typewriter": "Typewriter/Regular/Main.js"
  63. },
  64. VARIANT: {
  65. "normal": {fonts:[MAIN,SIZE1,AMS],
  66. offsetG: 0x03B1, variantG: "italic",
  67. remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
  68. 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
  69. 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58,
  70. 0x2216:[0x2216,"-TeX-variant"], // \smallsetminus
  71. 0x210F:[0x210F,"-TeX-variant"], // \hbar
  72. 0x2032:[0x27,"sans-serif-italic"], // HACK: a smaller prime
  73. 0x29F8:[0x002F,MML.VARIANT.ITALIC]}},
  74. "bold": {fonts:[BOLD,SIZE1,AMS], bold:true,
  75. offsetG: 0x03B1, variantG: "bold-italic",
  76. remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
  77. 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
  78. 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58, 0x29F8:[0x002F,"bold-italic"],
  79. 0x219A:"\u2190\u0338", 0x219B:"\u2192\u0338", 0x21AE:"\u2194\u0338",
  80. 0x21CD:"\u21D0\u0338", 0x21CE:"\u21D4\u0338", 0x21CF:"\u21D2\u0338",
  81. 0x2204:"\u2203\u0338", 0x2224:"\u2223\u0338", 0x2226:"\u2225\u0338",
  82. 0x2241:"\u223C\u0338", 0x2247:"\u2245\u0338",
  83. 0x226E:"<\u0338", 0x226F:">\u0338",
  84. 0x2270:"\u2264\u0338", 0x2271:"\u2265\u0338",
  85. 0x2280:"\u227A\u0338", 0x2281:"\u227B\u0338",
  86. 0x2288:"\u2286\u0338", 0x2289:"\u2287\u0338",
  87. 0x22AC:"\u22A2\u0338", 0x22AD:"\u22A8\u0338",
  88. // 0x22AE:"\u22A9\u0338", 0x22AF:"\u22AB\u0338",
  89. 0x22E0:"\u227C\u0338", 0x22E1:"\u227D\u0338"//,
  90. // 0x22EA:"\u22B2\u0338", 0x22EB:"\u22B3\u0338",
  91. // 0x22EC:"\u22B4\u0338", 0x22ED:"\u22B5\u0338"
  92. }},
  93. "italic": {fonts:[ITALIC,"MathJax_Main-italic",MAIN,SIZE1,AMS], italic:true,
  94. remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
  95. 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
  96. 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}},
  97. "bold-italic": {fonts:["MathJax_Math-bold-italic",BOLD,SIZE1,AMS], bold:true, italic:true,
  98. remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
  99. 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
  100. 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}},
  101. "double-struck": {fonts:[AMS, MAIN]},
  102. "fraktur": {fonts:["MathJax_Fraktur",MAIN,SIZE1,AMS]},
  103. "bold-fraktur": {fonts:["MathJax_Fraktur-bold",BOLD,SIZE1,AMS], bold:true},
  104. "script": {fonts:["MathJax_Script",MAIN,SIZE1,AMS]},
  105. "bold-script": {fonts:["MathJax_Script",BOLD,SIZE1,AMS], bold:true},
  106. "sans-serif": {fonts:["MathJax_SansSerif",MAIN,SIZE1,AMS]},
  107. "bold-sans-serif": {fonts:["MathJax_SansSerif-bold",BOLD,SIZE1,AMS], bold:true},
  108. "sans-serif-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], italic:true},
  109. "sans-serif-bold-italic": {fonts:["MathJax_SansSerif-italic","MathJax_Main-italic",SIZE1,AMS], bold:true, italic:true},
  110. "monospace": {fonts:["MathJax_Typewriter",MAIN,SIZE1,AMS]},
  111. "-tex-caligraphic": {fonts:["MathJax_Caligraphic",MAIN], offsetA: 0x41, variantA: "italic"},
  112. "-tex-oldstyle": {fonts:["MathJax_Caligraphic",MAIN]},
  113. "-tex-mathit": {fonts:["MathJax_Main-italic",ITALIC,MAIN,SIZE1,AMS], italic:true, noIC: true,
  114. remap: {0x391:0x41, 0x392:0x42, 0x395:0x45, 0x396:0x5A, 0x397:0x48,
  115. 0x399:0x49, 0x39A:0x4B, 0x39C:0x4D, 0x39D:0x4E, 0x39F:0x4F,
  116. 0x3A1:0x50, 0x3A4:0x54, 0x3A7:0x58}},
  117. "-TeX-variant": {fonts:[AMS,MAIN,SIZE1], // HACK: to get larger prime for \prime
  118. remap: {
  119. 0x2268: 0xE00C, 0x2269: 0xE00D, 0x2270: 0xE011, 0x2271: 0xE00E,
  120. 0x2A87: 0xE010, 0x2A88: 0xE00F, 0x2224: 0xE006, 0x2226: 0xE007,
  121. 0x2288: 0xE016, 0x2289: 0xE018, 0x228A: 0xE01A, 0x228B: 0xE01B,
  122. 0x2ACB: 0xE017, 0x2ACC: 0xE019, 0x03DC: 0xE008, 0x03F0: 0xE009,
  123. 0x2216:[0x2216,MML.VARIANT.NORMAL], // \setminus
  124. 0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash
  125. }},
  126. "-largeOp": {fonts:[SIZE2,SIZE1,MAIN]},
  127. "-smallOp": {fonts:[SIZE1,MAIN]}
  128. },
  129. RANGES: [
  130. {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 32},
  131. {name: "number", low: 0x30, high: 0x39, offset: "N"},
  132. {name: "greek", low: 0x03B1, high: 0x03F6, offset: "G"}
  133. ],
  134. RULECHAR: 0x2212,
  135. REMAP: {
  136. 0x203E: 0x2C9, // overline
  137. 0x20D0: 0x21BC, 0x20D1: 0x21C0, // combining left and right harpoons
  138. 0x20D6: 0x2190, 0x20E1: 0x2194, // combining left arrow and lef-right arrow
  139. 0x20EC: 0x21C1, 0x20ED: 0x21BD, // combining low right and left harpoons
  140. 0x20EE: 0x2190, 0x20EF: 0x2192, // combining low left and right arrows
  141. 0x20F0: 0x2A, // combining asterisk
  142. 0xFE37: 0x23DE, 0xFE38: 0x23DF, // OverBrace, UnderBrace
  143. 0xB7: 0x22C5, // center dot
  144. 0x2B9: 0x2032, // prime,
  145. 0x3D2: 0x3A5, // Upsilon
  146. 0x2015: 0x2014, 0x2017: 0x5F, // horizontal bars
  147. 0x2022: 0x2219, 0x2044: 0x2F, // bullet, fraction slash
  148. 0x2305: 0x22BC, 0x2306: 0x2A5E, // barwedge, doublebarwedge
  149. 0x25AA: 0x25A0, 0x25B4: 0x25B2, // blacksquare, blacktriangle
  150. 0x25B5: 0x25B3, 0x25B8: 0x25B6, // triangle, blacktriangleright
  151. 0x25BE: 0x25BC, 0x25BF: 0x25BD, // blacktriangledown, triangledown
  152. 0x25C2: 0x25C0, // blacktriangleleft
  153. 0x2329: 0x27E8, 0x232A: 0x27E9, // langle, rangle
  154. 0x3008: 0x27E8, 0x3009: 0x27E9, // langle, rangle
  155. 0x2758: 0x2223, // VerticalSeparator
  156. 0x2A2F: 0xD7, // cross product
  157. 0x25FB: 0x25A1, 0x25FC: 0x25A0, // square, blacksquare
  158. //
  159. // Letter-like symbols (that appear elsewhere)
  160. //
  161. 0x2102: [0x0043,MML.VARIANT.DOUBLESTRUCK],
  162. // 0x210A: [0x0067,MML.VARIANT.SCRIPT],
  163. 0x210B: [0x0048,MML.VARIANT.SCRIPT],
  164. 0x210C: [0x0048,MML.VARIANT.FRAKTUR],
  165. 0x210D: [0x0048,MML.VARIANT.DOUBLESTRUCK],
  166. 0x210E: [0x0068,MML.VARIANT.ITALIC],
  167. 0x2110: [0x004A,MML.VARIANT.SCRIPT],
  168. 0x2111: [0x004A,MML.VARIANT.FRAKTUR],
  169. 0x2112: [0x004C,MML.VARIANT.SCRIPT],
  170. 0x2115: [0x004E,MML.VARIANT.DOUBLESTRUCK],
  171. 0x2119: [0x0050,MML.VARIANT.DOUBLESTRUCK],
  172. 0x211A: [0x0051,MML.VARIANT.DOUBLESTRUCK],
  173. 0x211B: [0x0052,MML.VARIANT.SCRIPT],
  174. 0x211C: [0x0052,MML.VARIANT.FRAKTUR],
  175. 0x211D: [0x0052,MML.VARIANT.DOUBLESTRUCK],
  176. 0x2124: [0x005A,MML.VARIANT.DOUBLESTRUCK],
  177. 0x2126: [0x03A9,MML.VARIANT.NORMAL],
  178. 0x2128: [0x005A,MML.VARIANT.FRAKTUR],
  179. 0x212C: [0x0042,MML.VARIANT.SCRIPT],
  180. 0x212D: [0x0043,MML.VARIANT.FRAKTUR],
  181. // 0x212F: [0x0065,MML.VARIANT.SCRIPT],
  182. 0x2130: [0x0045,MML.VARIANT.SCRIPT],
  183. 0x2131: [0x0046,MML.VARIANT.SCRIPT],
  184. 0x2133: [0x004D,MML.VARIANT.SCRIPT],
  185. // 0x2134: [0x006F,MML.VARIANT.SCRIPT],
  186. 0x2247: 0x2246, // wrong placement of this character
  187. 0x231C: 0x250C, 0x231D:0x2510, // wrong placement of \ulcorner, \urcorner
  188. 0x231E: 0x2514, 0x231F:0x2518, // wrong placement of \llcorner, \lrcorner
  189. //
  190. // compound symbols not in these fonts
  191. //
  192. 0x2204: "\u2203\u0338", // \not\exists
  193. 0x220C: "\u220B\u0338", // \not\ni
  194. 0x2244: "\u2243\u0338", // \not\simeq
  195. 0x2249: "\u2248\u0338", // \not\approx
  196. 0x2262: "\u2261\u0338", // \not\equiv
  197. 0x226D: "\u224D\u0338", // \not\asymp
  198. 0x2274: "\u2272\u0338", // \not\lesssim
  199. 0x2275: "\u2273\u0338", // \not\gtrsim
  200. 0x2278: "\u2276\u0338", // \not\lessgtr
  201. 0x2279: "\u2277\u0338", // \not\gtrless
  202. 0x2284: "\u2282\u0338", // \not\subset
  203. 0x2285: "\u2283\u0338", // \not\supset
  204. 0x22E2: "\u2291\u0338", // \not\sqsubseteq
  205. 0x22E3: "\u2292\u0338", // \not\sqsupseteq
  206. 0x2A0C: "\u222C\u222C", // quadruple integral
  207. 0x2033: "\u2032\u2032", // double prime
  208. 0x2034: "\u2032\u2032\u2032", // triple prime
  209. 0x2036: "\u2035\u2035", // double back prime
  210. 0x2037: "\u2035\u2035\u2035", // trile back prime
  211. 0x2057: "\u2032\u2032\u2032\u2032", // quadruple prime
  212. 0x20DB: "...", // combining three dots above (only works with mover/under)
  213. 0x20DC: "...." // combining four dots above (only works with mover/under)
  214. },
  215. REMAPACCENT: {
  216. "\u2192":"\u20D7",
  217. "\u2032":"'",
  218. "\u2035":"`"
  219. },
  220. REMAPACCENTUNDER: {
  221. },
  222. PLANE1MAP: [
  223. [0x1D400,0x1D419, 0x41, MML.VARIANT.BOLD],
  224. [0x1D41A,0x1D433, 0x61, MML.VARIANT.BOLD],
  225. [0x1D434,0x1D44D, 0x41, MML.VARIANT.ITALIC],
  226. [0x1D44E,0x1D467, 0x61, MML.VARIANT.ITALIC],
  227. [0x1D468,0x1D481, 0x41, MML.VARIANT.BOLDITALIC],
  228. [0x1D482,0x1D49B, 0x61, MML.VARIANT.BOLDITALIC],
  229. [0x1D49C,0x1D4B5, 0x41, MML.VARIANT.SCRIPT],
  230. // [0x1D4B6,0x1D4CF, 0x61, MML.VARIANT.SCRIPT],
  231. // [0x1D4D0,0x1D4E9, 0x41, MML.VARIANT.BOLDSCRIPT],
  232. // [0x1D4EA,0x1D503, 0x61, MML.VARIANT.BOLDSCRIPT],
  233. [0x1D504,0x1D51D, 0x41, MML.VARIANT.FRAKTUR],
  234. [0x1D51E,0x1D537, 0x61, MML.VARIANT.FRAKTUR],
  235. [0x1D538,0x1D551, 0x41, MML.VARIANT.DOUBLESTRUCK],
  236. // [0x1D552,0x1D56B, 0x61, MML.VARIANT.DOUBLESTRUCK],
  237. [0x1D56C,0x1D585, 0x41, MML.VARIANT.BOLDFRAKTUR],
  238. [0x1D586,0x1D59F, 0x61, MML.VARIANT.BOLDFRAKTUR],
  239. [0x1D5A0,0x1D5B9, 0x41, MML.VARIANT.SANSSERIF],
  240. [0x1D5BA,0x1D5D3, 0x61, MML.VARIANT.SANSSERIF],
  241. [0x1D5D4,0x1D5ED, 0x41, MML.VARIANT.BOLDSANSSERIF],
  242. [0x1D5EE,0x1D607, 0x61, MML.VARIANT.BOLDSANSSERIF],
  243. [0x1D608,0x1D621, 0x41, MML.VARIANT.SANSSERIFITALIC],
  244. [0x1D622,0x1D63B, 0x61, MML.VARIANT.SANSSERIFITALIC],
  245. // [0x1D63C,0x1D655, 0x41, MML.VARIANT.SANSSERIFBOLDITALIC],
  246. // [0x1D656,0x1D66F, 0x61, MML.VARIANT.SANSSERIFBOLDITALIC],
  247. [0x1D670,0x1D689, 0x41, MML.VARIANT.MONOSPACE],
  248. [0x1D68A,0x1D6A3, 0x61, MML.VARIANT.MONOSPACE],
  249. [0x1D6A8,0x1D6C1, 0x391, MML.VARIANT.BOLD],
  250. // [0x1D6C2,0x1D6E1, 0x3B1, MML.VARIANT.BOLD],
  251. [0x1D6E2,0x1D6FA, 0x391, MML.VARIANT.ITALIC],
  252. [0x1D6FC,0x1D71B, 0x3B1, MML.VARIANT.ITALIC],
  253. [0x1D71C,0x1D734, 0x391, MML.VARIANT.BOLDITALIC],
  254. [0x1D736,0x1D755, 0x3B1, MML.VARIANT.BOLDITALIC],
  255. [0x1D756,0x1D76E, 0x391, MML.VARIANT.BOLDSANSSERIF],
  256. // [0x1D770,0x1D78F, 0x3B1, MML.VARIANT.BOLDSANSSERIF],
  257. [0x1D790,0x1D7A8, 0x391, MML.VARIANT.SANSSERIFBOLDITALIC],
  258. // [0x1D7AA,0x1D7C9, 0x3B1, MML.VARIANT.SANSSERIFBOLDITALIC],
  259. [0x1D7CE,0x1D7D7, 0x30, MML.VARIANT.BOLD],
  260. // [0x1D7D8,0x1D7E1, 0x30, MML.VARIANT.DOUBLESTRUCK],
  261. [0x1D7E2,0x1D7EB, 0x30, MML.VARIANT.SANSSERIF],
  262. [0x1D7EC,0x1D7F5, 0x30, MML.VARIANT.BOLDSANSSERIF],
  263. [0x1D7F6,0x1D7FF, 0x30, MML.VARIANT.MONOSPACE]
  264. ],
  265. REMAPGREEK: {
  266. 0x391: 0x41, 0x392: 0x42, 0x395: 0x45, 0x396: 0x5A,
  267. 0x397: 0x48, 0x399: 0x49, 0x39A: 0x4B, 0x39C: 0x4D,
  268. 0x39D: 0x4E, 0x39F: 0x4F, 0x3A1: 0x50, 0x3A2: 0x398,
  269. 0x3A4: 0x54, 0x3A7: 0x58, 0x3AA: 0x2207,
  270. 0x3CA: 0x2202, 0x3CB: 0x3F5, 0x3CC: 0x3D1, 0x3CD: 0x3F0,
  271. 0x3CE: 0x3D5, 0x3CF: 0x3F1, 0x3D0: 0x3D6
  272. },
  273. RemapPlane1: function (n,variant) {
  274. for (var i = 0, m = this.PLANE1MAP.length; i < m; i++) {
  275. if (n < this.PLANE1MAP[i][0]) break;
  276. if (n <= this.PLANE1MAP[i][1]) {
  277. n = n - this.PLANE1MAP[i][0] + this.PLANE1MAP[i][2];
  278. if (this.REMAPGREEK[n]) {n = this.REMAPGREEK[n]}
  279. variant = this.VARIANT[this.PLANE1MAP[i][3]];
  280. break;
  281. }
  282. }
  283. return {n: n, variant: variant};
  284. },
  285. DELIMITERS: {
  286. 0x0028: // (
  287. {
  288. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  289. stretch: {top: [0x239B,SIZE4], ext: [0x239C,SIZE4], bot: [0x239D,SIZE4]}
  290. },
  291. 0x0029: // )
  292. {
  293. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  294. stretch: {top:[0x239E,SIZE4], ext:[0x239F,SIZE4], bot:[0x23A0,SIZE4]}
  295. },
  296. 0x002F: // /
  297. {
  298. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]]
  299. },
  300. 0x005B: // [
  301. {
  302. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  303. stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]}
  304. },
  305. 0x005C: // \
  306. {
  307. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]]
  308. },
  309. 0x005D: // ]
  310. {
  311. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  312. stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]}
  313. },
  314. 0x007B: // {
  315. {
  316. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  317. stretch: {top:[0x23A7,SIZE4], mid:[0x23A8,SIZE4], bot:[0x23A9,SIZE4], ext:[0x23AA,SIZE4]}
  318. },
  319. 0x007C: // |
  320. {
  321. dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]}
  322. },
  323. 0x007D: // }
  324. {
  325. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  326. stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]}
  327. },
  328. 0x00AF: // macron
  329. {
  330. dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]}
  331. },
  332. 0x02C6: // wide hat
  333. {
  334. dir: H, HW: [[.267+.25,MAIN],[.567+.25,SIZE1],[1.005+.33,SIZE2],[1.447+.33,SIZE3],[1.909,SIZE4]]
  335. },
  336. 0x02DC: // wide tilde
  337. {
  338. dir: H, HW: [[.333+.25,MAIN],[.555+.25,SIZE1],[1+.33,SIZE2],[1.443+.33,SIZE3],[1.887,SIZE4]]
  339. },
  340. 0x2016: // vertical arrow extension
  341. {
  342. dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2225]], stretch: {ext:[0x2225,MAIN]}
  343. },
  344. 0x2190: // left arrow
  345. {
  346. dir: H, HW: [[1,MAIN]], stretch: {left:[0x2190,MAIN],rep:[0x2212,MAIN]}
  347. },
  348. 0x2191: // \uparrow
  349. {
  350. dir: V, HW: [[.888,MAIN]], stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1]}
  351. },
  352. 0x2192: // right arrow
  353. {
  354. dir: H, HW: [[1,MAIN]], stretch: {rep:[0x2212,MAIN], right:[0x2192,MAIN]}
  355. },
  356. 0x2193: // \downarrow
  357. {
  358. dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]}
  359. },
  360. 0x2194: // left-right arrow
  361. {
  362. dir: H, HW: [[1,MAIN]],
  363. stretch: {left:[0x2190,MAIN],rep:[0x2212,MAIN], right:[0x2192,MAIN]}
  364. },
  365. 0x2195: // \updownarrow
  366. {
  367. dir: V, HW: [[1.044,MAIN]],
  368. stretch: {top:[0x2191,SIZE1], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]}
  369. },
  370. 0x21D0: // left double arrow
  371. {
  372. dir: H, HW: [[1,MAIN]], stretch: {left:[0x21D0,MAIN],rep:[0x3D,MAIN]}
  373. },
  374. 0x21D1: // \Uparrow
  375. {
  376. dir: V, HW: [[.888,MAIN]], stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1]}
  377. },
  378. 0x21D2: // right double arrow
  379. {
  380. dir: H, HW: [[1,MAIN]], stretch: {rep:[0x3D,MAIN], right:[0x21D2,MAIN]}
  381. },
  382. 0x21D3: // \Downarrow
  383. {
  384. dir: V, HW: [[.888,MAIN]], stretch: {ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]}
  385. },
  386. 0x21D4: // left-right double arrow
  387. {
  388. dir: H, HW: [[1,MAIN]],
  389. stretch: {left:[0x21D0,MAIN],rep:[0x3D,MAIN], right:[0x21D2,MAIN]}
  390. },
  391. 0x21D5: // \Updownarrow
  392. {
  393. dir: V, HW: [[1.044,MAIN]],
  394. stretch: {top:[0x21D1,SIZE1], ext:[0x2016,SIZE1], bot:[0x21D3,SIZE1]}
  395. },
  396. 0x2212: // horizontal line
  397. {
  398. dir: H, HW: [[.611,MAIN]], stretch: {rep:[0x2212,MAIN]}
  399. },
  400. 0x221A: // \surd
  401. {
  402. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3,SIZE4]],
  403. stretch: {top:[0xE001,SIZE4], ext:[0xE000,SIZE4], bot:[0x23B7,SIZE4], fullExtenders:true}
  404. },
  405. 0x2223: // \vert
  406. {
  407. dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2223,MAIN]}
  408. },
  409. 0x2225: // \Vert
  410. {
  411. dir: V, HW: [[1,MAIN]], stretch: {ext:[0x2225,MAIN]}
  412. },
  413. 0x2308: // \lceil
  414. {
  415. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  416. stretch: {top:[0x23A1,SIZE4], ext:[0x23A2,SIZE4]}
  417. },
  418. 0x2309: // \rceil
  419. {
  420. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  421. stretch: {top:[0x23A4,SIZE4], ext:[0x23A5,SIZE4]}
  422. },
  423. 0x230A: // \lfloor
  424. {
  425. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  426. stretch: {ext:[0x23A2,SIZE4], bot:[0x23A3,SIZE4]}
  427. },
  428. 0x230B: // \rfloor
  429. {
  430. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
  431. stretch: {ext:[0x23A5,SIZE4], bot:[0x23A6,SIZE4]}
  432. },
  433. 0x23AA: // \bracevert
  434. {
  435. dir: V, HW: [[.32,SIZE4]],
  436. stretch: {top:[0x23AA,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AA,SIZE4]}
  437. },
  438. 0x23B0: // \lmoustache
  439. {
  440. dir: V, HW: [[.989,MAIN]],
  441. stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]}
  442. },
  443. 0x23B1: // \rmoustache
  444. {
  445. dir: V, HW: [[.989,MAIN]],
  446. stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]}
  447. },
  448. 0x23D0: // vertical line extension
  449. {
  450. dir: V, HW: [[.602,SIZE1],[1,MAIN,null,0x2223]], stretch: {ext:[0x2223,MAIN]}
  451. },
  452. 0x23DE: // horizontal brace down
  453. {
  454. dir: H, HW: [],
  455. stretch: {min:.9, left:[0xE150,SIZE4], mid:[[0xE153,0xE152],SIZE4], right:[0xE151,SIZE4], rep:[0xE154,SIZE4]}
  456. },
  457. 0x23DF: // horizontal brace up
  458. {
  459. dir: H, HW: [],
  460. stretch: {min:.9, left:[0xE152,SIZE4], mid:[[0xE151,0xE150],SIZE4], right:[0xE153,SIZE4], rep:[0xE154,SIZE4]}
  461. },
  462. 0x27E8: // \langle
  463. {
  464. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]]
  465. },
  466. 0x27E9: // \rangle
  467. {
  468. dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]]
  469. },
  470. 0x27EE: // \lgroup
  471. {
  472. dir: V, HW: [[.989,MAIN]],
  473. stretch: {top:[0x23A7,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23A9,SIZE4]}
  474. },
  475. 0x27EF: // \rgroup
  476. {
  477. dir: V, HW: [[.989,MAIN]],
  478. stretch: {top:[0x23AB,SIZE4], ext:[0x23AA,SIZE4], bot:[0x23AD,SIZE4]}
  479. },
  480. 0x002D: {alias: 0x2212, dir:H}, // minus
  481. 0x005E: {alias: 0x02C6, dir:H}, // wide hat
  482. 0x005F: {alias: 0x2212, dir:H}, // low line
  483. 0x007E: {alias: 0x02DC, dir:H}, // wide tilde
  484. 0x02C9: {alias: 0x00AF, dir:H}, // macron
  485. 0x0302: {alias: 0x02C6, dir:H}, // wide hat
  486. 0x0303: {alias: 0x02DC, dir:H}, // wide tilde
  487. 0x030C: {alias: 0x02C7, dir:H}, // wide caron
  488. 0x0332: {alias: 0x2212, dir:H}, // combining low line
  489. 0x2015: {alias: 0x2212, dir:H}, // horizontal line
  490. 0x2017: {alias: 0x2212, dir:H}, // horizontal line
  491. 0x203E: {alias: 0x00AF, dir:H}, // overline
  492. 0x2215: {alias: 0x002F, dir:V}, // division slash
  493. 0x2329: {alias: 0x27E8, dir:V}, // langle
  494. 0x232A: {alias: 0x27E9, dir:V}, // rangle
  495. 0x23AF: {alias: 0x2212, dir:H}, // horizontal line extension
  496. 0x2500: {alias: 0x2212, dir:H}, // horizontal line
  497. 0x2758: {alias: 0x2223, dir:V}, // vertical separator
  498. 0x3008: {alias: 0x27E8, dir:V}, // langle
  499. 0x3009: {alias: 0x27E9, dir:V}, // rangle
  500. 0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down
  501. 0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up
  502. 0x003D: EXTRAH, // equal sign
  503. 0x219E: EXTRAH, // left two-headed arrow
  504. 0x21A0: EXTRAH, // right two-headed arrow
  505. 0x21A4: EXTRAH, // left arrow from bar
  506. 0x21A5: EXTRAV, // up arrow from bar
  507. 0x21A6: EXTRAH, // right arrow from bar
  508. 0x21A7: EXTRAV, // down arrow from bar
  509. 0x21B0: EXTRAV, // up arrow with top leftwards
  510. 0x21B1: EXTRAV, // up arrow with top right
  511. 0x21BC: EXTRAH, // left harpoon with barb up
  512. 0x21BD: EXTRAH, // left harpoon with barb down
  513. 0x21BE: EXTRAV, // up harpoon with barb right
  514. 0x21BF: EXTRAV, // up harpoon with barb left
  515. 0x21C0: EXTRAH, // right harpoon with barb up
  516. 0x21C1: EXTRAH, // right harpoon with barb down
  517. 0x21C2: EXTRAV, // down harpoon with barb right
  518. 0x21C3: EXTRAV, // down harpoon with barb left
  519. 0x21DA: EXTRAH, // left triple arrow
  520. 0x21DB: EXTRAH, // right triple arrow
  521. 0x23B4: EXTRAH, // top square bracket
  522. 0x23B5: EXTRAH, // bottom square bracket
  523. 0x23DC: EXTRAH, // top paren
  524. 0x23DD: EXTRAH, // bottom paren
  525. 0x23E0: EXTRAH, // top tortoise shell
  526. 0x23E1: EXTRAH, // bottom tortoise shell
  527. 0x2906: EXTRAH, // leftwards double arrow from bar
  528. 0x2907: EXTRAH, // rightwards double arrow from bar
  529. 0x294E: EXTRAH, // left barb up right barb up harpoon
  530. 0x294F: EXTRAV, // up barb right down barb right harpoon
  531. 0x2950: EXTRAH, // left barb dow right barb down harpoon
  532. 0x2951: EXTRAV, // up barb left down barb left harpoon
  533. 0x295A: EXTRAH, // leftwards harpoon with barb up from bar
  534. 0x295B: EXTRAH, // rightwards harpoon with barb up from bar
  535. 0x295C: EXTRAV, // up harpoon with barb right from bar
  536. 0x295D: EXTRAV, // down harpoon with barb right from bar
  537. 0x295E: EXTRAH, // leftwards harpoon with barb down from bar
  538. 0x295F: EXTRAH, // rightwards harpoon with barb down from bar
  539. 0x2960: EXTRAV, // up harpoon with barb left from bar
  540. 0x2961: EXTRAV, // down harpoon with barb left from bar
  541. 0x27F5: {alias: 0x2190, dir:H}, // long left arrow
  542. 0x27F6: {alias: 0x2192, dir:H}, // long right arrow
  543. 0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow
  544. 0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow
  545. 0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow
  546. 0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow
  547. 0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar
  548. 0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar
  549. 0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar
  550. 0x27FE: {alias: 0x2907, dir:H} // long right double arrow from bar
  551. }
  552. }
  553. });
  554. //
  555. // Handle error with reversed glyphs for \bigcap and \bigcup in version 1 of fonts
  556. //
  557. HTMLCSS.Font.oldLoadComplete = HTMLCSS.Font.loadComplete;
  558. HTMLCSS.Font.loadComplete = function (font,n,done,status) {
  559. if (n != null) {this.oldLoadComplete(font,n,done,status)}
  560. if (font.family === SIZE1 || font.family === SIZE2) {
  561. if (font.version === 1) {
  562. HTMLCSS.FONTDATA.VARIANT["-largeOp"].remap = {0x22C2: 0x22C3, 0x22C3: 0x22C2};
  563. HTMLCSS.FONTDATA.VARIANT["-smallOp"].remap = {0x22C2: 0x22C3, 0x22C3: 0x22C2};
  564. }
  565. }
  566. };
  567. HTMLCSS.FONTDATA.FONTS['MathJax_Caligraphic'] = {
  568. directory: 'Caligraphic/Regular',
  569. family: 'MathJax_Caligraphic',
  570. testString: "MATHJAX CALIGRAPHIC",
  571. skew: {
  572. 0x41: 0.194,
  573. 0x42: 0.139,
  574. 0x43: 0.139,
  575. 0x44: 0.0833,
  576. 0x45: 0.111,
  577. 0x46: 0.111,
  578. 0x47: 0.111,
  579. 0x48: 0.111,
  580. 0x49: 0.0278,
  581. 0x4A: 0.167,
  582. 0x4B: 0.0556,
  583. 0x4C: 0.139,
  584. 0x4D: 0.139,
  585. 0x4E: 0.0833,
  586. 0x4F: 0.111,
  587. 0x50: 0.0833,
  588. 0x51: 0.111,
  589. 0x52: 0.0833,
  590. 0x53: 0.139,
  591. 0x54: 0.0278,
  592. 0x55: 0.0833,
  593. 0x56: 0.0278,
  594. 0x57: 0.0833,
  595. 0x58: 0.139,
  596. 0x59: 0.0833,
  597. 0x5A: 0.139
  598. },
  599. 0x20: [0,0,250,0,0], // SPACE
  600. 0x30: [452,22,500,39,460], // DIGIT ZERO
  601. 0x31: [453,0,500,86,426], // DIGIT ONE
  602. 0x32: [453,0,500,44,449], // DIGIT TWO
  603. 0x33: [452,216,500,42,456], // DIGIT THREE
  604. 0x34: [464,194,500,28,471], // DIGIT FOUR
  605. 0x35: [453,216,500,50,448], // DIGIT FIVE
  606. 0x36: [665,22,500,42,456], // DIGIT SIX
  607. 0x37: [463,216,500,55,485], // DIGIT SEVEN
  608. 0x38: [666,21,500,43,456], // DIGIT EIGHT
  609. 0x39: [453,216,500,42,457], // DIGIT NINE
  610. 0x41: [728,50,798,30,819], // LATIN CAPITAL LETTER A
  611. 0x42: [705,22,657,32,664], // LATIN CAPITAL LETTER B
  612. 0x43: [705,25,527,12,533], // LATIN CAPITAL LETTER C
  613. 0x44: [683,0,771,19,766], // LATIN CAPITAL LETTER D
  614. 0x45: [705,22,528,30,564], // LATIN CAPITAL LETTER E
  615. 0x46: [683,32,719,18,829], // LATIN CAPITAL LETTER F
  616. 0x47: [704,119,595,44,599], // LATIN CAPITAL LETTER G
  617. 0x48: [683,48,845,18,803], // LATIN CAPITAL LETTER H
  618. 0x49: [683,0,545,-30,642], // LATIN CAPITAL LETTER I
  619. 0x4A: [683,119,678,47,839], // LATIN CAPITAL LETTER J
  620. 0x4B: [705,22,762,32,732], // LATIN CAPITAL LETTER K
  621. 0x4C: [705,22,690,32,656], // LATIN CAPITAL LETTER L
  622. 0x4D: [705,50,1201,28,1137], // LATIN CAPITAL LETTER M
  623. 0x4E: [789,50,820,-27,979], // LATIN CAPITAL LETTER N
  624. 0x4F: [705,22,796,58,777], // LATIN CAPITAL LETTER O
  625. 0x50: [683,57,696,19,733], // LATIN CAPITAL LETTER P
  626. 0x51: [705,131,817,114,787], // LATIN CAPITAL LETTER Q
  627. 0x52: [682,22,848,19,837], // LATIN CAPITAL LETTER R
  628. 0x53: [705,22,606,18,642], // LATIN CAPITAL LETTER S
  629. 0x54: [717,68,545,34,833], // LATIN CAPITAL LETTER T
  630. 0x55: [683,28,626,-17,687], // LATIN CAPITAL LETTER U
  631. 0x56: [683,52,613,25,658], // LATIN CAPITAL LETTER V
  632. 0x57: [683,53,988,25,1034], // LATIN CAPITAL LETTER W
  633. 0x58: [683,0,713,52,807], // LATIN CAPITAL LETTER X
  634. 0x59: [683,143,668,31,714], // LATIN CAPITAL LETTER Y
  635. 0x5A: [683,0,725,37,767], // LATIN CAPITAL LETTER Z
  636. 0xA0: [0,0,250,0,0] // NO-BREAK SPACE
  637. };
  638. HTMLCSS.FONTDATA.FONTS['MathJax_Main-bold'] = {
  639. directory: 'Main/Bold',
  640. family: 'MathJax_Main',
  641. weight: 'bold',
  642. testString: "MathJax Main ^ \u210F \u2223",
  643. skew: {
  644. 0x131: 0.0319,
  645. 0x237: 0.0958,
  646. 0x210F: -0.0319,
  647. 0x2113: 0.128,
  648. 0x2202: 0.0958
  649. },
  650. Ranges: [
  651. [0xA0,0xFF,"Latin1Supplement"],
  652. [0x100,0x17F,"LatinExtendedA"],
  653. [0x180,0x24F,"LatinExtendedB"],
  654. [0x2B0,0x2FF,"SpacingModLetters"],
  655. [0x300,0x36F,"CombDiacritMarks"],
  656. [0x2000,0x206F,"GeneralPunctuation"],
  657. [0x20D0,0x20FF,"CombDiactForSymbols"],
  658. [0x2100,0x214F,"LetterlikeSymbols"],
  659. [0x2190,0x21FF,"Arrows"],
  660. [0x2200,0x22FF,"MathOperators"],
  661. [0x2300,0x23FF,"MiscTechnical"],
  662. [0x25A0,0x25FF,"GeometricShapes"],
  663. [0x2600,0x26FF,"MiscSymbols"],
  664. [0x27C0,0x27EF,"MiscMathSymbolsA"],
  665. [0x27F0,0x27FF,"SupplementalArrowsA"],
  666. [0x2A00,0x2AFF,"SuppMathOperators"]
  667. ],
  668. 0x20: [0,0,250,0,0], // SPACE
  669. 0x21: [705,-1,350,89,260], // EXCLAMATION MARK
  670. 0x22: [694,-329,603,38,492], // QUOTATION MARK
  671. 0x23: [694,193,958,64,893], // NUMBER SIGN
  672. 0x24: [750,56,575,64,510], // DOLLAR SIGN
  673. 0x25: [750,56,958,65,893], // PERCENT SIGN
  674. 0x26: [705,11,894,48,836], // AMPERSAND
  675. 0x27: [694,-329,319,74,261], // APOSTROPHE
  676. 0x28: [750,249,447,103,382], // LEFT PARENTHESIS
  677. 0x29: [750,249,447,64,343], // RIGHT PARENTHESIS
  678. 0x2A: [750,-306,575,73,501], // ASTERISK
  679. 0x2B: [633,131,894,64,829], // PLUS SIGN
  680. 0x2C: [171,194,319,74,258], // COMMA
  681. 0x2D: [278,-166,383,13,318], // HYPHEN-MINUS
  682. 0x2E: [171,-1,319,74,245], // FULL STOP
  683. 0x2F: [750,250,575,63,511], // SOLIDUS
  684. 0x30: [654,10,575,45,529], // DIGIT ZERO
  685. 0x31: [655,0,575,80,494], // DIGIT ONE
  686. 0x32: [654,0,575,57,517], // DIGIT TWO
  687. 0x33: [655,11,575,47,526], // DIGIT THREE
  688. 0x34: [656,0,575,32,542], // DIGIT FOUR
  689. 0x35: [655,11,575,57,517], // DIGIT FIVE
  690. 0x36: [655,11,575,48,526], // DIGIT SIX
  691. 0x37: [676,11,575,64,558], // DIGIT SEVEN
  692. 0x38: [654,11,575,48,526], // DIGIT EIGHT
  693. 0x39: [654,11,575,48,526], // DIGIT NINE
  694. 0x3A: [444,-1,319,74,245], // COLON
  695. 0x3B: [444,194,319,74,248], // SEMICOLON
  696. 0x3C: [587,85,894,96,797], // LESS-THAN SIGN
  697. 0x3D: [393,-109,894,64,829], // EQUALS SIGN
  698. 0x3E: [587,85,894,96,797], // GREATER-THAN SIGN
  699. 0x3F: [700,-1,543,65,478], // QUESTION MARK
  700. 0x40: [699,6,894,64,829], // COMMERCIAL AT
  701. 0x41: [698,0,869,40,828], // LATIN CAPITAL LETTER A
  702. 0x42: [686,0,818,39,752], // LATIN CAPITAL LETTER B
  703. 0x43: [697,11,831,64,766], // LATIN CAPITAL LETTER C
  704. 0x44: [686,0,882,39,817], // LATIN CAPITAL LETTER D
  705. 0x45: [680,0,756,39,723], // LATIN CAPITAL LETTER E
  706. 0x46: [680,0,724,39,675], // LATIN CAPITAL LETTER F
  707. 0x47: [697,10,904,64,845], // LATIN CAPITAL LETTER G
  708. 0x48: [686,0,900,39,860], // LATIN CAPITAL LETTER H
  709. 0x49: [686,0,436,25,410], // LATIN CAPITAL LETTER I
  710. 0x4A: [686,11,594,8,527], // LATIN CAPITAL LETTER J
  711. 0x4B: [686,0,901,39,852], // LATIN CAPITAL LETTER K
  712. 0x4C: [686,0,692,39,643], // LATIN CAPITAL LETTER L
  713. 0x4D: [686,0,1092,39,1052], // LATIN CAPITAL LETTER M
  714. 0x4E: [686,0,900,39,860], // LATIN CAPITAL LETTER N
  715. 0x4F: [696,10,864,64,798], // LATIN CAPITAL LETTER O
  716. 0x50: [686,0,786,39,721], // LATIN CAPITAL LETTER P
  717. 0x51: [696,193,864,64,805], // LATIN CAPITAL LETTER Q
  718. 0x52: [686,11,862,39,858], // LATIN CAPITAL LETTER R
  719. 0x53: [697,11,639,64,574], // LATIN CAPITAL LETTER S
  720. 0x54: [675,0,800,41,758], // LATIN CAPITAL LETTER T
  721. 0x55: [686,11,885,39,845], // LATIN CAPITAL LETTER U
  722. 0x56: [686,7,869,25,843], // LATIN CAPITAL LETTER V
  723. 0x57: [686,7,1189,24,1164], // LATIN CAPITAL LETTER W
  724. 0x58: [686,0,869,33,835], // LATIN CAPITAL LETTER X
  725. 0x59: [686,0,869,19,849], // LATIN CAPITAL LETTER Y
  726. 0x5A: [686,0,703,64,645], // LATIN CAPITAL LETTER Z
  727. 0x5B: [750,250,319,128,293], // LEFT SQUARE BRACKET
  728. 0x5C: [750,250,575,63,511], // REVERSE SOLIDUS
  729. 0x5D: [750,250,319,25,190], // RIGHT SQUARE BRACKET
  730. 0x5E: [694,-520,575,126,448], // CIRCUMFLEX ACCENT
  731. 0x5F: [-10,61,575,0,574], // LOW LINE
  732. 0x60: [706,-503,575,114,338], // GRAVE ACCENT
  733. 0x61: [453,6,559,32,558], // LATIN SMALL LETTER A
  734. 0x62: [694,6,639,29,600], // LATIN SMALL LETTER B
  735. 0x63: [453,6,511,39,478], // LATIN SMALL LETTER C
  736. 0x64: [694,6,639,38,609], // LATIN SMALL LETTER D
  737. 0x65: [452,6,527,32,494], // LATIN SMALL LETTER E
  738. 0x66: [700,0,351,40,452], // LATIN SMALL LETTER F
  739. 0x67: [455,201,575,30,558], // LATIN SMALL LETTER G
  740. 0x68: [694,0,639,37,623], // LATIN SMALL LETTER H
  741. 0x69: [695,0,319,40,294], // LATIN SMALL LETTER I
  742. 0x6A: [695,200,351,-71,274], // LATIN SMALL LETTER J
  743. 0x6B: [694,0,607,29,587], // LATIN SMALL LETTER K
  744. 0x6C: [694,0,319,40,301], // LATIN SMALL LETTER L
  745. 0x6D: [450,0,958,37,942], // LATIN SMALL LETTER M
  746. 0x6E: [450,0,639,37,623], // LATIN SMALL LETTER N
  747. 0x6F: [452,5,575,32,542], // LATIN SMALL LETTER O
  748. 0x70: [450,194,639,29,600], // LATIN SMALL LETTER P
  749. 0x71: [450,194,607,38,609], // LATIN SMALL LETTER Q
  750. 0x72: [450,0,474,29,442], // LATIN SMALL LETTER R
  751. 0x73: [453,6,454,38,414], // LATIN SMALL LETTER S
  752. 0x74: [635,5,447,21,382], // LATIN SMALL LETTER T
  753. 0x75: [450,6,639,37,623], // LATIN SMALL LETTER U
  754. 0x76: [444,3,607,26,580], // LATIN SMALL LETTER V
  755. 0x77: [444,4,831,25,805], // LATIN SMALL LETTER W
  756. 0x78: [444,0,607,21,586], // LATIN SMALL LETTER X
  757. 0x79: [444,200,607,23,580], // LATIN SMALL LETTER Y
  758. 0x7A: [444,0,511,32,462], // LATIN SMALL LETTER Z
  759. 0x7B: [750,250,575,70,504], // LEFT CURLY BRACKET
  760. 0x7C: [750,249,319,129,190], // VERTICAL LINE
  761. 0x7D: [750,250,575,70,504], // RIGHT CURLY BRACKET
  762. 0x7E: [344,-202,575,96,478], // TILDE
  763. 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA
  764. 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA
  765. 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA
  766. 0x39B: [698,0,806,40,765], // GREEK CAPITAL LETTER LAMDA
  767. 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI
  768. 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI
  769. 0x3A3: [686,0,831,63,766], // GREEK CAPITAL LETTER SIGMA
  770. 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON
  771. 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI
  772. 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI
  773. 0x3A9: [696,0,831,51,779] // GREEK CAPITAL LETTER OMEGA
  774. };
  775. HTMLCSS.FONTDATA.FONTS['MathJax_Main-italic'] = {
  776. directory: 'Main/Italic',
  777. family: 'MathJax_Main',
  778. style: 'italic',
  779. testString: "MathJax Main ^ \u210F \u2223",
  780. Ranges: [
  781. [0xA0,0xFF,"Latin1Supplement"],
  782. [0x300,0x36F,"CombDiacritMarks"],
  783. [0x2000,0x206F,"GeneralPunctuation"],
  784. [0x2100,0x214F,"LetterlikeSymbols"]
  785. ],
  786. 0x20: [0,0,250,0,0], // SPACE
  787. 0x21: [716,0,307,107,380], // EXCLAMATION MARK
  788. 0x22: [694,-379,514,176,538], // QUOTATION MARK
  789. 0x23: [694,194,818,115,828], // NUMBER SIGN
  790. 0x25: [750,56,818,145,847], // PERCENT SIGN
  791. 0x26: [716,22,767,127,802], // AMPERSAND
  792. 0x27: [694,-379,307,213,377], // APOSTROPHE
  793. 0x28: [750,250,409,144,517], // LEFT PARENTHESIS
  794. 0x29: [750,250,409,17,390], // RIGHT PARENTHESIS
  795. 0x2A: [750,-320,511,195,584], // ASTERISK
  796. 0x2B: [557,57,767,139,753], // PLUS SIGN
  797. 0x2C: [121,194,307,69,232], // COMMA
  798. 0x2D: [251,-180,358,84,341], // HYPHEN-MINUS
  799. 0x2E: [121,0,307,107,231], // FULL STOP
  800. 0x2F: [750,250,511,19,617], // SOLIDUS
  801. 0x30: [665,21,511,110,562], // DIGIT ZERO
  802. 0x31: [666,0,511,110,468], // DIGIT ONE
  803. 0x32: [666,22,511,76,551], // DIGIT TWO
  804. 0x33: [666,22,511,96,562], // DIGIT THREE
  805. 0x34: [666,194,511,46,478], // DIGIT FOUR
  806. 0x35: [666,22,511,106,567], // DIGIT FIVE
  807. 0x36: [665,22,511,120,565], // DIGIT SIX
  808. 0x37: [666,22,511,136,634], // DIGIT SEVEN
  809. 0x38: [666,21,511,99,553], // DIGIT EIGHT
  810. 0x39: [666,22,511,107,553], // DIGIT NINE
  811. 0x3A: [431,0,307,107,308], // COLON
  812. 0x3B: [431,194,307,70,308], // SEMICOLON
  813. 0x3D: [367,-133,767,116,776], // EQUALS SIGN
  814. 0x3F: [716,0,511,195,551], // QUESTION MARK
  815. 0x40: [705,11,767,152,789], // COMMERCIAL AT
  816. 0x41: [716,0,743,58,696], // LATIN CAPITAL LETTER A
  817. 0x42: [683,0,704,57,732], // LATIN CAPITAL LETTER B
  818. 0x43: [705,21,716,150,812], // LATIN CAPITAL LETTER C
  819. 0x44: [683,0,755,56,775], // LATIN CAPITAL LETTER D
  820. 0x45: [680,0,678,54,743], // LATIN CAPITAL LETTER E
  821. 0x46: [680,-1,653,54,731], // LATIN CAPITAL LETTER F
  822. 0x47: [705,22,774,150,812], // LATIN CAPITAL LETTER G
  823. 0x48: [683,0,743,54,860], // LATIN CAPITAL LETTER H
  824. 0x49: [683,0,386,49,508], // LATIN CAPITAL LETTER I
  825. 0x4A: [683,21,525,78,622], // LATIN CAPITAL LETTER J
  826. 0x4B: [683,0,769,54,859], // LATIN CAPITAL LETTER K
  827. 0x4C: [683,0,627,54,628], // LATIN CAPITAL LETTER L
  828. 0x4D: [683,0,897,58,1010], // LATIN CAPITAL LETTER M
  829. 0x4E: [683,0,743,54,860], // LATIN CAPITAL LETTER N
  830. 0x4F: [704,22,767,149,788], // LATIN CAPITAL LETTER O
  831. 0x50: [683,0,678,55,729], // LATIN CAPITAL LETTER P
  832. 0x51: [704,194,767,149,788], // LATIN CAPITAL LETTER Q
  833. 0x52: [683,22,729,55,723], // LATIN CAPITAL LETTER R
  834. 0x53: [705,22,562,74,633], // LATIN CAPITAL LETTER S
  835. 0x54: [677,0,716,171,806], // LATIN CAPITAL LETTER T
  836. 0x55: [683,22,743,194,860], // LATIN CAPITAL LETTER U
  837. 0x56: [683,22,743,205,868], // LATIN CAPITAL LETTER V
  838. 0x57: [683,22,999,205,1124], // LATIN CAPITAL LETTER W
  839. 0x58: [683,0,743,50,825], // LATIN CAPITAL LETTER X
  840. 0x59: [683,0,743,198,875], // LATIN CAPITAL LETTER Y
  841. 0x5A: [683,0,613,80,704], // LATIN CAPITAL LETTER Z
  842. 0x5B: [750,250,307,73,446], // LEFT SQUARE BRACKET
  843. 0x5D: [750,250,307,-14,359], // RIGHT SQUARE BRACKET
  844. 0x5E: [694,-527,511,260,528], // CIRCUMFLEX ACCENT
  845. 0x5F: [-25,62,511,91,554], // LOW LINE
  846. 0x61: [442,11,511,101,543], // LATIN SMALL LETTER A
  847. 0x62: [694,11,460,108,467], // LATIN SMALL LETTER B
  848. 0x63: [441,10,460,103,469], // LATIN SMALL LETTER C
  849. 0x64: [694,11,511,101,567], // LATIN SMALL LETTER D
  850. 0x65: [442,10,460,107,470], // LATIN SMALL LETTER E
  851. 0x66: [705,204,307,-23,450], // LATIN SMALL LETTER F
  852. 0x67: [442,205,460,46,494], // LATIN SMALL LETTER G
  853. 0x68: [694,11,511,69,544], // LATIN SMALL LETTER H
  854. 0x69: [656,10,307,75,340], // LATIN SMALL LETTER I
  855. 0x6A: [656,204,307,-32,364], // LATIN SMALL LETTER J
  856. 0x6B: [694,11,460,69,498], // LATIN SMALL LETTER K
  857. 0x6C: [694,11,256,87,312], // LATIN SMALL LETTER L
  858. 0x6D: [442,11,818,75,851], // LATIN SMALL LETTER M
  859. 0x6E: [442,11,562,75,595], // LATIN SMALL LETTER N
  860. 0x6F: [442,11,511,103,517], // LATIN SMALL LETTER O
  861. 0x70: [442,194,511,6,518], // LATIN SMALL LETTER P
  862. 0x71: [442,194,460,101,504], // LATIN SMALL LETTER Q
  863. 0x72: [442,11,422,75,484], // LATIN SMALL LETTER R
  864. 0x73: [442,11,409,76,418], // LATIN SMALL LETTER S
  865. 0x74: [626,11,332,87,373], // LATIN SMALL LETTER T
  866. 0x75: [441,11,537,75,570], // LATIN SMALL LETTER U
  867. 0x76: [443,10,460,75,492], // LATIN SMALL LETTER V
  868. 0x77: [443,11,664,75,696], // LATIN SMALL LETTER W
  869. 0x78: [442,11,464,58,513], // LATIN SMALL LETTER X
  870. 0x79: [441,205,486,75,522], // LATIN SMALL LETTER Y
  871. 0x7A: [442,11,409,54,466], // LATIN SMALL LETTER Z
  872. 0x7E: [318,-208,511,246,571], // TILDE
  873. 0xA3: [714,11,769,88,699], // POUND SIGN
  874. 0x131: [441,10,307,75,340], // LATIN SMALL LETTER DOTLESS I
  875. 0x237: [442,204,332,-32,327], // LATIN SMALL LETTER DOTLESS J
  876. 0x393: [680,0,627,54,705], // GREEK CAPITAL LETTER GAMMA
  877. 0x394: [716,0,818,70,751], // GREEK CAPITAL LETTER DELTA
  878. 0x398: [704,22,767,149,788], // GREEK CAPITAL LETTER THETA
  879. 0x39B: [716,0,692,58,646], // GREEK CAPITAL LETTER LAMDA
  880. 0x39E: [677,0,664,74,754], // GREEK CAPITAL LETTER XI
  881. 0x3A0: [680,0,743,54,859], // GREEK CAPITAL LETTER PI
  882. 0x3A3: [683,0,716,80,782], // GREEK CAPITAL LETTER SIGMA
  883. 0x3A5: [705,0,767,213,832], // GREEK CAPITAL LETTER UPSILON
  884. 0x3A6: [683,0,716,159,728], // GREEK CAPITAL LETTER PHI
  885. 0x3A8: [683,0,767,207,824], // GREEK CAPITAL LETTER PSI
  886. 0x3A9: [705,0,716,100,759] // GREEK CAPITAL LETTER OMEGA
  887. };
  888. HTMLCSS.FONTDATA.FONTS['MathJax_Main'] = {
  889. directory: 'Main/Regular',
  890. family: 'MathJax_Main',
  891. testString: "MathJax Main ^ \u210F \u2223",
  892. skew: {
  893. 0x131: 0.0278,
  894. 0x237: 0.0833,
  895. 0x2113: 0.111,
  896. 0x2118: 0.111,
  897. 0x2202: 0.0833
  898. },
  899. Ranges: [
  900. [0x2B0,0x2FF,"SpacingModLetters"],
  901. [0x300,0x36F,"CombDiacritMarks"],
  902. [0x25A0,0x25FF,"GeometricShapes"],
  903. [0x2600,0x26FF,"MiscSymbols"]
  904. ],
  905. 0x20: [0,0,250,0,0], // SPACE
  906. 0x21: [716,-1,278,78,199], // EXCLAMATION MARK
  907. 0x22: [694,-379,500,34,372], // QUOTATION MARK
  908. 0x23: [694,194,833,56,777], // NUMBER SIGN
  909. 0x24: [750,56,500,55,444], // DOLLAR SIGN
  910. 0x25: [750,56,833,56,776], // PERCENT SIGN
  911. 0x26: [716,22,778,42,727], // AMPERSAND
  912. 0x27: [694,-379,278,78,212], // APOSTROPHE
  913. 0x28: [750,250,389,94,333], // LEFT PARENTHESIS
  914. 0x29: [750,250,389,55,294], // RIGHT PARENTHESIS
  915. 0x2A: [750,-320,500,64,435], // ASTERISK
  916. 0x2B: [583,82,778,56,722], // PLUS SIGN
  917. 0x2C: [121,194,278,78,210], // COMMA
  918. 0x2D: [252,-179,333,11,277], // HYPHEN-MINUS
  919. 0x2E: [120,0,278,78,199], // FULL STOP
  920. 0x2F: [750,250,500,56,445], // SOLIDUS
  921. 0x30: [666,22,500,39,460], // DIGIT ZERO
  922. 0x31: [666,0,500,83,427], // DIGIT ONE
  923. 0x32: [666,0,500,50,449], // DIGIT TWO
  924. 0x33: [665,22,500,42,457], // DIGIT THREE
  925. 0x34: [677,0,500,28,471], // DIGIT FOUR
  926. 0x35: [666,22,500,50,449], // DIGIT FIVE
  927. 0x36: [666,22,500,42,456], // DIGIT SIX
  928. 0x37: [676,22,500,55,485], // DIGIT SEVEN
  929. 0x38: [666,22,500,43,457], // DIGIT EIGHT
  930. 0x39: [666,22,500,42,456], // DIGIT NINE
  931. 0x3A: [430,0,278,78,199], // COLON
  932. 0x3B: [430,194,278,78,202], // SEMICOLON
  933. 0x3C: [540,40,778,83,694], // LESS-THAN SIGN
  934. 0x3D: [367,-133,778,56,722], // EQUALS SIGN
  935. 0x3E: [540,40,778,83,694], // GREATER-THAN SIGN
  936. 0x3F: [705,-1,472,55,416], // QUESTION MARK
  937. 0x40: [705,11,778,56,722], // COMMERCIAL AT
  938. 0x41: [716,0,750,32,717], // LATIN CAPITAL LETTER A
  939. 0x42: [683,0,708,28,651], // LATIN CAPITAL LETTER B
  940. 0x43: [705,21,722,56,666], // LATIN CAPITAL LETTER C
  941. 0x44: [683,0,764,27,708], // LATIN CAPITAL LETTER D
  942. 0x45: [680,0,681,25,652], // LATIN CAPITAL LETTER E
  943. 0x46: [680,0,653,25,610], // LATIN CAPITAL LETTER F
  944. 0x47: [705,22,785,56,735], // LATIN CAPITAL LETTER G
  945. 0x48: [683,0,750,25,724], // LATIN CAPITAL LETTER H
  946. 0x49: [683,0,361,21,339], // LATIN CAPITAL LETTER I
  947. 0x4A: [683,22,514,25,465], // LATIN CAPITAL LETTER J
  948. 0x4B: [683,0,778,25,736], // LATIN CAPITAL LETTER K
  949. 0x4C: [683,0,625,25,582], // LATIN CAPITAL LETTER L
  950. 0x4D: [683,0,917,29,887], // LATIN CAPITAL LETTER M
  951. 0x4E: [683,0,750,25,724], // LATIN CAPITAL LETTER N
  952. 0x4F: [705,22,778,56,722], // LATIN CAPITAL LETTER O
  953. 0x50: [683,0,681,27,624], // LATIN CAPITAL LETTER P
  954. 0x51: [705,193,778,56,728], // LATIN CAPITAL LETTER Q
  955. 0x52: [683,22,736,27,732], // LATIN CAPITAL LETTER R
  956. 0x53: [705,22,556,55,500], // LATIN CAPITAL LETTER S
  957. 0x54: [677,0,722,36,685], // LATIN CAPITAL LETTER T
  958. 0x55: [683,22,750,25,724], // LATIN CAPITAL LETTER U
  959. 0x56: [683,22,750,19,730], // LATIN CAPITAL LETTER V
  960. 0x57: [683,22,1028,18,1009], // LATIN CAPITAL LETTER W
  961. 0x58: [683,0,750,23,726], // LATIN CAPITAL LETTER X
  962. 0x59: [683,0,750,11,738], // LATIN CAPITAL LETTER Y
  963. 0x5A: [683,0,611,55,560], // LATIN CAPITAL LETTER Z
  964. 0x5B: [750,250,278,118,255], // LEFT SQUARE BRACKET
  965. 0x5C: [750,250,500,56,444], // REVERSE SOLIDUS
  966. 0x5D: [750,250,278,22,159], // RIGHT SQUARE BRACKET
  967. 0x5E: [694,-531,500,112,387], // CIRCUMFLEX ACCENT
  968. 0x5F: [-25,62,500,0,499], // LOW LINE
  969. 0x60: [699,-505,500,106,295], // GRAVE ACCENT
  970. 0x61: [448,11,500,34,493], // LATIN SMALL LETTER A
  971. 0x62: [694,11,556,20,522], // LATIN SMALL LETTER B
  972. 0x63: [448,11,444,34,415], // LATIN SMALL LETTER C
  973. 0x64: [694,11,556,34,535], // LATIN SMALL LETTER D
  974. 0x65: [448,11,444,28,415], // LATIN SMALL LETTER E
  975. 0x66: [705,0,306,26,372], // LATIN SMALL LETTER F
  976. 0x67: [453,206,500,29,485], // LATIN SMALL LETTER G
  977. 0x68: [694,0,556,25,542], // LATIN SMALL LETTER H
  978. 0x69: [669,0,278,26,255], // LATIN SMALL LETTER I
  979. 0x6A: [669,205,306,-55,218], // LATIN SMALL LETTER J
  980. 0x6B: [694,0,528,20,511], // LATIN SMALL LETTER K
  981. 0x6C: [694,0,278,26,263], // LATIN SMALL LETTER L
  982. 0x6D: [442,0,833,25,819], // LATIN SMALL LETTER M
  983. 0x6E: [442,0,556,25,542], // LATIN SMALL LETTER N
  984. 0x6F: [448,10,500,28,471], // LATIN SMALL LETTER O
  985. 0x70: [442,194,556,20,522], // LATIN SMALL LETTER P
  986. 0x71: [442,194,528,33,535], // LATIN SMALL LETTER Q
  987. 0x72: [442,0,392,20,364], // LATIN SMALL LETTER R
  988. 0x73: [448,11,394,33,359], // LATIN SMALL LETTER S
  989. 0x74: [615,10,389,18,333], // LATIN SMALL LETTER T
  990. 0x75: [442,11,556,25,542], // LATIN SMALL LETTER U
  991. 0x76: [431,11,528,19,508], // LATIN SMALL LETTER V
  992. 0x77: [431,11,722,18,703], // LATIN SMALL LETTER W
  993. 0x78: [431,0,528,11,516], // LATIN SMALL LETTER X
  994. 0x79: [431,204,528,19,508], // LATIN SMALL LETTER Y
  995. 0x7A: [431,0,444,28,401], // LATIN SMALL LETTER Z
  996. 0x7B: [750,250,500,65,434], // LEFT CURLY BRACKET
  997. 0x7C: [750,249,278,119,159], // VERTICAL LINE
  998. 0x7D: [750,250,500,65,434], // RIGHT CURLY BRACKET
  999. 0x7E: [318,-215,500,83,416], // TILDE
  1000. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1001. 0xA8: [669,-554,500,95,404], // DIAERESIS
  1002. 0xAC: [356,-89,667,56,611], // NOT SIGN
  1003. 0xAF: [590,-544,500,69,430], // MACRON
  1004. 0xB0: [715,-542,500,147,352], // DEGREE SIGN
  1005. 0xB1: [666,0,778,56,722], // PLUS-MINUS SIGN
  1006. 0xB4: [699,-505,500,203,393], // ACUTE ACCENT
  1007. 0xD7: [491,-9,778,147,630], // MULTIPLICATION SIGN
  1008. 0xF7: [537,36,778,56,721], // DIVISION SIGN
  1009. 0x131: [442,0,278,26,255], // LATIN SMALL LETTER DOTLESS I
  1010. 0x237: [442,205,306,-55,218], // LATIN SMALL LETTER DOTLESS J
  1011. 0x2C6: [694,-531,500,112,387], // MODIFIER LETTER CIRCUMFLEX ACCENT
  1012. 0x2C7: [644,-513,500,114,385], // CARON
  1013. 0x2C9: [590,-544,500,69,430], // MODIFIER LETTER MACRON
  1014. 0x2CA: [699,-505,500,203,393], // MODIFIER LETTER ACUTE ACCENT
  1015. 0x2CB: [699,-505,500,106,295], // MODIFIER LETTER GRAVE ACCENT
  1016. 0x2D8: [694,-515,500,92,407], // BREVE
  1017. 0x2D9: [669,-549,500,190,309], // DOT ABOVE
  1018. 0x2DC: [668,-565,500,83,416], // SMALL TILDE
  1019. 0x393: [680,0,625,25,582], // GREEK CAPITAL LETTER GAMMA
  1020. 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA
  1021. 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA
  1022. 0x39B: [716,0,694,32,661], // GREEK CAPITAL LETTER LAMDA
  1023. 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI
  1024. 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI
  1025. 0x3A3: [683,0,722,55,666], // GREEK CAPITAL LETTER SIGMA
  1026. 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON
  1027. 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI
  1028. 0x3A8: [683,0,778,55,722], // GREEK CAPITAL LETTER PSI
  1029. 0x3A9: [704,0,722,44,677], // GREEK CAPITAL LETTER OMEGA
  1030. 0x2002: [0,0,500,0,0], // ??
  1031. 0x2003: [0,0,999,0,0], // ??
  1032. 0x2004: [0,0,333,0,0], // ??
  1033. 0x2005: [0,0,250,0,0], // ??
  1034. 0x2006: [0,0,167,0,0], // ??
  1035. 0x2009: [0,0,167,0,0], // ??
  1036. 0x200A: [0,0,83,0,0], // ??
  1037. 0x2013: [285,-248,500,0,499], // EN DASH
  1038. 0x2014: [285,-248,1000,0,999], // EM DASH
  1039. 0x2018: [694,-379,278,64,198], // LEFT SINGLE QUOTATION MARK
  1040. 0x2019: [694,-379,278,78,212], // RIGHT SINGLE QUOTATION MARK
  1041. 0x201C: [694,-379,500,128,466], // LEFT DOUBLE QUOTATION MARK
  1042. 0x201D: [694,-379,500,34,372], // RIGHT DOUBLE QUOTATION MARK
  1043. 0x2020: [705,216,444,55,389], // DAGGER
  1044. 0x2021: [705,205,444,55,389], // DOUBLE DAGGER
  1045. 0x2026: [120,0,1172,78,1093], // HORIZONTAL ELLIPSIS
  1046. 0x2032: [560,-43,275,30,262], // PRIME
  1047. 0x20D7: [714,-516,0,-471,-29], // COMBINING RIGHT ARROW ABOVE
  1048. 0x210F: [695,13,540,42,562], // stix-/hbar - Planck's over 2pi
  1049. 0x2111: [705,10,722,55,693], // BLACK-LETTER CAPITAL I
  1050. 0x2113: [705,20,417,6,397], // SCRIPT SMALL L
  1051. 0x2118: [453,216,636,67,625], // SCRIPT CAPITAL P
  1052. 0x211C: [716,22,722,40,715], // BLACK-LETTER CAPITAL R
  1053. 0x2135: [694,0,611,55,555], // ALEF SYMBOL
  1054. 0x2190: [511,11,1000,55,944], // LEFTWARDS ARROW
  1055. 0x2191: [694,193,500,17,483], // UPWARDS ARROW
  1056. 0x2192: [511,11,1000,56,944], // RIGHTWARDS ARROW
  1057. 0x2193: [694,194,500,17,483], // DOWNWARDS ARROW
  1058. 0x2194: [511,11,1000,55,944], // LEFT RIGHT ARROW
  1059. 0x2195: [772,272,500,17,483], // UP DOWN ARROW
  1060. 0x2196: [720,195,1000,29,944], // NORTH WEST ARROW
  1061. 0x2197: [720,195,1000,55,970], // NORTH EAST ARROW
  1062. 0x2198: [695,220,1000,55,970], // SOUTH EAST ARROW
  1063. 0x2199: [695,220,1000,29,944], // SOUTH WEST ARROW
  1064. 0x21A6: [511,11,1000,55,944], // RIGHTWARDS ARROW FROM BAR
  1065. 0x21A9: [511,11,1126,55,1070], // LEFTWARDS ARROW WITH HOOK
  1066. 0x21AA: [511,11,1126,55,1070], // RIGHTWARDS ARROW WITH HOOK
  1067. 0x21BC: [511,-230,1000,55,944], // LEFTWARDS HARPOON WITH BARB UPWARDS
  1068. 0x21BD: [270,11,1000,55,944], // LEFTWARDS HARPOON WITH BARB DOWNWARDS
  1069. 0x21C0: [511,-230,1000,56,944], // RIGHTWARDS HARPOON WITH BARB UPWARDS
  1070. 0x21C1: [270,11,1000,56,944], // RIGHTWARDS HARPOON WITH BARB DOWNWARDS
  1071. 0x21CC: [671,11,1000,55,944], // RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON
  1072. 0x21D0: [525,24,1000,56,944], // LEFTWARDS DOUBLE ARROW
  1073. 0x21D1: [694,194,611,31,579], // UPWARDS DOUBLE ARROW
  1074. 0x21D2: [525,24,1000,56,944], // RIGHTWARDS DOUBLE ARROW
  1075. 0x21D3: [694,194,611,31,579], // DOWNWARDS DOUBLE ARROW
  1076. 0x21D4: [526,25,1000,34,966], // LEFT RIGHT DOUBLE ARROW
  1077. 0x21D5: [772,272,611,31,579], // UP DOWN DOUBLE ARROW
  1078. 0x2200: [694,22,556,0,556], // FOR ALL
  1079. 0x2202: [715,22,531,42,566], // PARTIAL DIFFERENTIAL
  1080. 0x2203: [694,0,556,56,500], // THERE EXISTS
  1081. 0x2205: [772,78,500,39,460], // EMPTY SET
  1082. 0x2207: [683,33,833,46,786], // NABLA
  1083. 0x2208: [540,40,667,84,583], // ELEMENT OF
  1084. 0x2209: [716,215,667,84,583], // stix-negated (vert) set membership, variant
  1085. 0x220B: [540,40,667,83,582], // CONTAINS AS MEMBER
  1086. 0x2212: [270,-230,778,84,694], // MINUS SIGN
  1087. 0x2213: [500,166,778,56,722], // MINUS-OR-PLUS SIGN
  1088. 0x2215: [750,250,500,56,445], // DIVISION SLASH
  1089. 0x2216: [750,250,500,56,444], // SET MINUS
  1090. 0x2217: [465,-35,500,64,435], // ASTERISK OPERATOR
  1091. 0x2218: [444,-55,500,55,444], // RING OPERATOR
  1092. 0x2219: [444,-55,500,55,444], // BULLET OPERATOR
  1093. 0x221A: [800,200,833,72,853], // SQUARE ROOT
  1094. 0x221D: [442,11,778,56,722], // PROPORTIONAL TO
  1095. 0x221E: [442,11,1000,55,944], // INFINITY
  1096. 0x2220: [694,0,722,55,666], // ANGLE
  1097. 0x2223: [750,249,278,119,159], // DIVIDES
  1098. 0x2225: [750,250,500,132,367], // PARALLEL TO
  1099. 0x2227: [598,22,667,55,611], // LOGICAL AND
  1100. 0x2228: [598,22,667,55,611], // LOGICAL OR
  1101. 0x2229: [598,22,667,55,611], // stix-intersection, serifs
  1102. 0x222A: [598,22,667,55,611], // stix-union, serifs
  1103. 0x222B: [716,216,417,55,472], // INTEGRAL
  1104. 0x223C: [367,-133,778,55,722], // TILDE OPERATOR
  1105. 0x2240: [583,83,278,55,222], // WREATH PRODUCT
  1106. 0x2243: [464,-36,778,55,722], // ASYMPTOTICALLY EQUAL TO
  1107. 0x2245: [589,-22,1000,55,722], // APPROXIMATELY EQUAL TO
  1108. 0x2248: [483,-55,778,55,722], // ALMOST EQUAL TO
  1109. 0x224D: [484,-16,778,55,722], // EQUIVALENT TO
  1110. 0x2250: [670,-133,778,56,722], // APPROACHES THE LIMIT
  1111. 0x2260: [716,215,778,56,722], // stix-not (vert) equals
  1112. 0x2261: [464,-36,778,56,722], // IDENTICAL TO
  1113. 0x2264: [636,138,778,83,694], // LESS-THAN OR EQUAL TO
  1114. 0x2265: [636,138,778,83,694], // GREATER-THAN OR EQUAL TO
  1115. 0x226A: [568,67,1000,56,944], // MUCH LESS-THAN
  1116. 0x226B: [567,67,1000,55,944], // MUCH GREATER-THAN
  1117. 0x227A: [539,41,778,84,694], // PRECEDES
  1118. 0x227B: [539,41,778,83,694], // SUCCEEDS
  1119. 0x2282: [540,40,778,84,694], // SUBSET OF
  1120. 0x2283: [540,40,778,83,693], // SUPERSET OF
  1121. 0x2286: [636,138,778,84,694], // SUBSET OF OR EQUAL TO
  1122. 0x2287: [636,138,778,83,693], // SUPERSET OF OR EQUAL TO
  1123. 0x228E: [598,22,667,55,611], // MULTISET UNION
  1124. 0x2291: [636,138,778,84,714], // SQUARE IMAGE OF OR EQUAL TO
  1125. 0x2292: [636,138,778,64,694], // SQUARE ORIGINAL OF OR EQUAL TO
  1126. 0x2293: [598,0,667,61,605], // stix-square intersection, serifs
  1127. 0x2294: [598,0,667,61,605], // stix-square union, serifs
  1128. 0x2295: [583,83,778,56,722], // stix-circled plus (with rim)
  1129. 0x2296: [583,83,778,56,722], // CIRCLED MINUS
  1130. 0x2297: [583,83,778,56,722], // stix-circled times (with rim)
  1131. 0x2298: [583,83,778,56,722], // CIRCLED DIVISION SLASH
  1132. 0x2299: [583,83,778,56,722], // CIRCLED DOT OPERATOR
  1133. 0x22A2: [694,0,611,55,555], // RIGHT TACK
  1134. 0x22A3: [694,0,611,55,555], // LEFT TACK
  1135. 0x22A4: [668,0,778,55,723], // DOWN TACK
  1136. 0x22A5: [668,0,778,55,723], // UP TACK
  1137. 0x22A8: [750,249,867,119,811], // TRUE
  1138. 0x22C4: [488,-12,500,12,488], // DIAMOND OPERATOR
  1139. 0x22C5: [310,-190,278,78,199], // DOT OPERATOR
  1140. 0x22C6: [486,-16,500,3,497], // STAR OPERATOR
  1141. 0x22C8: [505,5,900,26,873], // BOWTIE
  1142. 0x22EE: [900,30,278,78,199], // VERTICAL ELLIPSIS
  1143. 0x22EF: [310,-190,1172,78,1093], // MIDLINE HORIZONTAL ELLIPSIS
  1144. 0x22F1: [820,-100,1282,133,1148], // DOWN RIGHT DIAGONAL ELLIPSIS
  1145. 0x2308: [750,250,444,174,422], // LEFT CEILING
  1146. 0x2309: [750,250,444,21,269], // RIGHT CEILING
  1147. 0x230A: [750,250,444,174,422], // LEFT FLOOR
  1148. 0x230B: [750,250,444,21,269], // RIGHT FLOOR
  1149. 0x2322: [388,-122,1000,55,944], // stix-small down curve
  1150. 0x2323: [378,-134,1000,55,944], // stix-small up curve
  1151. 0x23B0: [744,244,412,55,357], // UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION
  1152. 0x23B1: [744,244,412,56,357], // UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION
  1153. 0x27E8: [750,250,389,110,333], // MATHEMATICAL LEFT ANGLE BRACKET
  1154. 0x27E9: [750,250,389,55,278], // MATHEMATICAL RIGHT ANGLE BRACKET
  1155. 0x27EE: [744,244,412,173,357], // MATHEMATICAL LEFT FLATTENED PARENTHESIS
  1156. 0x27EF: [744,244,412,56,240], // MATHEMATICAL RIGHT FLATTENED PARENTHESIS
  1157. 0x27F5: [511,11,1609,55,1525], // LONG LEFTWARDS ARROW
  1158. 0x27F6: [511,11,1638,84,1553], // LONG RIGHTWARDS ARROW
  1159. 0x27F7: [511,11,1859,55,1803], // LONG LEFT RIGHT ARROW
  1160. 0x27F8: [525,24,1609,56,1553], // LONG LEFTWARDS DOUBLE ARROW
  1161. 0x27F9: [525,24,1638,56,1582], // LONG RIGHTWARDS DOUBLE ARROW
  1162. 0x27FA: [525,24,1858,56,1802], // LONG LEFT RIGHT DOUBLE ARROW
  1163. 0x27FC: [511,11,1638,55,1553], // LONG RIGHTWARDS ARROW FROM BAR
  1164. 0x2A3F: [683,0,750,28,721], // AMALGAMATION OR COPRODUCT
  1165. 0x2AAF: [636,138,778,84,694], // PRECEDES ABOVE SINGLE-LINE EQUALS SIGN
  1166. 0x2AB0: [636,138,778,83,694] // SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN
  1167. };
  1168. HTMLCSS.FONTDATA.FONTS['MathJax_Math-italic'] = {
  1169. directory: 'Math/Italic',
  1170. family: 'MathJax_Math',
  1171. style: 'italic',
  1172. testString: "MathJax Math \u03A5",
  1173. skew: {
  1174. 0x41: 0.139,
  1175. 0x42: 0.0833,
  1176. 0x43: 0.0833,
  1177. 0x44: 0.0556,
  1178. 0x45: 0.0833,
  1179. 0x46: 0.0833,
  1180. 0x47: 0.0833,
  1181. 0x48: 0.0556,
  1182. 0x49: 0.111,
  1183. 0x4A: 0.167,
  1184. 0x4B: 0.0556,
  1185. 0x4C: 0.0278,
  1186. 0x4D: 0.0833,
  1187. 0x4E: 0.0833,
  1188. 0x4F: 0.0833,
  1189. 0x50: 0.0833,
  1190. 0x51: 0.0833,
  1191. 0x52: 0.0833,
  1192. 0x53: 0.0833,
  1193. 0x54: 0.0833,
  1194. 0x55: 0.0278,
  1195. 0x58: 0.0833,
  1196. 0x5A: 0.0833,
  1197. 0x63: 0.0556,
  1198. 0x64: 0.167,
  1199. 0x65: 0.0556,
  1200. 0x66: 0.167,
  1201. 0x67: 0.0278,
  1202. 0x68: -0.0278,
  1203. 0x6C: 0.0833,
  1204. 0x6F: 0.0556,
  1205. 0x70: 0.0833,
  1206. 0x71: 0.0833,
  1207. 0x72: 0.0556,
  1208. 0x73: 0.0556,
  1209. 0x74: 0.0833,
  1210. 0x75: 0.0278,
  1211. 0x76: 0.0278,
  1212. 0x77: 0.0833,
  1213. 0x78: 0.0278,
  1214. 0x79: 0.0556,
  1215. 0x7A: 0.0556,
  1216. 0x393: 0.0833,
  1217. 0x394: 0.167,
  1218. 0x398: 0.0833,
  1219. 0x39B: 0.167,
  1220. 0x39E: 0.0833,
  1221. 0x3A0: 0.0556,
  1222. 0x3A3: 0.0833,
  1223. 0x3A5: 0.0556,
  1224. 0x3A6: 0.0833,
  1225. 0x3A8: 0.0556,
  1226. 0x3A9: 0.0833,
  1227. 0x3B1: 0.0278,
  1228. 0x3B2: 0.0833,
  1229. 0x3B4: 0.0556,
  1230. 0x3B5: 0.0833,
  1231. 0x3B6: 0.0833,
  1232. 0x3B7: 0.0556,
  1233. 0x3B8: 0.0833,
  1234. 0x3B9: 0.0556,
  1235. 0x3BC: 0.0278,
  1236. 0x3BD: 0.0278,
  1237. 0x3BE: 0.111,
  1238. 0x3BF: 0.0556,
  1239. 0x3C1: 0.0833,
  1240. 0x3C2: 0.0833,
  1241. 0x3C4: 0.0278,
  1242. 0x3C5: 0.0278,
  1243. 0x3C6: 0.0833,
  1244. 0x3C7: 0.0556,
  1245. 0x3C8: 0.111,
  1246. 0x3D1: 0.0833,
  1247. 0x3D5: 0.0833,
  1248. 0x3F1: 0.0833,
  1249. 0x3F5: 0.0556
  1250. },
  1251. 0x20: [0,0,250,0,0], // SPACE
  1252. 0x2F: [716,215,778,139,638], // SOLIDUS
  1253. 0x41: [716,0,750,35,726], // LATIN CAPITAL LETTER A
  1254. 0x42: [683,0,759,35,756], // LATIN CAPITAL LETTER B
  1255. 0x43: [705,22,715,50,760], // LATIN CAPITAL LETTER C
  1256. 0x44: [683,0,828,33,803], // LATIN CAPITAL LETTER D
  1257. 0x45: [680,0,738,31,764], // LATIN CAPITAL LETTER E
  1258. 0x46: [680,0,643,31,749], // LATIN CAPITAL LETTER F
  1259. 0x47: [705,22,786,50,760], // LATIN CAPITAL LETTER G
  1260. 0x48: [683,0,831,31,888], // LATIN CAPITAL LETTER H
  1261. 0x49: [683,0,440,26,504], // LATIN CAPITAL LETTER I
  1262. 0x4A: [683,22,555,57,633], // LATIN CAPITAL LETTER J
  1263. 0x4B: [683,0,849,31,889], // LATIN CAPITAL LETTER K
  1264. 0x4C: [683,0,681,32,647], // LATIN CAPITAL LETTER L
  1265. 0x4D: [683,0,970,35,1051], // LATIN CAPITAL LETTER M
  1266. 0x4E: [683,0,803,31,888], // LATIN CAPITAL LETTER N
  1267. 0x4F: [704,22,763,50,740], // LATIN CAPITAL LETTER O
  1268. 0x50: [683,0,642,33,751], // LATIN CAPITAL LETTER P
  1269. 0x51: [704,194,791,50,740], // LATIN CAPITAL LETTER Q
  1270. 0x52: [683,21,759,33,755], // LATIN CAPITAL LETTER R
  1271. 0x53: [705,22,613,52,645], // LATIN CAPITAL LETTER S
  1272. 0x54: [677,0,584,21,704], // LATIN CAPITAL LETTER T
  1273. 0x55: [683,22,683,60,767], // LATIN CAPITAL LETTER U
  1274. 0x56: [683,22,583,52,769], // LATIN CAPITAL LETTER V
  1275. 0x57: [683,22,944,51,1048], // LATIN CAPITAL LETTER W
  1276. 0x58: [683,0,828,26,852], // LATIN CAPITAL LETTER X
  1277. 0x59: [683,-1,581,30,763], // LATIN CAPITAL LETTER Y
  1278. 0x5A: [683,0,683,58,723], // LATIN CAPITAL LETTER Z
  1279. 0x61: [441,10,529,33,506], // LATIN SMALL LETTER A
  1280. 0x62: [694,11,429,40,422], // LATIN SMALL LETTER B
  1281. 0x63: [442,11,433,34,429], // LATIN SMALL LETTER C
  1282. 0x64: [694,10,520,33,523], // LATIN SMALL LETTER D
  1283. 0x65: [442,11,466,39,429], // LATIN SMALL LETTER E
  1284. 0x66: [705,205,490,55,550], // LATIN SMALL LETTER F
  1285. 0x67: [442,205,477,10,480], // LATIN SMALL LETTER G
  1286. 0x68: [694,11,576,48,555], // LATIN SMALL LETTER H
  1287. 0x69: [661,11,345,21,302], // LATIN SMALL LETTER I
  1288. 0x6A: [661,204,412,-12,403], // LATIN SMALL LETTER J
  1289. 0x6B: [694,11,521,48,503], // LATIN SMALL LETTER K
  1290. 0x6C: [694,11,298,38,266], // LATIN SMALL LETTER L
  1291. 0x6D: [442,11,878,21,857], // LATIN SMALL LETTER M
  1292. 0x6E: [442,11,600,21,580], // LATIN SMALL LETTER N
  1293. 0x6F: [441,11,485,34,476], // LATIN SMALL LETTER O
  1294. 0x70: [442,194,503,-39,497], // LATIN SMALL LETTER P
  1295. 0x71: [442,194,446,33,460], // LATIN SMALL LETTER Q
  1296. 0x72: [442,11,451,21,430], // LATIN SMALL LETTER R
  1297. 0x73: [442,10,469,53,419], // LATIN SMALL LETTER S
  1298. 0x74: [626,11,361,19,330], // LATIN SMALL LETTER T
  1299. 0x75: [442,11,572,21,551], // LATIN SMALL LETTER U
  1300. 0x76: [443,11,485,21,467], // LATIN SMALL LETTER V
  1301. 0x77: [443,11,716,21,690], // LATIN SMALL LETTER W
  1302. 0x78: [442,11,572,35,522], // LATIN SMALL LETTER X
  1303. 0x79: [442,205,490,21,496], // LATIN SMALL LETTER Y
  1304. 0x7A: [442,11,465,35,468], // LATIN SMALL LETTER Z
  1305. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1306. 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA
  1307. 0x394: [716,0,833,48,788], // GREEK CAPITAL LETTER DELTA
  1308. 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA
  1309. 0x39B: [716,0,694,35,670], // GREEK CAPITAL LETTER LAMDA
  1310. 0x39E: [677,0,742,53,777], // GREEK CAPITAL LETTER XI
  1311. 0x3A0: [680,0,831,31,887], // GREEK CAPITAL LETTER PI
  1312. 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA
  1313. 0x3A5: [705,0,583,28,700], // GREEK CAPITAL LETTER UPSILON
  1314. 0x3A6: [683,0,667,24,642], // GREEK CAPITAL LETTER PHI
  1315. 0x3A8: [683,0,612,21,692], // GREEK CAPITAL LETTER PSI
  1316. 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA
  1317. 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA
  1318. 0x3B2: [705,194,566,23,573], // GREEK SMALL LETTER BETA
  1319. 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA
  1320. 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA
  1321. 0x3B5: [452,22,466,27,428], // GREEK SMALL LETTER EPSILON
  1322. 0x3B6: [704,204,438,44,471], // GREEK SMALL LETTER ZETA
  1323. 0x3B7: [442,216,497,21,503], // GREEK SMALL LETTER ETA
  1324. 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA
  1325. 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA
  1326. 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA
  1327. 0x3BB: [694,12,583,47,556], // GREEK SMALL LETTER LAMDA
  1328. 0x3BC: [442,216,603,23,580], // GREEK SMALL LETTER MU
  1329. 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU
  1330. 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI
  1331. 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON
  1332. 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI
  1333. 0x3C1: [442,216,517,23,510], // GREEK SMALL LETTER RHO
  1334. 0x3C2: [442,107,363,31,405], // GREEK SMALL LETTER FINAL SIGMA
  1335. 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA
  1336. 0x3C4: [431,13,437,18,517], // GREEK SMALL LETTER TAU
  1337. 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON
  1338. 0x3C6: [442,218,654,50,618], // GREEK SMALL LETTER PHI
  1339. 0x3C7: [442,204,626,25,600], // GREEK SMALL LETTER CHI
  1340. 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI
  1341. 0x3C9: [443,11,622,15,604], // GREEK SMALL LETTER OMEGA
  1342. 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL
  1343. 0x3D5: [694,205,596,43,579], // GREEK PHI SYMBOL
  1344. 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL
  1345. 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL
  1346. 0x3F5: [431,11,406,40,382] // GREEK LUNATE EPSILON SYMBOL
  1347. };
  1348. HTMLCSS.FONTDATA.FONTS['MathJax_Size1'] = {
  1349. directory: 'Size1/Regular',
  1350. family: 'MathJax_Size1',
  1351. testString: "() [] {}",
  1352. 0x20: [0,0,250,0,0], // SPACE
  1353. 0x28: [850,349,458,152,422], // LEFT PARENTHESIS
  1354. 0x29: [850,349,458,35,305], // RIGHT PARENTHESIS
  1355. 0x2F: [850,349,578,55,522], // SOLIDUS
  1356. 0x5B: [850,349,417,202,394], // LEFT SQUARE BRACKET
  1357. 0x5C: [850,349,578,54,522], // REVERSE SOLIDUS
  1358. 0x5D: [850,349,417,22,214], // RIGHT SQUARE BRACKET
  1359. 0x7B: [850,349,583,105,477], // LEFT CURLY BRACKET
  1360. 0x7D: [850,349,583,105,477], // RIGHT CURLY BRACKET
  1361. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1362. 0x2C6: [744,-551,556,-8,564], // MODIFIER LETTER CIRCUMFLEX ACCENT
  1363. 0x2DC: [722,-597,556,1,554], // SMALL TILDE
  1364. 0x302: [744,-551,0,-564,8], // COMBINING CIRCUMFLEX ACCENT
  1365. 0x303: [722,-597,0,-555,-2], // COMBINING TILDE
  1366. 0x2016: [602,0,778,257,521], // DOUBLE VERTICAL LINE
  1367. 0x2191: [600,0,667,112,555], // UPWARDS ARROW
  1368. 0x2193: [600,0,667,112,555], // DOWNWARDS ARROW
  1369. 0x21D1: [599,0,778,57,721], // UPWARDS DOUBLE ARROW
  1370. 0x21D3: [600,-1,778,57,721], // DOWNWARDS DOUBLE ARROW
  1371. 0x220F: [750,250,944,55,888], // N-ARY PRODUCT
  1372. 0x2210: [750,250,944,55,888], // N-ARY COPRODUCT
  1373. 0x2211: [750,250,1056,56,999], // N-ARY SUMMATION
  1374. 0x221A: [850,350,1000,111,1020], // SQUARE ROOT
  1375. 0x2223: [627,15,333,145,188], // DIVIDES
  1376. 0x2225: [627,15,556,145,410], // PARALLEL TO
  1377. 0x222B: [805,306,472,55,610], // INTEGRAL
  1378. 0x222C: [805,306,819,55,957], // DOUBLE INTEGRAL
  1379. 0x222D: [805,306,1166,55,1304], // TRIPLE INTEGRAL
  1380. 0x222E: [805,306,472,55,610], // CONTOUR INTEGRAL
  1381. 0x22C0: [750,249,833,55,777], // N-ARY LOGICAL AND
  1382. 0x22C1: [750,249,833,55,777], // N-ARY LOGICAL OR
  1383. 0x22C2: [750,249,833,55,777], // N-ARY INTERSECTION
  1384. 0x22C3: [750,249,833,55,777], // N-ARY UNION
  1385. 0x2308: [850,349,472,202,449], // LEFT CEILING
  1386. 0x2309: [850,349,472,22,269], // RIGHT CEILING
  1387. 0x230A: [850,349,472,202,449], // LEFT FLOOR
  1388. 0x230B: [850,349,472,22,269], // RIGHT FLOOR
  1389. 0x23D0: [602,0,667,312,355], // VERTICAL LINE EXTENSION (used to extend arrows)
  1390. 0x27E8: [850,350,472,97,394], // MATHEMATICAL LEFT ANGLE BRACKET
  1391. 0x27E9: [850,350,472,77,374], // MATHEMATICAL RIGHT ANGLE BRACKET
  1392. 0x2A00: [750,250,1111,56,1054], // N-ARY CIRCLED DOT OPERATOR
  1393. 0x2A01: [750,250,1111,56,1054], // N-ARY CIRCLED PLUS OPERATOR
  1394. 0x2A02: [750,250,1111,56,1054], // N-ARY CIRCLED TIMES OPERATOR
  1395. 0x2A04: [750,249,833,55,777], // N-ARY UNION OPERATOR WITH PLUS
  1396. 0x2A06: [750,249,833,55,777] // N-ARY SQUARE UNION OPERATOR
  1397. };
  1398. HTMLCSS.FONTDATA.FONTS['MathJax_Size2'] = {
  1399. directory: 'Size2/Regular',
  1400. family: 'MathJax_Size2',
  1401. testString: "() [] {}",
  1402. 0x20: [0,0,250,0,0], // SPACE
  1403. 0x28: [1150,649,597,180,561], // LEFT PARENTHESIS
  1404. 0x29: [1150,649,597,35,416], // RIGHT PARENTHESIS
  1405. 0x2F: [1150,649,811,56,754], // SOLIDUS
  1406. 0x5B: [1150,649,472,224,455], // LEFT SQUARE BRACKET
  1407. 0x5C: [1150,649,811,54,754], // REVERSE SOLIDUS
  1408. 0x5D: [1150,649,472,16,247], // RIGHT SQUARE BRACKET
  1409. 0x7B: [1150,649,667,119,547], // LEFT CURLY BRACKET
  1410. 0x7D: [1150,649,667,119,547], // RIGHT CURLY BRACKET
  1411. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1412. 0x2C6: [772,-565,1000,-5,1004], // MODIFIER LETTER CIRCUMFLEX ACCENT
  1413. 0x2DC: [750,-611,1000,0,999], // SMALL TILDE
  1414. 0x302: [772,-565,0,-1005,4], // COMBINING CIRCUMFLEX ACCENT
  1415. 0x303: [750,-611,0,-1000,-1], // COMBINING TILDE
  1416. 0x220F: [950,450,1278,56,1221], // N-ARY PRODUCT
  1417. 0x2210: [950,450,1278,56,1221], // N-ARY COPRODUCT
  1418. 0x2211: [950,450,1444,55,1388], // N-ARY SUMMATION
  1419. 0x221A: [1150,650,1000,111,1020], // SQUARE ROOT
  1420. 0x222B: [1360,862,556,55,944], // INTEGRAL
  1421. 0x222C: [1360,862,1084,55,1472], // DOUBLE INTEGRAL
  1422. 0x222D: [1360,862,1592,55,1980], // TRIPLE INTEGRAL
  1423. 0x222E: [1360,862,556,55,944], // CONTOUR INTEGRAL
  1424. 0x22C0: [950,450,1111,55,1055], // N-ARY LOGICAL AND
  1425. 0x22C1: [950,450,1111,55,1055], // N-ARY LOGICAL OR
  1426. 0x22C2: [949,450,1111,55,1055], // N-ARY INTERSECTION
  1427. 0x22C3: [950,449,1111,55,1055], // N-ARY UNION
  1428. 0x2308: [1150,649,528,224,511], // LEFT CEILING
  1429. 0x2309: [1150,649,528,16,303], // RIGHT CEILING
  1430. 0x230A: [1150,649,528,224,511], // LEFT FLOOR
  1431. 0x230B: [1150,649,528,16,303], // RIGHT FLOOR
  1432. 0x27E8: [1150,649,611,112,524], // MATHEMATICAL LEFT ANGLE BRACKET
  1433. 0x27E9: [1150,649,611,85,498], // MATHEMATICAL RIGHT ANGLE BRACKET
  1434. 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR
  1435. 0x2A01: [949,449,1511,56,1454], // N-ARY CIRCLED PLUS OPERATOR
  1436. 0x2A02: [949,449,1511,56,1454], // N-ARY CIRCLED TIMES OPERATOR
  1437. 0x2A04: [950,449,1111,55,1055], // N-ARY UNION OPERATOR WITH PLUS
  1438. 0x2A06: [950,450,1111,55,1055] // N-ARY SQUARE UNION OPERATOR
  1439. };
  1440. HTMLCSS.FONTDATA.FONTS['MathJax_Size3'] = {
  1441. directory: 'Size3/Regular',
  1442. family: 'MathJax_Size3',
  1443. testString: "() [] {}",
  1444. 0x20: [0,0,250,0,0], // SPACE
  1445. 0x28: [1450,949,736,209,701], // LEFT PARENTHESIS
  1446. 0x29: [1450,949,736,34,526], // RIGHT PARENTHESIS
  1447. 0x2F: [1450,949,1044,55,989], // SOLIDUS
  1448. 0x5B: [1450,949,528,247,516], // LEFT SQUARE BRACKET
  1449. 0x5C: [1450,949,1044,56,988], // REVERSE SOLIDUS
  1450. 0x5D: [1450,949,528,11,280], // RIGHT SQUARE BRACKET
  1451. 0x7B: [1450,949,750,130,618], // LEFT CURLY BRACKET
  1452. 0x7D: [1450,949,750,131,618], // RIGHT CURLY BRACKET
  1453. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1454. 0x2C6: [772,-564,1444,-4,1447], // MODIFIER LETTER CIRCUMFLEX ACCENT
  1455. 0x2DC: [749,-610,1444,1,1442], // SMALL TILDE
  1456. 0x302: [772,-564,0,-1448,3], // COMBINING CIRCUMFLEX ACCENT
  1457. 0x303: [749,-610,0,-1443,-2], // COMBINING TILDE
  1458. 0x221A: [1450,950,1000,111,1020], // SQUARE ROOT
  1459. 0x2308: [1450,949,583,246,571], // LEFT CEILING
  1460. 0x2309: [1450,949,583,11,336], // RIGHT CEILING
  1461. 0x230A: [1450,949,583,246,571], // LEFT FLOOR
  1462. 0x230B: [1450,949,583,11,336], // RIGHT FLOOR
  1463. 0x27E8: [1450,950,750,126,654], // MATHEMATICAL LEFT ANGLE BRACKET
  1464. 0x27E9: [1450,949,750,94,623] // MATHEMATICAL RIGHT ANGLE BRACKET
  1465. };
  1466. HTMLCSS.FONTDATA.FONTS['MathJax_Size4'] = {
  1467. directory: 'Size4/Regular',
  1468. family: 'MathJax_Size4',
  1469. testString: "() [] {}",
  1470. 0x20: [0,0,250,0,0], // SPACE
  1471. 0x28: [1750,1249,792,237,758], // LEFT PARENTHESIS
  1472. 0x29: [1750,1249,792,33,554], // RIGHT PARENTHESIS
  1473. 0x2F: [1750,1249,1278,56,1221], // SOLIDUS
  1474. 0x5B: [1750,1249,583,269,577], // LEFT SQUARE BRACKET
  1475. 0x5C: [1750,1249,1278,56,1221], // REVERSE SOLIDUS
  1476. 0x5D: [1750,1249,583,5,313], // RIGHT SQUARE BRACKET
  1477. 0x7B: [1750,1249,806,144,661], // LEFT CURLY BRACKET
  1478. 0x7D: [1750,1249,806,144,661], // RIGHT CURLY BRACKET
  1479. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1480. 0x2C6: [845,-561,1889,-14,1902], // MODIFIER LETTER CIRCUMFLEX ACCENT
  1481. 0x2DC: [823,-583,1889,1,1885], // SMALL TILDE
  1482. 0x302: [845,-561,0,-1903,13], // COMBINING CIRCUMFLEX ACCENT
  1483. 0x303: [823,-583,0,-1888,-4], // COMBINING TILDE
  1484. 0x221A: [1750,1250,1000,111,1020], // SQUARE ROOT
  1485. 0x2308: [1750,1249,639,269,633], // LEFT CEILING
  1486. 0x2309: [1750,1249,639,5,369], // RIGHT CEILING
  1487. 0x230A: [1750,1249,639,269,633], // LEFT FLOOR
  1488. 0x230B: [1750,1249,639,5,369], // RIGHT FLOOR
  1489. 0x239B: [1154,655,875,291,843], // LEFT PARENTHESIS UPPER HOOK
  1490. 0x239C: [610,10,875,291,417], // LEFT PARENTHESIS EXTENSION
  1491. 0x239D: [1165,644,875,291,843], // LEFT PARENTHESIS LOWER HOOK
  1492. 0x239E: [1154,655,875,31,583], // RIGHT PARENTHESIS UPPER HOOK
  1493. 0x239F: [610,10,875,457,583], // RIGHT PARENTHESIS EXTENSION
  1494. 0x23A0: [1165,644,875,31,583], // RIGHT PARENTHESIS LOWER HOOK
  1495. 0x23A1: [1154,645,667,319,666], // LEFT SQUARE BRACKET UPPER CORNER
  1496. 0x23A2: [602,0,667,319,403], // LEFT SQUARE BRACKET EXTENSION
  1497. 0x23A3: [1155,644,667,319,666], // LEFT SQUARE BRACKET LOWER CORNER
  1498. 0x23A4: [1154,645,667,0,347], // RIGHT SQUARE BRACKET UPPER CORNER
  1499. 0x23A5: [602,0,667,263,347], // RIGHT SQUARE BRACKET EXTENSION
  1500. 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER
  1501. 0x23A7: [899,10,889,384,718], // LEFT CURLY BRACKET UPPER HOOK
  1502. 0x23A8: [1160,660,889,170,504], // LEFT CURLY BRACKET MIDDLE PIECE
  1503. 0x23A9: [10,899,889,384,718], // LEFT CURLY BRACKET LOWER HOOK
  1504. 0x23AA: [310,10,889,384,504], // CURLY BRACKET EXTENSION
  1505. 0x23AB: [899,10,889,170,504], // RIGHT CURLY BRACKET UPPER HOOK
  1506. 0x23AC: [1160,660,889,384,718], // RIGHT CURLY BRACKET MIDDLE PIECE
  1507. 0x23AD: [10,899,889,170,504], // RIGHT CURLY BRACKET LOWER HOOK
  1508. 0x23B7: [935,885,1056,111,742], // RADICAL SYMBOL BOTTOM
  1509. 0x27E8: [1750,1248,806,140,703], // MATHEMATICAL LEFT ANGLE BRACKET
  1510. 0x27E9: [1750,1248,806,103,665], // MATHEMATICAL RIGHT ANGLE BRACKET
  1511. 0xE000: [625,14,1056,702,742], // stix-radical symbol vertical extender
  1512. 0xE001: [605,14,1056,702,1076], // stix-radical symbol top corner piece
  1513. 0xE150: [120,213,450,-24,460], // stix-horizontal brace, down left piece
  1514. 0xE151: [120,213,450,-10,474], // stix-horizontal brace, down right piece
  1515. 0xE152: [333,0,450,-24,460], // stix-horizontal brace, upper left piece
  1516. 0xE153: [333,0,450,-10,474], // stix-horizontal brace, upper right piece
  1517. 0xE154: [120,0,400,-10,410] // stix-oblique open face capital letter A
  1518. };
  1519. HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x22EE][0] += 400; // adjust height for \vdots
  1520. HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x22F1][0] += 700; // adjust height for \ddots
  1521. HTMLCSS.FONTDATA.FONTS['MathJax_Size4'][0xE154][0] += 200; // adjust height for brace extender
  1522. HTMLCSS.FONTDATA.FONTS['MathJax_Size4'][0xE154][1] += 200; // adjust depth for brace extender
  1523. HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x2212][1] += 100; // adjust depth of minus (used as arrow extender)
  1524. HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x003D][1] += 100; // adjust depth of = (used as arrow extender)
  1525. HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x2245][2] -= 222; // fix error in character's right bearing
  1526. HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x2245][5] = {rfix:-222}; // fix error in character's right bearing
  1527. MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir+"/Main/Bold/MathOperators.js",function () {
  1528. HTMLCSS.FONTDATA.FONTS['MathJax_Main-bold'][0x2245][2] -= 106; // fix error in character's right bearing
  1529. HTMLCSS.FONTDATA.FONTS['MathJax_Main-bold'][0x2245][5] = {rfix:-106}; // fix error in character's right bearing
  1530. });
  1531. MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir+"/Typewriter/Regular/BasicLatin.js",function () {
  1532. HTMLCSS.FONTDATA.FONTS['MathJax_Typewriter'][0x20][2] += 275; // fix error in character width
  1533. HTMLCSS.FONTDATA.FONTS['MathJax_Typewriter'][0x20][5] = {rfix:275}; // fix error in character width
  1534. });
  1535. //
  1536. // Add some spacing characters (more will come later)
  1537. //
  1538. MathJax.Hub.Insert(HTMLCSS.FONTDATA.FONTS['MathJax_Main'],{
  1539. 0xEEE0: [0,0,-575,0,0,{space:1}],
  1540. 0xEEE1: [0,0,-300,0,0,{space:1}],
  1541. 0xEEE8: [0,0,25,0,0,{space:1}]
  1542. });
  1543. if (!HTMLCSS.imgFonts) {
  1544. MathJax.Hub.Browser.Select({
  1545. MSIE: function (browser) {
  1546. if (HTMLCSS.config.availableFonts && HTMLCSS.config.availableFonts.length) {
  1547. HTMLCSS.FONTDATA.REMAP[0x2C9] = 0xAF; // macron
  1548. HTMLCSS.FONTDATA.REMAP[0x2CA] = 0xB4; // acute
  1549. HTMLCSS.FONTDATA.REMAP[0x2CB] = 0x60; // grave
  1550. HTMLCSS.FONTDATA.REMAP[0x2DA] = 0xB0; // ring above
  1551. var testString = HTMLCSS.msieCheckGreek =
  1552. String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B);
  1553. HTMLCSS.FONTDATA.RANGES.push({name: "IEgreek", low: 0x03B1, high: 0x03C9, offset: "IEG", add: 32});
  1554. HTMLCSS.FONTDATA.RANGES.push({name: "IEGreek", low: 0x0391, high: 0x03F6, offset: "IEG"});
  1555. if (HTMLCSS.Font.testFont({family:"MathJax_Greek", testString: testString})) {
  1556. HTMLCSS.Augment({
  1557. FONTDATA: {
  1558. VARIANT: {
  1559. normal: {offsetIEG: 0x391, variantIEG: "-Greek"},
  1560. "fraktur": {offsetIEG: 0x391, variantIEG: "-Greek"},
  1561. "script": {offsetIEG: 0x391, variantIEG: "-Greek"},
  1562. "-tex-caligraphic": {offsetIEG: 0x391, variantIEG: "-Greek"},
  1563. "-tex-oldstyle": {offsetIEG: 0x391, variantIEG: "-Greek"},
  1564. "-Greek": {fonts:["MathJax_Greek"]}
  1565. }
  1566. }
  1567. });
  1568. HTMLCSS.FONTDATA.FONTS['MathJax_Greek'] = {
  1569. directory: 'Greek/Regular',
  1570. family: 'MathJax_Greek',
  1571. testString: "\u0393 \u03A5 \u039B",
  1572. 0x20: [0,0,250,0,0], // SPACE
  1573. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1574. 0x393: [680,0,625,25,582], // GREEK CAPITAL LETTER GAMMA
  1575. 0x394: [716,0,833,46,786], // GREEK CAPITAL LETTER DELTA
  1576. 0x398: [705,22,778,56,722], // GREEK CAPITAL LETTER THETA
  1577. 0x39B: [716,0,694,32,661], // GREEK CAPITAL LETTER LAMDA
  1578. 0x39E: [677,0,667,42,624], // GREEK CAPITAL LETTER XI
  1579. 0x3A0: [680,0,750,25,724], // GREEK CAPITAL LETTER PI
  1580. 0x3A3: [683,0,722,55,666], // GREEK CAPITAL LETTER SIGMA
  1581. 0x3A5: [705,0,778,55,722], // GREEK CAPITAL LETTER UPSILON
  1582. 0x3A6: [683,0,722,56,665], // GREEK CAPITAL LETTER PHI
  1583. 0x3A8: [683,0,778,55,722], // GREEK CAPITAL LETTER PSI
  1584. 0x3A9: [704,0,722,44,677] // GREEK CAPITAL LETTER OMEGA
  1585. };
  1586. }
  1587. if (HTMLCSS.Font.testFont({family:"MathJax_Greek", weight:"bold", testString: testString})) {
  1588. HTMLCSS.Augment({
  1589. FONTDATA: {
  1590. VARIANT: {
  1591. bold: {offsetIEG: 0x391, variantIEG: "-Greek-Bold"},
  1592. "bold-fraktur": {offsetIEG: 0x391, variantIEG: "-Greek-Bold"},
  1593. "bold-script": {offsetIEG: 0x391, variantIEG: "-Greek-Bold"},
  1594. "-Greek-Bold": {fonts:["MathJax_Greek-bold"]}
  1595. }
  1596. }
  1597. });
  1598. HTMLCSS.FONTDATA.FONTS['MathJax_Greek-bold'] = {
  1599. directory: 'Greek/Bold',
  1600. family: 'MathJax_Greek',
  1601. weight: 'bold',
  1602. testString: "\u0393 \u03A5 \u039B",
  1603. 0x20: [0,0,250,0,0], // SPACE
  1604. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1605. 0x393: [680,0,692,39,643], // GREEK CAPITAL LETTER GAMMA
  1606. 0x394: [698,0,958,56,901], // GREEK CAPITAL LETTER DELTA
  1607. 0x398: [696,10,894,64,829], // GREEK CAPITAL LETTER THETA
  1608. 0x39B: [698,0,806,40,765], // GREEK CAPITAL LETTER LAMDA
  1609. 0x39E: [675,0,767,48,718], // GREEK CAPITAL LETTER XI
  1610. 0x3A0: [680,0,900,39,860], // GREEK CAPITAL LETTER PI
  1611. 0x3A3: [686,0,831,64,766], // GREEK CAPITAL LETTER SIGMA
  1612. 0x3A5: [697,0,894,64,829], // GREEK CAPITAL LETTER UPSILON
  1613. 0x3A6: [686,0,831,64,766], // GREEK CAPITAL LETTER PHI
  1614. 0x3A8: [686,0,894,64,829], // GREEK CAPITAL LETTER PSI
  1615. 0x3A9: [696,1,831,51,779] // GREEK CAPITAL LETTER OMEGA
  1616. };
  1617. }
  1618. if (HTMLCSS.Font.testFont({family:"MathJax_Greek", style:"italic", testString: testString})) {
  1619. HTMLCSS.Augment({
  1620. FONTDATA: {
  1621. VARIANT: {
  1622. italic: {offsetIEG: 0x391, variantIEG: "-Greek-Italic"},
  1623. "-Greek-Italic": {fonts:["MathJax_Greek-italic"]}
  1624. }
  1625. }
  1626. });
  1627. HTMLCSS.FONTDATA.FONTS['MathJax_Greek-italic'] = {
  1628. directory: 'Greek/Italic',
  1629. family: 'MathJax_Greek',
  1630. style: 'italic',
  1631. testString: "\u0393 \u03A5 \u039B",
  1632. skew: {
  1633. 0x393: 0.0833,
  1634. 0x394: 0.167,
  1635. 0x398: 0.0833,
  1636. 0x39B: 0.167,
  1637. 0x39E: 0.0833,
  1638. 0x3A0: 0.0556,
  1639. 0x3A3: 0.0833,
  1640. 0x3A5: 0.0556,
  1641. 0x3A6: 0.0833,
  1642. 0x3A8: 0.0556,
  1643. 0x3A9: 0.0833,
  1644. 0x3B1: 0.0278,
  1645. 0x3B2: 0.0833,
  1646. 0x3B4: 0.0556,
  1647. 0x3B5: 0.0833,
  1648. 0x3B6: 0.0833,
  1649. 0x3B7: 0.0556,
  1650. 0x3B8: 0.0833,
  1651. 0x3B9: 0.0556,
  1652. 0x3BC: 0.0278,
  1653. 0x3BD: 0.0278,
  1654. 0x3BE: 0.111,
  1655. 0x3BF: 0.0556,
  1656. 0x3C1: 0.0833,
  1657. 0x3C2: 0.0833,
  1658. 0x3C4: 0.0278,
  1659. 0x3C5: 0.0278,
  1660. 0x3C6: 0.0833,
  1661. 0x3C7: 0.0556,
  1662. 0x3C8: 0.111,
  1663. 0x3D1: 0.0833,
  1664. 0x3D5: 0.0833,
  1665. 0x3F1: 0.0833,
  1666. 0x3F5: 0.0556
  1667. },
  1668. 0x20: [0,0,250,0,0], // SPACE
  1669. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1670. 0x393: [680,-1,615,31,721], // GREEK CAPITAL LETTER GAMMA
  1671. 0x394: [716,0,833,48,788], // GREEK CAPITAL LETTER DELTA
  1672. 0x398: [704,22,763,50,740], // GREEK CAPITAL LETTER THETA
  1673. 0x39B: [716,0,694,35,670], // GREEK CAPITAL LETTER LAMDA
  1674. 0x39E: [678,0,742,53,777], // GREEK CAPITAL LETTER XI
  1675. 0x3A0: [681,0,831,31,887], // GREEK CAPITAL LETTER PI
  1676. 0x3A3: [683,0,780,58,806], // GREEK CAPITAL LETTER SIGMA
  1677. 0x3A5: [705,0,583,28,700], // GREEK CAPITAL LETTER UPSILON
  1678. 0x3A6: [683,0,667,24,642], // GREEK CAPITAL LETTER PHI
  1679. 0x3A8: [683,0,612,21,692], // GREEK CAPITAL LETTER PSI
  1680. 0x3A9: [704,0,772,80,786], // GREEK CAPITAL LETTER OMEGA
  1681. 0x3B1: [442,11,640,34,603], // GREEK SMALL LETTER ALPHA
  1682. 0x3B2: [705,194,566,23,573], // GREEK SMALL LETTER BETA
  1683. 0x3B3: [441,216,518,11,543], // GREEK SMALL LETTER GAMMA
  1684. 0x3B4: [717,10,444,36,451], // GREEK SMALL LETTER DELTA
  1685. 0x3B5: [452,22,466,27,428], // GREEK SMALL LETTER EPSILON
  1686. 0x3B6: [704,204,438,44,471], // GREEK SMALL LETTER ZETA
  1687. 0x3B7: [442,216,497,21,503], // GREEK SMALL LETTER ETA
  1688. 0x3B8: [705,10,469,35,462], // GREEK SMALL LETTER THETA
  1689. 0x3B9: [442,10,354,48,332], // GREEK SMALL LETTER IOTA
  1690. 0x3BA: [442,11,576,49,554], // GREEK SMALL LETTER KAPPA
  1691. 0x3BB: [694,12,583,47,556], // GREEK SMALL LETTER LAMDA
  1692. 0x3BC: [442,216,603,23,580], // GREEK SMALL LETTER MU
  1693. 0x3BD: [442,2,494,45,530], // GREEK SMALL LETTER NU
  1694. 0x3BE: [704,205,438,21,443], // GREEK SMALL LETTER XI
  1695. 0x3BF: [441,11,485,34,476], // GREEK SMALL LETTER OMICRON
  1696. 0x3C0: [431,11,570,19,573], // GREEK SMALL LETTER PI
  1697. 0x3C1: [442,216,517,23,510], // GREEK SMALL LETTER RHO
  1698. 0x3C2: [442,107,363,31,405], // GREEK SMALL LETTER FINAL SIGMA
  1699. 0x3C3: [431,11,571,31,572], // GREEK SMALL LETTER SIGMA
  1700. 0x3C4: [431,13,437,18,517], // GREEK SMALL LETTER TAU
  1701. 0x3C5: [443,10,540,21,523], // GREEK SMALL LETTER UPSILON
  1702. 0x3C6: [442,218,654,50,618], // GREEK SMALL LETTER PHI
  1703. 0x3C7: [442,204,626,25,600], // GREEK SMALL LETTER CHI
  1704. 0x3C8: [694,205,651,21,634], // GREEK SMALL LETTER PSI
  1705. 0x3C9: [443,11,622,15,604], // GREEK SMALL LETTER OMEGA
  1706. 0x3D1: [705,11,591,21,563], // GREEK THETA SYMBOL
  1707. 0x3D5: [694,205,596,43,579], // GREEK PHI SYMBOL
  1708. 0x3D6: [431,10,828,19,823], // GREEK PI SYMBOL
  1709. 0x3F1: [442,194,517,67,510], // GREEK RHO SYMBOL
  1710. 0x3F5: [431,11,406,40,382] // GREEK LUNATE EPSILON SYMBOL
  1711. };
  1712. }
  1713. }
  1714. if (HTMLCSS.msieIE6) {
  1715. var WinIE6 = "MathJax_WinIE6";
  1716. HTMLCSS.FONTDATA.FONTS[WinIE6] = "WinIE6/Regular/Main.js";
  1717. HTMLCSS.FONTDATA.RANGES.push({name: "arrows", low: 0x2190, high: 0x2199, offset: "AR"});
  1718. var REMAP = {variant:"-WinIE6",
  1719. 0x21D2:0xE20A, 0x21D4:0xE20B, // \Rightarrow, \Leftrightarrow
  1720. 0x2200:0xE20C, 0x2202:0xE20D, 0x2203:0xE20E, 0x2207:0xE20F, // \forall, \partial, \exists, \nabla
  1721. 0x2208:0xE210, 0x220B:0xE211, 0x2215:0xE212, 0x221A:0xE213, // \in, \ni, /, \surd
  1722. 0x221D:0xE214, 0x221E:0xE215, 0x2220:0xE216, 0x2223:0xE217, // \propto, \infty, \angle, \vert
  1723. 0x2225:0xE218, 0x2227:0xE219, 0x2228:0xE21A, 0x2229:0xE21B, // \Vert, \wedge, \vee, \cap
  1724. 0x222A:0xE21C, 0x222B:0xE21D, 0x223C:0xE21E, 0x2248:0xE21F, // \cup, \int, \sim, \approx
  1725. 0x2260:0xE220, 0x2261:0xE221, 0x2264:0xE222, 0x2265:0xE223, // \ne, \equiv, \le, \ge
  1726. 0x226A:0xE224, 0x226B:0xE225, 0x2282:0xE226, 0x2283:0xE227, // \ll, \gg, \subset, \supset
  1727. 0x2286:0xE228, 0x2287:0xE229, 0x2295:0xE22A, 0x2299:0xE22B, // \subseteq, \supseteq, \oplus, \odot
  1728. 0x22A5:0xE22C, 0x25B3:0xE22D, 0x25BD:0xE22E, 0x25EF:0xE22F, // \bot, \bigtriangleup, \bigtriangledown, \bigcirc
  1729. 0x2660:0xE230, 0x2661:0xE231, 0x2662:0xE232, 0x2663:0xE233, // \spadesuit, \heartsuit, \diamondsuit, \clubsuit
  1730. 0x266D:0xE234, 0x266E:0xE235, 0x266F:0xE236, // \flat, \naturl, \sharp
  1731. 0x2266:0xE2C5, 0x2267:0xE2C6, 0x226E:0xE2C7, 0x226F:0xE2C8, // \leqq, \geqq, \nless, \ngtr
  1732. 0x231C:0xE2CA, 0x231D:0xE2CB, 0x231E:0xE2CC, 0x231F:0xE2CD, // corners
  1733. 0x250C:0xE2CA, 0x2510:0xE2CB, 0x2514:0xE2CC, 0x2518:0xE2CD, // corners (wrong positions)
  1734. 0x2571:0xE2CE, 0x2572:0xE2CF, 0x25A0:0xE2D0, 0x25A1:0xE2D1, // \diagup, \diagdown, \blacksquare, \square
  1735. 0x25B2:0xE2D2, 0x25B6:0xE2D4, 0x25BC:0xE2D5, // \blacktriangle, \blacktriangleright, \blacktriangledown
  1736. 0x25BD:0xE2D6, 0x25C0:0xE2D7, 0x25CA:0xE2D8, // \vartriangledown, \blacktriangleleft, \lozenge
  1737. 0x2234:0xE2D9, 0x2235:0xE2DA, 0x2252:0xE2DB, 0x2605:0xE2DC, // \therefor, \because, \fallingdotseq, \bigstar
  1738. 0x223D:0xE2DD // \backsim
  1739. };
  1740. var REMAPBOLD = {variant:"-WinIE6",
  1741. 0x21D2:0xE24A, 0x21D4:0xE24B, // \Rightarrow, \Leftrightarrow
  1742. 0x2200:0xE24C, 0x2202:0xE24D, 0x2203:0xE24E, 0x2207:0xE24F, // \forall, \partial, \exists, \nabla
  1743. 0x2208:0xE250, 0x220B:0xE251, 0x2215:0xE252, 0x221A:0xE253, // \in, \ni, /, \surd
  1744. 0x221D:0xE254, 0x221E:0xE255, 0x2220:0xE256, 0x2223:0xE257, // \propto, \infty, \angle, \vert
  1745. 0x2225:0xE258, 0x2227:0xE259, 0x2228:0xE25A, 0x2229:0xE25B, // \Vert, \wedge, \vee, \cap
  1746. 0x222A:0xE25C, 0x222B:0xE25D, 0x223C:0xE25E, 0x2248:0xE25F, // \cup, \int, \sim, \approx
  1747. 0x2260:0xE260, 0x2261:0xE261, 0x2264:0xE262, 0x2265:0xE263, // \ne, \equiv, \le, \ge
  1748. 0x226A:0xE264, 0x226B:0xE265, 0x2282:0xE266, 0x2283:0xE267, // \ll, \gg, \subset, \supset
  1749. 0x2286:0xE268, 0x2287:0xE269, 0x2295:0xE26A, 0x2299:0xE26B, // \subseteq, \supseteq, \oplus, \odot
  1750. 0x22A5:0xE26C, 0x25B3:0xE26D, 0x25BD:0xE26E, 0x25EF:0xE26F, // \bot, \bigtriangleup, \bigtriangledown, \bigcirc
  1751. 0x2660:0xE270, 0x2661:0xE271, 0x2662:0xE272, 0x2663:0xE273, // \spadesuit, \heartsuit, \diamondsuit, \clubsuit
  1752. 0x266D:0xE274, 0x266E:0xE275, 0x266F:0xE276, // \flat, \naturl, \sharp
  1753. 0x2266:0xE2C5, 0x2267:0xE2C6, 0x226E:0xE2C7, 0x226F:0xE2C8, // \leqq, \geqq, \nless, \ngtr
  1754. 0x231C:0xE2CA, 0x231D:0xE2CB, 0x231E:0xE2CC, 0x231F:0xE2CD, // corners
  1755. 0x250C:0xE2CA, 0x2510:0xE2CB, 0x2514:0xE2CC, 0x2518:0xE2CD, // corners (wrong positions)
  1756. 0x2571:0xE2CE, 0x2572:0xE2CF, 0x25A0:0xE2D0, 0x25A1:0xE2D1, // \diagup, \diagdown, \blacksquare, \square
  1757. 0x25B2:0xE2D2, 0x25B6:0xE2D4, 0x25BC:0xE2D5, // \blacktriangle, \blacktriangleright, \blacktriangledown
  1758. 0x25BD:0xE2D6, 0x25C0:0xE2D7, 0x25CA:0xE2D8, // \vartriangledown, \blacktriangleleft, \lozenge
  1759. 0x2234:0xE2D9, 0x2235:0xE2DA, 0x2252:0xE2DB, 0x2605:0xE2DC, // \therefor, \because, \fallingdotseq, \bigstar
  1760. 0x223D:0xE2DD // \backsim
  1761. };
  1762. var VARNORMAL = {offsetAR:0xE200, variantAR:"-WinIE6", remap: REMAP};
  1763. var VARBOLD = {offsetAR:0xE240, variantAR:"-WinIE6", remap: REMAPBOLD};
  1764. HTMLCSS.Augment({
  1765. FONTDATA: {
  1766. VARIANT: {
  1767. "normal": VARNORMAL,
  1768. "bold": VARBOLD,
  1769. "italic": VARNORMAL,
  1770. "bold-italic": VARBOLD,
  1771. "-TeX-variant": {remap:{
  1772. 0x2190:[0xE2C1,"-WinIE6"], 0x2192:[0xE2C0,"-WinIE6"],
  1773. 0x2223:[0xE2C2,"-WinIE6"], 0x2225:[0xE2C3,"-WinIE6"],
  1774. 0x223C:[0xE2C4,"-WinIE6"], 0x25B3:[0xE2D3,"-WinIE6"]
  1775. }},
  1776. "-largeOp": {fonts:[WinIE6,SIZE2,SIZE1,MAIN],
  1777. remap: {0x220F:0xE290, 0x2211:0xE291, 0x222B:0xE295, 0x222E:0xE296}},
  1778. "-smallOp": {fonts:[WinIE6,SIZE1,MAIN],
  1779. remap: {0x220F:0xE280, 0x2211:0xE281, 0x222B:0xE285, 0x222E:0xE286}},
  1780. "-WinIE6": {fonts:[WinIE6]}
  1781. },
  1782. DELIMITERS: {
  1783. 0x221A: {
  1784. HW:{
  1785. 0:[1,WinIE6,null,0xE213], 1:[1.2,WinIE6,null,0xE282], 2:[1.8,WinIE6,null,0xE292],
  1786. 3:[2.4,WinIE6,null,0xE2A2], 4:[3,WinIE6,null,0xE2B2]
  1787. }
  1788. },
  1789. 0x007C: {stretch:{ext:[0xE217,WinIE6]}},
  1790. 0x2223: {HW:{0:[1,WinIE6,null,0xE217]}, stretch:{ext:[0xE217,WinIE6]}},
  1791. 0x23D0: {HW:{1:[1,WinIE6,null,0xE217]}, stretch:{ext:[0xE217,WinIE6]}},
  1792. 0x2225: {HW:{0:[1,WinIE6,null,0xE218]}, stretch:{ext:[0xE218,WinIE6]}},
  1793. 0x2190: {HW:{0:[.889,WinIE6,null,0xE200]}, stretch:{left:[0xE200,WinIE6]}},
  1794. 0x2191: {HW:{0:[.888,WinIE6,null,0xE201]}, stretch:{top:[0xE287,WinIE6],ext:[0xE289,WinIE6]}},
  1795. 0x2192: {HW:{0:[.889,WinIE6,null,0xE202]}, stretch:{right:[0xE202,WinIE6]}},
  1796. 0x2193: {HW:{0:[.888,WinIE6,null,0xE203]}, stretch:{bot:[0xE288,WinIE6],ext:[0xE289,WinIE6]}},
  1797. 0x2194: {HW:{0:[1,WinIE6,null,0xE204]}, stretch:{left:[0xE200,WinIE6],right:[0xE202,WinIE6]}},
  1798. 0x2195: {HW:{0:[1.044,WinIE6,null,0xE203]}, stretch:{top:[0xE287,WinIE6],bot:[0xE288,WinIE6], ext:[0xE289,WinIE6]}}
  1799. }
  1800. }
  1801. });
  1802. }
  1803. },
  1804. Chrome: function (browser) {
  1805. if (browser.isPC && navigator.userAgent.match(/Windows NT (5|6.0)/)) {
  1806. //
  1807. // Chrome on XP and Vista don't seem to handle four combining characters,
  1808. // so work around them as best we can.
  1809. //
  1810. HTMLCSS.Augment({
  1811. FONTDATA: {
  1812. REMAP: {0x338: "\uEEE0/\uEEE8"}, // combining long solidas
  1813. REMAPACCENT: {
  1814. "\u0307":".", // combining dot above
  1815. "\u030B":"\u00B4\uEEE1\u00B4", // combining double acute accent
  1816. "\u20D7":"\u2192" // combining arrow above
  1817. }
  1818. }
  1819. });
  1820. delete HTMLCSS.FONTDATA.REMAPACCENT["\u2192"];
  1821. }
  1822. if (browser.isPC && !MathJax.Hub.Browser.versionAtLeast("5.0")) {
  1823. // FIXME: patch caligraphic bold, too
  1824. var WinChrome = "-WinChrome";
  1825. HTMLCSS.Augment({
  1826. FONTDATA: {
  1827. VARIANT: {
  1828. normal: {remap: {0x3E: [0x3E,WinChrome]}},
  1829. bold: {remap: {0xE2F1: [0x3E,WinChrome]}},
  1830. italic: {remap: {0x64: [0x64,WinChrome]}},
  1831. "-tex-caligraphic": {remap: {0x54: [0x54,WinChrome]}},
  1832. "-largeOp": {remap: {0x2A00: [0x2A00,WinChrome]}},
  1833. "-smallOp": {remap: {0x22C3: [0x22C3,WinChrome]}},
  1834. "-WinChrome": {fonts:["MathJax_WinChrome"]}
  1835. },
  1836. DELIMITERS: {
  1837. 0x005D: {stretch:{bot:[0x23A6,"MathJax_WinChrome"]}},
  1838. 0x230B: {stretch:{bot:[0x23A6,"MathJax_WinChrome"]}}
  1839. }
  1840. }
  1841. });
  1842. HTMLCSS.FONTDATA.FONTS['MathJax_WinChrome'] = {
  1843. directory: 'WinChrome/Regular',
  1844. family: 'MathJax_WinChrome',
  1845. testString: "> T d \u23A6 \u2A00",
  1846. skew: {
  1847. 0x54: 0.0278,
  1848. 0xE2F0: 0.0319
  1849. },
  1850. 0x20: [0,0,250,0,0], // SPACE
  1851. 0x3E: [540,40,778,83,694], // GREATER-THAN SIGN
  1852. 0x54: [717,68,545,34,833], // LATIN CAPITAL LETTER T
  1853. 0x64: [694,11,511,101,567], // LATIN SMALL LETTER D
  1854. 0xA0: [0,0,250,0,0], // NO-BREAK SPACE
  1855. 0x22C3: [750,249,833,55,777], // N-ARY UNION
  1856. 0x23A6: [1155,644,667,0,347], // RIGHT SQUARE BRACKET LOWER CORNER
  1857. 0x2A00: [949,449,1511,56,1454], // N-ARY CIRCLED DOT OPERATOR
  1858. 0xE2F0: [720,69,644,38,947], // stix-lowercase u italic slashed
  1859. 0xE2F1: [587,85,894,96,797] // stix-lowercase u bold italic slashed
  1860. };
  1861. }
  1862. }
  1863. });
  1864. }
  1865. //
  1866. // Create @font-face stylesheet for the declared fonts
  1867. //
  1868. (function () {
  1869. var FONTS = HTMLCSS.FONTDATA.FONTS, AVAIL = HTMLCSS.config.availableFonts;
  1870. var name, faces = [];
  1871. if (HTMLCSS.allowWebFonts) {
  1872. for (name in FONTS) {
  1873. if (FONTS[name].family) {
  1874. if (AVAIL && AVAIL.length && HTMLCSS.Font.testFont(FONTS[name])) {
  1875. FONTS[name].available = true;
  1876. HTMLCSS.Font.loadComplete(FONTS[name]);
  1877. } else {
  1878. FONTS[name].isWebFont = true;
  1879. if (HTMLCSS.FontFaceBug) {FONTS[name].family = name}
  1880. faces.push(HTMLCSS.Font.fontFace(name));
  1881. }
  1882. }
  1883. }
  1884. if (!HTMLCSS.config.preloadWebFonts) {HTMLCSS.config.preloadWebFonts = []}
  1885. HTMLCSS.config.preloadWebFonts.push(MAIN,ITALIC,SIZE1);
  1886. if (faces.length) {HTMLCSS.config.styles["@font-face"] = faces}
  1887. } else if (AVAIL && AVAIL.length) {
  1888. for (name in FONTS) {
  1889. if (FONTS[name].family && HTMLCSS.Font.testFont(FONTS[name])) {
  1890. FONTS[name].available = true;
  1891. HTMLCSS.Font.loadComplete(FONTS[name]);
  1892. }
  1893. }
  1894. }
  1895. })();
  1896. AJAX.loadComplete(HTMLCSS.fontDir + "/fontdata.js");
  1897. })(MathJax.OutputJax["HTML-CSS"],MathJax.ElementJax.mml,MathJax.Ajax);