Class: Fontisan::Export::TtxParser

Inherits:
Object
  • Object
show all
Defined in:
lib/fontisan/export/ttx_parser.rb

Overview

TtxParser parses TTX XML format to font data

Parses fonttools-compatible TTX XML files and reconstructs font data that can be written back to binary formats.

Examples:

Parsing TTX file

parser = TtxParser.new
font_data = parser.parse(File.read("font.ttx"))
# Use font_data to rebuild binary font

Instance Method Summary collapse

Instance Method Details

#parse(ttx_xml) ⇒ Hash

Parse TTX XML content

Parameters:

  • ttx_xml (String)

    TTX XML content

Returns:

  • (Hash)

    Parsed font data structure



21
22
23
24
25
26
27
28
29
30
31
# File 'lib/fontisan/export/ttx_parser.rb', line 21

def parse(ttx_xml)
  doc = Nokogiri::XML(ttx_xml)
  ttfont = doc.at_xpath("/ttFont")
  raise "No ttFont root element found" unless ttfont

  {
    sfnt_version: parse_sfnt_version(ttfont["sfntVersion"]),
    glyph_order: parse_glyph_order(ttfont),
    tables: parse_tables(ttfont),
  }
end