]> cat aescling's git repositories - mastodon.git/blob - app/javascript/mastodon/rtl.js
Merge pull request #223 from glitch-soc/glitchsoc/feature/configurable-status-size
[mastodon.git] / app / javascript / mastodon / rtl.js
1 // U+0590 to U+05FF - Hebrew
2 // U+0600 to U+06FF - Arabic
3 // U+0700 to U+074F - Syriac
4 // U+0750 to U+077F - Arabic Supplement
5 // U+0780 to U+07BF - Thaana
6 // U+07C0 to U+07FF - N'Ko
7 // U+0800 to U+083F - Samaritan
8 // U+08A0 to U+08FF - Arabic Extended-A
9 // U+FB1D to U+FB4F - Hebrew presentation forms
10 // U+FB50 to U+FDFF - Arabic presentation forms A
11 // U+FE70 to U+FEFF - Arabic presentation forms B
12
13 const rtlChars = /[\u0590-\u083F]|[\u08A0-\u08FF]|[\uFB1D-\uFDFF]|[\uFE70-\uFEFF]/mg;
14
15 export function isRtl(text) {
16 if (text.length === 0) {
17 return false;
18 }
19
20 text = text.replace(/(?:^|[^\/\w])@([a-z0-9_]+(@[a-z0-9\.\-]+)?)/ig, '');
21 text = text.replace(/(?:^|[^\/\w])#([\S]+)/ig, '');
22 text = text.replace(/\s+/g, '');
23
24 const matches = text.match(rtlChars);
25
26 if (!matches) {
27 return false;
28 }
29
30 return matches.length / text.length > 0.3;
31 };
This page took 0.070788 seconds and 4 git commands to generate.