Module: Kanakana
- Defined in:
- lib/kanakana.rb,
lib/kanakana/version.rb
Overview
Kanakana
Constant Summary collapse
- HIRAGANA =
p (“ア”..“ワ”).map{ |c| NKF.nkf(“-Ww –hiragana”, c) }.push(“を”, “ん”) 五十音
%w[ あ い う え お か き く け こ さ し す せ そ た ち つ て と な に ぬ ね の は ひ ふ へ ほ ま み む め も や ゆ よ ら り る れ ろ わ を ん ].freeze
- KATAKANA =
%w[ ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ラ リ ル レ ロ ワ ヲ ン ].freeze
- DAKUON_HIRAGANA =
DAKUON_BY_HIRAGANA DAKUON_BY_SEION
{ 'か' => 'が', 'き' => 'ぎ', 'く' => 'ぐ', 'け' => 'げ', 'こ' => 'ご', 'さ' => 'ざ', 'し' => 'じ', 'す' => 'ず', 'せ' => 'ぜ', 'そ' => 'ぞ', 'た' => 'だ', 'ち' => 'ぢ', 'つ' => 'づ', 'て' => 'で', 'と' => 'ど', 'は' => 'ば', 'ひ' => 'び', 'ふ' => 'ぶ', 'へ' => 'べ', 'ほ' => 'ぼ', 'う' => 'ゔ', 'ゝ' => 'ゞ' }.freeze
- DAKUTENABLE_HIRAGANA =
DAKUON_HIRAGANA.keys
- DAKUON_KATAKANA =
{ 'カ' => 'ガ', 'キ' => 'ギ', 'ク' => 'グ', 'ケ' => 'ゲ', 'コ' => 'ゴ', 'サ' => 'ザ', 'シ' => 'ジ', 'ス' => 'ズ', 'セ' => 'ゼ', 'ソ' => 'ゾ', 'タ' => 'ダ', 'チ' => 'ヂ', 'ツ' => 'ヅ', 'テ' => 'デ', 'ト' => 'ド', 'ハ' => 'バ', 'ヒ' => 'ビ', 'フ' => 'ブ', 'ヘ' => 'ベ', 'ホ' => 'ボ', 'ウ' => 'ヴ', 'ヽ' => 'ヾ', 'ワ' => 'ヷ', 'ヰ' => 'ヸ', 'ヱ' => 'ヹ', 'ヲ' => 'ヺ' }.freeze
- DAKUTENABLE_KATAKANA =
DAKUON_KATAKANA.keys
- DAKUON_TABLE =
DAKUON_HIRAGANA.merge(DAKUON_KATAKANA)
- DAKUTENABLES =
DAKUTENABLE_HIRAGANA + DAKUTENABLE_KATAKANA
- HANDAKUON_TABLE =
{ 'は' => 'ぱ', 'ひ' => 'ぴ', 'ふ' => 'ぷ', 'へ' => 'ぺ', 'ほ' => 'ぽ', 'ハ' => 'パ', 'ヒ' => 'ピ', 'フ' => 'プ', 'ヘ' => 'ペ', 'ホ' => 'ポ' }.freeze
- KOGAKI_HIRAGANA =
{ 'ぁ' => 'あ', 'ぃ' => 'い', 'ぅ' => 'う', 'ぇ' => 'え', 'ぉ' => 'お', 'ゕ' => 'か', 'ゖ' => 'け', 'っ' => 'つ', 'ゃ' => 'や', 'ゅ' => 'ゆ', 'ょ' => 'よ', 'ゎ' => 'わ' }.freeze
- KOGAKI_KATAKANA =
{ 'ァ' => 'ア', 'ィ' => 'イ', 'ゥ' => 'ウ', 'ェ' => 'エ', 'ォ' => 'オ', 'ヵ' => 'カ', 'ヶ' => 'ケ', 'ッ' => 'ツ', 'ャ' => 'ヤ', 'ュ' => 'ユ', 'ョ' => 'ヨ', 'ヮ' => 'ワ' }.freeze
- HIRAGANA_SMALL_LIST =
KOGAKI_HIRAGANA.keys
- ITAIJI =
{ 'ゐ' => 'い', 'ゑ' => 'え', 'ヰ' => 'イ', 'ヱ' => 'エ', 'ヲ' => 'オ' }.freeze
- NOT_DAKUTENABLE_HIRAGANA =
HIRAGANA - DAKUON_HIRAGANA.keys
- NOT_DAKUTENABLE_KATAKANA =
KATAKANA - DAKUON_KATAKANA.keys
- NOT_DAKUTENABLES =
NOT_DAKUTENABLE_HIRAGANA + NOT_DAKUTENABLE_KATAKANA
- VERSION =
"0.0.1"
Class Method Summary collapse
- .escape(str) ⇒ Object
- .hiraganize(str) ⇒ Object
- .hyper_nigorize(str) ⇒ Object
- .katakanize(str) ⇒ Object
- .make_ascii(str) ⇒ Object
- .nigorize(str) ⇒ Object
- .ords ⇒ Object
-
.table(str) ⇒ Object
charset.
- .unicodes(str) ⇒ Object
Class Method Details
.escape(str) ⇒ Object
125 126 127 128 |
# File 'lib/kanakana.rb', line 125 def escape(str) # str.unpack('U*').map { |c| "\\u#{c.to_s(16).upcase}" }.join str.codepoints.map { |c| "\\u#{c.to_s(16).upcase}" }.join end |
.hiraganize(str) ⇒ Object
103 104 105 |
# File 'lib/kanakana.rb', line 103 def hiraganize(str) NKF.nkf('-w --hiragana', str) end |
.hyper_nigorize(str) ⇒ Object
98 99 100 101 |
# File 'lib/kanakana.rb', line 98 def hyper_nigorize(str) pattern = /([#{NOT_DAKUTENABLES.join}])/ nigorize(str).gsub(pattern) { "#{Regexp.last_match(1)}\u3099" } end |
.katakanize(str) ⇒ Object
107 108 109 |
# File 'lib/kanakana.rb', line 107 def katakanize(str) NKF.nkf('-w --katakana', str) end |
.make_ascii(str) ⇒ Object
111 112 113 114 115 116 117 118 |
# File 'lib/kanakana.rb', line 111 def make_ascii(str) # NKF.nkf('-m0Z1 -w', str) NKF.nkf('-m0Z1 -W -w', str) NKF.nkf('-Z1 -Ww', str) # str.tr("0-9a-zA-Z.,@−", "0-9a-zA-Z.,@-") # str.tr('!-~', '!-~') # str.tr(' -~', ' -~') end |
.nigorize(str) ⇒ Object
93 94 95 96 |
# File 'lib/kanakana.rb', line 93 def nigorize(str) pattern = /[#{DAKUTENABLES.join}]/ str.unicode_normalize.gsub(pattern, DAKUON_TABLE) end |
.ords ⇒ Object
130 131 132 |
# File 'lib/kanakana.rb', line 130 def ords str.chars.zip(str.codepoints.map(&:ord)).to_h end |
.table(str) ⇒ Object
charset
135 136 137 |
# File 'lib/kanakana.rb', line 135 def table(str) str.chars.zip(str.codepoints.map { |c| "\\u{#{c.to_s(16).upcase}}" }).to_h end |
.unicodes(str) ⇒ Object
120 121 122 123 |
# File 'lib/kanakana.rb', line 120 def unicodes(str) # str.unpack('U*').map { |c| "U+#{c.to_s(16).upcase}" } str.codepoints.map { |c| "U+#{c.to_s(16).upcase}" } end |