في يونيكود، لماذا هناك تمثيلين للأرقام العربية؟
سؤال
كنت أقرأ مواصفات Unicode @ Wikipedia (Unicode العربية) وأرى أن كل من الأرقام العربية لديه 2 نقاط رمز Unicode. على سبيل المثال، يتم تعريف 1 كما u + 0661 وكما u + 06f1.
أي واحد يجب أن أستخدم؟
المحلول
بحسب ال مخططات رمز, ، U + 0660 .. U + 0669 هي قيم رقمية عربية - من الناحية العربية من 0 إلى 9، بينما u + 06f0 .. u + 06f9 تمتد القيم العربية-الترجمة من 0 إلى 9.
في كتاب Unicode 3.0 (5.2 هو الإصدار الحالي، ولكن هذه الأشياء لا تتغير بمجرد ضبطها مرة أخرى)، تتميز سلسلة U + 066N من الرسوم باللغة العربية "أرقام Werian-Meric" وسلسلة U + 06FN من الرسول الرملي " الأرقام العربية - العربية (الفارسية والأوردية) ". كما تلاحظ:
- U + 06F4 - "الحروف الرسومية المختلفة في الفارسية والأردية"
- U + 06F5 - "الفارسية والأردية شارك Glyph تختلف عن اللغة العربية"
- U + 06F6 - "Glyph الفارسية" مختلفة عن العربية "
- U + 06F7 - "الأردية Glyph مختلفة عن العربية"
للمقارنة:
- U + 066N: 0123456789
- U + 06FN: 0123456789
أو، توسيع من خلال جعل المعلومات في العنوان:
U + 066N: 0123456789
U + 06FN: 0123456789
أو:
U+066n U+06Fn
0 ٠ ۰
1 ١ ۱
2 ٢ ۲
3 ٣ ۳
4 ٤ ۴
5 ٥ ۵
6 ٦ ۶
7 ٧ ۷
8 ٨ ۸
9 ٩ ۹
(سواء يمكنك رؤية أي من هؤلاء، وكيف يتم تمييزها بوضوح قد تعتمد على متصفحك والخطوط المثبتة على جهازك بقدر أي شيء آخر. أستطيع أن أرى الفرق في 4 و 6 بوضوح؛ 5 تبدو ذاتها على حد سواء.)
بناء على هذه المعلومات، إذا كنت تعمل مع اللغة العربية من الشرق الأوسط، استخدم سلسلة U + 066N من الأرقام؛ إذا كنت تعمل مع الفارسية أو الأردية، فاستخدم سلسلة أرقام U + 06FN. كطلب Unicode، يجب عليك قبول إما مجموعة من الرموز كرقم صالحة (ولكن قد تبدو سؤالا بتسلسل مختلط مجموعتين من الأرقام - أو قد تترك جيدا فقط).
نصائح أخرى
بشكل عام، يجب أن لا تكون مشكلة هذه المعلومات في التطبيق الخاص بك.
- على Windows، يمكنك استخدام GetLocaleinfo مع Locale_SnativeDigits.
- على ماك cfnumberformattercopyproperty مع kcfnumbormatterzerosymbol.
- أو استخدام شيء مثل المحكمة العامة.
هناك بلدان عربية لا تستخدم أرقام الإرشية باللغة العربية افتراضيا. لذلك لا يوجد رسم خرائط مباشرة قائلا باللغة العربية -> أرقام Werian-Werian.
وقد يقوم المستخدم بتغيير الإعدادات الافتراضية في لوحة التحكم على أي حال.
ما الرمز الذي تفضله لتمثيل الرقم 4، U + 0664 أو U + 06F4؟
(4 أو 4)؟
لتكون متسقة، دع هذا دليل الاختيار الذي رموز تستخدمه لمدة 1، 2، والرموز المكررة الأخرى.