チメバンジギョムハングルの日記念にハングルの音節をそぎに分解するコーディング。
つまり、Unicode2.0で小、中、終声に組み合わせ可能なすべての現代ハングルの音節11172をもれなく配置したので、
完成型コードであるUnicodeが照合型コードとしての特徴を持つようになるということを示すためにコーディング。
元照合型コードではしその分解は、ビットを削減する超種を得て出すならば、
Unicodeでは、以下のように分けだけでうまくいけば、超終声を勝ち取ることができる。
ハングルの科学性もう一度感嘆
ソースコード
"ㄱ" , "ㄲ" , "ㄴ" , "ㄷ" , "ㄸ" , "ㄹ" , "ㅁ" , "ㅂ" , "ㅃ" , "ㅅ" , @ chosung_list = [" ㄱ "、 " ㄲ "、 " ㄴ "、 " ㄷ "、 " ㄸ "、 " ㄹ "、 " ㅁ "、 " ㅂ "、 " ㅃ "、 " ㅅ "、
, "ㅈ" , "ㅉ" , "ㅊ" , "ㅋ" , "ㅌ" , "ㅍ" , "ㅎ" ] " ㅆ "、 " ㅇ "、 " ㅈ "、 " ㅉ "、 " ㅊ "、 "w"、 " ㅌ "、 "ふ"、 " ㅎ "]
"ㅏ" , "ㅐ" , "ㅑ" , "ㅒ" , "ㅓ" , "ㅔ" , "ㅕ" , "ㅖ" , "ㅗ" , "ㅘ" , @ jungsung_list = [" ㅏ "、 " ㅐ "、 " ㅑ "、 " ㅒ "、 " ㅓ "、 " ㅔ "、 " ㅕ "、 " ㅖ "、 " ㅗ "、 " ㅘ "、
, "ㅚ" , "ㅜ" , "ㅝ" , "ㅞ" , "ㅟ" , "ㅠ" , "ㅡ" , "ㅢ" , "ㅣ" ] " ㅛ "、 "ノ"、 " ㅚ "、 " ㅜ "、 " ㅝ "、 " ㅞ "、 " ㅟ "、 " ㅠ "、 " ㅡ "、 " ㅢ "、 " ㅣ "]
" " , "ㄱ" , "ㄲ" , "ㄳ" , "ㄴ" , "ㄵ" , "ㄶ" , "ㄷ" , "ㄹ" , "ㄺ" , @ jongsung_list = [""、 " ㄱ "、 " ㄲ "、 " ㄳ "、 " ㄴ "、 " ㄵ "、 " ㄶ "、 " ㄷ "、 " ㄹ "、 " ㄺ "、
, "ㄽ" , "ㄾ" , "ㄿ" , "ㅀ" , "ㅁ" , "ㅂ" , "ㅄ" , "ㅅ" , " ㄻ "、 " ㄼ "、 " ㄽ "、 " ㄾ "、 " ㄿ "、 " ㅀ "、 " ㅁ "、 " ㅂ "、 " ㅄ "、 " ㅅ "、
, "ㅈ" , "ㅊ" , "ㅋ" , "ㅌ" , "ㅍ" , "ㅎ" ] " ㅆ "、 " ㅇ "、 " ㅈ "、 " ㅊ "、 "w"、 " ㅌ "、 "ふ"、 " ㅎ "]
a ) def unicode_of(a)
"U*" ) . pop a。unpack( "U *")。pop
end
class String
def succ
( 'U*' ) head = self。unpack( "U *")
tail = head。pop
( 'U*' ) + [ tail + 1 ] . pack ( 'U*' ) return head。pack( 'U *')+ [tail + 1]。pack( 'U *')
end
end
( ch ) def split(ch)
) offset = unicode_of( "が")
unicode = unicode_of(ch)
"=(" print ch + "=("
#初声出力
[ ( unicode - offset ) / print @ chosung_list [(unicode - offset)/
* @jongsung_list . length ) ] + "+" (@ jungsung_list。length * @ jongsung_list。length)] + "+"
#中性出力
[ ( ( unicode - offset ) % print @ jungsung_list [((unicode - offset)%
* @jongsung_list . length ) ) / (@ jungsung_list。length * @ jongsung_list。length))/
] + "+" @ jongsung_list。length] + "+"
#終声出力
[ ( unicode - offset ) % @jongsung_list . length ] + ") \n " print @ jongsung_list [(unicode - offset)%@ jongsung_list。length] + ")\ n"
end
.. "힣" ) . each { | x | split ( x ) } ( "が" .. "ヒᇂ ")。each {| x | split(x)}
結果
各=(a +ㅏ+ㄱ)
ガᆩ=(a +ㅏ+ㄲ)
ガᆪ=(a +ㅏ+繖)
間=(a +ㅏ+ㄴ)
ガᆬ=(a +ㅏ+ㄵ)
ガᆭ=(a +ㅏ+ㄶ)
ガト=(a +ㅏ+ c)
行く=(a +ㅏ+ㄹ)
ガル=(a +ㅏ+ㄺ)
...
ヒット=(ㅎ+ㅣ+ㅅ)
ヒᆻ=(ㅎ+ㅣ+ㅆ)
ヒン=(ㅎ+ㅣ+ㅇ)
ヒᆽ=(ㅎ+ㅣ+ㅈ)
ヒᆾ=(ㅎ+ㅣ+ㅊ)
ヒᆿ=(ㅎ+ㅣ+ w)
ヒᇀ=(ㅎ+ㅣ+ㅌ)
ヒップ=(ㅎ+ㅣ+ふ)
ヒᇂ=(ㅎ+ㅣ+ㅎ)















