Move FONTDATA from boldsymbol.js to jax/output for STIX and TeX fonts. #612

This commit is contained in:
Frédéric Wang 2013-10-18 14:13:58 +02:00
parent 830502a0a3
commit d2fed27a29
4 changed files with 50 additions and 61 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"],
offsetA: 0xE247, noLowerCase: 1
},
"-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}
}
},
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"],
offsetA: 0x41, variantA: "bold-italic"},
"-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]}
},
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) {
@ -1918,8 +1936,19 @@
0xE2F0: [720,69,644,38,947], // stix-lowercase u italic slashed
0xE2F1: [587,85,894,96,797] // stix-lowercase u bold italic slashed
};
}
if (!browser.versionAtLeast("5.0")) {
HTMLCSS.Augment({
FONTDATA: {
VARIANT: {
"-tex-caligraphic-bold": {remap: {0x54: [0xE2F0,"-WinChrome"]}}
}
}
});
}
}
});

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"],
offsetA: 0x41, variantA: "bold-italic"},
"-tex-oldstyle-bold": {fonts:["MathJax_Caligraphic-bold","MathJax_Main-bold","MathJax_Main","MathJax_Math","MathJax_Size1"]}
},
RANGES: [