fontdata.js 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713
  1. /*************************************************************
  2. *
  3. * MathJax/jax/output/HTML-CSS/fonts/Latin-Modern/fontdata.js
  4. *
  5. * Initializes the HTML-CSS OutputJax to use the Latin-Modern fonts
  6. * Copyright (c) 2013-2017 The MathJax Consortium
  7. *
  8. * Licensed under the Apache License, Version 2.0 (the "License");
  9. * you may not use this file except in compliance with the License.
  10. * You may obtain a copy of the License at
  11. *
  12. * http://www.apache.org/licenses/LICENSE-2.0
  13. *
  14. * Unless required by applicable law or agreed to in writing, software
  15. * distributed under the License is distributed on an "AS IS" BASIS,
  16. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  17. * See the License for the specific language governing permissions and
  18. * limitations under the License.
  19. */
  20. (function (HTMLCSS,MML,AJAX) {
  21. var VERSION = "2.7.2";
  22. var ALPHABETS = "LatinModernMathJax_Alphabets",
  23. ARROWS = "LatinModernMathJax_Arrows",
  24. DOUBLESTRUCK = "LatinModernMathJax_DoubleStruck",
  25. FRAKTUR = "LatinModernMathJax_Fraktur",
  26. LATIN = "LatinModernMathJax_Latin",
  27. MAIN = "LatinModernMathJax_Main",
  28. MARKS = "LatinModernMathJax_Marks",
  29. MISC = "LatinModernMathJax_Misc",
  30. MONOSPACE = "LatinModernMathJax_Monospace",
  31. NONUNICODE = "LatinModernMathJax_NonUnicode",
  32. NORMAL = "LatinModernMathJax_Normal",
  33. OPERATORS = "LatinModernMathJax_Operators",
  34. SANSSERIF = "LatinModernMathJax_SansSerif",
  35. SCRIPT = "LatinModernMathJax_Script",
  36. SHAPES = "LatinModernMathJax_Shapes",
  37. SIZE1 = "LatinModernMathJax_Size1",
  38. SIZE2 = "LatinModernMathJax_Size2",
  39. SIZE3 = "LatinModernMathJax_Size3",
  40. SIZE4 = "LatinModernMathJax_Size4",
  41. SIZE5 = "LatinModernMathJax_Size5",
  42. SIZE6 = "LatinModernMathJax_Size6",
  43. SIZE7 = "LatinModernMathJax_Size7",
  44. SYMBOLS = "LatinModernMathJax_Symbols",
  45. VARIANTS = "LatinModernMathJax_Variants";
  46. var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V};
  47. HTMLCSS.Augment({
  48. FONTDATA: {
  49. version: VERSION,
  50. TeX_factor: 1.091,
  51. baselineskip: 1.200,
  52. lineH: 0.800, lineD: 0.200,
  53. hasStyleChar: true, // char 0xEFFD encodes font style
  54. FONTS: {
  55. "LatinModernMathJax_Alphabets": "Alphabets/Regular/Main.js",
  56. "LatinModernMathJax_Arrows": "Arrows/Regular/Main.js",
  57. "LatinModernMathJax_DoubleStruck": "DoubleStruck/Regular/Main.js",
  58. "LatinModernMathJax_Fraktur": "Fraktur/Regular/Main.js",
  59. "LatinModernMathJax_Latin": "Latin/Regular/Main.js",
  60. "LatinModernMathJax_Main": "Main/Regular/Main.js",
  61. "LatinModernMathJax_Marks": "Marks/Regular/Main.js",
  62. "LatinModernMathJax_Misc": "Misc/Regular/Main.js",
  63. "LatinModernMathJax_Monospace": "Monospace/Regular/Main.js",
  64. "LatinModernMathJax_NonUnicode": "NonUnicode/Regular/Main.js",
  65. "LatinModernMathJax_Normal": "Normal/Regular/Main.js",
  66. "LatinModernMathJax_Operators": "Operators/Regular/Main.js",
  67. "LatinModernMathJax_SansSerif": "SansSerif/Regular/Main.js",
  68. "LatinModernMathJax_Script": "Script/Regular/Main.js",
  69. "LatinModernMathJax_Shapes": "Shapes/Regular/Main.js",
  70. "LatinModernMathJax_Size1": "Size1/Regular/Main.js",
  71. "LatinModernMathJax_Size2": "Size2/Regular/Main.js",
  72. "LatinModernMathJax_Size3": "Size3/Regular/Main.js",
  73. "LatinModernMathJax_Size4": "Size4/Regular/Main.js",
  74. "LatinModernMathJax_Size5": "Size5/Regular/Main.js",
  75. "LatinModernMathJax_Size6": "Size6/Regular/Main.js",
  76. "LatinModernMathJax_Size7": "Size7/Regular/Main.js",
  77. "LatinModernMathJax_Symbols": "Symbols/Regular/Main.js",
  78. "LatinModernMathJax_Variants": "Variants/Regular/Main.js"
  79. },
  80. VARIANT: {
  81. "normal": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1]},
  82. "bold": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1], bold:true
  83. , offsetA: 0x1D400, offsetG: 0x1D6A8, offsetN: 0x1D7CE},
  84. "italic": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1], italic:true, offsetA: 0x1D434, offsetG: 0x1D6E2, remap: {0x1D455: 0x210E}},
  85. "bold-italic": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1], bold: true, italic:true, offsetA: 0x1D468, offsetG: 0x1D71C},
  86. "double-struck": {
  87. fonts: [DOUBLESTRUCK],
  88. offsetA: 0x1D538,
  89. offsetN: 0x1D7D8,
  90. remap: {0x1D53A: 0x2102, 0x1D53F: 0x210D, 0x1D545: 0x2115, 0x1D547: 0x2119, 0x1D548: 0x211A, 0x1D549: 0x211D, 0x1D551: 0x2124}
  91. },
  92. "fraktur": {
  93. fonts: [FRAKTUR],
  94. offsetA: 0x1D504,
  95. remap: {0x1D506: 0x212D, 0x1D50B: 0x210C, 0x1D50C: 0x2111, 0x1D515: 0x211C, 0x1D51D: 0x2128}
  96. },
  97. "bold-fraktur": {
  98. fonts: [FRAKTUR], bold:true,
  99. offsetA: 0x1D56C
  100. },
  101. "script": {
  102. fonts: [SCRIPT], italic:true,
  103. offsetA: 0x1D49C,
  104. remap: {0x1D49D: 0x212C, 0x1D4A0: 0x2130, 0x1D4A1: 0x2131, 0x1D4A3: 0x210B, 0x1D4A4: 0x2110, 0x1D4A7: 0x2112, 0x1D4A8: 0x2133, 0x1D4AD: 0x211B, 0x1D4BA: 0x212F, 0x1D4BC: 0x210A, 0x1D4C4: 0x2134}
  105. },
  106. "bold-script": {
  107. fonts: [SCRIPT], bold:true, italic:true,
  108. offsetA: 0x1D4D0
  109. },
  110. "sans-serif": {
  111. fonts: [SANSSERIF],
  112. offsetA: 0x1D5A0,
  113. offsetN: 0x1D7E2
  114. },
  115. "bold-sans-serif": {
  116. fonts: [SANSSERIF], bold:true,
  117. offsetA: 0x1D5D4,
  118. offsetN: 0x1D7EC,
  119. offsetG: 0x1D756
  120. },
  121. "sans-serif-italic": {
  122. fonts: [SANSSERIF], italic: true,
  123. offsetA: 0x1D608
  124. },
  125. "sans-serif-bold-italic": {
  126. fonts: [SANSSERIF], bold:true, italic: true,
  127. offsetA: 0x1D63C,
  128. offsetG: 0x1D790
  129. },
  130. "monospace": {
  131. fonts: [MONOSPACE],
  132. offsetA: 0x1D670,
  133. offsetN: 0x1D7F6
  134. },
  135. "-Latin-Modern-variant": {fonts: [VARIANTS,MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,NONUNICODE,SIZE1]},
  136. "-tex-caligraphic": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1], italic: true},
  137. "-tex-oldstyle": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1]},
  138. "-tex-caligraphic-bold": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1], italic: true, bold: true},
  139. "-tex-oldstyle-bold": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1], bold: true},
  140. "-tex-mathit": {fonts: [MAIN,NORMAL,MONOSPACE,LATIN,ALPHABETS,MARKS,ARROWS,OPERATORS,SYMBOLS,SHAPES,MISC,VARIANTS,NONUNICODE,SIZE1], italic:true, noIC:true},
  141. "-largeOp": {fonts:[SIZE1,MAIN]},
  142. "-smallOp": {}
  143. },
  144. RANGES: [
  145. {name: "alpha", low: 0x61, high: 0x7A, offset: "A", add: 26},
  146. {name: "Alpha", low: 0x41, high: 0x5A, offset: "A"},
  147. {name: "number", low: 0x30, high: 0x39, offset: "N"},
  148. {name: "greek", low: 0x03B1, high: 0x03C9, offset: "G", add: 26},
  149. {name: "Greek", low: 0x0391, high: 0x03F6, offset: "G",
  150. remap: {0x03F5: 52, 0x03D1: 53, 0x03F0: 54, 0x03D5: 55, 0x03F1: 56, 0x03D6: 57, 0x03F4: 17}}
  151. ],
  152. RULECHAR: 0x2212,
  153. REMAP: {
  154. 0xA: 0x20,
  155. 0x25C2: 0x25C0,
  156. 0x3008: 0x27E8,
  157. 0x3009: 0x27E9,
  158. 0x2758: 0x2223,
  159. 0x25B8: 0x25B6,
  160. 0x03D2: 0x03A5,
  161. 0x25B4: 0x25B2,
  162. 0x25B5: 0x25B3,
  163. 0xFE37: 0x23DE,
  164. 0xFE38: 0x23DF,
  165. 0x02B9: 0x2032,
  166. 0x25FB: 0x25A1,
  167. 0x25FC: 0x25A0,
  168. 0x25BE: 0x25BC,
  169. 0x203E: 0x0305,
  170. 0x25BF: 0x25BD
  171. },
  172. REMAPACCENT: {
  173. "\u007E": "\u0303",
  174. "\u2192": "\u20D7",
  175. "\u0060": "\u0300",
  176. "\u005E": "\u0302",
  177. "\u00B4": "\u0301",
  178. "\u2032": "\u0301",
  179. "\u2035": "\u0300"
  180. },
  181. REMAPACCENTUNDER: {
  182. },
  183. DELIMITERS: {
  184. 0x28:
  185. {
  186. dir: V,
  187. HW: [[0.996,MAIN], [1.094,SIZE1], [1.194,SIZE2], [1.444,SIZE3], [1.792,SIZE4], [2.092,SIZE5], [2.392,SIZE6], [2.990,SIZE7]],
  188. stretch: {bot:[0x239D,SYMBOLS], ext:[0x239C,SYMBOLS], top:[0x239B,SYMBOLS]}
  189. },
  190. 0x29:
  191. {
  192. dir: V,
  193. HW: [[0.996,MAIN], [1.094,SIZE1], [1.194,SIZE2], [1.444,SIZE3], [1.792,SIZE4], [2.092,SIZE5], [2.392,SIZE6], [2.990,SIZE7]],
  194. stretch: {bot:[0x23A0,SYMBOLS], ext:[0x239F,SYMBOLS], top:[0x239E,SYMBOLS]}
  195. },
  196. 0x2D: {alias: 0x2212, dir: H},
  197. 0x2F:
  198. {
  199. dir: V,
  200. HW: [[1.000,MAIN], [1.310,SIZE1], [1.716,SIZE2], [1.771,SIZE2,1.032], [2.248,SIZE3], [2.944,SIZE4], [3.858,SIZE5], [5.054,SIZE6], [6.620,SIZE7]]
  201. },
  202. 0x3D:
  203. {
  204. dir: H,
  205. HW: [[0.666,MAIN]],
  206. stretch: {left:[0xE000,SIZE7], rep:[0xE001,SIZE7], right:[0xE002,SIZE7]}
  207. },
  208. 0x5B:
  209. {
  210. dir: V,
  211. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  212. stretch: {bot:[0x23A3,SYMBOLS], ext:[0x23A2,SYMBOLS], top:[0x23A1,SYMBOLS]}
  213. },
  214. 0x5C:
  215. {
  216. dir: V,
  217. HW: [[1.000,MAIN], [1.310,SIZE1], [1.716,SIZE2], [1.771,SIZE2,1.032], [2.248,SIZE3], [2.944,SIZE4], [3.858,SIZE5], [5.054,SIZE6], [6.620,SIZE7]]
  218. },
  219. 0x5D:
  220. {
  221. dir: V,
  222. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  223. stretch: {bot:[0x23A6,SYMBOLS], ext:[0x23A5,SYMBOLS], top:[0x23A4,SYMBOLS]}
  224. },
  225. 0x5E: {alias: 0x302, dir: H},
  226. 0x5F: {alias: 0x332, dir: H},
  227. 0x7B:
  228. {
  229. dir: V,
  230. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  231. stretch: {bot:[0x23A9,SYMBOLS], ext:[0xE003,SIZE7], mid:[0x23A8,SYMBOLS], top:[0x23A7,SYMBOLS]}
  232. },
  233. 0x7C:
  234. {
  235. dir: V,
  236. HW: [[1.000,MAIN], [1.202,SIZE1], [1.444,SIZE2], [1.734,SIZE3], [2.084,SIZE4], [2.502,SIZE5], [3.004,SIZE6], [3.606,SIZE7]],
  237. stretch: {bot:[0xE004,SIZE7], ext:[0xE005,SIZE7], top:[0xE006,SIZE7]}
  238. },
  239. 0x7D:
  240. {
  241. dir: V,
  242. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  243. stretch: {bot:[0x23AD,SYMBOLS], ext:[0xE007,SIZE7], mid:[0x23AC,SYMBOLS], top:[0x23AB,SYMBOLS]}
  244. },
  245. 0x7E: {alias: 0x303, dir: H},
  246. 0xAF: {alias: 0x332, dir: H},
  247. 0x2C6: {alias: 0x302, dir: H},
  248. 0x2C9: {alias: 0x2212, dir: H},
  249. 0x2DC: {alias: 0x303, dir: H},
  250. 0x302:
  251. {
  252. dir: H,
  253. HW: [[0.364,MAIN], [0.644,SIZE1], [0.768,SIZE2], [0.919,SIZE3], [1.100,SIZE4], [1.320,SIZE5], [1.581,SIZE6], [1.896,SIZE7]]
  254. },
  255. 0x303:
  256. {
  257. dir: H,
  258. HW: [[0.370,MAIN], [0.652,SIZE1], [0.778,SIZE2], [0.931,SIZE3], [1.115,SIZE4], [1.335,SIZE5], [1.599,SIZE6], [1.915,SIZE7]]
  259. },
  260. 0x305:
  261. {
  262. dir: H,
  263. HW: [[0.392,MARKS], [0.568,SIZE1]],
  264. stretch: {left:[0xE0FB,SIZE7], rep:[0xE0FC,SIZE7], right:[0xE0FD,SIZE7]}
  265. },
  266. 0x306: EXTRAH,
  267. 0x30C:
  268. {
  269. dir: H,
  270. HW: [[0.364,MAIN], [0.644,SIZE1], [0.768,SIZE2], [0.919,SIZE3], [1.100,SIZE4], [1.320,SIZE5], [1.581,SIZE6], [1.896,SIZE7]]
  271. },
  272. 0x311: EXTRAH,
  273. 0x32C: EXTRAH,
  274. 0x32D: EXTRAH,
  275. 0x32E: EXTRAH,
  276. 0x32F: EXTRAH,
  277. 0x330: EXTRAH,
  278. 0x332:
  279. {
  280. dir: H,
  281. HW: [[0.392,MARKS], [0.568,SIZE1]],
  282. stretch: {left:[0xE0F5,SIZE7], rep:[0xE0F6,SIZE7], right:[0xE0F7,SIZE7]}
  283. },
  284. 0x333: EXTRAH,
  285. 0x33F: EXTRAH,
  286. 0x2015: {alias: 0x2212, dir: H},
  287. 0x2016:
  288. {
  289. dir: V,
  290. HW: [[1.000,MAIN], [1.202,SIZE1], [1.444,SIZE2], [1.734,SIZE3], [2.084,SIZE4], [2.502,SIZE5], [3.004,SIZE6], [3.606,SIZE7]],
  291. stretch: {bot:[0xE12A,SIZE7], ext:[0xE12B,SIZE7], top:[0xE12C,SIZE7]}
  292. },
  293. 0x2017: {alias: 0x2212, dir: H},
  294. 0x203E: {alias: 0x2212, dir: H},
  295. 0x2044:
  296. {
  297. dir: V,
  298. HW: [[1.000,MAIN], [1.310,SIZE1], [1.716,SIZE2], [2.248,SIZE3], [2.944,SIZE4], [3.858,SIZE5], [5.054,SIZE6], [6.620,SIZE7]]
  299. },
  300. 0x20D0: EXTRAH,
  301. 0x20D1: EXTRAH,
  302. 0x20D6: EXTRAH,
  303. 0x20D7: EXTRAH,
  304. 0x20E1: EXTRAH,
  305. 0x20E9: EXTRAH,
  306. 0x20EC: EXTRAH,
  307. 0x20ED: EXTRAH,
  308. 0x20EE: EXTRAH,
  309. 0x20EF: EXTRAH,
  310. 0x2190:
  311. {
  312. dir: H,
  313. HW: [[0.885,MAIN], [1.351,SIZE1]],
  314. stretch: {left:[0xE023,SIZE7], rep:[0xE024,SIZE7], right:[0xE025,SIZE7]}
  315. },
  316. 0x2191:
  317. {
  318. dir: V,
  319. HW: [[0.882,MAIN], [1.348,SIZE1]],
  320. stretch: {bot:[0xE029,SIZE7], ext:[0xE02A,SIZE7], top:[0xE02B,SIZE7]}
  321. },
  322. 0x2192:
  323. {
  324. dir: H,
  325. HW: [[0.885,MAIN], [1.351,SIZE1]],
  326. stretch: {left:[0xE026,SIZE7], rep:[0xE027,SIZE7], right:[0xE028,SIZE7]}
  327. },
  328. 0x2193:
  329. {
  330. dir: V,
  331. HW: [[0.882,MAIN], [1.348,SIZE1]],
  332. stretch: {bot:[0xE02C,SIZE7], ext:[0xE02D,SIZE7], top:[0xE02E,SIZE7]}
  333. },
  334. 0x2194:
  335. {
  336. dir: H,
  337. HW: [[0.884,MAIN], [1.330,SIZE1]],
  338. stretch: {left:[0xE037,SIZE7], rep:[0xE038,SIZE7], right:[0xE039,SIZE7]}
  339. },
  340. 0x2195:
  341. {
  342. dir: V,
  343. HW: [[1.014,MAIN], [1.014,SIZE1]],
  344. stretch: {bot:[0xE03A,SIZE7], ext:[0xE03B,SIZE7], top:[0xE03C,SIZE7]}
  345. },
  346. 0x2196: EXTRAV,
  347. 0x2197: EXTRAV,
  348. 0x2198: EXTRAV,
  349. 0x2199: EXTRAV,
  350. 0x219A: EXTRAH,
  351. 0x219B: EXTRAH,
  352. 0x219E: EXTRAH,
  353. 0x219F: EXTRAV,
  354. 0x21A0: EXTRAH,
  355. 0x21A1: EXTRAV,
  356. 0x21A2: EXTRAH,
  357. 0x21A3: EXTRAH,
  358. 0x21A4:
  359. {
  360. dir: H,
  361. HW: [[0.865,ARROWS], [1.331,SIZE1]],
  362. stretch: {left:[0xE053,SIZE7], rep:[0xE054,SIZE7], right:[0xE055,SIZE7]}
  363. },
  364. 0x21A5: EXTRAV,
  365. 0x21A6:
  366. {
  367. dir: H,
  368. HW: [[0.865,MAIN], [1.331,SIZE1]],
  369. stretch: {left:[0xE056,SIZE7], rep:[0xE057,SIZE7], right:[0xE058,SIZE7]}
  370. },
  371. 0x21A7: EXTRAV,
  372. 0x21A9: EXTRAH,
  373. 0x21AA: EXTRAH,
  374. 0x21AB: EXTRAH,
  375. 0x21AC: EXTRAH,
  376. 0x21AD: EXTRAH,
  377. 0x21AE: EXTRAH,
  378. 0x21B0: EXTRAV,
  379. 0x21B1: EXTRAV,
  380. 0x21B2: EXTRAV,
  381. 0x21B3: EXTRAV,
  382. 0x21B6: EXTRAH,
  383. 0x21B7: EXTRAH,
  384. 0x21BC: EXTRAH,
  385. 0x21BD: EXTRAH,
  386. 0x21BE: EXTRAV,
  387. 0x21BF: EXTRAV,
  388. 0x21C0: EXTRAH,
  389. 0x21C1: EXTRAH,
  390. 0x21C2: EXTRAV,
  391. 0x21C3: EXTRAV,
  392. 0x21C4: EXTRAH,
  393. 0x21C5: EXTRAV,
  394. 0x21C6: EXTRAH,
  395. 0x21C7: EXTRAH,
  396. 0x21C8: EXTRAV,
  397. 0x21C9: EXTRAH,
  398. 0x21CA: EXTRAV,
  399. 0x21CB: EXTRAH,
  400. 0x21CC: EXTRAH,
  401. 0x21CD: EXTRAH,
  402. 0x21CE: EXTRAH,
  403. 0x21CF: EXTRAH,
  404. 0x21D0:
  405. {
  406. dir: H,
  407. HW: [[0.879,MAIN], [1.345,SIZE1]],
  408. stretch: {left:[0xE0A7,SIZE7], rep:[0xE0A8,SIZE7], right:[0xE0A9,SIZE7]}
  409. },
  410. 0x21D1:
  411. {
  412. dir: V,
  413. HW: [[0.879,MAIN], [1.345,SIZE1]],
  414. stretch: {bot:[0xE0AD,SIZE7], ext:[0xE0AE,SIZE7], top:[0xE0AF,SIZE7]}
  415. },
  416. 0x21D2:
  417. {
  418. dir: H,
  419. HW: [[0.879,MAIN], [1.345,SIZE1]],
  420. stretch: {left:[0xE0AA,SIZE7], rep:[0xE0AB,SIZE7], right:[0xE0AC,SIZE7]}
  421. },
  422. 0x21D3:
  423. {
  424. dir: V,
  425. HW: [[0.879,MAIN], [1.345,SIZE1]],
  426. stretch: {bot:[0xE0B0,SIZE7], ext:[0xE0B1,SIZE7], top:[0xE0B2,SIZE7]}
  427. },
  428. 0x21D4:
  429. {
  430. dir: H,
  431. HW: [[0.956,MAIN], [1.422,SIZE1]],
  432. stretch: {left:[0xE0B3,SIZE7], rep:[0xE0B4,SIZE7], right:[0xE0B5,SIZE7]}
  433. },
  434. 0x21D5:
  435. {
  436. dir: V,
  437. HW: [[0.956,MAIN], [1.422,SIZE1]],
  438. stretch: {bot:[0xE0B6,SIZE7], ext:[0xE0B7,SIZE7], top:[0xE0B8,SIZE7]}
  439. },
  440. 0x21D6: EXTRAV,
  441. 0x21D7: EXTRAV,
  442. 0x21D8: EXTRAV,
  443. 0x21D9: EXTRAV,
  444. 0x21DA: EXTRAH,
  445. 0x21DB: EXTRAH,
  446. 0x21DC: EXTRAH,
  447. 0x21DD: EXTRAH,
  448. 0x21E6: EXTRAH,
  449. 0x21E7: EXTRAV,
  450. 0x21E8: EXTRAH,
  451. 0x21E9: EXTRAV,
  452. 0x21F3: EXTRAV,
  453. 0x21F5: EXTRAV,
  454. 0x21F6: EXTRAH,
  455. 0x220F: EXTRAV,
  456. 0x2210: EXTRAV,
  457. 0x2211: EXTRAV,
  458. 0x2212:
  459. {
  460. dir: H,
  461. HW: [],
  462. stretch: {rep:[0x2212,MAIN,0,0,0,-.31,-.31]}
  463. },
  464. 0x2215: {alias: 0x2044, dir: V},
  465. 0x221A:
  466. {
  467. dir: V,
  468. HW: [[1.000,MAIN], [1.200,SIZE1], [1.800,SIZE2], [2.400,SIZE3], [3.000,SIZE4]],
  469. stretch: {bot:[0x23B7,SYMBOLS], ext:[0xE133,SIZE7], top:[0xE134,SIZE7]}
  470. },
  471. 0x2223:
  472. {
  473. dir: V,
  474. HW: [[1.000,MAIN], [1.202,SIZE1], [1.444,SIZE2], [1.734,SIZE3], [2.084,SIZE4], [2.502,SIZE5], [3.004,SIZE6], [3.606,SIZE7]],
  475. stretch: {bot:[0xE004,SIZE7], ext:[0xE005,SIZE7], top:[0xE006,SIZE7]}
  476. },
  477. 0x2225:
  478. {
  479. dir: V,
  480. HW: [[1.000,MAIN], [1.202,SIZE1], [1.444,SIZE2], [1.734,SIZE3], [2.084,SIZE4], [2.502,SIZE5], [3.004,SIZE6], [3.606,SIZE7]],
  481. stretch: {bot:[0xE12A,SIZE7], ext:[0xE12B,SIZE7], top:[0xE12C,SIZE7]}
  482. },
  483. 0x222B: EXTRAV,
  484. 0x222C: EXTRAV,
  485. 0x222D: EXTRAV,
  486. 0x222E: EXTRAV,
  487. 0x222F: EXTRAV,
  488. 0x2230: EXTRAV,
  489. 0x2231: EXTRAV,
  490. 0x2232: EXTRAV,
  491. 0x2233: EXTRAV,
  492. 0x2261: EXTRAH,
  493. 0x2263: EXTRAH,
  494. 0x22A2: EXTRAV,
  495. 0x22A3: EXTRAV,
  496. 0x22A4: EXTRAV,
  497. 0x22A5: EXTRAV,
  498. 0x22C0: EXTRAV,
  499. 0x22C1: EXTRAV,
  500. 0x22C2: EXTRAV,
  501. 0x22C3: EXTRAV,
  502. 0x2308:
  503. {
  504. dir: V,
  505. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  506. stretch: {ext:[0x23A2,SYMBOLS], top:[0x23A1,SYMBOLS]}
  507. },
  508. 0x2309:
  509. {
  510. dir: V,
  511. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  512. stretch: {ext:[0x23A5,SYMBOLS], top:[0x23A4,SYMBOLS]}
  513. },
  514. 0x230A:
  515. {
  516. dir: V,
  517. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  518. stretch: {bot:[0x23A3,SYMBOLS], ext:[0x23A2,SYMBOLS]}
  519. },
  520. 0x230B:
  521. {
  522. dir: V,
  523. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]],
  524. stretch: {bot:[0x23A6,SYMBOLS], ext:[0x23A5,SYMBOLS]}
  525. },
  526. 0x2312: {alias: 0x23DC, dir:H},
  527. 0x2322: {alias: 0x23DC, dir:H},
  528. 0x2323: {alias: 0x23DD, dir:H},
  529. 0x2329:
  530. {
  531. dir: V,
  532. HW: [[1.000,SYMBOLS], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]]
  533. },
  534. 0x232A:
  535. {
  536. dir: V,
  537. HW: [[1.000,SYMBOLS], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]]
  538. },
  539. 0x23AA:
  540. {
  541. dir: V,
  542. HW: [[0.748,SYMBOLS]],
  543. stretch: {ext:[0x23AA,SYMBOLS]}
  544. },
  545. 0x23AF: {alias: 0x2212, dir: H},
  546. 0x23B0:
  547. {
  548. dir: V,
  549. HW: [[0.750,SYMBOLS,null,0x23A7]],
  550. stretch: {top:[0x23A7,SYMBOLS], ext:[0x23AA,SYMBOLS], bot:[0x23AD,SYMBOLS]}
  551. },
  552. 0x23B1:
  553. {
  554. dir: V,
  555. HW: [[0.750,SYMBOLS,null,0x23AB]],
  556. stretch: {top:[0x23AB,SYMBOLS], ext:[0x23AA,SYMBOLS], bot:[0x23A9,SYMBOLS]}
  557. },
  558. 0x23B4: EXTRAH,
  559. 0x23B5: EXTRAH,
  560. 0x23D0:
  561. {
  562. dir: V,
  563. HW: [[1.000,MAIN,null,0x7C], [1.309,MAIN,1.309,0x7C], [1.771,MAIN,1.771,0x7C], [2.233,MAIN,2.233,0x7C], [2.695,MAIN,2.695,0x7C]],
  564. stretch: {ext:[0x7C,MAIN]}
  565. },
  566. 0x23DC: EXTRAH,
  567. 0x23DD: EXTRAH,
  568. 0x23DE:
  569. {
  570. dir: H,
  571. HW: [[0.492,MAIN], [0.993,SIZE1], [1.494,SIZE2], [1.996,SIZE3], [2.498,SIZE4], [3.000,SIZE5], [3.502,SIZE6], [4.006,SIZE7]],
  572. stretch: {left:[0xE10D,SIZE7], rep:[0xE10E,SIZE7], mid:[0xE10F,SIZE7], right:[0xE110,SIZE7]}
  573. },
  574. 0x23DF:
  575. {
  576. dir: H,
  577. HW: [[0.492,MAIN], [0.993,SIZE1], [1.494,SIZE2], [1.996,SIZE3], [2.498,SIZE4], [3.000,SIZE5], [3.502,SIZE6], [4.006,SIZE7]],
  578. stretch: {left:[0xE111,SIZE7], rep:[0xE112,SIZE7], mid:[0xE113,SIZE7], right:[0xE114,SIZE7]}
  579. },
  580. 0x23E0: EXTRAH,
  581. 0x23E1: EXTRAH,
  582. 0x2500: {alias: 0x2212, dir: H},
  583. 0x27A1: EXTRAH,
  584. 0x27E6: EXTRAV,
  585. 0x27E7: EXTRAV,
  586. 0x27E8:
  587. {
  588. dir: V,
  589. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]]
  590. },
  591. 0x27E9:
  592. {
  593. dir: V,
  594. HW: [[1.000,MAIN], [1.100,SIZE1], [1.200,SIZE2], [1.450,SIZE3], [1.800,SIZE4], [2.100,SIZE5], [2.400,SIZE6], [3.000,SIZE7]]
  595. },
  596. 0x27EA: EXTRAV,
  597. 0x27EB: EXTRAV,
  598. 0x27EE:
  599. {
  600. dir: V,
  601. HW: [[1.024,MAIN], [1.126,SIZE1], [1.228,SIZE2], [1.482,SIZE3], [1.836,SIZE4], [2.140,SIZE5], [2.444,SIZE6], [3.052,SIZE7]],
  602. stretch: {bot:[0xE101,SIZE7], ext:[0xE102,SIZE7], top:[0xE103,SIZE7]}
  603. },
  604. 0x27EF:
  605. {
  606. dir: V,
  607. HW: [[1.024,MAIN], [1.126,SIZE1], [1.228,SIZE2], [1.482,SIZE3], [1.836,SIZE4], [2.140,SIZE5], [2.444,SIZE6], [3.052,SIZE7]],
  608. stretch: {bot:[0xE104,SIZE7], ext:[0xE105,SIZE7], top:[0xE106,SIZE7]}
  609. },
  610. 0x27F5: {alias: 0x2190, dir: H},
  611. 0x27F6: {alias: 0x2192, dir: H},
  612. 0x27F7: {alias: 0x2194, dir: H},
  613. 0x27F8: {alias: 0x21D0, dir: H},
  614. 0x27F9: {alias: 0x21D2, dir: H},
  615. 0x27FA: {alias: 0x21D4, dir: H},
  616. 0x27FB: {alias: 0x21A4, dir: H},
  617. 0x27FC: {alias: 0x21A6, dir: H},
  618. 0x27FD: {alias: 0x2906, dir: H},
  619. 0x27FE: {alias: 0x2907, dir: H},
  620. 0x2906:
  621. {
  622. dir: H,
  623. HW: [[0.879,ARROWS], [1.325,SIZE1]],
  624. stretch: {left:[0xE0C5,SIZE7], rep:[0xE0C6,SIZE7], right:[0xE0C7,SIZE7]}
  625. },
  626. 0x2907:
  627. {
  628. dir: H,
  629. HW: [[0.879,ARROWS], [1.325,SIZE1]],
  630. stretch: {left:[0xE0C8,SIZE7], rep:[0xE0C9,SIZE7], right:[0xE0CA,SIZE7]}
  631. },
  632. 0x2A00: EXTRAV,
  633. 0x2A01: EXTRAV,
  634. 0x2A02: EXTRAV,
  635. 0x2A03: EXTRAV,
  636. 0x2A04: EXTRAV,
  637. 0x2A05: EXTRAV,
  638. 0x2A06: EXTRAV,
  639. 0x2A09: EXTRAV,
  640. 0x2A0C: EXTRAV,
  641. 0x2A11: EXTRAV,
  642. 0x2B04: EXTRAH,
  643. 0x2B05: EXTRAH,
  644. 0x2B06: EXTRAV,
  645. 0x2B07: EXTRAV,
  646. 0x2B0C: EXTRAH,
  647. 0x2B0D: EXTRAV,
  648. 0x2B31: EXTRAH,
  649. 0x3008: {alias: 0x27E8, dir: V},
  650. 0x3009: {alias: 0x27E9, dir: V},
  651. 0xFE37: {alias: 0x23DE, dir: H},
  652. 0xFE38: {alias: 0x23DF, dir: H}
  653. }
  654. }
  655. });
  656. MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir+"/Main/Regular/Main.js",function () {
  657. HTMLCSS.FONTDATA.FONTS[MAIN][0x2212][0] = HTMLCSS.FONTDATA.FONTS[MAIN][0x002B][0]; // - needs height and depth of +
  658. HTMLCSS.FONTDATA.FONTS[MAIN][0x2212][1] = HTMLCSS.FONTDATA.FONTS[MAIN][0x002B][1]; // - needs height and depth of +
  659. });
  660. MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir+"/Size7/Regular/Main.js",function () {
  661. var u;
  662. u = HTMLCSS.FONTDATA.DELIMITERS[0x23DE].stretch.rep[0];
  663. HTMLCSS.FONTDATA.FONTS[SIZE7][u][0] += 200; // adjust height for brace extender
  664. HTMLCSS.FONTDATA.FONTS[SIZE7][u][1] += 200; // adjust depth for brace extender
  665. u = HTMLCSS.FONTDATA.DELIMITERS[0x23DF].stretch.rep[0];
  666. HTMLCSS.FONTDATA.FONTS[SIZE7][u][0] += 200; // adjust height for brace extender
  667. HTMLCSS.FONTDATA.FONTS[SIZE7][u][1] += 200; // adjust depth for brace extender
  668. });
  669. MathJax.Hub.Register.LoadHook(HTMLCSS.fontDir+"/Size1/Regular/Main.js",function () {
  670. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222B][2] -= 425;
  671. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222B][5] = {rfix:-425};
  672. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222C][2] -= 425;
  673. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222C][5] = {rfix:-425};
  674. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222D][2] -= 425;
  675. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222D][5] = {rfix:-425};
  676. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222E][2] -= 425;
  677. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222E][5] = {rfix:-425};
  678. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222F][2] -= 425;
  679. HTMLCSS.FONTDATA.FONTS[SIZE1][0x222F][5] = {rfix:-425};
  680. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2230][2] -= 425;
  681. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2230][5] = {rfix:-425};
  682. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2231][2] -= 425;
  683. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2231][5] = {rfix:-425};
  684. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2232][2] -= 425;
  685. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2232][5] = {rfix:-425};
  686. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2233][2] -= 425;
  687. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2233][5] = {rfix:-425};
  688. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2A0C][2] -= 425;
  689. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2A0C][5] = {rfix:-425};
  690. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2A11][2] -= 425;
  691. HTMLCSS.FONTDATA.FONTS[SIZE1][0x2A11][5] = {rfix:-425};
  692. });
  693. AJAX.loadComplete(HTMLCSS.fontDir + "/fontdata.js");
  694. })(MathJax.OutputJax["HTML-CSS"],MathJax.ElementJax.mml,MathJax.Ajax);