Class: Fontisan::Audit::Checks::NameTableCheck

Inherits:
Fontisan::Audit::Check show all
Defined in:
lib/fontisan/audit/checks/name_table_check.rb

Overview

Validates the 'name' table per the OpenType spec.

Covers: required nameIDs, PostScript name character validity, version string format. Glyph-name rules are in GlyphNameCheck.

Constant Summary collapse

REQUIRED_NAME_IDS =
{
  1 => "Family",
  2 => "Subfamily",
  4 => "Full",
  6 => "PostScript",
}.freeze
PS_NAME_PATTERN =
/\A[A-Za-z][A-Za-z0-9._-]*\z/

Class Method Summary collapse

Methods inherited from Fontisan::Audit::Check

issue

Class Method Details

.call(font) ⇒ Object



21
22
23
24
25
26
27
28
29
30
# File 'lib/fontisan/audit/checks/name_table_check.rb', line 21

def self.call(font)
  return [] unless font.has_table?("name")

  name = font.table("name")
  issues = []
  issues.concat(validate_required_ids(name))
  issues.concat(validate_ps_name(name))
  issues.concat(validate_version_string(name))
  issues
end

.codeObject



32
33
34
# File 'lib/fontisan/audit/checks/name_table_check.rb', line 32

def self.code
  :ot_name
end