module HexaPDF::Font::TrueType::Table::Post::Format2
def self.mapper(glyph_name_index, names) #:nodoc:
def self.mapper(glyph_name_index, names) #:nodoc: lambda do |glyph_id| name_index = glyph_name_index[glyph_id] if !name_index nil elsif name_index <= 257 Format1::GLYPH_NAMES[name_index] else names[name_index - 258] end end end
def self.parse(io, length)
Parses the format 2 post subtable from the given IO at the current position and
Format2.parse(io, length) -> glyph_names
:call-seq:
def self.parse(io, length) end_pos = io.pos + length num_glyphs = io.read(2).unpack1('n') glyph_name_index = io.read(2 * num_glyphs).unpack('n*') names = [] names << io.read(io.getbyte).force_encoding(::Encoding::UTF_8) while io.pos < end_pos mapper(glyph_name_index, names) end