module Unicode::Blocks

Constants

DATA_DIRECTORY
INDEX
INDEX_FILENAME
UNICODE_VERSION
VERSION

Public Class Methods

block(char) click to toggle source
# File lib/unicode/blocks.rb, line 15
def self.block(char)
  require_relative 'blocks/index' unless defined? ::Unicode::Blocks::INDEX
  codepoint = char.unpack("U")[0] or raise(ArgumentError, "Unicode::Blocks.block must be given a valid char")
  block_info = INDEX.bsearch{ |block_info| codepoint <= block_info[1] }
  codepoint >= block_info[0] ? block_info[2] : "No_Block"
end
blocks(string) click to toggle source
# File lib/unicode/blocks.rb, line 5
def self.blocks(string)
  res = []
  string.each_char{ |char|
    block_name = block(char)
    res << block_name unless res.include?(block_name)
  }
  res.sort
end
Also aliased as: of
names() click to toggle source
# File lib/unicode/blocks.rb, line 22
def self.names
  require_relative 'blocks/index' unless defined? ::Unicode::Blocks::INDEX
  INDEX.map(&:last)
end
of(string)
Alias for: blocks