Class: Fontisan::Validation::VariableFontValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/fontisan/validation/variable_font_validator.rb

Overview

VariableFontValidator validates variable font structure

Validates:

  • fvar table structure

  • Axis definitions and ranges

  • Instance definitions

  • Variation table consistency

  • Metrics variation tables

Examples:

Validate a variable font

validator = VariableFontValidator.new(font)
errors = validator.validate
puts "Found #{errors.length} errors" if errors.any?

Instance Method Summary collapse

Constructor Details

#initialize(font) ⇒ VariableFontValidator

Initialize validator with font

Parameters:



22
23
24
25
# File 'lib/fontisan/validation/variable_font_validator.rb', line 22

def initialize(font)
  @font = font
  @errors = []
end

Instance Method Details

#validateArray<String>

Validate variable font

Returns:

  • (Array<String>)

    Array of error messages



30
31
32
33
34
35
36
37
38
39
40
# File 'lib/fontisan/validation/variable_font_validator.rb', line 30

def validate
  return [] unless @font.has_table?("fvar")

  validate_fvar_structure
  validate_axes
  validate_instances
  validate_variation_tables
  validate_metrics_variation

  @errors
end