سؤال

وأنا أعمل على لعبة تحفيظ جافا سكريبت يتطلب أن الأحرف اليابانية ليتم عرضها. هل هناك طريقة عبر متصفح (ق) من الكشف عن الدعم للغات الآسيوية، أو اليابانية على وجه التحديد؟

وسيتم تعيين window.navigator.language إلى لغة المتصفح ولكن يخطئ من الناس الذين لا تقم بتعيين اليابانية كلغة برامج التصفح الخاصة بهم (؟).

هل كانت مفيدة؟

المحلول

<اقتباس فقرة>   

هل هناك طريقة عبر متصفح (ق) من الكشف عن الدعم للغات الآسيوية، أو اليابانية على وجه التحديد؟

هل تعني مجرد "هناك الخط الياباني مثبتة"؟ لأن الجانب الآخر الوحيد من "الدعم للغات الآسيوية" أن أنظمة التشغيل الحديثة يمكن أن يكون تكوينه هو أن تفعل مع ما إذا كان المحارف مثل التحول-JIS معروفة (ويعرف أيضا باسم قانون الصفحة 932 على ويندوز). ولكنك لا تحتاج عادة على أي حال منذ يمكنك فقط استخدام 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);

وهذا يخلق مؤقتا العناصر التي تحتوي على نصف العرض، والعرض الكامل المتغيرات من كاتاكانا 'ا'. إذا كان الخط الياباني متاح كنا نتوقع منها أن تكون العروض المختلفة. إذا لا يوجد مثل هذا الخط، فإنها من المرجح أن يصدر في رموزا مماثلة 'حرف unrenderable "مع نفس العرض.

نصائح أخرى

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top