Add ability to load extra stretchy characters on demand, and add data for more stretchable characters.

This commit is contained in:
Davide P. Cervone 2011-05-11 20:13:25 -04:00
parent de1e1f670e
commit 23ad7609bc
14 changed files with 858 additions and 21 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,16 @@
/*
* /MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata-extra.js
*
* Copyright (c) 2010 Design Science, Inc.
*
* Part of the MathJax library.
* See http://www.mathjax.org for details.
*
* Licensed under the Apache License, Version 2.0;
* you may not use this file except in compliance with the License.
*
* http://www.apache.org/licenses/LICENSE-2.0
*/
(function(g){var k=g.FONTDATA.DELIMITERS;var f="MathJax_Main",h="MathJax_Main-bold",i="MathJax_AMS",d="MathJax_Size1",a="MathJax_Size4";var j="H",e="V";var c={8606:{dir:j,HW:[[1,i]],stretch:{left:[8606,i],rep:[8722,f]}},8608:{dir:j,HW:[[1,i]],stretch:{right:[139680,i],rep:[8722,f]}},8612:{dir:j,HW:[],stretch:{left:[8592,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},8613:{dir:e,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8593,d]}},8614:{dir:j,HW:[[1,i]],stretch:{left:[8739,d,-0.09,-0.05,0.9],rep:[8722,f],right:[8594,f]}},8615:{dir:e,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8595,d]}},8624:{dir:e,HW:[[0.722,i]],stretch:{top:[8624,i],ext:[9168,d,0.097]}},8625:{dir:e,HW:[[0.722,i]],stretch:{top:[8625,i,0.27],ext:[9168,d]}},8636:{dir:j,HW:[[1,f]],stretch:{left:[8636,f],rep:[8722,f]}},8637:{dir:j,HW:[[1,f]],stretch:{left:[8637,f],rep:[8722,f]}},8638:{dir:e,HW:[[0.888,i]],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,d]}},8639:{dir:e,HW:[[0.888,i]],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,d]}},8640:{dir:j,HW:[[1,f]],stretch:{right:[8640,f],rep:[8722,f]}},8641:{dir:j,HW:[[1,f]],stretch:{right:[8641,f],rep:[8722,f]}},8642:{dir:e,HW:[[0.888,i]],stretch:{bot:[8642,i,0.12,0,1.1],ext:[9168,d]}},8643:{dir:e,HW:[[0.888,i]],stretch:{bot:[8643,i,0.12,0,1.1],ext:[9168,d]}},8666:{dir:j,HW:[[1,i]],stretch:{left:[8666,i],rep:[8801,f]}},8667:{dir:j,HW:[[1,i]],stretch:{right:[8667,i],rep:[8801,f]}},9140:{dir:j,HW:[],stretch:{left:[9484,i,0,-0.1],rep:[8722,f,0,0.35],right:[9488,i,0,-0.1]}},9141:{dir:j,HW:[],stretch:{left:[9492,i,0,0.26],rep:[8722,f,0,0,0,0.25],right:[9496,i,0,0.26]}},9180:{dir:j,HW:[[0.778,i,0,8994],[1,f,0,8994]],stretch:{left:[57680,a],rep:[57684,a],right:[57681,a]}},9181:{dir:j,HW:[[0.778,i,0,8995],[1,f,0,8995]],stretch:{left:[57682,a],rep:[57684,a],right:[57683,a]}},9184:{dir:j,HW:[],stretch:{left:[714,f,-0.1],rep:[713,f,0,0.13],right:[715,f],fullExtenders:true}},9185:{dir:j,HW:[],stretch:{left:[715,f,-0.1,0.1],rep:[713,f],right:[714,f,-0.1,0.1],fullExtenders:true}},10502:{dir:j,HW:[],stretch:{left:[8656,f],rep:[61,f],right:[8739,d,0,-0.1]}},10503:{dir:j,HW:[],stretch:{left:[8872,i,0,-0.12],rep:[61,f],right:[8658,f]}},10574:{dir:j,HW:[],stretch:{left:[8636,f],rep:[8722,f],right:[8640,f]}},10575:{dir:e,HW:[],stretch:{top:[8638,i,0.12,0,1.1],ext:[9168,d],bot:[8642,i,0.12,0,1.1]}},10576:{dir:j,HW:[],stretch:{left:[8637,f],rep:[8722,f],right:[8641,f]}},10577:{dir:e,HW:[],stretch:{top:[8639,i,0.12,0,1.1],ext:[9168,d],bot:[8643,i,0.12,0,1.1]}},10586:{dir:j,HW:[],stretch:{left:[8636,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},10587:{dir:j,HW:[],stretch:{left:[8739,d,-0.09,-0.05,0.9],rep:[8722,f],right:[8640,f]}},10588:{dir:e,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8638,i,0.12,0,1.1]}},10589:{dir:e,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8642,i,0.12,0,1.1]}},10590:{dir:j,HW:[],stretch:{left:[8637,f],rep:[8722,f],right:[8739,d,0,-0.05,0.9]}},10591:{dir:j,HW:[],stretch:{left:[8739,d,-0.09,-0.05,0.9],rep:[8722,f],right:[8641,f]}},10592:{dir:e,HW:[],stretch:{bot:[8869,h,0,0,0.75],ext:[9168,d],top:[8639,i,0.12,0,1.1]}},10593:{dir:e,HW:[],stretch:{top:[8868,h,0,0,0.75],ext:[9168,d],bot:[8643,i,0.12,0,1.1]}}};for(var b in c){if(c.hasOwnProperty(b)){k[b]=c[b]}}MathJax.Ajax.loadComplete(g.fontDir+"/fontdata-extra.js")})(MathJax.OutputJax["HTML-CSS"]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,408 @@
/*************************************************************
*
* MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata-extra.js
*
* Initializes the HTML-CSS OutputJax to use the MathJax TeX fonts
* for displaying mathematics.
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2011 Design Science, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
(function (HTMLCSS) {
var DELIMITERS = HTMLCSS.FONTDATA.DELIMITERS;
var GENERAL = "STIXGeneral",
BOLD = "STIXGeneral-bold",
VARIANT = "STIXVariants",
NONUNI = "STIXNonUnicode",
SIZE1 = "STIXSizeOneSym",
SIZE2 = "STIXSizeTwoSym",
SIZE3 = "STIXSizeThreeSym",
SIZE4 = "STIXSizeFourSym",
SIZE5 = "STIXSizeFiveSym";
var H = "H", V = "V";
var delim = {
0x219E: // left two-headed arrow
{
dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x219E,GENERAL], rep:[0x2212,GENERAL]}
},
0x21A0: // right two-headed arrow
{
dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x221A0,GENERAL], rep:[0x2212,GENERAL]}
},
0x21A4: // left arrow from bar
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x2190,VARIANT], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]}
},
0x21A5: // up arrow from bar
{
dir: V, HW: [[.816,GENERAL]],
stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x2191,GENERAL]}
},
0x21A6: // right arrow from bar
{
dir: H, HW: [[1,GENERAL]],
stretch: {left:[0x22A2,BOLD,0,0.1,.6], rep:[0x2212,GENERAL], right:[0x2192,GENERAL]}
},
0x21A7: // down arrow from bar
{
dir: V, HW: [[.816,GENERAL]],
stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x2193,GENERAL]}
},
0x21B0: // up arrow with top leftwards
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21B0,GENERAL], ext:[0x23D0,GENERAL,.152]}
},
0x21B1: // up arrow with top right
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21B1,GENERAL], ext:[0x23D0,GENERAL,-.195]}
},
0x21BC: // left harpoon with barb up
{
dir: H, HW: [[.955,GENERAL]], stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL]}
},
0x21BD: // left harpoon with barb down
{
dir: H, HW: [[.955,GENERAL]], stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL]}
},
0x21BE: // up harpoon with barb right
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21BE,GENERAL], ext:[0x23D0,GENERAL]}
},
0x21BF: // up harpoon with barb left
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x21BF,GENERAL], ext:[0x23D0,GENERAL]}
},
0x21C0: // right harpoon with barb up
{
dir: H, HW: [[.955,GENERAL]], stretch: {right:[0x21C0,GENERAL], rep:[0x2212,GENERAL]}
},
0x21C1: // right harpoon with barb down
{
dir: H, HW: [[.955,GENERAL]], stretch: {right:[0x21C1,GENERAL], rep:[0x2212,GENERAL]}
},
0x21C2: // down harpoon with barb right
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21C2,GENERAL], ext:[0x23D0,GENERAL]}
},
0x21C3: // down harpoon with barb left
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21C3,GENERAL], ext:[0x23D0,GENERAL]}
},
0x21DA: // left triple arrow
{
dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21DA,GENERAL], rep:[0x2261,GENERAL]}
},
0x21DB: // right triple arrow
{
dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21DB,GENERAL], rep:[0x2261,GENERAL]}
},
0x23B4: // top square bracket
{
dir: H, HW: [[.926,GENERAL],[1.063,SIZE1],[1.606,SIZE2],[2.147,SIZE3],[2.692,SIZE4],[3.237,SIZE5]],
stretch: {left:[0x2310,GENERAL], rep:[0x2212,GENERAL,0,.12], right:[0xAC,GENERAL]}
},
0x23B5: // bottom square bracket
{
dir: H, HW: [[.926,GENERAL],[1.063,SIZE1],[1.606,SIZE2],[2.147,SIZE3],[2.692,SIZE4],[3.237,SIZE5]],
stretch: {left:[0x2A3D,GENERAL,0,.12], rep:[0x2212,GENERAL,0,0,0,.12], right:[0x2A3C,GENERAL,0,.12]}
},
0x23DC: // top paren
{
dir: H, HW: [[.556,GENERAL],[.926,SIZE1],[1.460,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.237,SIZE5]],
stretch: {left:[0xE13B,NONUNI], right:[0xE13C,NONUNI], rep:[0xE14A,NONUNI]}
},
0x23DD: // bottom paren
{
dir: H, HW: [[.556,GENERAL],[.926,SIZE1],[1.460,SIZE2],[1.886,SIZE3],[2.328,SIZE4],[3.237,SIZE5]],
stretch: {left:[0xE13D,NONUNI], right:[0xE13E,NONUNI], rep:[0xE14B,NONUNI]}
},
0x23E0: // top tortoise shell
{
dir: H, HW: [[.926,GENERAL],[1.460,SIZE1],[1.886,SIZE2],[2.312,SIZE3],[2.738,SIZE4],[3.164,SIZE5]],
stretch: {left:[0xE10D,NONUNI,-.1,-.1], rep:[0x2212,GENERAL,0,.05], right:[0xE10C,NONUNI,0,-.1], fullExtenders:true}
},
0x23E1: // bottom tortoise shell
{
dir: H, HW: [[.926,GENERAL],[1.460,SIZE1],[1.886,SIZE2],[2.312,SIZE3],[2.738,SIZE4],[3.164,SIZE5]],
stretch: {left:[0xE10C,NONUNI,-.1,.1], rep:[0x2212,GENERAL,0,-.1,0,.1], right:[0xE10D,NONUNI,0,.1], fullExtenders:true}
},
0x2906: // leftwards double arrow from bar
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x21D0,GENERAL], rep:[0x3D,GENERAL], right:[0x2AE4,GENERAL,0,-.09]}
},
0x2907: // rightwards double arrow from bar
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x22A8,GENERAL,0,-.09], rep:[0x3D,GENERAL], right:[0x21D2,GENERAL]}
},
0x294E: // left barb up right barb up harpoon
{
dir: H, HW: [],
stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL], right:[0x21C0,GENERAL]}
},
0x294F: // up barb right down barb right harpoon
{
dir: V, HW: [[.818,GENERAL]],
stretch: {top:[0x21BE,GENERAL], ext:[0x23D0,GENERAL], bot:[0x21C2,GENERAL]}
},
0x2950: // left barb dow right barb down harpoon
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL], right:[0x21C1,GENERAL]}
},
0x2951: // up barb left down barb left harpoon
{
dir: V, HW: [[.818,GENERAL]],
stretch: {top:[0x21BF,GENERAL], ext:[0x23D0,GENERAL], bot:[0x21C3,GENERAL]}
},
0x295A: // leftwards harpoon with barb up from bar
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x21BC,GENERAL], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]}
},
0x295B: // rightwards harpoon with barb up from bar
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x22A2,BOLD,0,0.1,.6], rep:[0x2212,GENERAL], right:[0x21C0,GENERAL]}
},
0x295C: // up harpoon with barb right from bar
{
dir: V, HW: [[.818,GENERAL]],
stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x21BE,GENERAL]}
},
0x295D: // down harpoon with barb right from bar
{
dir: V, HW: [[.818,GENERAL]],
stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x21C2,GENERAL]}
},
0x295E: // leftwards harpoon with barb down from bar
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x21BD,GENERAL], rep:[0x2212,GENERAL], right:[0x22A3,BOLD,0,.1,.6]}
},
0x295F: // rightwards harpoon with barb down from bar
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x22A2,BOLD,0,0.1,.6], rep:[0x2212,GENERAL], right:[0x21C1,GENERAL]}
},
0x2960: // up harpoon with barb left from bar
{
dir: V, HW: [[.818,GENERAL]],
stretch: {bot:[0x5F,GENERAL,.05,-.01,.8], ext:[0x23D0,GENERAL], top:[0x21BF,GENERAL]}
},
0x2961: // down harpoon with barb left from bar
{
dir: V, HW: [[.818,GENERAL]],
stretch: {top:[0x22A4,BOLD,0.04,0,.6], ext:[0x23D0,GENERAL], bot:[0x21C3,GENERAL]}
},
0x02C7: // caron
{
dir: H, HW: [[.333,GENERAL],[.56,SIZE1],[.979,SIZE2],[1.458,SIZE3],[1.886,SIZE4],[2.328,SIZE5]]
},
0x02CD: // low macron
{
dir: H, HW: [[.334,GENERAL]], stretch: {rep:[0x2CD,GENERAL]}
},
0x02F7: // low tilde
{
dir: H, HW: [[.558,SIZE1],[.977,SIZE2],[1.458,SIZE3],[1.886,SIZE4],[2.328,SIZE5]]
},
0x219F: // upwards two headed arrow
{
dir: V, HW: [[.816,GENERAL]], stretch: {ext:[0x23D0,GENERAL], top:[0x219F,GENERAL]}
},
0x21A1: // downwards two headed arrow
{
dir: V, HW: [[.816,GENERAL]], stretch: {ext:[0x23D0,GENERAL], bot:[0x21A1,GENERAL]}
},
0x21A8: // up down arrow with base
{
dir: V, HW: [[.816,GENERAL]],
stretch: {top:[0x2191,GENERAL], ext:[0x23D0,GENERAL], bot:[0x2913,GENERAL]}
},
0x21A9: // left hook arrow
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x2190,GENERAL], rep:[0x2212,GENERAL], right:[0xE0B5,NONUNI]}
},
0x21AA: // right hook arrow
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0xE0B4,NONUNI], rep:[0x2212,GENERAL], right:[0x2192,GENERAL]}
},
0x21B2: // down arrow with tip left
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21B2,GENERAL], ext:[0x23D0,GENERAL,.152]}
},
0x21B3: // down arrow with tip right
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21B3,GENERAL], ext:[0x23D0,GENERAL,-.195]}
},
0x21B4: // right arrow with corner down
{
dir: H, HW: [[.926,GENERAL]], stretch: {rep:[0x2212,GENERAL,0,.4], right:[0x21B4,GENERAL]}
},
0x21B5: // down arrow with corner left
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x21B5,GENERAL], ext:[0x23D0,GENERAL,.57]}
},
0x21CB: // left harpoon over right harpoon
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x296A,GENERAL], rep:[0x3D,GENERAL], right:[0x296D,GENERAL]}
},
0x21CC: // right harpoon over left harpoon
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x296B,GENERAL], rep:[0x3D,GENERAL], right:[0x296C,GENERAL]}
},
0x21E0: // left dashed arrow
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x21E0,GENERAL], rep:[0xE121,NONUNI,0,0,0,0,.1], fullExtenders:true}
},
0x21E1: // up dashed arrow
{
dir: V, HW: [[.818,GENERAL]],
stretch: {ext:[0xE12D,NONUNI], top:[0x21E1,GENERAL], fullExtenders: true}
},
0x21E2: // right dashed arrow
{
dir: H, HW: [[.926,GENERAL]],
stretch: {right:[0x21E2,VARIANT], rep:[0xE12E,NONUNI,0,0,0,0,.1], fullExtenders:true}
},
0x21E3: // down dashed arrow
{
dir: V, HW: [[.818,GENERAL]],
stretch: {ext:[0xE12C,NONUNI], bot:[0x21E3,GENERAL], fullExtenders: true}
},
0x21E4: // left arrow to bar
{
dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21E4,GENERAL], rep:[0x2212,GENERAL]}
},
0x21E5: // right arrow to bar
{
dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21E5,GENERAL], rep:[0x2212,GENERAL]}
},
0x21FD: // left open-headed arrow
{
dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x21FD,GENERAL], rep:[0x2212,GENERAL]}
},
0x21FE: // right open-headed arrow
{
dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x21FE,GENERAL], rep:[0x2212,GENERAL]}
},
0x21FF: // left right open-headed arrow
{
dir: H, HW: [[.926,GENERAL]],
stretch: {left:[0x21FD,GENERAL], rep:[0x2212,GENERAL], right:[0x21FE,GENERAL]}
},
0x27E6: // left white square bracket
{
dir: V, HW: [[.93,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.46,SIZE3],[3.075,SIZE4]],
stretch: {top:[0x2553,GENERAL], ext:[0x2551,GENERAL], bot:[0x2559,GENERAL]}
},
0x27E7: // right white square bracket
{
dir: V, HW: [[.93,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.46,SIZE3],[3.075,SIZE4]],
stretch: {top:[0x2556,GENERAL], ext:[0x2551,GENERAL], bot:[0x255C,GENERAL]}
},
0x27EA: // left double angle bracket
{
dir: V, HW: [[.931,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.461,SIZE3],[3.075,SIZE4]],
},
0x27EB: // right double angle bracket
{
dir: V, HW: [[.931,GENERAL],[1.23,SIZE1],[1.845,SIZE2],[2.461,SIZE3],[3.075,SIZE4]],
},
0x290A: // up triple arrow
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x290A,GENERAL], ext:[0xE135,NONUNI]}
},
0x290B: // down triple arrow
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x290B,GENERAL], ext:[0xE135,NONUNI]}
},
0x2912: // up arrow to bar
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x2912,GENERAL], ext:[0x23D0,GENERAL]}
},
0x2913: // down arrow to bar
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x2913,GENERAL], ext:[0x23D0,GENERAL]}
},
0x2952: // left harpoon with barb up to bar
{
dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x2952,GENERAL], rep:[0x2212,GENERAL]}
},
0x2953: // right harpoon with barb up to bar
{
dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x2953,GENERAL], rep:[0x2212,GENERAL]}
},
0x2954: // up harpoon with barb right to bar
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x2954,GENERAL], ext:[0x23D0,GENERAL]}
},
0x2955: // down harpoon with barb right to bar
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x2955,GENERAL], ext:[0x23D0,GENERAL]}
},
0x2956: // left harpoon with barb down to bar
{
dir: H, HW: [[.926,GENERAL]], stretch: {left:[0x2956,GENERAL], rep:[0x2212,GENERAL]}
},
0x2957: // right harpoon with barb down to bar
{
dir: H, HW: [[.926,GENERAL]], stretch: {right:[0x2957,GENERAL], rep:[0x2212,GENERAL]}
},
0x2958: // up harpoon with barb left to bar
{
dir: V, HW: [[.818,GENERAL]], stretch: {top:[0x2958,GENERAL], ext:[0x23D0,GENERAL]}
},
0x2959: // down harpoon with barb left to bar
{
dir: V, HW: [[.818,GENERAL]], stretch: {bot:[0x2959,GENERAL], ext:[0x23D0,GENERAL]}
},
0x2980: // triple vertical bar
{
dir: V, HW: [[.874,GENERAL]], stretch: {ext:[0x2980,GENERAL]}
},
0x2997: // left black tortoise shell
{
dir: V, HW: [[.932,GENERAL]],
stretch: {top:[0xE10D,NONUNI,.1,.05], ext:[0x23D0,GENERAL,-.1], bot:[0xE10C,NONUNI,.1]}
},
0x2998: // right black tortoise shell
{
dir: V, HW: [[.932,GENERAL]],
stretch: {top:[0xE10C,NONUNI,-.1,.05], ext:[0x23D0,GENERAL], bot:[0xE10D,NONUNI,-.1]}
},
};
for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}};
MathJax.Ajax.loadComplete(HTMLCSS.fontDir + "/fontdata-extra.js");
})(MathJax.OutputJax["HTML-CSS"]);

View File

@ -7,7 +7,7 @@
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2009-2010 Design Science, Inc.
* Copyright (c) 2009-2011 Design Science, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
*/
(function (HTMLCSS) {
var VERSION = "1.0";
var VERSION = "1.1.1";
HTMLCSS.allowWebFonts = false;
@ -36,7 +36,7 @@
SIZE3 = "STIXSizeThreeSym",
SIZE4 = "STIXSizeFourSym",
SIZE5 = "STIXSizeFiveSym";
var H = "H", V = "V";
var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V};
HTMLCSS.Augment({
FONTDATA: {
@ -331,22 +331,117 @@
0x005E: {alias: 0x02D6, dir:H}, // wide hat
0x005F: {alias: 0x23AF, dir:H}, // low line
0x007E: {alias: 0x02DC, dir:H}, // wide tilde
0x00AF: {alias: 0x23AF, dir:H}, // over line
0x00AF: {alias: 0x02C9, dir:H}, // macron
0x0302: {alias: 0x02C6, dir:H}, // wide hat
0x0303: {alias: 0x02DC, dir:H}, // wide tilde
0x030C: {alias: 0x02C7, dir:H}, // wide caron
0x0332: {alias: 0x23AF, dir:H}, // combining low line
0x2015: {alias: 0x23AF, dir:H}, // horizontal line
0x2017: {alias: 0x23AF, dir:H}, // horizontal line
0x203E: {alias: 0x00AF, dir:H}, // overline
0x2212: {alias: 0x23AF, dir:H}, // minus
0x2215: {alias: 0x002F, dir:V}, // division slash
0x2329: {alias: 0x27E8, dir:V}, // langle
0x232A: {alias: 0x27E9, dir:V}, // rangle
0x23AF: {alias: 0x2212, dir:H}, // horizontal line extension
0x2500: {alias: 0x2212, dir:H}, // horizontal line
0x2758: {alias: 0x2223, dir:V}, // vertical separator
0x3008: {alias: 0x27E8, dir:V}, // langle
0x3009: {alias: 0x27E9, dir:V}, // rangle
0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down
0xFE38: {alias: 0x23DF, dir:H} // horizontal brace up
0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up
0x219E: EXTRAH, // left two-headed arrow
0x21A0: EXTRAH, // right two-headed arrow
0x21A4: EXTRAH, // left arrow from bar
0x21A5: EXTRAV, // up arrow from bar
0x21A6: EXTRAH, // right arrow from bar
0x21A7: EXTRAV, // down arrow from bar
0x21B0: EXTRAV, // up arrow with top leftwards
0x21B1: EXTRAV, // up arrow with top right
0x21BC: EXTRAH, // left harpoon with barb up
0x21BD: EXTRAH, // left harpoon with barb down
0x21BE: EXTRAV, // up harpoon with barb right
0x21BF: EXTRAV, // up harpoon with barb left
0x21C0: EXTRAH, // right harpoon with barb up
0x21C1: EXTRAH, // right harpoon with barb down
0x21C2: EXTRAV, // down harpoon with barb right
0x21C3: EXTRAV, // down harpoon with barb left
0x21DA: EXTRAH, // left triple arrow
0x21DB: EXTRAH, // right triple arrow
0x23B4: EXTRAH, // top square bracket
0x23B5: EXTRAH, // bottom square bracket
0x23DC: EXTRAH, // top paren
0x23DD: EXTRAH, // bottom paren
0x23E0: EXTRAH, // top tortoise shell
0x23E1: EXTRAH, // bottom tortoise shell
0x2906: EXTRAH, // leftwards double arrow from bar
0x2907: EXTRAH, // rightwards double arrow from bar
0x294E: EXTRAH, // left barb up right barb up harpoon
0x294F: EXTRAV, // up barb right down barb right harpoon
0x2950: EXTRAH, // left barb dow right barb down harpoon
0x2951: EXTRAV, // up barb left down barb left harpoon
0x295A: EXTRAH, // leftwards harpoon with barb up from bar
0x295B: EXTRAH, // rightwards harpoon with barb up from bar
0x295C: EXTRAV, // up harpoon with barb right from bar
0x295D: EXTRAV, // down harpoon with barb right from bar
0x295E: EXTRAH, // leftwards harpoon with barb down from bar
0x295F: EXTRAH, // rightwards harpoon with barb down from bar
0x2960: EXTRAV, // up harpoon with barb left from bar
0x2961: EXTRAV, // down harpoon with barb left from bar
0x27F5: {alias: 0x2190, dir:H}, // long left arrow
0x27F6: {alias: 0x2192, dir:H}, // long right arrow
0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow
0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow
0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow
0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow
0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar
0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar
0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar
0x27FE: {alias: 0x2907, dir:H}, // long right double arrow from bar
0x02C7: EXTRAH, // caron
0x02CD: EXTRAH, // low macron
0x02F7: EXTRAH, // low tilde
0x219F: EXTRAV, // upwards two headed arrow
0x21A1: EXTRAV, // downwards two headed arrow
0x21A8: EXTRAV, // up down arrow with base
0x21A9: EXTRAH, // left hook arrow
0x21AA: EXTRAH, // right hook arrow
0x21B2: EXTRAV, // down arrow with tip left
0x21B3: EXTRAV, // down arrow with tip right
0x21B4: EXTRAH, // right arrow with corner down
0x21B5: EXTRAV, // down arrow with corner left
0x21CB: EXTRAH, // left harpoon over right harpoon
0x21CC: EXTRAH, // right harpoon over left harpoon
0x21E0: EXTRAH, // left dashed arrow
0x21E1: EXTRAV, // up dashed arrow
0x21E2: EXTRAH, // right dashed arrow
0x21E3: EXTRAV, // down dahsed arrow
0x21E4: EXTRAH, // left arrow to bar
0x21E5: EXTRAH, // right arrow to bar
0x21FD: EXTRAH, // left open-headed arrow
0x21FE: EXTRAH, // right open-headed arrow
0x21FF: EXTRAH, // left right open-headed arrow
0x27E6: EXTRAV, // left white square bracket
0x27E7: EXTRAV, // right white square bracket
0x27EA: EXTRAV, // left double angle bracket
0x27EB: EXTRAV, // right double angle bracket
0x290A: EXTRAV, // up triple arrow
0x290B: EXTRAV, // down triple arrow
0x2912: EXTRAV, // up arrow to bar
0x2913: EXTRAV, // down arrow to bar
0x2952: EXTRAH, // left harpoon with barb up to bar
0x2953: EXTRAH, // right harpoon with barb up to bar
0x2954: EXTRAV, // up harpoon with barb right to bar
0x2955: EXTRAV, // down harpoon with barb right to bar
0x2956: EXTRAH, // left harpoon with barb down to bar
0x2957: EXTRAH, // right harpoon with barb down to bar
0x2958: EXTRAV, // up harpoon with barb left to bar
0x2959: EXTRAV, // down harpoon with barb left to bar
0x2980: EXTRAV, // triple vertical bar
0x2997: EXTRAV, // left balck tortoise shell
0x2998: EXTRAV // right balck tortoise shell
}
}
});
@ -1383,6 +1478,8 @@
HTMLCSS.FONTDATA.FONTS['STIXGeneral'][0x22EE][0] += 400; // adjust height for \vdots
HTMLCSS.FONTDATA.FONTS['STIXGeneral'][0x22F1][0] += 500; // adjust height for \ddots
HTMLCSS.FONTDATA.FONTS['STIXGeneral'][0x2212][1] += 100; // adjust depth for minus (arrow extender)
HTMLCSS.FONTDATA.FONTS['STIXGeneral'][0x003D][1] += 100; // adjust depth for = (double arrow extender)
HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'][0xE14A][0] += 200; // adjust height for brace extender
HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'][0xE14A][1] += 200; // adjust depth for brace extender
HTMLCSS.FONTDATA.FONTS['STIXNonUnicode'][0xE14B][0] += 200; // adjust height for brace extender

View File

@ -0,0 +1,232 @@
/*************************************************************
*
* MathJax/jax/output/HTML-CSS/fonts/TeX/fontdata-extra.js
*
* Initializes the HTML-CSS OutputJax to use the MathJax TeX fonts
* for displaying mathematics.
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2011 Design Science, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
(function (HTMLCSS) {
var DELIMITERS = HTMLCSS.FONTDATA.DELIMITERS;
var MAIN = "MathJax_Main",
BOLD = "MathJax_Main-bold",
AMS = "MathJax_AMS",
SIZE1 = "MathJax_Size1",
SIZE4 = "MathJax_Size4";
var H = "H", V = "V";
var delim = {
0x219E: // left two-headed arrow
{
dir: H, HW: [[1,AMS]], stretch: {left:[0x219E,AMS], rep:[0x2212,MAIN]}
},
0x21A0: // right two-headed arrow
{
dir: H, HW: [[1,AMS]], stretch: {right:[0x221A0,AMS], rep:[0x2212,MAIN]}
},
0x21A4: // left arrow from bar
{
dir: H, HW: [],
stretch: {left:[0x2190,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
},
0x21A5: // up arrow from bar
{
dir: V, HW: [],
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x2191,SIZE1]}
},
0x21A6: // right arrow from bar
{
dir: H, HW: [[1,AMS]],
stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:[0x2212,MAIN], right:[0x2192,MAIN]}
},
0x21A7: // down arrow from bar
{
dir: V, HW: [],
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x2193,SIZE1]}
},
0x21B0: // up arrow with top leftwards
{
dir: V, HW: [[.722,AMS]],
stretch: {top:[0x21B0,AMS], ext:[0x23D0,SIZE1,.097]}
},
0x21B1: // up arrow with top right
{
dir: V, HW: [[.722,AMS]],
stretch: {top:[0x21B1,AMS,.27], ext:[0x23D0,SIZE1]}
},
0x21BC: // left harpoon with barb up
{
dir: H, HW: [[1,MAIN]],
stretch: {left:[0x21BC,MAIN], rep:[0x2212,MAIN]}
},
0x21BD: // left harpoon with barb down
{
dir: H, HW: [[1,MAIN]],
stretch: {left:[0x21BD,MAIN], rep:[0x2212,MAIN]}
},
0x21BE: // up harpoon with barb right
{
dir: V, HW: [[.888,AMS]],
stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]}
},
0x21BF: // up harpoon with barb left
{
dir: V, HW: [[.888,AMS]],
stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]}
},
0x21C0: // right harpoon with barb up
{
dir: H, HW: [[1,MAIN]],
stretch: {right:[0x21C0,MAIN], rep:[0x2212,MAIN]}
},
0x21C1: // right harpoon with barb down
{
dir: H, HW: [[1,MAIN]],
stretch: {right:[0x21C1,MAIN], rep:[0x2212,MAIN]}
},
0x21C2: // down harpoon with barb right
{
dir: V, HW: [[.888,AMS]],
stretch: {bot:[0x21C2,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]}
},
0x21C3: // down harpoon with barb left
{
dir: V, HW: [[.888,AMS]],
stretch: {bot:[0x21C3,AMS,.12,0,1.1], ext:[0x23D0,SIZE1]}
},
0x21DA: // left triple arrow
{
dir: H, HW: [[1,AMS]],
stretch: {left:[0x21DA,AMS], rep:[0x2261,MAIN]}
},
0x21DB: // right triple arrow
{
dir: H, HW: [[1,AMS]],
stretch: {right:[0x21DB,AMS], rep:[0x2261,MAIN]}
},
0x23B4: // top square bracket
{
dir: H, HW: [],
stretch: {left:[0x250C,AMS,0,-.1], rep:[0x2212,MAIN,0,.35], right:[0x2510,AMS,0,-.1]}
},
0x23B5: // bottom square bracket
{
dir: H, HW: [],
stretch: {left:[0x2514,AMS,0,.26], rep:[0x2212,MAIN,0,0,0,.25], right:[0x2518,AMS,0,.26]}
},
0x23DC: // top paren
{
dir: H, HW: [[.778,AMS,0,0x2322],[1,MAIN,0,0x2322]],
stretch: {left:[0xE150,SIZE4], rep:[0xE154,SIZE4], right:[0xE151,SIZE4]}
},
0x23DD: // bottom paren
{
dir: H, HW: [[.778,AMS,0,0x2323],[1,MAIN,0,0x2323]],
stretch: {left:[0xE152,SIZE4], rep:[0xE154,SIZE4], right:[0xE153,SIZE4]}
},
0x23E0: // top tortoise shell
{
dir: H, HW: [],
stretch: {left:[0x2CA,MAIN,-.1], rep:[0x2C9,MAIN,0,.13], right:[0x2CB,MAIN], fullExtenders:true}
},
0x23E1: // bottom tortoise shell
{
dir: H, HW: [],
stretch: {left:[0x2CB,MAIN,-.1,.1], rep:[0x2C9,MAIN], right:[0x2CA,MAIN,-.1,.1], fullExtenders:true}
},
0x2906: // leftwards double arrow from bar
{
dir: H, HW: [],
stretch: {left:[0x21D0,MAIN], rep:[0x3D,MAIN], right:[0x2223,SIZE1,0,-.1]}
},
0x2907: // rightwards double arrow from bar
{
dir: H, HW: [],
stretch: {left:[0x22A8,AMS,0,-.12], rep:[0x3D,MAIN], right:[0x21D2,MAIN]}
},
0x294E: // left barb up right barb up harpoon
{
dir: H, HW: [],
stretch: {left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
},
0x294F: // up barb right down barb right harpoon
{
dir: V, HW: [],
stretch: {top:[0x21BE,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
},
0x2950: // left barb dow right barb down harpoon
{
dir: H, HW: [],
stretch: {left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
},
0x2951: // up barb left down barb left harpoon
{
dir: V, HW: [],
stretch: {top:[0x21BF,AMS,.12,0,1.1], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
},
0x295A: // leftwards harpoon with barb up from bar
{
dir: H, HW: [],
stretch: {left:[0x21BC,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
},
0x295B: // rightwards harpoon with barb up from bar
{
dir: H, HW: [],
stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:[0x2212,MAIN], right:[0x21C0,MAIN]}
},
0x295C: // up harpoon with barb right from bar
{
dir: V, HW: [],
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BE,AMS,.12,0,1.1]}
},
0x295D: // down harpoon with barb right from bar
{
dir: V, HW: [],
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C2,AMS,.12,0,1.1]}
},
0x295E: // leftwards harpoon with barb down from bar
{
dir: H, HW: [],
stretch: {left:[0x21BD,MAIN], rep:[0x2212,MAIN], right:[0x2223,SIZE1,0,-.05,.9]}
},
0x295F: // rightwards harpoon with barb down from bar
{
dir: H, HW: [],
stretch: {left:[0x2223,SIZE1,-.09,-.05,.9], rep:[0x2212,MAIN], right:[0x21C1,MAIN]}
},
0x2960: // up harpoon with barb left from bar
{
dir: V, HW: [],
stretch: {bot:[0x22A5,BOLD,0,0,.75], ext:[0x23D0,SIZE1], top:[0x21BF,AMS,.12,0,1.1]}
},
0x2961: // down harpoon with barb left from bar
{
dir: V, HW: [],
stretch: {top:[0x22A4,BOLD,0,0,.75], ext:[0x23D0,SIZE1], bot:[0x21C3,AMS,.12,0,1.1]}
}
};
for (var id in delim) {if (delim.hasOwnProperty(id)) {DELIMITERS[id] = delim[id]}};
MathJax.Ajax.loadComplete(HTMLCSS.fontDir + "/fontdata-extra.js");
})(MathJax.OutputJax["HTML-CSS"]);

View File

@ -7,7 +7,7 @@
*
* ---------------------------------------------------------------------
*
* Copyright (c) 2009 Design Science, Inc.
* Copyright (c) 2009-2011 Design Science, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
*/
(function (HTMLCSS,MML,AJAX) {
var VERSION = "1.0.1";
var VERSION = "1.1.1";
var MAIN = "MathJax_Main",
BOLD = "MathJax_Main-bold",
@ -33,7 +33,7 @@
SIZE2 = "MathJax_Size2",
SIZE3 = "MathJax_Size3",
SIZE4 = "MathJax_Size4";
var H = "H", V = "V";
var H = "H", V = "V", EXTRAH = {load:"extra", dir:H}, EXTRAV = {load:"extra", dir:V};
HTMLCSS.Augment({
FONTDATA: {
@ -244,6 +244,10 @@
dir: V, HW: [[1,MAIN],[1.2,SIZE1],[1.8,SIZE2],[2.4,SIZE3],[3.0,SIZE4]],
stretch: {top: [0x23AB,SIZE4], mid:[0x23AC,SIZE4], bot: [0x23AD,SIZE4], ext: [0x23AA,SIZE4]}
},
0x00AF: // macron
{
dir: H, HW: [[.59,MAIN]], stretch: {rep:[0xAF,MAIN]}
},
0x02C6: // wide hat
{
dir: H, HW: [[.267+.05,MAIN],[.567+.05,SIZE1],[1.005+.05,SIZE2],[1.447+.1,SIZE3],[1.909+.1,SIZE4]]
@ -396,11 +400,15 @@
0x005E: {alias: 0x02C6, dir:H}, // wide hat
0x005F: {alias: 0x2212, dir:H}, // low line
0x007E: {alias: 0x02DC, dir:H}, // wide tilde
0x00AF: {alias: 0x2212, dir:H}, // over line
0x02C9: {alias: 0x00AF, dir:H}, // macron
0x0302: {alias: 0x02C6, dir:H}, // wide hat
0x0303: {alias: 0x02DC, dir:H}, // wide tilde
0x030C: {alias: 0x02C7, dir:H}, // wide caron
0x0332: {alias: 0x2212, dir:H}, // combining low line
0x2015: {alias: 0x2212, dir:H}, // horizontal line
0x2017: {alias: 0x2212, dir:H}, // horizontal line
0x203E: {alias: 0x2212, dir:H}, // over line
0x203E: {alias: 0x00AF, dir:H}, // overline
0x2215: {alias: 0x002F, dir:V}, // division slash
0x2329: {alias: 0x27E8, dir:V}, // langle
0x232A: {alias: 0x27E9, dir:V}, // rangle
0x23AF: {alias: 0x2212, dir:H}, // horizontal line extension
@ -409,7 +417,56 @@
0x3008: {alias: 0x27E8, dir:V}, // langle
0x3009: {alias: 0x27E9, dir:V}, // rangle
0xFE37: {alias: 0x23DE, dir:H}, // horizontal brace down
0xFE38: {alias: 0x23DF, dir:H} // horizontal brace up
0xFE38: {alias: 0x23DF, dir:H}, // horizontal brace up
0x219E: EXTRAH, // left two-headed arrow
0x21A0: EXTRAH, // right two-headed arrow
0x21A4: EXTRAH, // left arrow from bar
0x21A5: EXTRAV, // up arrow from bar
0x21A6: EXTRAH, // right arrow from bar
0x21A7: EXTRAV, // down arrow from bar
0x21B0: EXTRAV, // up arrow with top leftwards
0x21B1: EXTRAV, // up arrow with top right
0x21BC: EXTRAH, // left harpoon with barb up
0x21BD: EXTRAH, // left harpoon with barb down
0x21BE: EXTRAV, // up harpoon with barb right
0x21BF: EXTRAV, // up harpoon with barb left
0x21C0: EXTRAH, // right harpoon with barb up
0x21C1: EXTRAH, // right harpoon with barb down
0x21C2: EXTRAV, // down harpoon with barb right
0x21C3: EXTRAV, // down harpoon with barb left
0x21DA: EXTRAH, // left triple arrow
0x21DB: EXTRAH, // right triple arrow
0x23B4: EXTRAH, // top square bracket
0x23B5: EXTRAH, // bottom square bracket
0x23DC: EXTRAH, // top paren
0x23DD: EXTRAH, // bottom paren
0x23E0: EXTRAH, // top tortoise shell
0x23E1: EXTRAH, // bottom tortoise shell
0x2906: EXTRAH, // leftwards double arrow from bar
0x2907: EXTRAH, // rightwards double arrow from bar
0x294E: EXTRAH, // left barb up right barb up harpoon
0x294F: EXTRAV, // up barb right down barb right harpoon
0x2950: EXTRAH, // left barb dow right barb down harpoon
0x2951: EXTRAV, // up barb left down barb left harpoon
0x295A: EXTRAH, // leftwards harpoon with barb up from bar
0x295B: EXTRAH, // rightwards harpoon with barb up from bar
0x295C: EXTRAV, // up harpoon with barb right from bar
0x295D: EXTRAV, // down harpoon with barb right from bar
0x295E: EXTRAH, // leftwards harpoon with barb down from bar
0x295F: EXTRAH, // rightwards harpoon with barb down from bar
0x2960: EXTRAV, // up harpoon with barb left from bar
0x2961: EXTRAV, // down harpoon with barb left from bar
0x27F5: {alias: 0x2190, dir:H}, // long left arrow
0x27F6: {alias: 0x2192, dir:H}, // long right arrow
0x27F7: {alias: 0x2194, dir:H}, // long left-right arrow
0x27F8: {alias: 0x21D0, dir:H}, // long left double arrow
0x27F9: {alias: 0x21D2, dir:H}, // long right double arrow
0x27FA: {alias: 0x21D4, dir:H}, // long left-right double arrow
0x27FB: {alias: 0x21A4, dir:H}, // long left arrow from bar
0x27FC: {alias: 0x21A6, dir:H}, // long right arrow from bar
0x27FD: {alias: 0x2906, dir:H}, // long left double arrow from bar
0x27FE: {alias: 0x2907, dir:H} // long right double arrow from bar
}
}
});
@ -1406,6 +1463,8 @@
HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x22F1][0] += 700; // adjust height for \ddots
HTMLCSS.FONTDATA.FONTS['MathJax_Size4'][0xE154][0] += 200; // adjust height for brace extender
HTMLCSS.FONTDATA.FONTS['MathJax_Size4'][0xE154][1] += 200; // adjust depth for brace extender
HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x2212][1] += 100; // adjust depth of minus (used as arrow extender)
HTMLCSS.FONTDATA.FONTS['MathJax_Main'][0x003D][1] += 100; // adjust depth of = (used as arrow extender)
if (!HTMLCSS.imgFonts) {
MathJax.Hub.Browser.Select({

View File

@ -783,6 +783,7 @@
code = delim.alias; delim = this.FONTDATA.DELIMITERS[code];
if (!delim) {delim = {HW: [0,this.FONTDATA.VARIANT[MML.VARIANT.NORMAL]]}}
}
if (delim.load) {HUB.RestartAfter(AJAX.Require(this.fontDir+"/fontdata-"+delim.load+".js"))}
for (var i = 0, m = delim.HW.length; i < m; i++) {
if (delim.HW[i][0]*scale >= HW-.01 || (i == m-1 && !delim.stretch)) {
if (delim.HW[i][2]) {scale *= delim.HW[i][2]}
@ -856,7 +857,8 @@
}
if (W > w) {
var rW = rep.bbox.rw-rep.bbox.lw, rw = rW - .05, n, N, k = (delim.mid ? 2 : 1);
N = n = Math.ceil((W-w)/(k*rw)); rw = (W-w)/(k*n);
N = n = Math.ceil((W-w)/(k*rw));
if (!delim.fillExtenders) {rw = (W-w)/(k*n)}
var dx = (n/(n+1))*(rW - rw); rw = rW - dx; x -= rep.bbox.lw + dx;
while (k-- > 0) {
while (n-- > 0) {this.placeBox(this.addBox(stack,rep.cloneNode(true)),x,0,true); x += rw}
@ -885,12 +887,19 @@
if (data[0] instanceof Array) {
for (var i = 0, m = data[0].length; i < m; i++) {text += String.fromCharCode(data[0][i])}
} else {text = String.fromCharCode(data[0])}
if (scale !== 1) {
if (data[4]) {scale *= data[4]}
if (scale !== 1 || data[3]) {
SPAN = this.addElement(span,"span",{style:{fontSize: this.Percent(scale)}, scale:scale});
this.handleVariant(SPAN,variant,text);
span.bbox = SPAN.bbox;
} else {this.handleVariant(span,variant,text)}
if (data[2]) {span.style.marginLeft = this.Em(data[2])}
if (data[2]) {span.style.marginLeft = this.Em(data[2])} // x offset
if (data[3]) { // y offset
span.firstChild.style.verticalAlign = this.Em(data[3]);
span.bbox.h += data[3]; if (span.bbox.h < 0) {span.bbox.h = 0}
}
if (data[5]) {span.bbox.h += data[5]} // extra height
if (data[6]) {span.bbox.d += data[6]} // extra depth
if (this.AccentBug && span.bbox.w === 0) {
// Handle combining characters by adding a non-breaking space and removing that width
SPAN.firstChild.nodeValue += this.NBSP;