2011-01-30 8 views
5

Tôi cần danh sách các dải ký tự Unicode với thuộc tính Alphabetic như được định nghĩa trong http://www.unicode.org/Public/5.1.0/ucd/UCD.html#Alphabetic. Tuy nhiên, tôi không thể tìm thấy chúng trong Cơ sở dữ liệu ký tự Unicode bất kể tôi tìm kiếm chúng như thế nào. Ai đó có thể cung cấp một danh sách của họ hay chỉ là một cơ sở tìm kiếm cho các ký tự với các thuộc tính Unicode được chỉ định?Danh sách các ký tự chữ cái Unicode

+0

Nếu bạn nhìn vào câu trả lời của tôi, tôi có yêu cầu của bạn với cơ sở tìm kiếm ký tự với các thuộc tính Unicode được chỉ định bằng [script unichars của tôi ] (http://training.perl.com/scripts/unichars). Thưởng thức! – tchrist

Trả lời

2

Thuộc tính lõi có nguồn gốc có thể được tính toán từ các thuộc tính khác.

Thuộc tính chữ cái được định nghĩa là: Tạo từ: Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic

Vì vậy, nếu bạn mất tất cả các nhân vật trong Lu, Ll, Lt, Lm, Lo, Nl, và tất cả các ký tự với thuộc tính Other_Alphabetic, bạn sẽ có các ký tự chữ cái.

2

lời trích dẫn từ nguồn của bạn: Generated from: Lu + Ll + Lt + Lm + Lo + Nl + Other_Alphabetic

Những Abbrevations dường như được giải thích here.

11

Cơ sở dữ liệu ký tự Unicode bao gồm tất cả các tệp văn bản trong bản phân phối. Nó không chỉ là một tập tin duy nhất như nó đã từng lâu trước đây.

Thuộc tính chữ cái là thuộc tính bắt nguồn.

Bạn thực sự không muốn sử dụng phạm vi điểm mã cho việc này. Bạn muốn sử dụng thuộc tính đúng cách. Đó là bởi vì có quá nhiều người trong số họ. Sử dụng unichars script, chúng ta biết rằng có hơn mười nghìn chỉ trong Basic Multilingual Plane mình không đếm Han hoặc Hangul:

$ unichars '\p{Alphabetic}' | wc -l 
    10052 

Nếu chúng ta bao gồm 16 máy bay astral khác, bây giờ chúng tôi đang ở mười bốn ngàn:

$ unichars -a '\p{Alphabetic}' | wc -l 
    14736 

và nếu chúng ta bao gồm Han và Hangul, mà trên thực tế tài sản chữ cái không, chúng ta chỉ cần thổi bay mái của một điểm trăm ngàn mã:

$ unichars -ua '\p{Alphabetic}' | wc -l 
    101539 

Tôi hy vọng bạn có thể thấy rằng bạn thực hiện không muốn liệt kê cụ thể những mã này bằng cách sử dụng các phạm vi điểm mã. Xuống con đường đó là điên rồ.

Nhân tiện, nếu bạn tìm thấy unichars script hữu ích, bạn cũng có thể thích và có lẽ là uninames script.

+1

Tôi thực sự thích kịch bản của bạn! Chúng sẽ rất hữu ích cho việc giải quyết [câu hỏi SO] (http://stackoverflow.com/questions/6246651/generate-uri-friendly-unicode-code-points-from-integer-counter) Tôi đã có. Cảm ơn rất nhiều vì đã tạo ra chúng. Câu hỏi: khi tôi chỉ chạy lệnh cuối cùng ở trên ('unichars -ua '\ p {Alphabetic}' | wc -l'), tôi có 94332 dòng thay vì 101539. Bất kỳ lý do gì có thể xảy ra? –

+1

@Abe: Tuyệt đối khiến bạn chưa chạy Unicode 6.0.0.Bạn đang chạy phiên bản Perl nào? 'corelist -a Unicode' sẽ hiển thị cho bạn các cặp phiên bản Perl với các phiên bản Unicode. BTW, bây giờ tôi có trong [toolchest Unicode] của tôi (http://training.perl.com/scripts/), với nhiều hơn trên đường đi. – tchrist

+0

À vâng, tôi vẫn đang chạy Perl 5. Tôi chắc chắn sẽ nâng cấp Perl và kiểm tra các công cụ mới của bạn. Cảm ơn! –

1

Tôi đã tìm thấy ứng dụng web UniView cung cấp giao diện tìm kiếm đẹp mắt. Tìm kiếm thuộc tính Letter (với Local unchecked) cung cấp 14723 kết quả ...

+1

Thuộc tính Letter không giống với thuộc tính Alphabetic !!!! Trong Unicode 6.0.0, có 101539 điểm mã với thuộc tính Alphabetic nhưng chỉ có 100520 với thuộc tính Letter, một sự khác biệt của hơn một nghìn ký tự. BTW, câu trả lời 14k của bạn bị tắt theo thứ tự độ lớn. – tchrist

+0

Bạn nói đúng. BTW, tôi nghĩ rằng công cụ UniView không đưa Han và Hangul vào tài khoản. – thSoft