Class: Fontisan::Validation::TableValidator
- Inherits:
-
Object
- Object
- Fontisan::Validation::TableValidator
- Defined in:
- lib/fontisan/validation/table_validator.rb
Overview
TableValidator validates the presence and correctness of font tables
This validator checks that all required tables are present in the font based on the font type (TrueType, OpenType/CFF, Variable) and validates table-specific properties like versioning.
Single Responsibility: Table presence and table-level validation
Instance Method Summary collapse
-
#initialize(rules) ⇒ TableValidator
constructor
Initialize table validator.
-
#validate(font) ⇒ Array<Hash>
Validate font tables.
Constructor Details
#initialize(rules) ⇒ TableValidator
Initialize table validator
22 23 24 25 |
# File 'lib/fontisan/validation/table_validator.rb', line 22 def initialize(rules) @rules = rules @required_tables = rules["required_tables"] end |
Instance Method Details
#validate(font) ⇒ Array<Hash>
Validate font tables
31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/fontisan/validation/table_validator.rb', line 31 def validate(font) issues = [] # Determine font type font_type = determine_font_type(font) # Check required tables based on font type issues.concat(check_required_tables(font, font_type)) # Check table-specific validations if tables exist issues.concat(check_table_versions(font)) if @rules["check_table_versions"] issues end |