module Sterile
def transmogrify(string, &block)
def transmogrify(string, &block) raise "No block given" unless block_given? result = "" string.unpack("U*").each do |codepoint| cg = codepoint >> 8 cp = codepoint & 0xFF begin mapping = Array(codepoints_data[cg][cp]) result << yield(mapping, codepoint) rescue end end result end