(No version information available, might only be in Git)
Yerele duyarlı sıralama desteğiyle dizge karşılaştırma yeteneği sağlar.
Collator::FRENCH_COLLATION
Dizgenin geri planındaki farklı aksanlara göre dizgeleri sıralar. Bu öznitelik Fransızca yerellerde ve bir kaç başka yerelde otomatik olarak etkindir. Kullanıcılar normalde bu özniteliği açıkça etkinleştirme ihtiyacı duymazlar. Bu özniteliğe On değeri atamanın başarım açısından bir bedeli vardır fakat sıralama anahtarının uzunluğu tesirsizdir. Olası değerler şunlardır:
Collator::ON
Collator::OFF
(öntanımlı)Collator::DEFAULT_VALUE
Örnek 1 - FRENCH_COLLATION kuralları
Collator::ALTERNATE_HANDLING
Alternate
özniteliği, UCA'da değişken karakterler
denen karakterleri (boşluk karakterleri, noktalama imleri ve simgeler)
denetim altında tutmak için kullanılır. Eğer bu özniteliğe
NonIgnorable
(N) değeri atanırsa bu karakterler
arasındaki farklar harfler arasındaki farklarla aynı önemdedir. Eğer
Shifted
(S) atanırsa bu karakterler çok düşük
önemde olurlar. Shifted
değeri çoğunlukla
Strength (etki seviyesi) ile birlikte Dördüncüllüğü
(Quaternary
) belirtmekte kullanılır. Böyle bir
durumda, boşluk karakterleri, noktalama imleri ve simgelerin dizgeleri
karşılaştırırken hesaba katılabilmesi için dizgelerin tüm diğer şeyler
(temel harfler, aksanlar ve harf büyüklüğü) bakımından eşdeğer olmaları
gerekir. Eğer özniteliğe Shifted
atanmazsa üçüncül
(Tertiary
) ve dördüncül
(Quaternary
) etki seviyeleri arasında hiçbir fark
yoktur. Daha fazla bilgi ve örnekler için
» UCA
sitesindeki "Variable_Weighting" konusuna bakınız. Özniteliğin
değerlerinin basitçe On
ve Off
olmamasının sebebi gelecekte başka değerlerin eklenebilecek olmasıdır.
UCA seçeneği Blanked
üçüncül etki seviyesi ile ifade
edilir ve özniteliğe Shifted
atanır. Çoğu yerel için
NonIgnorable
öntanımlıdır. Eğer
Shifted
seçilirse ve noktalama dışında birbirinin
aynı çok sayıda dizge varsa işlem daha yavaş olabilir; etki seviyesi
ayrıca arttırılmadıkça sıralama anahtarı uzunluğu tesirsiz olacaktır.
Olası değerler:
Örnek 2 - ALTERNATE_HANDLING kuralları
Collator::CASE_FIRST
(int)
Case_First
özniteliği, dizgeler arasında başka
farkların olmadığı durumda büyük harflerin küçük harflerden önce mi yoksa
sonra mı olacağını belirler. Olası değerler, büyük harflerin önce
geleceğini belirten Uppercase_First
(U), küçük
harflerin önce olacağını belirten Lowercase_First
(L)
değerlerine ilaveten standart Default
ve
Off
değerleridir. Sonuçları bakımından
Off
ve Lowercase_First
arasında
hemen hemen hiç fark yoktur. Bu bakımdan kullanıcılar genelde
Lowercase_First
kullanmazlar, sadece
Off
veya Uppercase_First
kullanırlar. X ve L arasındaki farkların ayrıntıları ile
ilgilenen kullanıcılar Karşılaştırma Özelleştirmesini incelemelidirler.
L veya U belirtmenin dizge karşılaştırma başarımında etkisi olmaz, fakat
sıralama anahtarı uzunluğunu etkiler.
Olası değerler:
Collator::OFF
(öntanımlı)Collator::LOWER_FIRST
Collator::UPPER_FIRST
Collator:DEFAULT
Örnek 3 - CASE_FIRST kuralları
Collator::CASE_LEVEL
Case_Level
özniteliği harf büyüklüğünü değil aksanları
yoksaymak için kullanılır. Böyle bir durumda, etki seviyesine (Strength)
Primary
ve Case_Level
özniteliğine
On
atanır. Çoğu yerelde On
öntanımlıdır ve bu değerin küçük bir dizge karşılaştırma başarımı ve
sıralama anahtarı ektisi vardır.
Olası değerler:
Collator::OFF
(öntanımlı)Collator::ON
Collator::DEFAULT_VALUE
Örnek 4 - CASE_LEVEL kuralları
Collator::NORMALIZATION_MODE
Normalleştirme ayarı, karşılaştırmada metnin tamamen normalleştirilip
normalleştirilmeyeceğini belirler. Değeri off olsa bile (çoğu yerel için
öntanımlıdır) ortak kullanımda gösterildiği haliyle metin doğru olarak
karşılaştırılacaktır (Ayrıntılar için UTN #5'e bakınız). Sadece, meşru
sırada olmayan aksan imleri sorun çıkarır. Özniteliğe
On
atanmışsa, olası tüm metin girdiler için en iyi
sonuçlar garanti edilir ve normalleştirme gerektiren dizilimlerin
sıklığına bağlı olarak orta seviyede bir dizge karşılaştırma başarımı
maliyeti vardır. Sıralama anahtarı uzunluğu üzerinde önemli bir etkisi
yoktur. Eğer girdi metninin NFD veya NFKD normalleştirme şekillerinden
birinde olduğu biliniyorsa bu normalleştirme seçeneğini etkin kılmaya
gerek yoktur.
Olası değerler:
Collator::OFF
(öntanımlı)Collator::ON
Collator::DEFAULT_VALUE
Collator::STRENGTH
ICU Karşılaştırma hizmeti çok seviyeli karşılaştırmayı destekler (bunlara seviye (level) dendiği gibi tesir derecesi de (Strength) denir). Bu seviyeler sayesinde ICU, dizgeleri yerel uzlaşımlara bağlı olarak hassas bir şekilde sıralar. Bununla birlikte, metin içinde dizge araması, seviyelerin seçilerek devreye sokulmasına izin verilerek çeşitli eşleşme koşullarıyla gerçekleştirilebilir. Daha ayrıntılı bilgi edinmek için collator_set_strength() işlevine bakınız.
Olası değerler:
Collator::HIRAGANA_QUATERNARY_MODE
JIS x 4061 ile uyumluluk Hiragana ve Katakana karakterler arasında ayrım
sağlayacak ek seviyeler gerektirir. Eğer standartla uyumluluk gerekirse
bu özniteliğe On
atanmalı ve seviye olarak
Quaternary (dördüncül) kullanılmalıdır. Bu, sıralama anahtarı uzunluğunu
ve dizge karşılaştırma başarımını etkiler.
Olası değerler:
Collator::OFF
(öntanımlı)Collator::ON
Collator::DEFAULT_VALUE
Collator::NUMERIC_COLLATION
Etkin kılınırsa bu öznitelik, rakamlardan oluşan altdizgelerin sayısal değerleri için bir karşılaştırma anahtarı üretir. Bu, sıralamada '2''den sonra '100' almanın bir yoludur.
Olası değerler:
Collator::DEFAULT_VALUE
Collator::PRIMARY
Collator::SECONDARY
Collator::TERTIARY
Collator::DEFAULT_STRENGTH
Collator::QUATERNARY
Collator::IDENTICAL
Collator::OFF
Collator::ON
Collator::SHIFTED
Collator::NON_IGNORABLE
Collator::LOWER_FIRST
Collator::UPPER_FIRST
Collator::SORT_REGULAR
Collator::SORT_STRING
Collator::SORT_NUMERIC