Diferenciar idiomas CJK (chino, japonés, coreano) en Android

Quiero poder reconocer los caracteres escritos chinos, japoneses y coreanos, tanto como un grupo general y como idiomas subdivididos. Estas son las razones:

Reconozca a CJK como un grupo general: Estoy haciendo un guión vertical mongolTextView. Para hacer eso, necesito rotar la línea de texto 90 grados porque los glifos se almacenan horizontalmente en la fuente. Sin embargo, para los lenguajes CJK, necesito rotarlos nuevamente para que estén escritos en su orientación correcta, pero apilados uno encima del otro en la línea.Diferenciar CJK en idiomas específicos: También estoy haciendo un diccionario mongol y cuando los usuarios ingresan un carácter CJK para buscar, me gustaría reconocer automáticamente el idioma. Debido a que los japoneses y los coreanos también usan los caracteres chinos, supongo que no podré lograr esto por completo, pero quiero hacerlo en la medida máxima que lo permita la codificación.

En el lado lingüístico, las subcategorías que conozco son

Caracteres tradicionales chinosCaracteres chinos simplificadosKanji japonés (Caracteres chinos)Hiragana japonesa (Alfabeto nativo)Katakana japonesa (alfabeto para escribir palabras extranjeras)Hangul coreano (fonético)Hanja coreana (Caracteres chinos)

En aras de la exhaustividad, los caracteres chinos también se utilizan envietnamita (entoncesCJK también se llama CJKV). Para mis propósitos actuales, no necesito preocuparme por eso, pero podría ser una consideración futura. También estoy ignorando guiones romanizados como el chinopinyin o japonésromaji. Se manejarán igual que el inglés y el mongol en TextView (es decir, se giraron 90 grados con el resto de la línea).Bopomofo usado en Taiwán también podría ser una consideración futura, pero lo ignoraré por ahora. Ver tambiénaquí yaquí para ejemplos de lenguaje.

He visto una serie de preguntas relacionadas que generalmente tratan con un lenguaje específico en Java o Android, pero ninguna pregunta general con una respuesta canónica. Otras preguntas son más generales para Unicode, pero no dicen cómo hacerlo en Java y Android. Estos son algunos de los específicos.

¿Cómo verificar si el texto dado es inglés o chino en Android?¿Cómo puedo detectar texto en japonés en una cadena Java?Compruebe si la cadena contiene caracteres CJK (chinos)Use expresiones regulares para que coincida con CUALQUIER carácter chino en la codificación utf-8Prueba de caracteres japoneses / chinos en una cadenaRepresentación diferente de puntos de código unicode en japonés y chino¿Verifica si un carácter es chino tradicional en Big-5 (Java)?Caracteres Unicode necesarios para japonés, coreano y chino¿Los mismos caracteres chinos compartidos por cjk comparten el mismo valor Unicode?¿Cuál es el rango completo para los caracteres chinos en Unicode?

Entonces mi pregunta es, ¿cuánto puedo diferenciar los lenguajes CJK usando puntos de código Unicode y cómo puedo probarlos en Android? He visto algunas pruebas más recientes en Java y Android, y si bien son útiles, también necesito admitir dispositivos Android más antiguos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta