Pregunta

Yo estaba leyendo la especificación de Unicode @ Wikipedia ( Árabe de Unicode ) y veo que cada uno de los dígitos arábigos tiene 2 puntos de código Unicode. Por ejemplo 1 se define como U + 0661 y como U + 06F1.

¿Cuál debo usar?

¿Fue útil?

Solución

De acuerdo con la tablas de códigos , U + 0660 + 0669 .. T son DIGIT arábigo-índicos valores de 0 a 9, mientras que U + 06F0 .. U + 06F9 se extienden valores DIGIT Árabe-INDIC 0 a 9.

En el libro de Unicode 3.0 (5.2 es la versión actual, pero estas cosas no cambian mucho, una vez establecido), la serie de glifos + T 066n están marcados 'dígitos arábigo-índicos' y la serie T + 06Fn de glifos están marcadas 'Eastern dígitos arábigo-índicos (persa y urdu)'. Asimismo, toma nota:

  • U + 06F4 - 'diferentes glifos en persa y Urdu'
  • U + 06F5 - 'persa y urdu cuota de glifo diferente del árabe'
  • U + 06F6 - 'glifo Pérsico diferente del árabe'
  • U + 06F7 - 'Urdu glifo diferente del árabe'

Para la comparación:

  • T + 066n: 0123456789
  • T + 06Fn: 0123456789

O, agrandada por lo que la información en un título:

U + 066n: 0123456789

U + 06Fn: 0123456789

O:

     U+066n    U+06Fn
0      ٠         ۰
1      ١         ۱
2      ٢         ۲
3      ٣         ۳
4      ٤         ۴
5      ٥         ۵
6      ٦         ۶
7      ٧         ۷
8      ٨         ۸
9      ٩         ۹

(si se puede ver cualquiera de ellos, y la claridad con que se diferencian puede depender de su navegador y las fuentes instaladas en su máquina tanto como cualquier otra cosa que se puede ver la diferencia de los días 4 y 6 de claridad;. 5 se ve mucho la misma en ambos.)

Sobre la base de esta información, si está trabajando con el árabe del Medio Oriente, utilice la serie de dígitos + T 066n; si se está trabajando con el urdu o persa, utilice la serie T + 06Fn de dígitos. Como una aplicación Unicode, usted debe aceptar cualquier conjunto de códigos de dígitos válidos (pero es posible mirar con recelo a una secuencia que mezcla los dos conjuntos de dígitos - o que sólo podría salir bien solo).

Otros consejos

En general usted no debe difícil que el código tal información en su aplicación.

  • En Windows, puede utilizar GetLocaleInfo con LOCALE_SNATIVEDIGITS.
  • En Mac CFNumberFormatterCopyProperty con kCFNumberFormatterZeroSymbol.
  • O usar algo como UCI .

Hay países árabes que no utilizan los dígitos arábigo-índicos por defecto. Por lo tanto no hay ninguna asignación directa diciendo árabe -.> Dígitos arábigo-índicos

Y el usuario puede haber cambiado los valores predeterminados en el panel de control de todos modos.

¿Qué código que prefiera para representar el número 4, U + 0664 o U + 06F4?

(4 o 4)?

Para ser coherente, que esta guía de elección, que los códigos se utiliza para 1, 2, y los otros códigos duplicados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top