Method: Unicode::Name.unicode_name

Defined in:
lib/unicode/name.rb

.unicode_name(char) ⇒ Object Also known as: of

Don’t overwrite Module.name



11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/unicode/name.rb', line 11

def self.unicode_name(char) 
  codepoint = char.unpack("U")[0]
  require_relative "name/index" unless defined? ::Unicode::Name::INDEX
  if res = INDEX[:NAMES][codepoint]
    res
  elsif INDEX[:CJK].any?{ |cjk_range| codepoint >= cjk_range[0] && codepoint <= cjk_range[1] }
    "CJK UNIFIED IDEOGRAPH-%.4X" % codepoint
  elsif codepoint >= HANGUL_START && codepoint <= HANGUL_END
    "HANGUL SYLLABLE %s" % hangul_decomposition(codepoint)
  else
    nil
  end
end