Class: Fontisan::Audit::Extractors::LanguageCoverage

Inherits:
Base
  • Object
show all
Defined in:
lib/fontisan/audit/extractors/language_coverage.rb

Overview

Per-language CLDR coverage for one face.

Returned fields:

language_coverage, cldr_version

Opt-in only — --with-language-coverage. When off, Context#cldr returns nil and this extractor emits an empty array + nil version. MECE: this extractor is CLDR-driven; UCD block/script coverage lives in Aggregations.

Instance Method Summary collapse

Instance Method Details

#extract(context) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fontisan/audit/extractors/language_coverage.rb', line 16

def extract(context)
  cldr = context.cldr
  return empty(nil) if cldr.nil?

  return empty(cldr[:version]) if cldr[:index].nil?

  {
    language_coverage: Cldr::Aggregator.aggregate(context.codepoints,
                                                  cldr[:index]),
    cldr_version: cldr[:version],
  }
end