Merge pull request #630 from fred-wang/issue612

First step in Issue #612 (Move TeX/STIX font data from boldsymbol extension)
This commit is contained in:
Davide P. Cervone 2013-10-19 07:22:48 -07:00
commit 068b907cd5
4 changed files with 41 additions and 62 deletions

View File

@ -72,58 +72,4 @@ MathJax.Hub.Register.StartupHook("TeX Jax Ready",function () {
});
MathJax.Hub.Register.StartupHook("HTML-CSS Jax Ready",function () {
var HTMLCSS = MathJax.OutputJax["HTML-CSS"];
var FONTS = HTMLCSS.FONTDATA.FONTS;
var VARIANT = HTMLCSS.FONTDATA.VARIANT;
if (HTMLCSS.fontInUse === "TeX") {
FONTS["MathJax_Caligraphic-bold"] = "Caligraphic/Bold/Main.js";
VARIANT["-tex-caligraphic-bold"] =
{fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"],
offsetA: 0x41, variantA: "bold-italic"};
VARIANT["-tex-oldstyle-bold"] =
{fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]};
if (HTMLCSS.msieCheckGreek && HTMLCSS.Font.testFont({
family:"MathJax_Greek", weight:"bold", style:"italic", testString: HTMLCSS.msieCheckGreek
})) {
VARIANT["bold-italic"].offsetG = 0x391; VARIANT["bold-italic"].variantG = "-Greek-Bold-Italic";
VARIANT["-Greek-Bold-Italic"] = {fonts:["MathJax_Greek-bold-italic"]};
FONTS["MathJax_Greek-bold-italic"] = "Greek/BoldItalic/Main.js";
}
if (MathJax.Hub.Browser.isChrome && !MathJax.Hub.Browser.versionAtLeast("5.0")) {
VARIANT["-tex-caligraphic-bold"].remap = {0x54: [0xE2F0,"-WinChrome"]};
}
} else if (HTMLCSS.fontInUse === "STIX") {
VARIANT["-tex-caligraphic-bold"] = {
fonts:["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic","STIXNonUnicode","STIXGeneral","STIXSizeOneSym"],
offsetA: 0xE247, noLowerCase: 1
};
VARIANT["-tex-oldstyle-bold"] = {
fonts:["STIXGeneral-bold","STIXNonUnicode-bold","STIXGeneral","STIXSizeOneSym"], offsetN: 0xE263,
remap: {0xE264: 0xE267, 0xE265: 0xE26B, 0xE266: 0xE26F, 0xE267: 0xE273,
0xE268: 0xE277, 0xE269: 0xE27B, 0xE26A: 0xE27F, 0xE26B: 0xE283,
0xE26C: 0xE287}
};
}
});
MathJax.Hub.Register.StartupHook("SVG Jax Ready",function () {
var SVG = MathJax.OutputJax.SVG;
var FONTS = SVG.FONTDATA.FONTS;
var VARIANT = SVG.FONTDATA.VARIANT;
FONTS["MathJax_Caligraphic-bold"] = "Caligraphic/Bold/Main.js";
VARIANT["-tex-caligraphic-bold"] =
{fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"],
offsetA: 0x41, variantA: "bold-italic"};
VARIANT["-tex-oldstyle-bold"] =
{fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]};
});
MathJax.Ajax.loadComplete("[MathJax]/extensions/TeX/boldsymbol.js");

View File

