Class: Fontisan::Ufo::Compile::FeatureWriters::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/fontisan/ufo/compile/feature_writers/base.rb

Overview

Abstract base class for feature writers. Concrete writers (Kern, Gdef, Mark, etc.) extend this and implement #write.

Direct Known Subclasses

Curs, Gdef, Kern, Kern2, MarkFamilyBase

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(font) ⇒ Base

Returns a new instance of Base.

Parameters:



43
44
45
# File 'lib/fontisan/ufo/compile/feature_writers/base.rb', line 43

def initialize(font)
  @font = font
end

Instance Attribute Details

#fontObject (readonly)

Returns the value of attribute font.



40
41
42
# File 'lib/fontisan/ufo/compile/feature_writers/base.rb', line 40

def font
  @font
end

Instance Method Details

#writeFeatureOutput?

Returns structured data for the feature, or nil if the UFO has nothing for it.

Returns:

  • (FeatureOutput, nil)

    structured data for the feature, or nil if the UFO has nothing for it

Raises:

  • (NotImplementedError)


49
50
51
# File 'lib/fontisan/ufo/compile/feature_writers/base.rb', line 49

def write
  raise NotImplementedError, "#{self.class} must implement #write"
end