docs: public static boolean isCharCJK(final char c) {
          Character.UnicodeBlock unicodeBlock = Character.UnicodeBlock.of(c);
          return (unicodeBlock == Character.UnicodeBlock.HIRAGANA)
                  || (unicodeBlock == Character.UnicodeBlock.KATAKANA)
                  || (unicodeBlock == Character.UnicodeBlock.KATAKANA_PHONETIC_EXTENSIONS)
                  || (unicodeBlock == Character.UnicodeBlock.HANGUL_COMPATIBILITY_JAMO)
                  || (unicodeBlock == Character.UnicodeBlock.HANGUL_JAMO)
                  || (unicodeBlock == Character.UnicodeBlock.HANGUL_SYLLABLES)
                  || (unicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS)
                  || (unicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A)
                  || (unicodeBlock == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B)
                  || (unicodeBlock == Character.UnicodeBlock.CJK_COMPATIBILITY_FORMS)
                  || (unicodeBlock == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS)
                  || (unicodeBlock == Character.UnicodeBlock.CJK_RADICALS_SUPPLEMENT)
                  || (unicodeBlock == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION)
                  || (unicodeBlock == Character.UnicodeBlock.ENCLOSED_CJK_LETTERS_AND_MONTHS)
                  || (unicodeBlock == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS && c < 0xFF61);    //The magic number here is the separating index between full-width and half-width
      }