class TTFunk::Table::Cff::CharstringsIndex

CFF Charstrings Index.

def decode_item(index, _offset, _length)

def decode_item(index, _offset, _length)
  TTFunk::Table::Cff::Charstring.new(index, top_dict, font_dict_for(index), super)
end

def encode_items(charmap)

def encode_items(charmap)
  charmap
    .reject { |code, mapping| mapping[:new].zero? && !code.zero? }
    .sort_by { |_code, mapping| mapping[:new] }
    .map { |(_code, mapping)| items[mapping[:old]] }
end

def font_dict_for(index)

def font_dict_for(index)
  # only CID-keyed fonts contain an FD selector and font dicts
  if top_dict.is_cid_font?
    fd_index = top_dict.font_dict_selector[index]
    top_dict.font_index[fd_index]
  end
end

def initialize(top_dict, *remaining_args)

Parameters:
  • length (Integer) --
  • offset (Integer) --
  • file (TTFunk::File) --
  • top_dict (TTFunk::Table:Cff::TopDict) --

Overloads:
  • initialize(top_dict, file, offset, length = nil)
def initialize(top_dict, *remaining_args)
  super(*remaining_args)
  @top_dict = top_dict
end