diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2019-12-22 18:27:41 -0500 |
---|---|---|
committer | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2020-01-24 20:15:25 -0500 |
commit | b5015264f25af6b81d13dfee869ea34db4317aaa (patch) | |
tree | 6b628f4091c01cc279fa3e46cc4f2f84e8e84f64 /ext/mixed/js | |
parent | 86d96a903696db98c0680d7665c53da5cd80731f (diff) |
Include half width and full width characters as Japanese characters
Diffstat (limited to 'ext/mixed/js')
-rw-r--r-- | ext/mixed/js/japanese.js | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/ext/mixed/js/japanese.js b/ext/mixed/js/japanese.js index 8d69c180..25f0608e 100644 --- a/ext/mixed/js/japanese.js +++ b/ext/mixed/js/japanese.js @@ -92,8 +92,22 @@ function jpIsKana(c) { ); } +function jpIsCharFullWidth(c) { + const code = c.charCodeAt(0); + return ( + (code >= 0xff21 && code <= 0xff3a) || // full width upper case roman letters + (code >= 0xff41 && code <= 0xff3a) || // full width upper case roman letters + (code >= 0xff10 && code <= 0xff19) // full width numbers + ); +} + +function jpIsKanaHalfWidth(c) { + const code = c.charCodeAt(0); + return (code >= 0xff66 && code <= 0xff9f); // half width katakana +} + function jpIsCharacterJapanese(c) { - return jpIsKanji(c) || jpIsKana(c); + return jpIsKanji(c) || jpIsKana(c) || jpIsCharFullWidth(c) || jpIsKanaHalfWidth(c); } function jpIsAnyCharacterJapanese(text) { |