simpler - we reverse presentation forms

This commit is contained in:
Nick Doiron
2019-03-07 00:09:39 -05:00
parent 7708d05b16
commit 4e370696f4

View File

@@ -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
}
}