Class: Ucode::Models::Audit::ScriptSummary

Inherits:
Lutaml::Model::Serializable
  • Object
show all
Defined in:
lib/ucode/models/audit/script_summary.rb

Overview

Per-script coverage rollup on an AuditReport.

Replaces fontisan’s bare ‘unicode_scripts: String[]` list with structured coverage per Unicode script (Latn, Hani, …). Lets a consumer answer “which scripts does this font cover, and how well?” without re-deriving from raw codepoint lists.

Constant Summary collapse

STATUS_COMPLETE =
"COMPLETE"
STATUS_PARTIAL =
"PARTIAL"
STATUS_UNCOVERED_ASSIGNED =
"UNCOVERED_ASSIGNED"
STATUS_NO_ASSIGNED_IN_SCRIPT =
"NO_ASSIGNED_IN_SCRIPT"

Class Method Summary collapse

Class Method Details

.derive_status(covered_total:, assigned_total:) ⇒ String

Same enum logic as BlockSummary.derive_status minus OUTSIDE_BASELINE (scripts are always inside the baseline).

Returns:

  • (String)

    one of the STATUS_* constants



42
43
44
45
46
47
48
49
50
# File 'lib/ucode/models/audit/script_summary.rb', line 42

def self.derive_status(covered_total:, assigned_total:)
  return STATUS_NO_ASSIGNED_IN_SCRIPT if assigned_total.zero?

  case covered_total
  when assigned_total then STATUS_COMPLETE
  when 0 then STATUS_UNCOVERED_ASSIGNED
  else STATUS_PARTIAL
  end
end