From 4e370696f4d3ccc081852339f03f172eeb1dec74 Mon Sep 17 00:00:00 2001 From: Nick Doiron Date: Thu, 7 Mar 2019 00:09:39 -0500 Subject: [PATCH] simpler - we reverse presentation forms --- modules/util/svg_paths_rtl_fix.js | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/modules/util/svg_paths_rtl_fix.js b/modules/util/svg_paths_rtl_fix.js index 0410cfc55..b290204b3 100644 --- a/modules/util/svg_paths_rtl_fix.js +++ b/modules/util/svg_paths_rtl_fix.js @@ -1,16 +1,16 @@ // see https://github.com/openstreetmap/iD/pull/3707 // https://gist.github.com/mapmeld/556b09ddec07a2044c76e1ef45f01c60 -import { BaselineSplitter, WordShaper } from 'alif-toolkit'; +import { WordShaper } from 'alif-toolkit'; export var rtlRegex = /[\u0590-\u05FF\u0600-\u06FF\u0780-\u07BF]/; export function fixRTLTextForSvg(inputText) { - let ret = '', rtlBuffer = []; - let arabicRegex = /[\u0600-\u06FF]/g; - let arabicTashkil = /[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/; - let thaanaVowel = /[\u07A6-\u07B0]/; - let hebrewSign = /[\u0591-\u05bd\u05bf\u05c1-\u05c5\u05c7]/; + var ret = '', rtlBuffer = []; + var arabicRegex = /[\u0600-\u06FF]/g; + var arabicTashkil = /[\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED]/; + var thaanaVowel = /[\u07A6-\u07B0]/; + var hebrewSign = /[\u0591-\u05bd\u05bf\u05c1-\u05c5\u05c7]/; if (!arabicRegex.test(inputText)) { // Hebrew or Thaana RTL script @@ -32,19 +32,7 @@ export function fixRTLTextForSvg(inputText) { ret += rtlBuffer.reverse().join(''); return ret; } else { - let myWord = BaselineSplitter(WordShaper(inputText)); - myWord.forEach((baseline) => { - if (baseline === ' ') { - ret = baseline + rtlBuffer.reverse().join('') + ret; - rtlBuffer = []; - } else if (baseline.match(/^\d+$/)) { - ret = rtlBuffer.reverse().join('') + ret + baseline; - rtlBuffer = []; - } else { - rtlBuffer.push(baseline); - } - }); - ret = rtlBuffer.reverse().join('') + ret; - return ret; + return WordShaper(inputText).split('').reverse().join(); + // TODO: numerals fix } }