From 7d7c55c4c73ea5ae2543cd77da173d4ea42002cf Mon Sep 17 00:00:00 2001 From: ylemkimon Date: Sun, 7 Apr 2019 07:24:32 +0900 Subject: [PATCH] Approximate font metrics only when metrics don't exist (#1898) Fix non-existent metrics error for \eth --- src/fontMetrics.js | 7 ++++--- test/katex-spec.js | 3 +-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/fontMetrics.js b/src/fontMetrics.js index 8fe3324e..868a5263 100644 --- a/src/fontMetrics.js +++ b/src/fontMetrics.js @@ -211,10 +211,11 @@ export function getCharacterMetrics( throw new Error(`Font metrics not found for font: ${font}.`); } let ch = character.charCodeAt(0); - if (character[0] in extraCharacterMap) { - ch = extraCharacterMap[character[0]].charCodeAt(0); - } let metrics = metricMap[font][ch]; + if (!metrics && character[0] in extraCharacterMap) { + ch = extraCharacterMap[character[0]].charCodeAt(0); + metrics = metricMap[font][ch]; + } if (!metrics && mode === 'text') { // We don't typically have font metrics for Asian scripts. diff --git a/test/katex-spec.js b/test/katex-spec.js index 72598be0..49ab0591 100644 --- a/test/katex-spec.js +++ b/test/katex-spec.js @@ -3332,8 +3332,7 @@ describe("Unicode", function() { }); it("should parse symbols", function() { - expect("ð").toParse(); // warns about lacking character metrics - expect("£¥ℂℍℑℎℓℕ℘ℙℚℜℝℤℲℵℶℷℸ⅁∀∁∂∃∇∞∠∡∢♠♡♢♣♭♮♯✓°¬‼⋮\u00B7\u00A9").toBuild(strictSettings); + expect("£¥ℂℍℑℎℓℕ℘ℙℚℜℝℤℲℵðℶℷℸ⅁∀∁∂∃∇∞∠∡∢♠♡♢♣♭♮♯✓°¬‼⋮\u00B7\u00A9").toBuild(strictSettings); expect("\\text{£¥ℂℍℎ\u00A9\u00AE\uFE0F}").toBuild(strictSettings); });