Module: Fontisan::Ufo::Compile

Defined in:
lib/fontisan/ufo/compile.rb,
lib/fontisan/ufo/compile/cff.rb,
lib/fontisan/ufo/compile/os2.rb,
lib/fontisan/ufo/compile/cmap.rb,
lib/fontisan/ufo/compile/fvar.rb,
lib/fontisan/ufo/compile/gpos.rb,
lib/fontisan/ufo/compile/gvar.rb,
lib/fontisan/ufo/compile/head.rb,
lib/fontisan/ufo/compile/hhea.rb,
lib/fontisan/ufo/compile/hmtx.rb,
lib/fontisan/ufo/compile/maxp.rb,
lib/fontisan/ufo/compile/name.rb,
lib/fontisan/ufo/compile/post.rb,
lib/fontisan/ufo/compile/filters.rb,
lib/fontisan/ufo/compile/glyf_loca.rb,
lib/fontisan/ufo/compile/otf_compiler.rb,
lib/fontisan/ufo/compile/ttf_compiler.rb,
lib/fontisan/ufo/compile/base_compiler.rb,
lib/fontisan/ufo/compile/filters/cubic_to_quadratic.rb,
lib/fontisan/ufo/compile/filters/flatten_components.rb,
lib/fontisan/ufo/compile/filters/decompose_components.rb,
lib/fontisan/ufo/compile/filters/reverse_contour_direction.rb

Overview

Compiler layer: turns a typed Fontisan::Ufo::Font into OpenType binary tables, then into a TTF or OTF file via Fontisan::FontWriter.

Pipeline:

Fontisan::Ufo::Font (typed)
     │
     ▼
BaseCompiler#compile
│
├─ Head.build(font)     → Tables::Head BinData record
├─ Hhea.build(font)     → Tables::Hhea
├─ Maxp.build(font)     → Tables::Maxp
├─ Os2.build(font)      → Tables::Os2
├─ Name.build(font)     → Tables::Name
├─ Post.build(font)     → Tables::Post
├─ Hmtx.build(font)     → Tables::Hmtx
├─ Cmap.build(font)     → Tables::Cmap
├─ (TTF) GlyfLoca.build → Tables::Glyf + Tables::Loca
└─ (OTF) Cff.build      → Tables::Cff
     │
     ▼
tables_hash.transform_values(&:to_binary_s)
     │
     ▼
Fontisan::FontWriter.write_to_file(...)

Defined Under Namespace

Modules: Cff, Cmap, Filters, Fvar, GlyfLoca, Gpos, Gvar, Head, Hhea, Hmtx, Maxp, Name, Os2, Post Classes: BaseCompiler, OtfCompiler, TtfCompiler