Frage

Ich arbeite an einem Javascript Auswendigspiel, das die japanischen Zeichen angezeigt werden benötigt. Gibt es einen Cross-Browser-Weg (e) des Erfassens Unterstützung für asiatische Sprachen oder japanisch konkret?

window.navigator.language wird auf die Sprache des Browsers eingestellt werden, aber verpasst Menschen, die als ihre Browser Sprache japanisch nicht gesetzt (?).

War es hilfreich?

Lösung

  

Gibt es einen Cross-Browser-Weg (e) der Unterstützung für asiatische Sprachen zu erfassen, oder japanisch konkret?

Wollen Sie nur „gibt es eine japanische Schriftart installiert“? Da der einzige andere Aspekt der „Unterstützung für asiatische Sprachen“, dass moderne Betriebssysteme konfiguriert haben kann, ist mit dem zu tun, ob Zeichencodierungen wie Shift-JIS sind bekannt (auch bekannt als Codepage 932 auf Windows). Aber Sie müssen nicht im Allgemeinen brauchen die sowieso, da Sie nur UTF-8 verwenden können, die viel sauberer ist und überall unterstützt.

In der Regel können Sie nicht direkt sagen, ob eine Schriftart für einen bestimmten Zeichenbereich installiert ist oder nicht, aber es gibt Umwege. Wie zum Beispiel der Messung der gerenderte Größe von On-Page-Text:

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‘ enthalten. Wenn ein japanischer Schrift zur Verfügung steht würden wir erwarten, dass sie unterschiedliche Breiten sein. Wenn keine solche Schriften vorhanden ist, werden sie höchstwahrscheinlich als ähnliches ‚unrenderable Charakter‘ Glyphen mit der gleichen Breite gemacht werden.

Andere Tipps

Der Server könnte in der Lage sein, das Accept-Charset Header, wenn es eine, die nicht japanische Zeichen enthält, Umleitung auf eine Warnseite. Leider, wie dieses Themas zeigt sind die Header Javascript nicht zur Verfügung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top