@ -105,7 +105,17 @@
0xE26A: 0xE285}},
"-tex-mathit": {fonts: [ITALIC,NONUNII,GENERAL,NONUNI,SIZE1], italic:true, noIC:true},
"-largeOp": {fonts:[SIZE1,"STIXIntegralsD",NONUNI,GENERAL]},
"-smallOp": {}
"-smallOp": {},
"-tex-caligraphic-bold": {
fonts:["STIXGeneral-bold-italic","STIXNonUnicode-bold-italic","STIXNonUnicode","STIXGeneral","STIXSizeOneSym"], bold:true,
offsetA: 0xE247, noLowerCase: 1
},
"-tex-oldstyle-bold": {
fonts:["STIXGeneral-bold","STIXNonUnicode-bold","STIXGeneral","STIXSizeOneSym"], bold:true, offsetN: 0xE263,
remap: {0xE264: 0xE267, 0xE265: 0xE26B, 0xE266: 0xE26F,
0xE267: 0xE273, 0xE268: 0xE277, 0xE269: 0xE27B,
0xE26A: 0xE27F, 0xE26B: 0xE283, 0xE26C: 0xE287}
}
},
RANGES: [

View File

@ -66,7 +66,8 @@
"MathJax_SansSerif-bold": "SansSerif/Bold/Main.js",
"MathJax_SansSerif-italic": "SansSerif/Italic/Main.js",
"MathJax_Script": "Script/Regular/Main.js",
"MathJax_Typewriter": "Typewriter/Regular/Main.js"
"MathJax_Typewriter": "Typewriter/Regular/Main.js",
"MathJax_Caligraphic-bold": "Caligraphic/Bold/Main.js"
},
VARIANT: {
@ -132,7 +133,10 @@
0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash
}},
"-largeOp": {fonts:[SIZE2,SIZE1,MAIN]},
"-smallOp": {fonts:[SIZE1,MAIN]}
"-smallOp": {fonts:[SIZE1,MAIN]},
"-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true,
offsetA: 0x41, variantA: "bold-italic"},
"-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true}
},
RANGES: [
@ -1590,7 +1594,7 @@
HTMLCSS.FONTDATA.REMAP[0x2CB] = 0x60; // grave
HTMLCSS.FONTDATA.REMAP[0x2DA] = 0xB0; // ring above
var testString = HTMLCSS.msieCheckGreek =
var testString =
String.fromCharCode(0x393)+" "+String.fromCharCode(0x3A5)+" "+String.fromCharCode(0x39B);
HTMLCSS.FONTDATA.RANGES.push({name: "IEgreek", low: 0x03B1, high: 0x03C9, offset: "IEG", add: 32});
@ -1762,6 +1766,20 @@
};
}
if (HTMLCSS.Font.testFont({family:"MathJax_Greek", weight:"bold", style:"italic", testString: testString})) {
HTMLCSS.Augment({
FONTDATA: {
VARIANT: {
"bold-italic": {offsetG: 0x391,
variantG: "-Greek-Bold-Italic"},
"-Greek-Bold-Italic": {fonts:["MathJax_Greek-bold-italic"]}
},
FONTS: {"MathJax_Greek-bold-italic": "Greek/BoldItalic/Main.js"}
}
});
}
}
if (HTMLCSS.msieIE6) {
@ -1879,7 +1897,6 @@
delete HTMLCSS.FONTDATA.REMAPACCENT["\u2192"];
}
if (browser.isPC && !MathJax.Hub.Browser.versionAtLeast("5.0")) {
// FIXME: patch caligraphic bold, too
var WinChrome = "-WinChrome";
HTMLCSS.Augment({
FONTDATA: {
@ -1888,6 +1905,7 @@
bold: {remap: {0xE2F1: [0x3E,WinChrome]}},
italic: {remap: {0x64: [0x64,WinChrome]}},
"-tex-caligraphic": {remap: {0x54: [0x54,WinChrome]}},
"-tex-caligraphic-bold": {remap: {0x54: [0xE2F0,WinChrome]}},
"-largeOp": {remap: {0x2A00: [0x2A00,WinChrome]}},
"-smallOp": {remap: {0x22C3: [0x22C3,WinChrome]}},
"-WinChrome": {fonts:["MathJax_WinChrome"]}
@ -1918,8 +1936,9 @@
0xE2F0: [720,69,644,38,947], // stix-lowercase u italic slashed
0xE2F1: [587,85,894,96,797] // stix-lowercase u bold italic slashed
};
}
}
});

View File

@ -64,7 +64,8 @@
"MathJax_SansSerif-bold": "SansSerif/Bold/Main.js",
"MathJax_SansSerif-italic": "SansSerif/Italic/Main.js",
"MathJax_Script": "Script/Regular/Main.js",
"MathJax_Typewriter": "Typewriter/Regular/Main.js"
"MathJax_Typewriter": "Typewriter/Regular/Main.js",
"MathJax_Caligraphic-bold": "Caligraphic/Bold/Main.js"
},
VARIANT: {
@ -130,7 +131,10 @@
0x210F:[0x210F,MML.VARIANT.NORMAL] // \hslash
}},
"-largeOp": {fonts:[SIZE2,SIZE1,MAIN]},
"-smallOp": {fonts:[SIZE1,MAIN]}
"-smallOp": {fonts:[SIZE1,MAIN]},
"-tex-caligraphic-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true,
offsetA: 0x41, variantA: "bold-italic"},
"-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"], bold:true}
},
RANGES: [