Gibt es einen Cross-Browser Weg (s) zur Erkennung der Unterstützung für asiatische Sprachen, oder speziell Japanisch?
Meinst du nur "ist dort eine japanische Schriftart installiert"? Da der einzige andere Aspekt der "Unterstützung asiatischer Sprachen", den moderne Betriebssysteme konfigurieren können, ist, ob Zeichenkodierungen wie Shift-JIS bekannt sind (aka Codepage 932 unter Windows). Aber du brauchst das sowieso nicht, da du einfach UTF-8 verwenden kannst, das viel sauberer ist und überall unterstützt wird.
Im Allgemeinen können Sie nicht direkt feststellen, ob eine Schriftart für einen bestimmten Zeichenbereich installiert ist oder nicht, aber es gibt Umwege. Wie zum Beispiel die gerenderte Größe von On-Page-Text Messung:
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);
Dies schafft vorübergehend Elemente halbe Breite und in voller Breite Varianten des Katakana ‚a‘ enthält. Wenn eine japanische Schriftart verfügbar ist, würden wir erwarten, dass sie unterschiedliche Breiten haben. Wenn keine solche Schriftart vorhanden ist, werden sie höchstwahrscheinlich als ähnliche Glyphen des Typs "nicht auswechselbares Zeichen" mit der gleichen Breite wiedergegeben.
Sehr schlauer Hack! –
Ja, nur die Schriften und das ist genau die Art von Trick, die ich gesucht habe, danke :) – Annan