From b5ef06b52d626074d1fd5f4414a952de3b8b3a2c Mon Sep 17 00:00:00 2001 From: Emily Eisenberg Date: Fri, 28 Mar 2014 23:43:08 -0400 Subject: [PATCH] Fix our getTypeOfGroup function Add in the missing `'sizing'` entry, put the `'text'` entry in the correct place, and replace `groupToType.ord` (a null value) with `groupToType.mathord` (something real). Test Plan: - See that `^3+` now puts the correct space before the `+` - See the new huxley test works, and nothing else has changed Auditors: alpert --- buildTree.js | 9 +++++---- test/huxley/Huxleyfile | 2 +- test/huxley/Spacing.huxley/screenshot0.png | Bin 12022 -> 13416 bytes 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/buildTree.js b/buildTree.js index 2cc8441b6..372283f51 100644 --- a/buildTree.js +++ b/buildTree.js @@ -47,7 +47,7 @@ var groupToType = { textord: "mord", bin: "mbin", rel: "mrel", - amsrel: "mrel", + text: "mord", open: "mopen", close: "mclose", frac: "minner", @@ -55,20 +55,21 @@ var groupToType = { punct: "mpunct", ordgroup: "mord", namedfn: "mop", - katex: "mord", - text: "mord", + katex: "mord" }; var getTypeOfGroup = function(group) { if (group == null) { // Like when typesetting $^3$ - return groupToType.ord; + return groupToType.mathord; } else if (group.type === "supsub") { return getTypeOfGroup(group.value.base); } else if (group.type === "llap" || group.type === "rlap") { return getTypeOfGroup(group.value); } else if (group.type === "color") { return getTypeOfGroup(group.value.value); + } else if (group.type === "sizing") { + return getTypeOfGroup(group.value.value); } else { return groupToType[group.type]; } diff --git a/test/huxley/Huxleyfile b/test/huxley/Huxleyfile index 1d339e613..f486316a1 100644 --- a/test/huxley/Huxleyfile +++ b/test/huxley/Huxleyfile @@ -20,7 +20,7 @@ url=http://localhost:7936/test/huxley/test.html?m=\alpha\beta\gamma\omega url=http://localhost:7936/test/huxley/test.html?m=a+b-c\cdot d/e [Spacing] -url=http://localhost:7936/test/huxley/test.html?m=[-1][1-1]1%%3D1(%%3D1)\lvert a\rvert~b +url=http://localhost:7936/test/huxley/test.html?m=^3+[-1][1-1]1%%3D1(%%3D1)\lvert a\rvert~b [Functions] url=http://localhost:7936/test/huxley/test.html?m=\sin\cos\tan\ln\log diff --git a/test/huxley/Spacing.huxley/screenshot0.png b/test/huxley/Spacing.huxley/screenshot0.png index 27ce66acce53087eee508c05b804b5f3fe86aa16..7ff3853442ab3dc226c95185fa0f30780d189c21 100644 GIT binary patch literal 13416 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