Hello. UTS #10 has been updated, so terminator primary weight for Hangul is implemented in Unicode::Collate.
Usage: $collator = Unicode::Collate->new(hangul_terminator => $term); $term, the value for the 'hangul_terminator' key, should be a positive integer lesser than primary weights of any Hangul Jamo. If $term is false or hangul_terminator key does not exist, insertion of terminator weights will not be performed. (prerelease) http://homepage1.nifty.com/nomenclator/perl/Unicode-Collate.html http://homepage1.nifty.com/nomenclator/perl/Unicode-Collate-0.29.tar.gz Collation elements of hangul-related characters like enclosed hangul letters should be modified in accordance with the terminator weight, or they will not be equivalent to standard Hangul syllables. Example of a collation element table tailored for classic Hangul is shown below (a part, with quaternary weights omitted); where primary weights: TERM = 0x100, initial G = 0x18A0, vowel A = 0x1870, final G = 0x1840, etc. #Jongseong should have lesser weight. 11A8 ; [.1840.0020.0002] # JONGSEONG KIYEOK 11A9 ; [.1840.0020.0002][.1840.0020.0002] # JONGSEONG SSANGKIYEOK #Jungseong should have middle weight. 1161 ; [.1870.0020.0002] # JUNGSEONG A 1176 ; [.1870.0020.0002][.1874.0020.0002] # JUNGSEONG A-O 1162 ; [.1870.0020.0002][.1879.0020.0002] # JUNGSEONG AE 1163 ; [.1871.0020.0002] # JUNGSEONG YA 1175 ; [.1879.0020.0002] # JUNGSEONG I #Choseong should have greater weight. 1100 ; [.18A1.0020.0002] # CHOSEONG KIYEOK #Non-conjoining Hangul should include TERM like this. 326E ; [.18A1.0020.0006][.1870.0020.0006][.0100.0000.0000] # CIRCLED K A 1101 ; [.18A1.0020.0002][.18A1.0020.0002] # CHOSEONG SSANGKIYEOK 1102 ; [.18A2.0020.0002] # CHOSEONG NIEUN 1113 ; [.18A2.0020.0002][.18A1.0020.0002] # CHOSEONG NIEUN-KIYEOK Regards, SADAHIRO Tomoyuki