fontdata-extra.js 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  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/STIX/fontdata-extra.js
  6. *
  7. * Adds extra stretchy characters to the STIX data.
  8. *
  9. * ---------------------------------------------------------------------
  10. *
  11. * Copyright (c) 2011-2017 The MathJax Consortium
  12. *
  13. * Licensed under the Apache License, Version 2.0 (the "License");
  14. * you may not use this file except in compliance with the License.
  15. * You may obtain a copy of the License at
  16. *
  17. * http://www.apache.org/licenses/LICENSE-2.0
  18. *
  19. * Unless required by applicable law or agreed to in writing, software
  20. * distributed under the License is distributed on an "AS IS" BASIS,
  21. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  22. * See the License for the specific language governing permissions and
  23. * limitations under the License.
  24. */
  25. (function (HTMLCSS) {
  26. var VERSION = "2.7.2";
  27. var DELIMITERS = HTMLCSS.FONTDATA.DELIMITERS;
  28. var GENERAL = "STIXGeneral",
  29. BOLD = "STIXGeneral-bold",
  30. VARIANT = "STIXVariants",
  31. NONUNI = "STIXNonUnicode",
  32. SIZE1 = "STIXSizeOneSym",
  33. SIZE2 = "STIXSizeTwoSym",
  34. SIZE3 = "STIXSizeThreeSym",
  35. SIZE4 = "STIXSizeFourSym",
  36. SIZE5 = "STIXSizeFiveSym",
  37. INTD = "STIXIntegralsD";
  38. var H = "H", V = "V";
  39. var delim = {
  40. 0x003D: // equal sign
  41. {
  42. dir: H, HW: [[.685,GENERAL]], stretch: {rep:[0x003D,GENERAL]}
  43. },
  44. 0x219E: // left two-headed arrow
  45. {
  46. dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x219E,GENERAL], rep:[0x2212,GENERAL]}
  47. },
  48. 0x21A0: // right two-headed arrow
  49. {
  50. dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21A0,GENERAL], rep:[0x2212,GENERAL]}
  51. },
  52. 0x21A4: // left arrow from bar
  53. {
  54. dir: H, HW: [[.926,GENERAL]],
  55. stretch: {left:[0x2190,VARIANT], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]}
  56. },
  57. 0x21A5: // up arrow from bar
  58. {
  59. dir: V, HW: [[.816,GENERAL]],
  60. stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x2191,GENERAL]}
  61. },
  62. 0x21A6: // right arrow from bar
  63. {
  64. dir: H, HW: [[1,GENERAL]],
  65. stretch: {left:[0xE0B6,NONUNI], rep:[0x2212,GENERAL], right:[0x2192,GENERAL]}
  66. },
  67. 0x21A7: // down arrow from bar
  68. {
  69. dir: V, HW: [[.816,GENERAL]],
  70. stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x2193,GENERAL]}
  71. },
  72. 0x21B0: // up arrow with top leftwards
  73. {
  74. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21B0,GENERAL], ext:[0x23D0,GENERAL,.152]}
  75. },
  76. 0x21B1: // up arrow with top right
  77. {
  78. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21B1,GENERAL], ext:[0x23D0,GENERAL,-.195]}
  79. },
  80. 0x21BC: // left harpoon with barb up
  81. {
  82. dir: H, HW: [[.955,GENERAL]], stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL]}
  83. },
  84. 0x21BD: // left harpoon with barb down
  85. {
  86. dir: H, HW: [[.955,GENERAL]], stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL]}
  87. },
  88. 0x21BE: // up harpoon with barb right
  89. {
  90. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21BE,GENERAL], ext:[0x23D0,GENERAL]}
  91. },
  92. 0x21BF: // up harpoon with barb left
  93. {
  94. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21BF,GENERAL], ext:[0x23D0,GENERAL]}
  95. },
  96. 0x21C0: // right harpoon with barb up
  97. {
  98. dir: H, HW: [[.955,GENERAL]], stretch: {right:[0x21C0,GENERAL], rep:[0x2212,GENERAL]}
  99. },
  100. 0x21C1: // right harpoon with barb down
  101. {
  102. dir: H, HW: [[.955,GENERAL]], stretch: {right:[0x21C1,GENERAL], rep:[0x2212,GENERAL]}
  103. },
  104. 0x21C2: // down harpoon with barb right
  105. {
  106. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21C2,GENERAL], ext:[0x23D0,GENERAL]}
  107. },
  108. 0x21C3: // down harpoon with barb left
  109. {
  110. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21C3,GENERAL], ext:[0x23D0,GENERAL]}
  111. },
  112. 0x21DA: // left triple arrow
  113. {
  114. dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21DA,GENERAL], rep:[0x2261,GENERAL]}
  115. },
  116. 0x21DB: // right triple arrow
  117. {
  118. dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21DB,GENERAL], rep:[0x2261,GENERAL]}
  119. },
  120. 0x222B: // integral
  121. {
  122. dir: V, HW: [[0.607,GENERAL], [0.979,INTD]],
  123. stretch: {top:[0x2320,SIZE1], ext:[0x23AE,SIZE1], bot:[0x2321,SIZE1]}
  124. },
  125. 0x23B4: // top square bracket
  126. {
  127. dir: H, HW: [[.926,GENERAL],[1.063,SIZE1],[1.606,SIZE2],[2.147,SIZE3],[2.692,SIZE4],[3.237,SIZE5]],
  128. stretch: {left:[0x2310,GENERAL], rep:[0x2212,GENERAL,0,.12], right:[0xAC,GENERAL]}
  129. },
  130. 0x23B5: // bottom square bracket
  131. {
  132. dir: H, HW: [[.926,GENERAL],[1.063,SIZE1],[1.606,SIZE2],[2.147,SIZE3],[2.692,SIZE4],[3.237,SIZE5]],
  133. stretch: {left:[0x2A3D,GENERAL,0,.12], rep:[0x2212,GENERAL,0,0,0,.12], right:[0x2A3C,GENERAL,0,.12]}
  134. },
  135. 0x23DC: // top paren
  136. {
  137. dir: H, HW: [[.926,SIZE1],[1,GENERAL],[1.460,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.237,SIZE5]],
  138. stretch: {left:[0xE13B,NONUNI], right:[0xE13C,NONUNI], rep:[0xE14A,NONUNI]}
  139. },
  140. 0x23DD: // bottom paren
  141. {
  142. dir: H, HW: [[.926,SIZE1],[1,GENERAL],[1.460,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.237,SIZE5]],
  143. stretch: {left:[0xE13D,NONUNI], right:[0xE13E,NONUNI], rep:[0xE14B,NONUNI]}
  144. },
  145. 0x23E0: // top tortoise shell
  146. {
  147. dir: H, HW: [[1,GENERAL],[1.460,SIZE1],[1.886,SIZE2],[2.312,SIZE3],[2.738,SIZE4],[3.164,SIZE5]],
  148. stretch: {left:[0xE10D,NONUNI,-.1,-.1], rep:[0x2212,GENERAL,0,.05], right:[0xE10C,NONUNI,0,-.1], fullExtenders:true}
  149. },
  150. 0x23E1: // bottom tortoise shell
  151. {
  152. dir: H, HW: [[1,GENERAL],[1.460,SIZE1],[1.886,SIZE2],[2.312,SIZE3],[2.738,SIZE4],[3.164,SIZE5]],
  153. stretch: {left:[0xE10C,NONUNI,-.1,.1], rep:[0x2212,GENERAL,0,-.1,0,.1], right:[0xE10D,NONUNI,0,.1], fullExtenders:true}
  154. },
  155. 0x2906: // leftwards double arrow from bar
  156. {
  157. dir: H, HW: [[.926,GENERAL]],
  158. stretch: {left:[0x21D0,GENERAL], rep:[0x3D,GENERAL], right:[0x2AE4,GENERAL,0,-.09]}
  159. },
  160. 0x2907: // rightwards double arrow from bar
  161. {
  162. dir: H, HW: [[.926,GENERAL]],
  163. stretch: {left:[0x22A8,GENERAL,0,-.09], rep:[0x3D,GENERAL], right:[0x21D2,GENERAL]}
  164. },
  165. 0x294E: // left barb up right barb up harpoon
  166. {
  167. dir: H, HW: [],
  168. stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL], right:[0x21C0,GENERAL]}
  169. },
  170. 0x294F: // up barb right down barb right harpoon
  171. {
  172. dir: V, HW: [[.818,GENERAL]],
  173. stretch: {top:[0x21BE,GENERAL], ext:[0x23D0,GENERAL], bot:[0x21C2,GENERAL]}
  174. },
  175. 0x2950: // left barb dow right barb down harpoon
  176. {
  177. dir: H, HW: [[.926,GENERAL]],
  178. stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL], right:[0x21C1,GENERAL]}
  179. },
  180. 0x2951: // up barb left down barb left harpoon
  181. {
  182. dir: V, HW: [[.818,GENERAL]],
  183. stretch: {top:[0x21BF,GENERAL], ext:[0x23D0,GENERAL], bot:[0x21C3,GENERAL]}
  184. },
  185. 0x295A: // leftwards harpoon with barb up from bar
  186. {
  187. dir: H, HW: [[.926,GENERAL]],
  188. stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]}
  189. },
  190. 0x295B: // rightwards harpoon with barb up from bar
  191. {
  192. dir: H, HW: [[.926,GENERAL]],
  193. stretch: {left:[0xE0B6,NONUNI], rep:[0x2212,GENERAL], right:[0x21C0,GENERAL]}
  194. },
  195. 0x295C: // up harpoon with barb right from bar
  196. {
  197. dir: V, HW: [[.818,GENERAL]],
  198. stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x21BE,GENERAL]}
  199. },
  200. 0x295D: // down harpoon with barb right from bar
  201. {
  202. dir: V, HW: [[.818,GENERAL]],
  203. stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x21C2,GENERAL]}
  204. },
  205. 0x295E: // leftwards harpoon with barb down from bar
  206. {
  207. dir: H, HW: [[.926,GENERAL]],
  208. stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]}
  209. },
  210. 0x295F: // rightwards harpoon with barb down from bar
  211. {
  212. dir: H, HW: [[.926,GENERAL]],
  213. stretch: {left:[0xE0B6,NONUNI], rep:[0x2212,GENERAL], right:[0x21C1,GENERAL]}
  214. },
  215. 0x2960: // up harpoon with barb left from bar
  216. {
  217. dir: V, HW: [[.818,GENERAL]],
  218. stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x21BF,GENERAL]}
  219. },
  220. 0x2961: // down harpoon with barb left from bar
  221. {
  222. dir: V, HW: [[.818,GENERAL]],
  223. stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x21C3,GENERAL]}
  224. },
  225. 0x02C7: // caron
  226. {
  227. dir: H, HW: [[.333,GENERAL],[.56,SIZE1],[.979,SIZE2],[1.458,SIZE3],[1.886,SIZE4],[2.328,SIZE5]]
  228. },
  229. 0x02CD: // low macron
  230. {
  231. dir: H, HW: [[.334,GENERAL]], stretch: {rep:[0x2CD,GENERAL]}
  232. },
  233. 0x02F7: // low tilde
  234. {
  235. dir: H, HW: [[.558,SIZE1],[.977,SIZE2],[1.458,SIZE3],[1.886,SIZE4],[2.328,SIZE5]]
  236. },
  237. 0x219F: // upwards two headed arrow
  238. {
  239. dir: V, HW: [[.816,GENERAL]], stretch: {ext:[0x23D0,GENERAL], top:[0x219F,GENERAL]}
  240. },
  241. 0x21A1: // downwards two headed arrow
  242. {
  243. dir: V, HW: [[.816,GENERAL]], stretch: {ext:[0x23D0,GENERAL], bot:[0x21A1,GENERAL]}
  244. },
  245. 0x21A8: // up down arrow with base
  246. {
  247. dir: V, HW: [[.816,GENERAL]],
  248. stretch: {top:[0x2191,GENERAL], ext:[0x23D0,GENERAL], bot:[0x2913,GENERAL]}
  249. },
  250. 0x21A9: // left hook arrow
  251. {
  252. dir: H, HW: [[.926,GENERAL]],
  253. stretch: {left:[0x2190,GENERAL], rep:[0x2212,GENERAL], right:[0xE0B5,NONUNI]}
  254. },
  255. 0x21AA: // right hook arrow
  256. {
  257. dir: H, HW: [[.926,GENERAL]],
  258. stretch: {left:[0xE0B4,NONUNI], rep:[0x2212,GENERAL], right:[0x2192,GENERAL]}
  259. },
  260. 0x21B2: // down arrow with tip left
  261. {
  262. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21B2,GENERAL], ext:[0x23D0,GENERAL,.152]}
  263. },
  264. 0x21B3: // down arrow with tip right
  265. {
  266. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21B3,GENERAL], ext:[0x23D0,GENERAL,-.195]}
  267. },
  268. 0x21B4: // right arrow with corner down
  269. {
  270. dir: H, HW: [[.926,GENERAL]], stretch: {rep:[0x2212,GENERAL,0,.4], right:[0x21B4,GENERAL]}
  271. },
  272. 0x21B5: // down arrow with corner left
  273. {
  274. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21B5,GENERAL], ext:[0x23D0,GENERAL,.57]}
  275. },
  276. 0x21CB: // left harpoon over right harpoon
  277. {
  278. dir: H, HW: [[.926,GENERAL]],
  279. stretch: {left:[0x296A,GENERAL], rep:[0x3D,GENERAL], right:[0x296D,GENERAL]}
  280. },
  281. 0x21CC: // right harpoon over left harpoon
  282. {
  283. dir: H, HW: [[.926,GENERAL]],
  284. stretch: {left:[0x296B,GENERAL], rep:[0x3D,GENERAL], right:[0x296C,GENERAL]}
  285. },
  286. 0x21E0: // left dashed arrow
  287. {
  288. dir: H, HW: [[.926,GENERAL]],
  289. stretch: {left:[0x21E0,GENERAL], rep:[0xE121,NONUNI,0,0,0,0,.1], fullExtenders:true}
  290. },
  291. 0x21E1: // up dashed arrow
  292. {
  293. dir: V, HW: [[.818,GENERAL]],
  294. stretch: {ext:[0xE12D,NONUNI], top:[0x21E1,GENERAL], fullExtenders: true}
  295. },
  296. 0x21E2: // right dashed arrow
  297. {
  298. dir: H, HW: [[.926,GENERAL]],
  299. stretch: {right:[0x21E2,VARIANT], rep:[0xE12E,NONUNI,0,0,0,0,.1], fullExtenders:true}
  300. },
  301. 0x21E3: // down dashed arrow
  302. {
  303. dir: V, HW: [[.818,GENERAL]],
  304. stretch: {ext:[0xE12C,NONUNI], bot:[0x21E3,GENERAL], fullExtenders: true}
  305. },
  306. 0x21E4: // left arrow to bar
  307. {
  308. dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21E4,GENERAL], rep:[0x2212,GENERAL]}
  309. },
  310. 0x21E5: // right arrow to bar
  311. {
  312. dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21E5,GENERAL], rep:[0x2212,GENERAL]}
  313. },
  314. 0x21FD: // left open-headed arrow
  315. {
  316. dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21FD,GENERAL], rep:[0x2212,GENERAL]}
  317. },
  318. 0x21FE: // right open-headed arrow
  319. {
  320. dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21FE,GENERAL], rep:[0x2212,GENERAL]}
  321. },
  322. 0x21FF: // left right open-headed arrow
  323. {
  324. dir: H, HW: [[.926,GENERAL]],
  325. stretch: {left:[0x21FD,GENERAL], rep:[0x2212,GENERAL], right:[0x21FE,GENERAL]}
  326. },
  327. 0x27E6: // left white square bracket
  328. {
  329. dir: V, HW: [[.93,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.46,SIZE3],[3.075,SIZE4]],
  330. stretch: {top:[0x2553,GENERAL], ext:[0x2551,GENERAL], bot:[0x2559,GENERAL]}
  331. },
  332. 0x27E7: // right white square bracket
  333. {
  334. dir: V, HW: [[.93,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.46,SIZE3],[3.075,SIZE4]],
  335. stretch: {top:[0x2556,GENERAL], ext:[0x2551,GENERAL], bot:[0x255C,GENERAL]}
  336. },
  337. 0x27EA: // left double angle bracket
  338. {
  339. dir: V, HW: [[.931,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.461,SIZE3],[3.075,SIZE4]]
  340. },
  341. 0x27EB: // right double angle bracket
  342. {
  343. dir: V, HW: [[.931,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.461,SIZE3],[3.075,SIZE4]]
  344. },
  345. 0x290A: // up triple arrow
  346. {
  347. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x290A,GENERAL], ext:[0xE135,NONUNI]}
  348. },
  349. 0x290B: // down triple arrow
  350. {
  351. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x290B,GENERAL], ext:[0xE135,NONUNI]}
  352. },
  353. 0x2912: // up arrow to bar
  354. {
  355. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x2912,GENERAL], ext:[0x23D0,GENERAL]}
  356. },
  357. 0x2913: // down arrow to bar
  358. {
  359. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x2913,GENERAL], ext:[0x23D0,GENERAL]}
  360. },
  361. 0x2952: // left harpoon with barb up to bar
  362. {
  363. dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x2952,GENERAL], rep:[0x2212,GENERAL]}
  364. },
  365. 0x2953: // right harpoon with barb up to bar
  366. {
  367. dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x2953,GENERAL], rep:[0x2212,GENERAL]}
  368. },
  369. 0x2954: // up harpoon with barb right to bar
  370. {
  371. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x2954,GENERAL], ext:[0x23D0,GENERAL]}
  372. },
  373. 0x2955: // down harpoon with barb right to bar
  374. {
  375. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x2955,GENERAL], ext:[0x23D0,GENERAL]}
  376. },
  377. 0x2956: // left harpoon with barb down to bar
  378. {
  379. dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x2956,GENERAL], rep:[0x2212,GENERAL]}
  380. },
  381. 0x2957: // right harpoon with barb down to bar
  382. {
  383. dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x2957,GENERAL], rep:[0x2212,GENERAL]}
  384. },
  385. 0x2958: // up harpoon with barb left to bar
  386. {
  387. dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x2958,GENERAL], ext:[0x23D0,GENERAL]}
  388. },
  389. 0x2959: // down harpoon with barb left to bar
  390. {
  391. dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x2959,GENERAL], ext:[0x23D0,GENERAL]}
  392. },
  393. 0x2980: // triple vertical bar
  394. {
  395. dir: V, HW: [[.874,GENERAL]], stretch: {ext:[0x2980,GENERAL]}
  396. },
  397. 0x2997: // left black tortoise shell
  398. {
  399. dir: V, HW: [[.932,GENERAL]],
  400. stretch: {top:[0xE10D,NONUNI,.1,.05], ext:[0x23D0,GENERAL,-.1], bot:[0xE10C,NONUNI,.1]}
  401. },
  402. 0x2998: // right black tortoise shell
  403. {
  404. dir: V, HW: [[.932,GENERAL]],
  405. stretch: {top:[0xE10C,NONUNI,-.1,.05], ext:[0x23D0,GENERAL], bot:[0xE10D,NONUNI,-.1]}
  406. }
  407. };
  408. for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}};
  409. MathJax.Ajax.loadComplete(HTMLCSS.fontDir + "/fontdata-extra.js");
  410. })(MathJax.OutputJax["HTML-CSS"]);