fontdata-extra.js (15122B)
1 /* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ 2 /* vim: set ts=2 et sw=2 tw=80: */ 3 4 /************************************************************* 5 * 6 * MathJax/jax/output/HTML-CSS/fonts/STIX/fontdata-extra.js 7 * 8 * Adds extra stretchy characters to the STIX data. 9 * 10 * --------------------------------------------------------------------- 11 * 12 * Copyright (c) 2011-2015 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 27 (function (HTMLCSS) { 28 var VERSION = "2.6.0"; 29 30 var DELIMITERS = HTMLCSS.FONTDATA.DELIMITERS; 31 32 var GENERAL = "STIXGeneral", 33 BOLD = "STIXGeneral-bold", 34 VARIANT = "STIXVariants", 35 NONUNI = "STIXNonUnicode", 36 SIZE1 = "STIXSizeOneSym", 37 SIZE2 = "STIXSizeTwoSym", 38 SIZE3 = "STIXSizeThreeSym", 39 SIZE4 = "STIXSizeFourSym", 40 SIZE5 = "STIXSizeFiveSym"; 41 var H = "H", V = "V"; 42 43 var delim = { 44 0x003D: // equal sign 45 { 46 dir: H, HW: [[.685,GENERAL]], stretch: {rep:[0x003D,GENERAL]} 47 }, 48 0x219E: // left two-headed arrow 49 { 50 dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x219E,GENERAL], rep:[0x2212,GENERAL]} 51 }, 52 0x21A0: // right two-headed arrow 53 { 54 dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21A0,GENERAL], rep:[0x2212,GENERAL]} 55 }, 56 0x21A4: // left arrow from bar 57 { 58 dir: H, HW: [[.926,GENERAL]], 59 stretch: {left:[0x2190,VARIANT], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]} 60 }, 61 0x21A5: // up arrow from bar 62 { 63 dir: V, HW: [[.816,GENERAL]], 64 stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x2191,GENERAL]} 65 }, 66 0x21A6: // right arrow from bar 67 { 68 dir: H, HW: [[1,GENERAL]], 69 stretch: {left:[0xE0B6,NONUNI], rep:[0x2212,GENERAL], right:[0x2192,GENERAL]} 70 }, 71 0x21A7: // down arrow from bar 72 { 73 dir: V, HW: [[.816,GENERAL]], 74 stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x2193,GENERAL]} 75 }, 76 0x21B0: // up arrow with top leftwards 77 { 78 dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21B0,GENERAL], ext:[0x23D0,GENERAL,.152]} 79 }, 80 0x21B1: // up arrow with top right 81 { 82 dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21B1,GENERAL], ext:[0x23D0,GENERAL,-.195]} 83 }, 84 0x21BC: // left harpoon with barb up 85 { 86 dir: H, HW: [[.955,GENERAL]], stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL]} 87 }, 88 0x21BD: // left harpoon with barb down 89 { 90 dir: H, HW: [[.955,GENERAL]], stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL]} 91 }, 92 0x21BE: // up harpoon with barb right 93 { 94 dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21BE,GENERAL], ext:[0x23D0,GENERAL]} 95 }, 96 0x21BF: // up harpoon with barb left 97 { 98 dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21BF,GENERAL], ext:[0x23D0,GENERAL]} 99 }, 100 0x21C0: // right harpoon with barb up 101 { 102 dir: H, HW: [[.955,GENERAL]], stretch: {right:[0x21C0,GENERAL], rep:[0x2212,GENERAL]} 103 }, 104 0x21C1: // right harpoon with barb down 105 { 106 dir: H, HW: [[.955,GENERAL]], stretch: {right:[0x21C1,GENERAL], rep:[0x2212,GENERAL]} 107 }, 108 0x21C2: // down harpoon with barb right 109 { 110 dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21C2,GENERAL], ext:[0x23D0,GENERAL]} 111 }, 112 0x21C3: // down harpoon with barb left 113 { 114 dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21C3,GENERAL], ext:[0x23D0,GENERAL]} 115 }, 116 0x21DA: // left triple arrow 117 { 118 dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21DA,GENERAL], rep:[0x2261,GENERAL]} 119 }, 120 0x21DB: // right triple arrow 121 { 122 dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21DB,GENERAL], rep:[0x2261,GENERAL]} 123 }, 124 0x23B4: // top square bracket 125 { 126 dir: H, HW: [[.926,GENERAL],[1.063,SIZE1],[1.606,SIZE2],[2.147,SIZE3],[2.692,SIZE4],[3.237,SIZE5]], 127 stretch: {left:[0x2310,GENERAL], rep:[0x2212,GENERAL,0,.12], right:[0xAC,GENERAL]} 128 }, 129 0x23B5: // bottom square bracket 130 { 131 dir: H, HW: [[.926,GENERAL],[1.063,SIZE1],[1.606,SIZE2],[2.147,SIZE3],[2.692,SIZE4],[3.237,SIZE5]], 132 stretch: {left:[0x2A3D,GENERAL,0,.12], rep:[0x2212,GENERAL,0,0,0,.12], right:[0x2A3C,GENERAL,0,.12]} 133 }, 134 0x23DC: // top paren 135 { 136 dir: H, HW: [[.926,SIZE1],[1,GENERAL],[1.460,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.237,SIZE5]], 137 stretch: {left:[0xE13B,NONUNI], right:[0xE13C,NONUNI], rep:[0xE14A,NONUNI]} 138 }, 139 0x23DD: // bottom paren 140 { 141 dir: H, HW: [[.926,SIZE1],[1,GENERAL],[1.460,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.237,SIZE5]], 142 stretch: {left:[0xE13D,NONUNI], right:[0xE13E,NONUNI], rep:[0xE14B,NONUNI]} 143 }, 144 0x23E0: // top tortoise shell 145 { 146 dir: H, HW: [[1,GENERAL],[1.460,SIZE1],[1.886,SIZE2],[2.312,SIZE3],[2.738,SIZE4],[3.164,SIZE5]], 147 stretch: {left:[0xE10D,NONUNI,-.1,-.1], rep:[0x2212,GENERAL,0,.05], right:[0xE10C,NONUNI,0,-.1], fullExtenders:true} 148 }, 149 0x23E1: // bottom tortoise shell 150 { 151 dir: H, HW: [[1,GENERAL],[1.460,SIZE1],[1.886,SIZE2],[2.312,SIZE3],[2.738,SIZE4],[3.164,SIZE5]], 152 stretch: {left:[0xE10C,NONUNI,-.1,.1], rep:[0x2212,GENERAL,0,-.1,0,.1], right:[0xE10D,NONUNI,0,.1], fullExtenders:true} 153 }, 154 0x2906: // leftwards double arrow from bar 155 { 156 dir: H, HW: [[.926,GENERAL]], 157 stretch: {left:[0x21D0,GENERAL], rep:[0x3D,GENERAL], right:[0x2AE4,GENERAL,0,-.09]} 158 }, 159 0x2907: // rightwards double arrow from bar 160 { 161 dir: H, HW: [[.926,GENERAL]], 162 stretch: {left:[0x22A8,GENERAL,0,-.09], rep:[0x3D,GENERAL], right:[0x21D2,GENERAL]} 163 }, 164 0x294E: // left barb up right barb up harpoon 165 { 166 dir: H, HW: [], 167 stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL], right:[0x21C0,GENERAL]} 168 }, 169 0x294F: // up barb right down barb right harpoon 170 { 171 dir: V, HW: [[.818,GENERAL]], 172 stretch: {top:[0x21BE,GENERAL], ext:[0x23D0,GENERAL], bot:[0x21C2,GENERAL]} 173 }, 174 0x2950: // left barb dow right barb down harpoon 175 { 176 dir: H, HW: [[.926,GENERAL]], 177 stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL], right:[0x21C1,GENERAL]} 178 }, 179 0x2951: // up barb left down barb left harpoon 180 { 181 dir: V, HW: [[.818,GENERAL]], 182 stretch: {top:[0x21BF,GENERAL], ext:[0x23D0,GENERAL], bot:[0x21C3,GENERAL]} 183 }, 184 0x295A: // leftwards harpoon with barb up from bar 185 { 186 dir: H, HW: [[.926,GENERAL]], 187 stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]} 188 }, 189 0x295B: // rightwards harpoon with barb up from bar 190 { 191 dir: H, HW: [[.926,GENERAL]], 192 stretch: {left:[0xE0B6,NONUNI], rep:[0x2212,GENERAL], right:[0x21C0,GENERAL]} 193 }, 194 0x295C: // up harpoon with barb right from bar 195 { 196 dir: V, HW: [[.818,GENERAL]], 197 stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x21BE,GENERAL]} 198 }, 199 0x295D: // down harpoon with barb right from bar 200 { 201 dir: V, HW: [[.818,GENERAL]], 202 stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x21C2,GENERAL]} 203 }, 204 0x295E: // leftwards harpoon with barb down from bar 205 { 206 dir: H, HW: [[.926,GENERAL]], 207 stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]} 208 }, 209 0x295F: // rightwards harpoon with barb down from bar 210 { 211 dir: H, HW: [[.926,GENERAL]], 212 stretch: {left:[0xE0B6,NONUNI], rep:[0x2212,GENERAL], right:[0x21C1,GENERAL]} 213 }, 214 0x2960: // up harpoon with barb left from bar 215 { 216 dir: V, HW: [[.818,GENERAL]], 217 stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x21BF,GENERAL]} 218 }, 219 0x2961: // down harpoon with barb left from bar 220 { 221 dir: V, HW: [[.818,GENERAL]], 222 stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x21C3,GENERAL]} 223 }, 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 }; 409 410 for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}}; 411 412 MathJax.Ajax.loadComplete(HTMLCSS.fontDir + "/fontdata-extra.js"); 413 414 })(MathJax.OutputJax["HTML-CSS"]); 415