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