(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:
Ö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:
Ö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::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::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