From 62144e4abd2e08073194c86179c1be50f7d38f8b Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Mon, 17 Apr 2023 14:27:57 -0400 Subject: [PATCH] chore: Spelling (#3762) * spelling: analysis Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: calculate Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: calligraphic Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: compatibility Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: corresponding Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: devanagari Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: display Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: empirically Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: environment Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: from Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: gatsby Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: glyph Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: hlines Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: itself Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: javascript Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: multiple Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: necessary Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: nonexistent Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: precedence Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: respectively Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: retrieved Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: similarly Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: simultaneously Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: stretch Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: surprisingly Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: the Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: unambiguously Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: vinculum Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * spelling: which Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> * Restore nonexistsOK --------- Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com> Co-authored-by: Erik Demaine --- CHANGELOG.md | 2 +- contrib/auto-render/test/auto-render-spec.js | 2 +- contrib/mhchem/mhchem.js | 4 +- .../render-a11y-string/render-a11y-string.js | 2 +- dockers/screenshotter/README.md | 2 +- src/Parser.js | 2 +- src/buildMathML.js | 4 +- src/defineEnvironment.js | 2 +- src/delimiter.js | 40 +++---- src/environments/array.js | 4 +- src/fontMetrics.js | 8 +- src/functions/arrow.js | 2 +- src/functions/delimsizing.js | 2 +- src/katex.less | 2 +- src/mathMLTree.js | 4 +- src/parseNode.js | 2 +- src/svgGeometry.js | 102 +++++++++--------- test/katex-spec.js | 4 +- test/unicode-spec.js | 6 +- 19 files changed, 98 insertions(+), 98 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 23da85f7..0ae2b352 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -359,7 +359,7 @@ You can now use: - docs: Update \operatorname in supported_table.md 0.12.0 (#2571) - docs: Fix documentation typo in operatorname* (#2570) - docs: add warning re:defer to mhchem documentation (#2485) -- docs: update Gastby logo and link (#2481) +- docs: update Gatsby logo and link (#2481) - docs: add MonsterWriter to the users page (#2478) - docs: add comment re: \arrowvert (#2449) - docs: add link to Discussions (#2405) diff --git a/contrib/auto-render/test/auto-render-spec.js b/contrib/auto-render/test/auto-render-spec.js index accb3261..e4038b59 100644 --- a/contrib/auto-render/test/auto-render-spec.js +++ b/contrib/auto-render/test/auto-render-spec.js @@ -127,7 +127,7 @@ describe("A delimiter splitter", function() { ]); }); - it("splits mutliple times", function() { + it("splits multiple times", function() { expect("hello ( world ) boo ( more ) stuff").toSplitInto( [ {type: "text", data: "hello "}, diff --git a/contrib/mhchem/mhchem.js b/contrib/mhchem/mhchem.js index 95f7c742..a2a6dde3 100644 --- a/contrib/mhchem/mhchem.js +++ b/contrib/mhchem/mhchem.js @@ -1,5 +1,5 @@ /* eslint-disable */ -/* -*- Mode: Javascript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ +/* -*- Mode: JavaScript; indent-tabs-mode:nil; js-indent-level: 2 -*- */ /* vim: set ts=2 et sw=2 tw=80: */ /************************************************************* @@ -1686,7 +1686,7 @@ import katex from "katex"; }; // - // Helpers for code anaylsis + // Helpers for code analysis // Will show type error at calling position // /** @param {number} a */ diff --git a/contrib/render-a11y-string/render-a11y-string.js b/contrib/render-a11y-string/render-a11y-string.js index 463b2d1d..886bd0e8 100644 --- a/contrib/render-a11y-string/render-a11y-string.js +++ b/contrib/render-a11y-string/render-a11y-string.js @@ -670,7 +670,7 @@ const handleObject = ( } case "mathchoice": { - // TODO: track which which style we're using, e.g. dispaly, text, etc. + // TODO: track which style we're using, e.g. display, text, etc. // default to text style if even that may not be the correct style buildA11yStrings(tree.text, a11yStrings, atomType); break; diff --git a/dockers/screenshotter/README.md b/dockers/screenshotter/README.md index d735d8a0..a09139af 100644 --- a/dockers/screenshotter/README.md +++ b/dockers/screenshotter/README.md @@ -45,7 +45,7 @@ Note that screenshots taken without Docker are very likely to disagree from the ones stored in the repository, due to different versions of various software components being used. The screenshots taken in this fashion are well suited for visual inspection, but for exact binary -comparisons it would be neccessary to carefully set up the environment +comparisons it would be necessary to carefully set up the environment to match the one used by the Docker approach. Screenshots can also be verified and generated by opening a pull request. diff --git a/src/Parser.js b/src/Parser.js index 288b2cfc..936246e7 100644 --- a/src/Parser.js +++ b/src/Parser.js @@ -178,7 +178,7 @@ export default class Parser { * Parses an "expression", which is a list of atoms. * * `breakOnInfix`: Should the parsing stop when we hit infix nodes? This - * happens when functions have higher precendence han infix + * happens when functions have higher precedence han infix * nodes in implicit parses. * * `breakOnTokenText`: The text of the token that the expression should end diff --git a/src/buildMathML.js b/src/buildMathML.js index 849be0cd..54f43c34 100644 --- a/src/buildMathML.js +++ b/src/buildMathML.js @@ -1,6 +1,6 @@ // @flow /** - * This file converts a parse tree into a cooresponding MathML tree. The main + * This file converts a parse tree into a corresponding MathML tree. The main * entry point is the `buildMathML` function, which takes a parse tree from the * parser. */ @@ -101,7 +101,7 @@ export const getVariant = function( } else if (font === "mathfrak") { return "fraktur"; } else if (font === "mathscr" || font === "mathcal") { - // MathML makes no distinction between script and caligrahpic + // MathML makes no distinction between script and calligraphic return "script"; } else if (font === "mathsf") { return "sans-serif"; diff --git a/src/defineEnvironment.js b/src/defineEnvironment.js index 1ddde108..337dad10 100644 --- a/src/defineEnvironment.js +++ b/src/defineEnvironment.js @@ -42,7 +42,7 @@ type EnvProps = { }; /** - * Final enviornment spec for use at parse time. + * Final environment spec for use at parse time. * This is almost identical to `EnvDefSpec`, except it * 1. includes the function handler * 2. requires all arguments except argType diff --git a/src/delimiter.js b/src/delimiter.js index 3ceb31a0..beac30a1 100644 --- a/src/delimiter.js +++ b/src/delimiter.js @@ -364,7 +364,7 @@ const makeStackedDelim = function( middleFactor = 2; // repeat symmetrically above and below middle } - // Calcuate the minimal height that the delimiter can have. + // Calculate the minimal height that the delimiter can have. // It is at least the size of the top, bottom, and optional middle combined. const minHeight = topHeightTotal + bottomHeightTotal + middleHeightTotal; @@ -453,7 +453,7 @@ const makeStackedDelim = function( Style.TEXT, options, classes); }; -// All surds have 0.08em padding above the viniculum inside the SVG. +// All surds have 0.08em padding above the vinculum inside the SVG. // That keeps browser span height rounding error from pinching the line. const vbPad = 80; // padding above the surd, measured inside the viewBox. const emPad = 0.08; // padding, in ems, measured in the document. @@ -462,10 +462,10 @@ const sqrtSvg = function( sqrtName: string, height: number, viewBoxHeight: number, - extraViniculum: number, + extraVinculum: number, options: Options, ): SvgSpan { - const path = sqrtPath(sqrtName, extraViniculum, viewBoxHeight); + const path = sqrtPath(sqrtName, extraVinculum, viewBoxHeight); const pathNode = new PathNode(sqrtName, path); const svg = new SvgNode([pathNode], { @@ -500,9 +500,9 @@ const makeSqrtImage = function( let sizeMultiplier = newOptions.sizeMultiplier; // default - // The standard sqrt SVGs each have a 0.04em thick viniculum. - // If Settings.minRuleThickness is larger than that, we add extraViniculum. - const extraViniculum = Math.max(0, + // The standard sqrt SVGs each have a 0.04em thick vinculum. + // If Settings.minRuleThickness is larger than that, we add extraVinculum. + const extraVinculum = Math.max(0, options.minRuleThickness - options.fontMetrics().sqrtRuleThickness); // Create a span containing an SVG image of a sqrt symbol. @@ -514,22 +514,22 @@ const makeSqrtImage = function( // We create viewBoxes with 80 units of "padding" above each surd. // Then browser rounding error on the parent span height will not - // encroach on the ink of the viniculum. But that padding is not + // encroach on the ink of the vinculum. But that padding is not // included in the TeX-like `height` used for calculation of // vertical alignment. So texHeight = span.height < span.style.height. if (delim.type === "small") { // Get an SVG that is derived from glyph U+221A in font KaTeX-Main. // 1000 unit normal glyph height. - viewBoxHeight = 1000 + 1000 * extraViniculum + vbPad; + viewBoxHeight = 1000 + 1000 * extraVinculum + vbPad; if (height < 1.0) { sizeMultiplier = 1.0; // mimic a \textfont radical } else if (height < 1.4) { sizeMultiplier = 0.7; // mimic a \scriptfont radical } - spanHeight = (1.0 + extraViniculum + emPad) / sizeMultiplier; - texHeight = (1.00 + extraViniculum) / sizeMultiplier; - span = sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraViniculum, + spanHeight = (1.0 + extraVinculum + emPad) / sizeMultiplier; + texHeight = (1.00 + extraVinculum) / sizeMultiplier; + span = sqrtSvg("sqrtMain", spanHeight, viewBoxHeight, extraVinculum, options); span.style.minWidth = "0.853em"; advanceWidth = 0.833 / sizeMultiplier; // from the font. @@ -537,21 +537,21 @@ const makeSqrtImage = function( } else if (delim.type === "large") { // These SVGs come from fonts: KaTeX_Size1, _Size2, etc. viewBoxHeight = (1000 + vbPad) * sizeToMaxHeight[delim.size]; - texHeight = (sizeToMaxHeight[delim.size] + extraViniculum) / sizeMultiplier; - spanHeight = (sizeToMaxHeight[delim.size] + extraViniculum + emPad) + texHeight = (sizeToMaxHeight[delim.size] + extraVinculum) / sizeMultiplier; + spanHeight = (sizeToMaxHeight[delim.size] + extraVinculum + emPad) / sizeMultiplier; span = sqrtSvg("sqrtSize" + delim.size, spanHeight, viewBoxHeight, - extraViniculum, options); + extraVinculum, options); span.style.minWidth = "1.02em"; advanceWidth = 1.0 / sizeMultiplier; // 1.0 from the font. } else { // Tall sqrt. In TeX, this would be stacked using multiple glyphs. // We'll use a single SVG to accomplish the same thing. - spanHeight = height + extraViniculum + emPad; - texHeight = height + extraViniculum; - viewBoxHeight = Math.floor(1000 * height + extraViniculum) + vbPad; - span = sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraViniculum, + spanHeight = height + extraVinculum + emPad; + texHeight = height + extraVinculum; + viewBoxHeight = Math.floor(1000 * height + extraVinculum) + vbPad; + span = sqrtSvg("sqrtTall", spanHeight, viewBoxHeight, extraVinculum, options); span.style.minWidth = "0.742em"; advanceWidth = 1.056; @@ -567,7 +567,7 @@ const makeSqrtImage = function( // This actually should depend on the chosen font -- e.g. \boldmath // should use the thicker surd symbols from e.g. KaTeX_Main-Bold, and // have thicker rules. - ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraViniculum) + ruleWidth: (options.fontMetrics().sqrtRuleThickness + extraVinculum) * sizeMultiplier, }; }; diff --git a/src/environments/array.js b/src/environments/array.js index bd726f51..c2968fac 100644 --- a/src/environments/array.js +++ b/src/environments/array.js @@ -573,8 +573,8 @@ const mathmlBuilder: MathMLBuilder<"array"> = function(group, options) { // We simulate this by adding (arraystretch - 1)em to the gap. This // does a reasonable job of adjusting arrays containing 1 em tall content. - // The 0.16 and 0.09 values are found emprically. They produce an array - // similar to LaTeX and in which content does not interfere with \hines. + // The 0.16 and 0.09 values are found empirically. They produce an array + // similar to LaTeX and in which content does not interfere with \hlines. const gap = (group.arraystretch === 0.5) ? 0.1 // {smallmatrix}, {subarray} : 0.16 + group.arraystretch - 1 + (group.addJot ? 0.09 : 0); diff --git a/src/fontMetrics.js b/src/fontMetrics.js index 1a4d222f..adb619f2 100644 --- a/src/fontMetrics.js +++ b/src/fontMetrics.js @@ -13,9 +13,9 @@ import type {Mode} from "./types"; // In TeX, there are actually three sets of dimensions, one for each of // textstyle (size index 5 and higher: >=9pt), scriptstyle (size index 3 and 4: // 7-8pt), and scriptscriptstyle (size index 1 and 2: 5-6pt). These are -// provided in the the arrays below, in that order. +// provided in the arrays below, in that order. // -// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respsectively. +// The font metrics are stored in fonts cmsy10, cmsy7, and cmsy5 respectively. // This was determined by running the following script: // // latex -interaction=nonstopmode \ @@ -25,7 +25,7 @@ import type {Mode} from "./types"; // '\expandafter\show\the\scriptscriptfont2' \ // '\stop' // -// The metrics themselves were retreived using the following commands: +// The metrics themselves were retrieved using the following commands: // // tftopl cmsy10 // tftopl cmsy7 @@ -230,7 +230,7 @@ export function getCharacterMetrics( // So if the character is in a script we support but we // don't have metrics for it, just use the metrics for // the Latin capital letter M. This is close enough because - // we (currently) only care about the height of the glpyh + // we (currently) only care about the height of the glyph // not its width. if (supportedCodepoint(ch)) { metrics = metricMap[font][77]; // 77 is the charcode for 'M' diff --git a/src/functions/arrow.js b/src/functions/arrow.js index 2895800c..88b5b1bc 100644 --- a/src/functions/arrow.js +++ b/src/functions/arrow.js @@ -47,7 +47,7 @@ defineFunction({ }; }, // Flow is unable to correctly infer the type of `group`, even though it's - // unamibiguously determined from the passed-in `type` above. + // unambiguously determined from the passed-in `type` above. htmlBuilder(group: ParseNode<"xArrow">, options) { const style = options.style; diff --git a/src/functions/delimsizing.js b/src/functions/delimsizing.js index 9efb089d..4d1be976 100644 --- a/src/functions/delimsizing.js +++ b/src/functions/delimsizing.js @@ -342,7 +342,7 @@ defineFunction({ return middleDelim; }, mathmlBuilder: (group, options) => { - // A Firefox \middle will strech a character vertically only if it + // A Firefox \middle will stretch a character vertically only if it // is in the fence part of the operator dictionary at: // https://www.w3.org/TR/MathML3/appendixc.html. // So we need to avoid U+2223 and use plain "|" instead. diff --git a/src/katex.less b/src/katex.less index 2222fbc7..cbe878a6 100644 --- a/src/katex.less +++ b/src/katex.less @@ -432,7 +432,7 @@ .mtable { .vertical-separator { display: inline-block; - // margin and border-right are set in Javascript + // margin and border-right are set in JavaScript min-width: 1px; // Prevent Chrome from omitting a line. } diff --git a/src/mathMLTree.js b/src/mathMLTree.js index b9a4f80f..9e0cc9f5 100644 --- a/src/mathMLTree.js +++ b/src/mathMLTree.js @@ -5,7 +5,7 @@ * since we're mainly using MathML to improve accessibility, we don't manage * any of the styling state that the plain DOM nodes do. * - * The `toNode` and `toMarkup` functions work simlarly to how they do in + * The `toNode` and `toMarkup` functions work similarly to how they do in * domTree.js, creating namespaced DOM nodes and HTML text markup respectively. */ @@ -166,7 +166,7 @@ export class TextNode implements MathDomNode { /** * Converts the text node into a string - * (representing the text iteself). + * (representing the text itself). */ toText(): string { return this.text; diff --git a/src/parseNode.js b/src/parseNode.js index 72ce209b..f1fe7b61 100644 --- a/src/parseNode.js +++ b/src/parseNode.js @@ -72,7 +72,7 @@ type ParseNodeTypes = { |}, // To avoid requiring run-time type assertions, this more carefully captures // the requirements on the fields per the op.js htmlBuilder logic: - // - `body` and `value` are NEVER set simultanouesly. + // - `body` and `value` are NEVER set simultaneously. // - When `symbol` is true, `body` is set. "op": {| type: "op", diff --git a/src/svgGeometry.js b/src/svgGeometry.js index 96af2ac3..649e4868 100644 --- a/src/svgGeometry.js +++ b/src/svgGeometry.js @@ -6,96 +6,96 @@ // In all paths below, the viewBox-to-em scale is 1000:1. -const hLinePad = 80; // padding above a sqrt viniculum. Prevents image cropping. +const hLinePad = 80; // padding above a sqrt vinculum. Prevents image cropping. -// The viniculum of a \sqrt can be made thicker by a KaTeX rendering option. -// Think of variable extraViniculum as two detours in the SVG path. -// The detour begins at the lower left of the area labeled extraViniculum below. -// The detour proceeds one extraViniculum distance up and slightly to the right, -// displacing the radiused corner between surd and viniculum. The radius is +// The vinculum of a \sqrt can be made thicker by a KaTeX rendering option. +// Think of variable extraVinculum as two detours in the SVG path. +// The detour begins at the lower left of the area labeled extraVinculum below. +// The detour proceeds one extraVinculum distance up and slightly to the right, +// displacing the radiused corner between surd and vinculum. The radius is // traversed as usual, then the detour resumes. It goes right, to the end of -// the very long viniculumn, then down one extraViniculum distance, +// the very long vinculum, then down one extraVinculum distance, // after which it resumes regular path geometry for the radical. -/* viniculum +/* vinculum / - /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraViniculum - / █████████████████████←0.04em (40 unit) std viniculum thickness + /▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒←extraVinculum + / █████████████████████←0.04em (40 unit) std vinculum thickness / / / / / /\ / / surd */ -const sqrtMain = function(extraViniculum: number, hLinePad: number): string { +const sqrtMain = function(extraVinculum: number, hLinePad: number): string { // sqrtMain path geometry is from glyph U221A in the font KaTeX Main - return `M95,${622 + extraViniculum + hLinePad} + return `M95,${622 + extraVinculum + hLinePad} c-2.7,0,-7.17,-2.7,-13.5,-8c-5.8,-5.3,-9.5,-10,-9.5,-14 c0,-2,0.3,-3.3,1,-4c1.3,-2.7,23.83,-20.7,67.5,-54 c44.2,-33.3,65.8,-50.3,66.5,-51c1.3,-1.3,3,-2,5,-2c4.7,0,8.7,3.3,12,10 s173,378,173,378c0.7,0,35.3,-71,104,-213c68.7,-142,137.5,-285,206.5,-429 c69,-144,104.5,-217.7,106.5,-221 -l${extraViniculum / 2.075} -${extraViniculum} +l${extraVinculum / 2.075} -${extraVinculum} c5.3,-9.3,12,-14,20,-14 -H400000v${40 + extraViniculum}H845.2724 +H400000v${40 + extraVinculum}H845.2724 s-225.272,467,-225.272,467s-235,486,-235,486c-2.7,4.7,-9,7,-19,7 c-6,0,-10,-1,-12,-3s-194,-422,-194,-422s-65,47,-65,47z -M${834 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +M${834 + extraVinculum} ${hLinePad}h400000v${40 + extraVinculum}h-400000z`; }; -const sqrtSize1 = function(extraViniculum: number, hLinePad: number): string { +const sqrtSize1 = function(extraVinculum: number, hLinePad: number): string { // size1 is from glyph U221A in the font KaTeX_Size1-Regular - return `M263,${601 + extraViniculum + hLinePad}c0.7,0,18,39.7,52,119 + return `M263,${601 + extraVinculum + hLinePad}c0.7,0,18,39.7,52,119 c34,79.3,68.167,158.7,102.5,238c34.3,79.3,51.8,119.3,52.5,120 c340,-704.7,510.7,-1060.3,512,-1067 -l${extraViniculum / 2.084} -${extraViniculum} +l${extraVinculum / 2.084} -${extraVinculum} c4.7,-7.3,11,-11,19,-11 -H40000v${40 + extraViniculum}H1012.3 +H40000v${40 + extraVinculum}H1012.3 s-271.3,567,-271.3,567c-38.7,80.7,-84,175,-136,283c-52,108,-89.167,185.3,-111.5,232 c-22.3,46.7,-33.8,70.3,-34.5,71c-4.7,4.7,-12.3,7,-23,7s-12,-1,-12,-1 s-109,-253,-109,-253c-72.7,-168,-109.3,-252,-110,-252c-10.7,8,-22,16.7,-34,26 c-22,17.3,-33.3,26,-34,26s-26,-26,-26,-26s76,-59,76,-59s76,-60,76,-60z -M${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +M${1001 + extraVinculum} ${hLinePad}h400000v${40 + extraVinculum}h-400000z`; }; -const sqrtSize2 = function(extraViniculum: number, hLinePad: number): string { +const sqrtSize2 = function(extraVinculum: number, hLinePad: number): string { // size2 is from glyph U221A in the font KaTeX_Size2-Regular - return `M983 ${10 + extraViniculum + hLinePad} -l${extraViniculum / 3.13} -${extraViniculum} -c4,-6.7,10,-10,18,-10 H400000v${40 + extraViniculum} + return `M983 ${10 + extraVinculum + hLinePad} +l${extraVinculum / 3.13} -${extraVinculum} +c4,-6.7,10,-10,18,-10 H400000v${40 + extraVinculum} H1013.1s-83.4,268,-264.1,840c-180.7,572,-277,876.3,-289,913c-4.7,4.7,-12.7,7,-24,7 s-12,0,-12,0c-1.3,-3.3,-3.7,-11.7,-7,-25c-35.3,-125.3,-106.7,-373.3,-214,-744 c-10,12,-21,25,-33,39s-32,39,-32,39c-6,-5.3,-15,-14,-27,-26s25,-30,25,-30 c26.7,-32.7,52,-63,76,-91s52,-60,52,-60s208,722,208,722 c56,-175.3,126.3,-397.3,211,-666c84.7,-268.7,153.8,-488.2,207.5,-658.5 c53.7,-170.3,84.5,-266.8,92.5,-289.5z -M${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}h-400000z`; +M${1001 + extraVinculum} ${hLinePad}h400000v${40 + extraVinculum}h-400000z`; }; -const sqrtSize3 = function(extraViniculum: number, hLinePad: number): string { +const sqrtSize3 = function(extraVinculum: number, hLinePad: number): string { // size3 is from glyph U221A in the font KaTeX_Size3-Regular - return `M424,${2398 + extraViniculum + hLinePad} + return `M424,${2398 + extraVinculum + hLinePad} c-1.3,-0.7,-38.5,-172,-111.5,-514c-73,-342,-109.8,-513.3,-110.5,-514 c0,-2,-10.7,14.3,-32,49c-4.7,7.3,-9.8,15.7,-15.5,25c-5.7,9.3,-9.8,16,-12.5,20 s-5,7,-5,7c-4,-3.3,-8.3,-7.7,-13,-13s-13,-13,-13,-13s76,-122,76,-122s77,-121,77,-121 s209,968,209,968c0,-2,84.7,-361.7,254,-1079c169.3,-717.3,254.7,-1077.7,256,-1081 -l${extraViniculum / 4.223} -${extraViniculum}c4,-6.7,10,-10,18,-10 H400000 -v${40 + extraViniculum}H1014.6 +l${extraVinculum / 4.223} -${extraVinculum}c4,-6.7,10,-10,18,-10 H400000 +v${40 + extraVinculum}H1014.6 s-87.3,378.7,-272.6,1166c-185.3,787.3,-279.3,1182.3,-282,1185 c-2,6,-10,9,-24,9 -c-8,0,-12,-0.7,-12,-2z M${1001 + extraViniculum} ${hLinePad} -h400000v${40 + extraViniculum}h-400000z`; +c-8,0,-12,-0.7,-12,-2z M${1001 + extraVinculum} ${hLinePad} +h400000v${40 + extraVinculum}h-400000z`; }; -const sqrtSize4 = function(extraViniculum: number, hLinePad: number): string { +const sqrtSize4 = function(extraVinculum: number, hLinePad: number): string { // size4 is from glyph U221A in the font KaTeX_Size4-Regular - return `M473,${2713 + extraViniculum + hLinePad} -c339.3,-1799.3,509.3,-2700,510,-2702 l${extraViniculum / 5.298} -${extraViniculum} -c3.3,-7.3,9.3,-11,18,-11 H400000v${40 + extraViniculum}H1017.7 + return `M473,${2713 + extraVinculum + hLinePad} +c339.3,-1799.3,509.3,-2700,510,-2702 l${extraVinculum / 5.298} -${extraVinculum} +c3.3,-7.3,9.3,-11,18,-11 H400000v${40 + extraVinculum}H1017.7 s-90.5,478,-276.2,1466c-185.7,988,-279.5,1483,-281.5,1485c-2,6,-10,9,-24,9 c-8,0,-12,-0.7,-12,-2c0,-1.3,-5.3,-32,-16,-92c-50.7,-293.3,-119.7,-693.3,-207,-1200 c0,-1.3,-5.3,8.7,-16,30c-10.7,21.3,-21.3,42.7,-32,64s-16,33,-16,33s-26,-26,-26,-26 s76,-153,76,-153s77,-151,77,-151c0.7,0.7,35.7,202,105,604c67.3,400.7,102,602.7,104, -606zM${1001 + extraViniculum} ${hLinePad}h400000v${40 + extraViniculum}H1017.7z`; +606zM${1001 + extraVinculum} ${hLinePad}h400000v${40 + extraVinculum}H1017.7z`; }; export const phasePath = function(y: number): string { @@ -104,49 +104,49 @@ export const phasePath = function(y: number): string { }; const sqrtTall = function( - extraViniculum: number, + extraVinculum: number, hLinePad: number, viewBoxHeight: number ): string { // sqrtTall is from glyph U23B7 in the font KaTeX_Size4-Regular - // One path edge has a variable length. It runs vertically from the viniculumn - // to a point near (14 units) the bottom of the surd. The viniculum + // One path edge has a variable length. It runs vertically from the vinculum + // to a point near (14 units) the bottom of the surd. The vinculum // is normally 40 units thick. So the length of the line in question is: - const vertSegment = viewBoxHeight - 54 - hLinePad - extraViniculum; + const vertSegment = viewBoxHeight - 54 - hLinePad - extraVinculum; - return `M702 ${extraViniculum + hLinePad}H400000${40 + extraViniculum} + return `M702 ${extraVinculum + hLinePad}H400000${40 + extraVinculum} H742v${vertSegment}l-4 4-4 4c-.667.7 -2 1.5-4 2.5s-4.167 1.833-6.5 2.5-5.5 1-9.5 1 h-12l-28-84c-16.667-52-96.667 -294.333-240-727l-212 -643 -85 170 c-4-3.333-8.333-7.667-13 -13l-13-13l77-155 77-156c66 199.333 139 419.667 -219 661 l218 661zM702 ${hLinePad}H400000v${40 + extraViniculum}H742z`; +219 661 l218 661zM702 ${hLinePad}H400000v${40 + extraVinculum}H742z`; }; export const sqrtPath = function( size: string, - extraViniculum: number, + extraVinculum: number, viewBoxHeight: number ): string { - extraViniculum = 1000 * extraViniculum; // Convert from document ems to viewBox. + extraVinculum = 1000 * extraVinculum; // Convert from document ems to viewBox. let path = ""; switch (size) { case "sqrtMain": - path = sqrtMain(extraViniculum, hLinePad); + path = sqrtMain(extraVinculum, hLinePad); break; case "sqrtSize1": - path = sqrtSize1(extraViniculum, hLinePad); + path = sqrtSize1(extraVinculum, hLinePad); break; case "sqrtSize2": - path = sqrtSize2(extraViniculum, hLinePad); + path = sqrtSize2(extraVinculum, hLinePad); break; case "sqrtSize3": - path = sqrtSize3(extraViniculum, hLinePad); + path = sqrtSize3(extraVinculum, hLinePad); break; case "sqrtSize4": - path = sqrtSize4(extraViniculum, hLinePad); + path = sqrtSize4(extraVinculum, hLinePad); break; case "sqrtTall": - path = sqrtTall(extraViniculum, hLinePad, viewBoxHeight); + path = sqrtTall(extraVinculum, hLinePad, viewBoxHeight); } return path; }; @@ -441,7 +441,7 @@ c-1 5-5 9-11 9h-2L532 67 19 159h-2c-5 0-9-4-11-9l-5-22c-1-6 2-12 8-13z`, // The next ten paths support reaction arrows from the mhchem package. // Arrows for \ce{<-->} are offset from xAxis by 0.22ex, per mhchem in LaTeX - // baraboveleftarrow is mostly from from glyph U+2190 in font KaTeX Main + // baraboveleftarrow is mostly from glyph U+2190 in font KaTeX Main baraboveleftarrow: `M400000 620h-399890l3 -3c68.7 -52.7 113.7 -120 135 -202 c4 -14.7 6 -23 6 -25c0 -7.3 -7 -11 -21 -11c-8 0 -13.2 0.8 -15.5 2.5 c-2.3 1.7 -4.2 5.8 -5.5 12.5c-1.3 4.7 -2.7 10.3 -4 17c-12 48.7 -34.8 92 -68.5 130 diff --git a/test/katex-spec.js b/test/katex-spec.js index b0ebbeba..96815985 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -1409,9 +1409,9 @@ describe("A TeX-compliant parser", function() { r`\frac x \sqrt y`, r`\frac \mathllap x y`, r`\frac x \mathllap y`, - // This actually doesn't work in real TeX, but it is suprisingly + // This actually doesn't work in real TeX, but it is surprisingly // hard to get this to correctly work. So, we take hit of very small - // amounts of non-compatiblity in order for the rest of the tests to + // amounts of non-compatibility in order for the rest of the tests to // work // r`\llap \frac x y`, r`\mathllap \mathllap x`, diff --git a/test/unicode-spec.js b/test/unicode-spec.js index 2c95e66f..6078e26c 100644 --- a/test/unicode-spec.js +++ b/test/unicode-spec.js @@ -62,15 +62,15 @@ describe("unicode", function() { expect`여보세요`.not.toParse(strictSettings); }); - it("should build Devangari inside \\text{}", function() { + it("should build Devanagari inside \\text{}", function() { expect`\text{नमस्ते}`.toBuild(); }); - it("should build Devangari outside \\text{}", function() { + it("should build Devanagari outside \\text{}", function() { expect`नमस्ते`.toBuild(nonstrictSettings); }); - it("should not parse Devangari outside \\text{} with strict", function() { + it("should not parse Devanagari outside \\text{} with strict", function() { expect`नमस्ते`.not.toParse(strictSettings); });