diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2017-02-28 01:52:31 +0100 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2017-02-28 01:52:31 +0100 |
commit | d180aaa2a7e4026612dbc46243689f4f2e52c258 (patch) | |
tree | 41d7bc83eca82e6da4ab8e54b3ea6c2883de3173 /app/assets/javascripts/components/rtl.jsx | |
parent | 809455aaaed1e576ca2613828ad009a93224afa0 (diff) |
Fix #186 - Add RTL support to the compose form textarea and statuses output
Diffstat (limited to 'app/assets/javascripts/components/rtl.jsx')
-rw-r--r-- | app/assets/javascripts/components/rtl.jsx | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/assets/javascripts/components/rtl.jsx b/app/assets/javascripts/components/rtl.jsx new file mode 100644 index 000000000..8f14bb338 --- /dev/null +++ b/app/assets/javascripts/components/rtl.jsx @@ -0,0 +1,27 @@ +// U+0590 to U+05FF - Hebrew +// U+0600 to U+06FF - Arabic +// U+0700 to U+074F - Syriac +// U+0750 to U+077F - Arabic Supplement +// U+0780 to U+07BF - Thaana +// U+07C0 to U+07FF - N'Ko +// U+0800 to U+083F - Samaritan +// U+08A0 to U+08FF - Arabic Extended-A +// U+FB1D to U+FB4F - Hebrew presentation forms +// U+FB50 to U+FDFF - Arabic presentation forms A +// U+FE70 to U+FEFF - Arabic presentation forms B + +const rtlChars = /[\u0590-\u083F]|[\u08A0-\u08FF]|[\uFB1D-\uFDFF]|[\uFE70-\uFEFF]/mg; + +export function isRtl(text) { + if (text.length === 0) { + return false; + } + + const matches = text.match(rtlChars); + + if (!matches) { + return false; + } + + return matches.length / text.trim().length > 0.3; +}; |