diff --git a/src/buildHTML.js b/src/buildHTML.js index 759c319fd..11faf4088 100644 --- a/src/buildHTML.js +++ b/src/buildHTML.js @@ -42,7 +42,7 @@ var groupToType = { open: "mopen", close: "mclose", inner: "minner", - genfrac: "minner", + genfrac: "mord", array: "minner", spacing: "mord", punct: "mpunct", @@ -155,6 +155,14 @@ var isCharacterBox = function(group) { baseElem.type === "punct"; }; +var makeNullDelimiter = function(options) { + return makeSpan([ + "sizing", "reset-" + options.size, "size5", + options.style.reset(), Style.TEXT.cls(), + "nulldelimiter" + ]); +}; + /** * This is a map of group types to the function used to handle that type. * Simpler types come at the beginning, while complicated types come afterwards. @@ -469,8 +477,6 @@ var groupTypes = { frac.depth *= fstyle.sizeMultiplier / options.style.sizeMultiplier; // Rule 15e - var innerChildren = [makeSpan(["mfrac"], [frac])]; - var delimSize; if (fstyle.size === Style.DISPLAY.size) { delimSize = fontMetrics.metrics.delim1; @@ -478,24 +484,25 @@ var groupTypes = { delimSize = fontMetrics.metrics.getDelim2(fstyle); } - if (group.value.leftDelim != null) { - innerChildren.unshift( - delimiter.customSizedDelim( - group.value.leftDelim, delimSize, true, - options.withStyle(fstyle), group.mode) - ); + var leftDelim, rightDelim; + if (group.value.leftDelim == null) { + leftDelim = makeNullDelimiter(options); + } else { + leftDelim = delimiter.customSizedDelim( + group.value.leftDelim, delimSize, true, + options.withStyle(fstyle), group.mode); } - if (group.value.rightDelim != null) { - innerChildren.push( - delimiter.customSizedDelim( - group.value.rightDelim, delimSize, true, - options.withStyle(fstyle), group.mode) - ); + if (group.value.rightDelim == null) { + rightDelim = makeNullDelimiter(options); + } else { + rightDelim = delimiter.customSizedDelim( + group.value.rightDelim, delimSize, true, + options.withStyle(fstyle), group.mode); } return makeSpan( - ["minner", options.style.reset(), fstyle.cls()], - innerChildren, + ["mord", options.style.reset(), fstyle.cls()], + [leftDelim, makeSpan(["mfrac"], [frac]), rightDelim], options.getColor()); }, @@ -1035,7 +1042,7 @@ var groupTypes = { var leftDelim; if (group.value.left === ".") { // Empty delimiters in \left and \right make null delimiter spaces. - leftDelim = makeSpan(["nulldelimiter"]); + leftDelim = makeNullDelimiter(options); } else { // Otherwise, use leftRightDelim to generate the correct sized // delimiter. @@ -1049,7 +1056,7 @@ var groupTypes = { var rightDelim; // Same for the right delimiter if (group.value.right === ".") { - rightDelim = makeSpan(["nulldelimiter"]); + rightDelim = makeNullDelimiter(options); } else { rightDelim = delimiter.leftRightDelim( group.value.right, innerHeight, innerDepth, options, diff --git a/test/screenshotter/images/Arrays-firefox.png b/test/screenshotter/images/Arrays-firefox.png index bdec8ec52..9f963254d 100644 Binary files a/test/screenshotter/images/Arrays-firefox.png and b/test/screenshotter/images/Arrays-firefox.png differ diff --git a/test/screenshotter/images/BinomTest-firefox.png b/test/screenshotter/images/BinomTest-firefox.png index 4673810ef..7712db1a5 100644 Binary files a/test/screenshotter/images/BinomTest-firefox.png and b/test/screenshotter/images/BinomTest-firefox.png differ diff --git a/test/screenshotter/images/DeepFontSizing-firefox.png b/test/screenshotter/images/DeepFontSizing-firefox.png index c97970031..ea0aa2782 100644 Binary files a/test/screenshotter/images/DeepFontSizing-firefox.png and b/test/screenshotter/images/DeepFontSizing-firefox.png differ diff --git a/test/screenshotter/images/DisplayMode-firefox.png b/test/screenshotter/images/DisplayMode-firefox.png index baa1fdf41..913b1717d 100644 Binary files a/test/screenshotter/images/DisplayMode-firefox.png and b/test/screenshotter/images/DisplayMode-firefox.png differ diff --git a/test/screenshotter/images/DisplayStyle-firefox.png b/test/screenshotter/images/DisplayStyle-firefox.png index d6a468532..f5c59c4e1 100644 Binary files a/test/screenshotter/images/DisplayStyle-firefox.png and b/test/screenshotter/images/DisplayStyle-firefox.png differ diff --git a/test/screenshotter/images/FractionTest-firefox.png b/test/screenshotter/images/FractionTest-firefox.png index cbd953541..8c25211be 100644 Binary files a/test/screenshotter/images/FractionTest-firefox.png and b/test/screenshotter/images/FractionTest-firefox.png differ diff --git a/test/screenshotter/images/NestedFractions-firefox.png b/test/screenshotter/images/NestedFractions-firefox.png index 8d7a83ebc..b3607db1f 100644 Binary files a/test/screenshotter/images/NestedFractions-firefox.png and b/test/screenshotter/images/NestedFractions-firefox.png differ diff --git a/test/screenshotter/images/Phantom-firefox.png b/test/screenshotter/images/Phantom-firefox.png index 363cd2463..d0b92957c 100644 Binary files a/test/screenshotter/images/Phantom-firefox.png and b/test/screenshotter/images/Phantom-firefox.png differ diff --git a/test/screenshotter/images/RlapBug-firefox.png b/test/screenshotter/images/RlapBug-firefox.png index a31ce594c..ae96ebccf 100644 Binary files a/test/screenshotter/images/RlapBug-firefox.png and b/test/screenshotter/images/RlapBug-firefox.png differ diff --git a/test/screenshotter/images/Text-firefox.png b/test/screenshotter/images/Text-firefox.png index 688d7e83e..b43fcfc7c 100644 Binary files a/test/screenshotter/images/Text-firefox.png and b/test/screenshotter/images/Text-firefox.png differ diff --git a/test/screenshotter/ss_data.json b/test/screenshotter/ss_data.json index e3e214892..e5f9359f2 100644 --- a/test/screenshotter/ss_data.json +++ b/test/screenshotter/ss_data.json @@ -11,7 +11,7 @@ "DisplayMode": "http://localhost:7936/test/screenshotter/test.html?m=\\sum_{i=0}^\\infty \\frac{1}{i}&pre=pre&post=post&display=1", "DisplayStyle": "http://localhost:7936/test/screenshotter/test.html?m={\\displaystyle\\sqrt{x}}{\\sqrt{x}}{\\displaystyle \\frac12}{\\frac12}{\\displaystyle x^1_2}{x^1_2}", "Exponents": "http://localhost:7936/test/screenshotter/test.html?m=a^{a^a_a}_{a^a_a}", - "FractionTest": "http://localhost:7936/test/screenshotter/test.html?m=\\dfrac{a}{b}\\frac{a}{b}\\tfrac{a}{b}", + "FractionTest": "http://localhost:7936/test/screenshotter/test.html?m=\\dfrac{a}{b}\\frac{a}{b}\\tfrac{a}{b}\\;-\\dfrac12\\;1\\tfrac12", "Functions": "http://localhost:7936/test/screenshotter/test.html?m=\\sin\\cos\\tan\\ln\\log", "GreekLetters": "http://localhost:7936/test/screenshotter/test.html?m=\\alpha\\beta\\gamma\\omega", "KaTeX": "http://localhost:7936/test/screenshotter/test.html?m=\\KaTeX",