class Klang::Klang
Constants
- CONSONANT
- PATCHIM
- VOWEL
Public Class Methods
hangul?(char)
click to toggle source
# File lib/klang.rb, line 80 def self.hangul?(char) o = char.ord ((o >= 0x1100 && o <= 0x11FF) || (o >= 0xA960 && o <= 0xA97F) || (o >= 0xD7B0 && o <= 0xD7FF) || (o >= 0x3130 && o <= 0x318F) || (o >= 0xAC00 && o <= 0xD7AF)) end
new(str)
click to toggle source
# File lib/klang.rb, line 89 def initialize(str) @raw = str @alphabet = nil end
Public Instance Methods
to_alphabet()
click to toggle source
# File lib/klang.rb, line 94 def to_alphabet parse_hangul unless @alphabet @alphabet end
Private Instance Methods
parse_hangul()
click to toggle source
# File lib/klang.rb, line 100 def parse_hangul alpha = [] @raw.each_char do |c| unless Klang.hangul?(c) alpha << c next end consonant, vowel, patchim = Unicode::nfkd(c).chars alpha << CONSONANT[consonant.ord] if consonant alpha << VOWEL[vowel.ord] if vowel alpha << PATCHIM[patchim.ord] || CONSONANT[patchim.ord] if patchim end @alphabet = alpha.join end