Class: TTFunk::Table::Cmap
- Inherits:
-
TTFunk::Table
- Object
- TTFunk::Table
- TTFunk::Table::Cmap
- Defined in:
- lib/ttfunk/table/cmap.rb,
lib/ttfunk/table/cmap/format00.rb,
lib/ttfunk/table/cmap/format04.rb,
lib/ttfunk/table/cmap/format06.rb,
lib/ttfunk/table/cmap/format10.rb,
lib/ttfunk/table/cmap/format12.rb,
lib/ttfunk/table/cmap/subtable.rb
Overview
Character to Glyph Index Mapping (‘cmap`) table.
Defined Under Namespace
Modules: Format00, Format04, Format06, Format10, Format12 Classes: Subtable
Instance Attribute Summary collapse
-
#tables ⇒ Array<TTFunk::Table::Cmap::Subtable>
readonly
Encoding tables.
-
#version ⇒ Integer
readonly
Table version.
Attributes inherited from TTFunk::Table
Class Method Summary collapse
-
.encode(charmap, encoding) ⇒ Hash
Encode table.
Instance Method Summary collapse
-
#unicode ⇒ Array<TTFunk::Table::Cmap::Subtable>
Get Unicode encoding records.
Methods inherited from TTFunk::Table
#exists?, #initialize, #raw, #tag
Constructor Details
This class inherits a constructor from TTFunk::Table
Instance Attribute Details
#tables ⇒ Array<TTFunk::Table::Cmap::Subtable> (readonly)
Encoding tables.
13 14 15 |
# File 'lib/ttfunk/table/cmap.rb', line 13 def tables @tables end |
#version ⇒ Integer (readonly)
Table version.
9 10 11 |
# File 'lib/ttfunk/table/cmap.rb', line 9 def version @version end |
Class Method Details
.encode(charmap, encoding) ⇒ Hash
Encode table.
27 28 29 30 31 32 33 |
# File 'lib/ttfunk/table/cmap.rb', line 27 def self.encode(charmap, encoding) result = Cmap::Subtable.encode(charmap, encoding) # pack 'version' and 'table-count' result[:table] = [0, 1, result.delete(:subtable)].pack('nnA*') result end |
Instance Method Details
#unicode ⇒ Array<TTFunk::Table::Cmap::Subtable>
Get Unicode encoding records.
38 39 40 41 42 43 44 45 |
# File 'lib/ttfunk/table/cmap.rb', line 38 def unicode # Because most callers just call .first on the result, put tables with # highest-number format first. Unsupported formats will be ignored. @unicode ||= @tables .select { |table| table.unicode? && table.supported? } .sort { |a, b| b.format <=> a.format } end |