module HexaPDF::Font::TrueType::Optimizer

Provides methods for optimizing a TrueType font file in various ways.

Public Class Methods

build_for_pdf(font) click to toggle source

Returns for the given font a TrueType font file as binary string that is optimized for use in a PDF (i.e. only the essential tables are retained).

# File lib/hexapdf/font/true_type/optimizer.rb, line 47
def self.build_for_pdf(font)
  tables = {
    'head' => font[:head].raw_data,
    'hhea' => font[:hhea].raw_data,
    'maxp' => font[:maxp].raw_data,
    'glyf' => font[:glyf].raw_data,
    'loca' => font[:loca].raw_data,
    'hmtx' => font[:hmtx].raw_data,
  }
  tables['cmap'] = font[:cmap].raw_data if font[:cmap]
  tables['cvt '] = font[:"cvt "].raw_data if font[:"cvt "]
  tables['fpgm'] = font[:fpgm].raw_data if font[:fpgm]
  tables['prep'] = font[:prep].raw_data if font[:prep]
  Builder.build(tables)
end