Module: Yosina::Transliterators::HiraKataTable
- Included in:
- HiraKata, HiraKataComposition, Jisx0201AndAlike
- Defined in:
- lib/yosina/transliterators/hira_kata_table.rb
Overview
Hiragana-Katakana mapping table
Constant Summary collapse
- HIRAGANA_KATAKANA_TABLE =
Main hiragana-katakana table with [hiragana, katakana, halfwidth] structure
[ # Vowels [['あ', nil, nil], ['ア', nil, nil], 'ア'], [['い', nil, nil], ['イ', nil, nil], 'イ'], [['う', 'ゔ', nil], ['ウ', 'ヴ', nil], 'ウ'], [['え', nil, nil], ['エ', nil, nil], 'エ'], [['お', nil, nil], ['オ', nil, nil], 'オ'], # K-row [['か', 'が', nil], ['カ', 'ガ', nil], 'カ'], [['き', 'ぎ', nil], ['キ', 'ギ', nil], 'キ'], [['く', 'ぐ', nil], ['ク', 'グ', nil], 'ク'], [['け', 'げ', nil], ['ケ', 'ゲ', nil], 'ケ'], [['こ', 'ご', nil], ['コ', 'ゴ', nil], 'コ'], # S-row [['さ', 'ざ', nil], ['サ', 'ザ', nil], 'サ'], [['し', 'じ', nil], ['シ', 'ジ', nil], 'シ'], [['す', 'ず', nil], ['ス', 'ズ', nil], 'ス'], [['せ', 'ぜ', nil], ['セ', 'ゼ', nil], 'セ'], [['そ', 'ぞ', nil], ['ソ', 'ゾ', nil], 'ソ'], # T-row [['た', 'だ', nil], ['タ', 'ダ', nil], 'タ'], [['ち', 'ぢ', nil], ['チ', 'ヂ', nil], 'チ'], [['つ', 'づ', nil], ['ツ', 'ヅ', nil], 'ツ'], [['て', 'で', nil], ['テ', 'デ', nil], 'テ'], [['と', 'ど', nil], ['ト', 'ド', nil], 'ト'], # N-row [['な', nil, nil], ['ナ', nil, nil], 'ナ'], [['に', nil, nil], ['ニ', nil, nil], 'ニ'], [['ぬ', nil, nil], ['ヌ', nil, nil], 'ヌ'], [['ね', nil, nil], ['ネ', nil, nil], 'ネ'], [['の', nil, nil], ['ノ', nil, nil], 'ノ'], # H-row [['は', 'ば', 'ぱ'], ['ハ', 'バ', 'パ'], 'ハ'], [['ひ', 'び', 'ぴ'], ['ヒ', 'ビ', 'ピ'], 'ヒ'], [['ふ', 'ぶ', 'ぷ'], ['フ', 'ブ', 'プ'], 'フ'], [['へ', 'べ', 'ぺ'], ['ヘ', 'ベ', 'ペ'], 'ヘ'], [['ほ', 'ぼ', 'ぽ'], ['ホ', 'ボ', 'ポ'], 'ホ'], # M-row [['ま', nil, nil], ['マ', nil, nil], 'マ'], [['み', nil, nil], ['ミ', nil, nil], 'ミ'], [['む', nil, nil], ['ム', nil, nil], 'ム'], [['め', nil, nil], ['メ', nil, nil], 'メ'], [['も', nil, nil], ['モ', nil, nil], 'モ'], # Y-row [['や', nil, nil], ['ヤ', nil, nil], 'ヤ'], [['ゆ', nil, nil], ['ユ', nil, nil], 'ユ'], [['よ', nil, nil], ['ヨ', nil, nil], 'ヨ'], # R-row [['ら', nil, nil], ['ラ', nil, nil], 'ラ'], [['り', nil, nil], ['リ', nil, nil], 'リ'], [['る', nil, nil], ['ル', nil, nil], 'ル'], [['れ', nil, nil], ['レ', nil, nil], 'レ'], [['ろ', nil, nil], ['ロ', nil, nil], 'ロ'], # W-row [['わ', nil, nil], ['ワ', 'ヷ', nil], 'ワ'], [['ゐ', nil, nil], ['ヰ', 'ヸ', nil], nil], [['ゑ', nil, nil], ['ヱ', 'ヹ', nil], nil], [['を', nil, nil], ['ヲ', 'ヺ', nil], 'ヲ'], [['ん', nil, nil], ['ン', nil, nil], 'ン'] ].freeze
- HIRAGANA_KATAKANA_SMALL_TABLE =
Small kana table
[ ['ぁ', 'ァ', 'ァ'], ['ぃ', 'ィ', 'ィ'], ['ぅ', 'ゥ', 'ゥ'], ['ぇ', 'ェ', 'ェ'], ['ぉ', 'ォ', 'ォ'], ['っ', 'ッ', 'ッ'], ['ゃ', 'ャ', 'ャ'], ['ゅ', 'ュ', 'ュ'], ['ょ', 'ョ', 'ョ'], ['ゎ', 'ヮ', nil], ['ゕ', 'ヵ', nil], ['ゖ', 'ヶ', nil], ["\u{1B132}", "\u{1B155}", nil], ["\u{1B150}", "\u{1B164}", nil], ["\u{1B151}", "\u{1B165}", nil], ["\u{1B152}", "\u{1B166}", nil] ].freeze
- VOICED_CHARACTERS =
generate_voiced_characters.freeze
- SEMI_VOICED_CHARACTERS =
generate_semi_voiced_characters.freeze
Class Method Summary collapse
-
.generate_semi_voiced_characters ⇒ Object
Generate semi-voiced character mappings.
-
.generate_voiced_characters ⇒ Object
Generate voiced character mappings.
Class Method Details
.generate_semi_voiced_characters ⇒ Object
Generate semi-voiced character mappings
107 108 109 110 111 112 113 114 |
# File 'lib/yosina/transliterators/hira_kata_table.rb', line 107 def self.generate_semi_voiced_characters result = [] HIRAGANA_KATAKANA_TABLE.each do |hiragana, katakana, _| result << [hiragana[0], hiragana[2]] if hiragana[0] && hiragana[2] result << [katakana[0], katakana[2]] if katakana[0] && katakana[2] end result end |
.generate_voiced_characters ⇒ Object
Generate voiced character mappings
90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/yosina/transliterators/hira_kata_table.rb', line 90 def self.generate_voiced_characters result = [] HIRAGANA_KATAKANA_TABLE.each do |hiragana, katakana, _| result << [hiragana[0], hiragana[1]] if hiragana[0] && hiragana[1] result << [katakana[0], katakana[1]] if katakana[0] && katakana[1] end # Add iteration marks result.concat([ ['ゝ', 'ゞ'], ['ヽ', 'ヾ'], ['〱', '〲'], # U+3031 -> U+3032 (vertical hiragana) ['〳', '〴'] # U+3033 -> U+3034 (vertical katakana) ]) result end |