في يونيكود، لماذا هناك تمثيلين للأرقام العربية؟

StackOverflow https://stackoverflow.com/questions/1676460

  •  16-09-2019
  •  | 
  •  

سؤال

كنت أقرأ مواصفات 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، والرموز المكررة الأخرى.

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