Class: Fontisan::Validation::StructureValidator
- Inherits:
-
Object
- Object
- Fontisan::Validation::StructureValidator
- Defined in:
- lib/fontisan/validation/structure_validator.rb
Overview
StructureValidator validates the structural integrity of fonts
This validator checks the SFNT structure, table offsets, table ordering, and other structural properties that ensure the font file is well-formed.
Single Responsibility: Font structure and SFNT format validation
Instance Method Summary collapse
-
#initialize(rules) ⇒ StructureValidator
constructor
Initialize structure validator.
-
#validate(font) ⇒ Array<Hash>
Validate font structure.
Constructor Details
#initialize(rules) ⇒ StructureValidator
Initialize structure validator
19 20 21 22 |
# File 'lib/fontisan/validation/structure_validator.rb', line 19 def initialize(rules) @rules = rules @structure_config = rules["structure_validation"] || {} end |
Instance Method Details
#validate(font) ⇒ Array<Hash>
Validate font structure
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/fontisan/validation/structure_validator.rb', line 28 def validate(font) issues = [] # Check glyph count consistency issues.concat(check_glyph_consistency(font)) # Check table offsets issues.concat(check_table_offsets(font)) if @rules.dig( "validation_levels", "standard", "check_table_offsets" ) # Check table ordering (optional optimization check) issues.concat(check_table_ordering(font)) if @rules.dig( "validation_levels", "standard", "check_table_ordering" ) issues end |