मुझे ऐसे किसी भी स्थान का पता नहीं है, जो डिफ़ॉल्ट रूप से, उस क्रम में क्रमबद्ध हो। समाधान एक कस्टम प्रकार को कस्टमाइज़्ड क्रम के साथ बनाना है। यदि कोई चार साल बाद, एक कस्टम फैशन में सॉर्ट करना चाहता है, तो यहां चाल है।
अधिकांश विशाल स्थान अपने स्वयं के क्रम को निर्दिष्ट नहीं करते हैं, बल्कि उस क्रम में परिभाषित क्रम को कॉपी करते हैं /usr/share/i18n/locales/iso14651_t1_common
, जिसे आप संपादित करना चाहते हैं। मूल को संशोधित करके लगभग हर स्थान के लिए क्रम क्रम बदलने के बजाय iso14651_t1_common
, मैं आपको एक प्रतिलिपि बनाने का सुझाव देता हूं। क्रमबद्ध तरीके से कैसे काम करता है और $HOME
रूट एक्सेस के बिना आपकी निर्देशिका में एक कस्टम लोकेल कैसे बनाया जाता है, इस बारे में विवरण इसी तरह के प्रश्न के उत्तर में मिलता है ।
इनकी प्रविष्टियों के आधार पर कैसे a
और A
क्या आदेश दिए गए हैं , इस पर एक नज़र डालें iso14651_t1_common
:
<U0061> <a>;<BAS>;<MIN>;IGNORE # 198 a
<U0041> <a>;<BAS>;<CAP>;IGNORE # 517 A
b
और B
समान हैं:
<U0062> <b>;<BAS>;<MIN>;IGNORE # 233 b
<U0042> <b>;<BAS>;<CAP>;IGNORE # 550 B
हम पहले पास पर देखते हैं कि, दोनों a
और A
क्रमवार प्रतीक है <a>
, जबकि दोनों b
और B
क्रमवार प्रतीक है <b>
। चूंकि <a>
पहले <b>
में दिखाई देता है iso14651_t1_common
, a
और A
पहले से बंधा हुआ है b
और B
। दूसरा पास संबंधों को नहीं तोड़ता है क्योंकि सभी चार वर्णों का कोलाजिंग सिंबल है <BAS>
, लेकिन तीसरे पास के दौरान संबंधों को हल किया जाता है क्योंकि <MIN>
अपरकेस अक्षरों के लिए कोलाजिंग सिंबल अपरकेस अक्षर <CAP>
(लाइन 3488) के लिए कोलेटिंग सिंबल से पहले लाइन 3467 पर दिखाई देता है। । तो सॉर्ट क्रम के रूप में समाप्त होता है a
, A
, b
, B
।
पहले और तीसरे कोलाजिंग प्रतीकों की अदला-बदली पहले अक्षर केस (लोअर अपर) से होती है, फिर एक्सेंट ( <BAS>
मतलब नॉन-एक्सेंट) से, फिर अल्फाबेटिकल ऑर्डर से। हालांकि , दोनों <MIN>
और <CAP>
अंकों की पहले आते हैं, तो यह पत्र के बाद अंक डालने की अवांछित प्रभाव होगा।
सभी निचले अक्षरों को बनाने से पहले अंकों को रखने का सबसे आसान तरीका सभी अपरकेस अक्षरों से पहले आता है, सभी पत्रों को पहले तुलना के दौरान उन्हें सभी के बराबर सेट करके टाई करने के लिए मजबूर करना है <a>
। यह सुनिश्चित करने के लिए कि वे मामले के भीतर वर्णानुक्रम में सॉर्ट करते हैं, अंतिम कोलाज़िंग प्रतीक IGNORE
को वर्तमान से पहले कोलाज़िंग प्रतीक में बदल दें। इस पैटर्न के बाद, a
बन जाएगा:
<U0061> <a>;<BAS>;<MIN>;<a> # 198 a
A
बन जाएगा:
<U0041> <a>;<BAS>;<CAP>;<a> # 517 A
b
बन जाएगा:
<U0062> <a>;<BAS>;<MIN>;<b> # 233 b
B
बन जाएगा:
<U0042> <a>;<BAS>;<CAP>;<b> # 550 B
और बाकी पत्रों के लिए।
एक बार जब आप एक अनुकूलित संस्करण बना लेते हैं, तो अपने कस्टम लोकेल को संकलित करने के लिए ऊपर दिए गए उत्तरiso14651_t1_common
में दिए गए निर्देशों का पालन करें ।