mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 09:12:52 +00:00
simpler - we reverse presentation forms
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user