Module: JDict::Convert

Defined in:
lib/ruby-jdict/convert.rb

Constant Summary collapse

HANKAKU_KATAKANA =
"ハヒフヘホウカキクケコサシスセソタチツテトアイエオナニヌネノマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ"
HANKAKU_VSYMBOLS =
{ '' => 0, '' => 1, '' => 2 }
ZENKAKU_KATAKANA =
[
'ハヒフヘホウカキクケコサシスセソタチツテトアイエオ'+
'ナニヌネノマミムメモヤユヨラリルレロワヲンァィゥェォャュョッ',
'バビブベボヴガギグゲゴザジズゼゾダヂヅデド',
'パピプペポ']

Class Method Summary collapse

Class Method Details

.fullwidth_kata_to_hira(term) ⇒ Object



23
24
25
# File 'lib/ruby-jdict/convert.rb', line 23

def self.fullwidth_kata_to_hira(term)
  term.tr!('ァ-ン','ぁ-ん')
end

.han_to_zen(term) ⇒ Object



13
14
15
16
17
18
19
20
21
# File 'lib/ruby-jdict/convert.rb', line 13

def self.han_to_zen(term)
  term.gsub!(/([ヲ-ッア-ン])([゙゚]?)/) do
    katakana = $1
    sym = $2
    index = HANKAKU_VSYMBOLS[sym]
    pos = HANKAKU_KATAKANA.index(katakana)
    ZENKAKU_KATAKANA[index][pos] || ZENKAKU_KATAKANA[0][pos]
  end
end

.kata_to_hira(term) ⇒ Object



27
28
29
30
31
# File 'lib/ruby-jdict/convert.rb', line 27

def self.kata_to_hira(term)
  term = han_to_zen(term)
  term = fullwidth_kata_to_hira(term)
  term
end