Domanda

Sto lavorando a un gioco di memorizzazione javascript che richiede la visualizzazione di caratteri giapponesi. Esiste un modo (i) di browser incrociati per rilevare il supporto per le lingue asiatiche o, in particolare, il giapponese?

window.navigator.language verrà impostato sulla lingua del browser, ma manca le persone che non impostano il giapponese come lingua del browser (?).

È stato utile?

Soluzione

  

Esiste un modo (i) di browser incrociati per rilevare il supporto per le lingue asiatiche o, in particolare, il giapponese?

Intendi semplicemente & # 8220; c'è un carattere giapponese installato & # 8221 ;? Perché l'unico altro aspetto di & # 8220; supporto per le lingue asiatiche & # 8221; che i sistemi operativi moderni possono essere configurati ha a che fare con la conoscenza della codifica dei caratteri come Shift-JIS (ovvero la pagina di codice 932 su Windows). Ma generalmente non ne hai bisogno, dato che puoi semplicemente usare UTF-8, che è molto più pulito e supportato ovunque.

In generale non puoi dire direttamente se è installato o meno un font per un determinato intervallo di caratteri, ma ci sono modi rotondi. Come ad esempio misurare la dimensione di rendering del testo in pagina:

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);

Questo crea temporaneamente elementi contenenti varianti a mezza larghezza e larghezza intera del katakana & # 8216; a & # 8217 ;. Se è disponibile un carattere giapponese, ci aspetteremmo che abbiano larghezze diverse. Se non esiste un tale carattere, molto probabilmente saranno resi come simili & # 8216; carattere non rendering & # 8217; glifi con la stessa larghezza.

Altri suggerimenti

Il tuo server potrebbe essere in grado di controllare Accetta-Charset , se è uno che non include caratteri giapponesi, reindirizza a una pagina di avviso. Sfortunatamente, come questo thread indica , le intestazioni non sono disponibili per JavaScript.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top