Можно ли обнаружить поддержку восточноазиатского языка? - PullRequest
7 голосов
/ 03 марта 2009

Я работаю над игрой для запоминания javascript, которая требует отображения японских символов. Существуют ли кросс-браузерные способы обнаружения поддержки азиатских языков или конкретно японского?

window.navigator.language будет установлен на язык браузера, но пропускает людей, которые не выбирают японский язык в качестве браузера (?).

Ответы [ 2 ]

6 голосов
/ 03 марта 2009

Существуют ли кросс-браузерные способы обнаружения поддержки азиатских языков или, в частности, японского?

Вы имеете в виду «установлен ли японский шрифт»? Потому что единственный другой аспект «поддержки азиатских языков», который могут настраивать современные ОС, связан с тем, известны ли кодировки символов, такие как Shift-JIS (кодовая страница 932 в Windows). Но в общем случае это вам не нужно, так как вы можете просто использовать UTF-8, который намного чище и поддерживается везде.

Как правило, вы не можете напрямую сказать, установлен шрифт для определенного диапазона символов или нет, но есть обходные пути. Как, например, измерение визуализированного размера текста на странице:

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

Это временно создает элементы, содержащие половинную и полную ширину вариантов катаканы «а». Если доступен японский шрифт, мы ожидаем, что они будут разной ширины. Если такого шрифта не существует, они, скорее всего, будут отображаться как похожие символы «не подлежащие изменению» с такой же шириной.

2 голосов
/ 03 марта 2009

Ваш сервер может проверить заголовок Accept-Charset, если он не содержит японские символы, перенаправить на страницу с предупреждением. К сожалению, как указывает этот поток , заголовки не доступны для javascript.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...