www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

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