From d940867d1703cd6f50a002a10810ae4c065f6592 Mon Sep 17 00:00:00 2001 From: Kunihiko Toumura Date: Thu, 3 Sep 2020 13:54:35 +0900 Subject: [PATCH] remove dependency on CLDR --- lib/wotutils.js | 40 +++++++++++++++++++++++++--------------- package.json | 1 - 2 files changed, 25 insertions(+), 16 deletions(-) diff --git a/lib/wotutils.js b/lib/wotutils.js index 3534474..e3eb373 100644 --- a/lib/wotutils.js +++ b/lib/wotutils.js @@ -18,7 +18,6 @@ const Ajv = require('ajv'); const url = require('url'); const fs = require('fs'); const path = require('path'); -const cldr = require('cldr'); function validateTd(td) { const TDSchema = @@ -40,21 +39,32 @@ function isOpInForms(op, forms) { .some(e=>e === op); } -function textDirection(lang) { - let dir = 'auto'; - try { - const ori = cldr.extractLayout(lang); - if (ori.characterOrder === 'left-to-right') { - dir = 'ltr' - } else if (ori.characterOrder === 'right-to-left') { - dir = 'rtl' - } - } catch (e) { - if (lang === "az-Arab") { - dir = 'rtl' - } +function textDirection(langid) { + // based on CLDR and other sources. + const rtlLangs = [ + "ar-AE","ar-BH","ar-DJ","ar-DZ","ar-EG","ar-EH","ar-ER","ar-IL","ar-IQ", + "ar-JO","ar-KM","ar-KW","ar-LB","ar-LY","ar-MA","ar-MR","ar-OM","ar-PS", + "ar-QA","ar-SA","ar-SD","ar-SO","ar-SS","ar-SY","ar-TD","ar-TN","ar-YE","ar", + "az-Arab", + "ckb-IR","ckb", + "fa-AF","fa", + "he", + "ks", + "lrc-IQ","lrc", + "mzn", + "pa-Arab", + "ps-PK","ps", + "sd", + "ug", + "ur-IN","ur", + "uz-Arab", + "yi", + ]; + if (langid === undefined || langid === "") { + return 'auto'; + } else { + return (rtlLangs.includes(langid) ? 'rtl' : 'ltr'); } - return dir; } function normalizeTd(td) { diff --git a/package.json b/package.json index bf641e0..8d97bdf 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,6 @@ "dependencies": { "ajv": "6.12.0", "api-spec-converter": "2.11.0", - "cldr": "5.5.4", "colors": "1.4.0", "csv-string": "3.1.8", "javascript-obfuscator": "0.28.1",