¿Existe alguna forma de detección cruzada de idiomas asiáticos o japonés específicamente?
¿Quiere decir "¿hay alguna fuente japonesa instalada?" Porque el único otro aspecto del "soporte para idiomas asiáticos" que los OS modernos pueden haber configurado tiene que ver con si se conocen codificaciones de caracteres como Shift-JIS (también conocida como página de códigos 932 en Windows). Pero en general no es necesario, ya que solo puedes usar UTF-8, que es mucho más limpio y compatible en todas partes.
En general, no se puede decir directamente si una fuente para un rango de caracteres en particular está instalado o no, pero hay formas indirectas. Como por ejemplo la medición del tamaño representado de texto en páginas:
var half= document.createElement('span');
var full= document.createElement('span');
half.appendChild(document.createTextNode('\uFF71'));
full.appendChild(document.createTextNode('\u30A2'));
document.body.insertBefore(half, document.body.firstChild);
document.body.insertBefore(full, document.body.firstChild);
var havejapanesefont= half.offsetWidth!=full.offsetWidth;
document.body.removeChild(half);
document.body.removeChild(full);
Esto crea temporalmente los elementos que contienen la mitad del ancho y variantes de ancho completo de la katakana ‘a’. Si hay disponible una fuente en japonés, esperamos que tengan diferentes anchuras. Si no existe tal tipo de letra, lo más probable es que se muestren como glifos de 'carácter no obligatorio' similares con el mismo ancho.
¡Hack muy inteligente! –
Sí, solo las fuentes y ese es el tipo de truco que estaba buscando, gracias :) – Annan