유니 코드에서 왜 아랍어 숫자에 대한 두 가지 표현이 있습니까?

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

  •  16-09-2019
  •  | 
  •  

문제

나는 unicode @ wikipedia의 사양을 읽고 있었다.아랍어 유니 코드) 그리고 나는 각각의 아랍어 숫자에 2 개의 유니 코드 코드 포인트가 있음을 알 수 있습니다. 예를 들어 1은 u+0661로 정의되고 u+06f1로 정의됩니다.

어떤 것을 사용해야합니까?

도움이 되었습니까?

해결책

에 따르면 코드 차트, u+0660 .. U+0669는 아랍어-인디 숫자 값 0 ~ 9이고 U+06F0 .. U+06F9는 아랍어-인디 숫자 값 0-9입니다.

Unicode 3.0 책 (5.2는 현재 버전이지만 이러한 것들이 한 번 설정 한 적이 없음)에서 U+066N 시리즈의 글리프는 '아랍어-인디 숫자'로 표시되고 U+06fn 시리즈의 글리프는 표시됩니다. 동부 아라비아 인디 숫자 (페르시아어와 우르두어) '. 또한 참고 사항 :

  • U+06F4- '페르시아어와 우르두어의 다른 글리프'
  • u+06f5- '페르시아어와 우르두어는 아랍어와 다른 글리프를 공유
  • u+06f6- '아랍어와 다른 페르시아 글리프'
  • u+06f7- '아랍어와 다른 우르두 글리프'

비교하려고:

  • U+066N : ٠١٢٣٤٥٦٧٨٩
  • u+06fn : ۰۱۲۳۴۵۶۷۸۹

또는 정보를 제목으로 만들어 확대했습니다.

U+066N : ٠١٢٣٤٥٦٧٨٩

u+06fn : ۰۱۲۳۴۵۶۷۸۹

또는:

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

(그 중 하나를 볼 수 있는지, 어떻게 분명하게 차별화되는지에 따라 브라우저와 컴퓨터에 설치된 글꼴에 따라 다른 것만으로도 4와 6의 차이를 명확하게 볼 수 있습니다. 5는 똑같이 보입니다. 둘 다.)

이 정보를 기반으로, 중동에서 아랍어로 작업하는 경우 U+066n 시리즈의 숫자를 사용하십시오. 페르시아어 또는 우르두어와 함께 일하는 경우 U+06FN 시리즈의 숫자를 사용하십시오. 유니 코드 애플리케이션으로, 하나의 코드 세트를 유효한 숫자로 받아 들여야합니다 (그러나 두 자리 세트를 혼합 한 순서를 문의 할 수 있습니다.

다른 팁

일반적으로 응용 프로그램에서 그러한 정보를 하드 코딩해서는 안됩니다.

  • Windows에서는 locale_snativedigits와 함께 getLocaleInfo를 사용할 수 있습니다.
  • kcfnumberformatterzeroSymbol을 사용한 Mac cfnumberformattercopyProperty.
  • 또는 같은 것을 사용하십시오 ICU.

기본적으로 아랍어-인디 픽 자리를 사용하지 않는 아랍어 국가가 있습니다. 따라서 아랍어 -> 아라비아 인디 픽 숫자라는 직접 매핑은 없습니다.

그리고 사용자는 어쨌든 제어판의 기본값을 변경했을 수 있습니다.

숫자 4, u+0664 또는 u+06F4를 나타내는 것을 선호하는 코드는 무엇입니까?

(? 또는 ۴)?

일관되게하려면 1, 2에 사용하는 코드 및 다른 중복 코드를 사용하는이 선택 가이드를 보자.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top