www

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

fontdata.js (101845B)


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