# Per-font fidelity tracker (FF-40)

<!-- Generated by scripts/build-font-tracker.mjs from font-tracker.json. Do not edit; edit font-tracker.overrides.json and rebuild. -->

As of 2026-10-02. Machine-readable source: [font-tracker.json](font-tracker.json). Authored inputs: [font-tracker.overrides.json](font-tracker.overrides.json). Program tracker: [burndown.md](burndown.md) (FF-40 to FF-46). Policy table: [font-licensing.md](font-licensing.md). Internal program documentation: no support or progress status of any kind is shown on pptx.gallery or any site.

## Fonts, licences and replacements

The owner's four questions, answered from the records below (rebuilt on every run, never typed). A replacement counts as found when its face is bundled in the pinned opf-render manifest. Licensed (proprietary) fonts are never bundled or embedded; the PPTX keeps the selected name.

| Question | Count | Breakdown |
| --- | ---: | --- |
| How many fonts do we have? | 168 | 71 open, 97 proprietary |
| How many are licensed so we can use them directly (open)? | 71 | 67 drawn as themselves, 4 open aliases (Liberation Mono, Liberation Sans, Liberation Serif, Source Sans Pro) |
| How many need a replacement (proprietary)? | 97 | 53 proprietary-latin, 41 proprietary-script, 3 special |
| How many have a replacement found? | 97 | 9 metric-compatible, 44 visual look-alike (Latin), 41 script face, 3 special path (3 code-table) |
| How many have no route? | 0 | none |

Licence of the bundled faces: the 97 replacement routes use 50 distinct faces, by licence OFL-1.1 (50); the pinned opf-render manifest holds 66 packages and 197 faces (packages: OFL-1.1 (66); faces: OFL-1.1 (197)). The open families themselves: OFL-1.1 (71). Only OFL-1.1, Apache-2.0, MIT and UFL-1.0 may be bundled ([font-licensing.md](font-licensing.md#font-files-bundling-and-licenses)).

A route found is not a route verified: 168 families are native verified, 0 partial and 0 failed (see Native evidence); the special path is described under Symbol-encoded families.

This is the per-font work list behind the owner's 2026-09-29 review. Each record holds the family's selected name, preview route and tier, the bundled face (package, version, hashes, styles), the styles it needs and lacks, scripts, per-style measurements, host and native verification, parity signals, phase, status, next action and evidence. A family counts as accepted (status qualified or documented-visual) only when its own fixtures pass in every host and, for a proprietary family, its measurement against the real font is on record (RR-17); every other family still needs its own fixture and acceptance record, Native PowerPoint verification is recorded only where a committed native run (see Native evidence) names the family; every other family is unverified.

## Summary

168 records: 168 policy families. 168 route to a face that opf-render bundles (a code-table route counts when every face of its chain is bundled); 0 do not. 7 records were read by the committed parity run in a way that is stale against main (rerun needed).

| Status | Count | Severity | Meaning |
| --- | --- | --- | --- |
| `loading-gap` | 0 | 3 | The family's preview face is not bundled by opf-render, so every host falls back to another face. A face that is bundled but not yet released to one host (the gallery editor) is noted in hostLoading and the next action, not counted as a gap. |
| `style-gap` | 0 | 2.5 | The preview face is bundled, but styles the family needs are missing from the bundle. |
| `policy-gap` | 0 | 2 | A face ships in the renderer but the family has no row in the font policy registry. |
| `needs-special-path` | 0 | 3 | No ordinary look-alike can serve the family and no code-table route is bundled for it: it needs a dedicated math, emoji or symbol-encoding path. |
| `code-table` | 0 | 1.5 | A symbol-encoded family (Symbol, Wingdings, Webdings) previews through a code table (FF-45, opf-render#94 and #95): each code maps to Unicode and draws with the first loaded open Noto symbol face at the verified font's advance. The route is bundled and verified in opf-render's node, browser and raster tests; native PowerPoint verification of symbol runs is not recorded, and the open glyphs differ in shape from the originals. |
| `visual-gap` | 0 | 2 | A bundled visual look-alike is routed, with styles present; metric qualification, appearance or measurement work remains. |
| `script-gap` | 24 | 2 | A bundled Noto script face is routed. The script corpus (FF-44) qualifies its coverage and shaping and measures the installed original where there is one; no open face is metric-compatible, so the route stays visual, and the native PowerPoint comparison (FF-46) and any recorded appearance gap (compact originals, serif originals) remain. |
| `baseline-needed` | 1 | 1 | An open family is bundled with the styles it needs; a fresh per-host verification and acceptance record is the remaining work. |
| `metric-measured` | 0 | 0.5 | A metric-tier route measured against the real font in four styles on the source path (width bar met). Vertical metrics and line breaks are not yet recorded, and per-host and native verification remain, so it is not verified. |
| `documented-visual` | 65 | 0.5 | RR-17: a bundled visual look-alike with its own fixture in every host (node, browser, editor, gallery editor) and its measured gaps against the real font recorded (widths per style, line breaks, vertical metrics, outlines, coverage). Reflow against the real font is expected and documented; native PowerPoint verification (FF-46) remains. |
| `qualified` | 78 | 0.1 | RR-17: an open family that draws as itself, or a metric route whose four-style widths and line breaks are within the bar, with its own fixture in every host (node, browser, editor, gallery editor). Native PowerPoint verification (FF-46) remains. |

| Phase | Count | Owner's phase |
| --- | --- | --- |
| 1 | 1 | Reconcile and baseline |
| 2 | 0 | Loading and style coverage |
| 3 | 0 | Aptos compatibility |
| 4 | 24 | Remaining replacements |
| 5 | 143 | Native verification and parity |

Phase is the earliest owner phase with unfinished work for the family. Phase 5 (native verification and the full parity rerun) applies to every record: native verification is 168 verified, 0 partial, 0 failed, 0 unverified (see Native evidence).

| Class | Count |
| --- | --- |
| proprietary-latin | 53 |
| proprietary-script | 41 |
| open | 71 |
| special | 3 |

| Host | Verified | Unverified | NA |
| --- | --- | --- | --- |
| node | 145 | 23 | 0 |
| browser | 144 | 24 | 0 |
| editor | 145 | 23 | 0 |
| galleryEditor | 145 | 23 | 0 |
| galleryCards | 100 | 43 | 25 |

`verified` means per-family evidence exists in a repository; `unverified` means a face is routed but no per-family acceptance exists; `NA` means no intended face exists to load in that host. Hosts: `node` (opf-render registries; the default `prepareNodeFonts` pack is `base`, Roboto only, and the office, open and script packs load only when requested), `browser` (opf-render browser registry), `editor` (the opf-editor playground), `galleryEditor` (the vendored opf-editor bundle inside pptx.gallery, 33 eager faces) and `galleryCards` (pptx.gallery's self-hosted preview webfonts for cards and pages, upright regular and bold only). Loading routes per host are in each record's `hostLoading`.

## Priority queue

Priority: score = severity x (valuesOpen x hostFactor + 1). severity is the status severity, plus 0.5 for a visual Latin route whose measured maximum width delta exceeds 5%. valuesOpen counts parity values whose preview uses the family and whose fontResolution is not already pass (real face or metric replacement with the selected name kept). hostFactor is the share of applicable hosts without per-family verification, never below 0.25. The audited set is 850 gallery values (parity-results-2026-10-02-published-0.12.json).

| Rank | Family | Class | Phase | Status | Values | Score | Next action |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | Mangal | proprietary-script | 4 | `script-gap` | 4 | 8.4 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Devanagari (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 18 of 18 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 3 line box(es), max 180.41 pt past the box; real font wider than the replacement: native / preview ink width median 1.151 on 6 line(s) of at least 200 pt (a full composed line overflows by about 15%)). |
| 2 | Angsana New | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Thai (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta +42.4% mean, 58.2% max over 7 samples; line height 1.16 (original) against 1.51 em (preview face). No open face of the script is this narrow (Noto Serif Thai was measured wider still): previews draw 42 percent longer lines than PowerPoint, a recorded visual gap. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.6971 on 6 line(s) with no preview size adjustment; replacement width 400 Thai +42%, 700 Thai +50% with no preview size adjustment). |
| 3 | DaunPenh | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Khmer (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.5673 on 5 line(s) with no preview size adjustment; replacement width 400 Khmr +81%, 700 Khmr +92% with no preview size adjustment). |
| 4 | Kartika | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Malayalam (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 4 line box(es), max 199.41 pt past the box; real font wider than the replacement: native / preview ink width median 1.0943 on 7 line(s) of at least 200 pt (a full composed line overflows by about 9%)). |
| 5 | Latha | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Tamil (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 10 of 10 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 3 line box(es), max 89.16 pt past the box; real font wider than the replacement: native / preview ink width median 1.0634 on 7 line(s) of at least 200 pt (a full composed line overflows by about 6%)). |
| 6 | Malgun Gothic | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta -5.9% mean, 9.0% max over 4 samples; line height 1.33 (original) against 1.45 em (preview face). Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 130.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0494 on 4 line(s) of at least 200 pt (a full composed line overflows by about 5%)). |
| 7 | Meiryo | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans JP (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 1 line box(es), max 13.28 pt past the box; real font wider than the replacement: native / preview ink width median 1.0177 on 10 line(s) of at least 200 pt (a full composed line overflows by about 2%)). |
| 8 | Raavi | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Gurmukhi (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 6 of 6 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (real font wider than the replacement: native / preview ink width median 1.0754 on 4 line(s) of at least 200 pt (a full composed line overflows by about 8%)). |
| 9 | Shonar Bangla | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Bengali (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 12 of 12 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.7232 on 4 line(s) with no preview size adjustment; replacement width 400 Beng +39%, 700 Beng +29% with no preview size adjustment). |
| 10 | Shruti | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Gujarati (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 6 of 6 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 167.03 pt past the box; real font wider than the replacement: native / preview ink width median 1.0529 on 3 line(s) of at least 200 pt (a full composed line overflows by about 5%)). |
| 11 | Vrinda | proprietary-script | 4 | `script-gap` | 2 | 5.2 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Bengali (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 12 of 12 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (real font wider than the replacement: native / preview ink width median 1.0744 on 4 line(s) of at least 200 pt (a full composed line overflows by about 7%)). |
| 12 | Batang | proprietary-script | 4 | `script-gap` | 1 | 3.6 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif KR is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 139.53 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%)). |
| 13 | BatangChe | proprietary-script | 4 | `script-gap` | 1 | 3.6 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif KR is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 139.53 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%); replacement width 400 Kore -20% with no preview size adjustment). |
| 14 | DilleniaUPC | proprietary-script | 4 | `script-gap` | 1 | 3.6 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Thai (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta +55.5% mean, 64.5% max over 7 samples; line height 0.6 (original) against 1.51 em (preview face). No open face of the script is this narrow (Noto Serif Thai was measured wider still): previews draw 55 percent longer lines than PowerPoint, a recorded visual gap. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.6392 on 7 line(s) with no preview size adjustment; replacement width 400 Thai +55%, 700 Thai +60% with no preview size adjustment). |
| 15 | Gungsuh | proprietary-script | 4 | `script-gap` | 1 | 3.6 | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif KR is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 141.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%)). |

## Script corpus (FF-44)

Result of the script shaping corpora ([script-corpora.md](script-corpora.md)): each family's preview face run through the corpus samples of its script (coverage, fontkit against HarfBuzz, browser), and, for a proprietary family whose original is installed on the measuring host, the original read in place. A width delta is the replacement's advance over the original's, minus one, on the corpus samples of the family's script; line height is hhea ascent plus descent plus line gap in em. Not a native PowerPoint claim.

| Family | Class | Preview face | Corpus scripts | Samples equal to HarfBuzz | Own-script coverage | Original: width delta mean / max, line height original / preview |
| --- | --- | --- | --- | --- | --- | --- |
| Angsana New | proprietary-script | Noto Sans Thai | Thai | 14 of 14 | 100% | Thai +42.4% / 58.2% (7 samples), 1.16 / 1.51 em |
| Aparajita | proprietary-script | Noto Sans Devanagari | Deva | 18 of 18 | 100% | not installed on the measuring host |
| Arabic Typesetting | proprietary-script | Noto Naskh Arabic | Arab | 24 of 24 | 99.8% | Arab +56% / 74.5% (12 samples), 1.15 / 1.7 em |
| Batang | proprietary-script | Noto Sans KR | Kore | 8 of 8 | 98.43% of KS X 1001 | not installed on the measuring host |
| BatangChe | proprietary-script | Noto Sans KR | Kore | 8 of 8 | 98.43% of KS X 1001 | not installed on the measuring host |
| DaunPenh | proprietary-script | Noto Sans Khmer | Khmr | 8 of 8 | 100% | not installed on the measuring host |
| David | proprietary-script | Noto Serif Hebrew | Hebr | 12 of 12 | 100% | not installed on the measuring host |
| DilleniaUPC | proprietary-script | Noto Sans Thai | Thai | 14 of 14 | 100% | Thai +55.5% / 64.5% (7 samples), 0.6 / 1.51 em |
| Ebrima | proprietary-script | Noto Sans | Cyrl, Grek, Latn | 54 of 54 | 92.7% | not measured |
| FangSong | proprietary-script | Noto Sans SC | Hans | 8 of 8 | 91.6% of GB 2312 | not installed on the measuring host |
| Gautami | proprietary-script | Noto Sans Telugu | Telu | 8 of 8 | 99% | not installed on the measuring host |
| Gisha | proprietary-script | Noto Sans Hebrew | Hebr | 12 of 12 | 100% | not installed on the measuring host |
| Gungsuh | proprietary-script | Noto Sans KR | Kore | 8 of 8 | 98.43% of KS X 1001 | not installed on the measuring host |
| GungsuhChe | proprietary-script | Noto Sans KR | Kore | 8 of 8 | 98.43% of KS X 1001 | not installed on the measuring host |
| Kalinga | proprietary-script | Noto Sans Oriya | Orya | 6 of 6 | 100% | not installed on the measuring host |
| Kartika | proprietary-script | Noto Sans Malayalam | Mlym | 8 of 8 | 100% | not installed on the measuring host |
| Khmer UI | proprietary-script | Noto Sans Khmer | Khmr | 8 of 8 | 100% | not installed on the measuring host |
| Latha | proprietary-script | Noto Sans Tamil | Taml | 10 of 10 | 100% | not installed on the measuring host |
| Malgun Gothic | proprietary-script | Noto Sans KR | Kore | 8 of 8 | 98.43% of KS X 1001 | Kore -5.9% / 9% (4 samples), 1.33 / 1.45 em |
| Mangal | proprietary-script | Noto Sans Devanagari | Deva | 18 of 18 | 100% | not installed on the measuring host |
| Meiryo | proprietary-script | Noto Sans JP | Jpan | 14 of 14 | 99.99% of JIS X 0208 | not installed on the measuring host |
| Microsoft JhengHei | proprietary-script | Noto Sans TC | Hant | 8 of 8 | 99.28% of Big5 levels 1 and 2 | Hant -3.3% / 10.6% (4 samples), 1.33 / 1.45 em |
| Microsoft YaHei | proprietary-script | Noto Sans SC | Hans | 8 of 8 | 91.6% of GB 2312 | Hans -1.3% / 5.1% (4 samples), 1.32 / 1.45 em |
| MingLiU | proprietary-script | Noto Sans TC | Hant | 8 of 8 | 99.28% of Big5 levels 1 and 2 | not installed on the measuring host |
| Miriam | proprietary-script | Noto Sans Hebrew | Hebr | 12 of 12 | 100% | not installed on the measuring host |
| MS Gothic | proprietary-script | Noto Sans JP | Jpan | 14 of 14 | 99.99% of JIS X 0208 | Jpan -5% / 16.2% (7 samples), 1 / 1.45 em |
| MS Mincho | proprietary-script | Noto Sans JP | Jpan | 14 of 14 | 99.99% of JIS X 0208 | not installed on the measuring host |
| Nirmala UI | proprietary-script | Noto Sans Devanagari | Deva | 18 of 18 | 100% | Deva -6.2% / 9.2% (9 samples), 1.33 / 1.3 em |
| Noto Naskh Arabic | open | Noto Naskh Arabic | Arab | 24 of 24 | 99.8% | - |
| Noto Nastaliq Urdu | open | Noto Nastaliq Urdu | Arab | 20 of 24 (4 recorded fontkit limits) | 23.7% | - |
| Noto Sans | open | Noto Sans | Cyrl, Grek, Latn | 54 of 54 | 92.7% | - |
| Noto Sans Arabic | open | Noto Sans Arabic | Arab | 24 of 24 | 99.8% | - |
| Noto Sans Armenian | open | Noto Sans Armenian | Armn | 6 of 6 | 100% | - |
| Noto Sans Bengali | open | Noto Sans Bengali | Beng | 12 of 12 | 100% | - |
| Noto Sans Devanagari | open | Noto Sans Devanagari | Deva | 18 of 18 | 100% | - |
| Noto Sans Ethiopic | open | Noto Sans Ethiopic | Ethi | 6 of 6 | 100% | - |
| Noto Sans Georgian | open | Noto Sans Georgian | Geor | 4 of 4 | 100% | - |
| Noto Sans Gujarati | open | Noto Sans Gujarati | Gujr | 6 of 6 | 100% | - |
| Noto Sans Gurmukhi | open | Noto Sans Gurmukhi | Guru | 6 of 6 | 100% | - |
| Noto Sans Hebrew | open | Noto Sans Hebrew | Hebr | 12 of 12 | 100% | - |
| Noto Sans JP | open | Noto Sans JP | Jpan | 14 of 14 | 99.99% of JIS X 0208 | - |
| Noto Sans Kannada | open | Noto Sans Kannada | Knda | 6 of 6 | 98.9% | - |
| Noto Sans Khmer | open | Noto Sans Khmer | Khmr | 8 of 8 | 100% | - |
| Noto Sans KR | open | Noto Sans KR | Kore | 8 of 8 | 98.43% of KS X 1001 | - |
| Noto Sans Lao | open | Noto Sans Lao | Laoo | 4 of 4 | 100% | - |
| Noto Sans Malayalam | open | Noto Sans Malayalam | Mlym | 8 of 8 | 100% | - |
| Noto Sans Mongolian | open | Noto Sans Mongolian | Mong | 3 of 3 | 100% | - |
| Noto Sans Myanmar | open | Noto Sans Myanmar | Mymr | 2 of 6 (4 recorded fontkit limits) | 100% | - |
| Noto Sans Oriya | open | Noto Sans Oriya | Orya | 6 of 6 | 100% | - |
| Noto Sans SC | open | Noto Sans SC | Hans | 8 of 8 | 91.6% of GB 2312 | - |
| Noto Sans Sinhala | open | Noto Sans Sinhala | Sinh | 6 of 6 | 100% | - |
| Noto Sans Syriac | open | Noto Sans Syriac | Syrc | 2 of 4 (2 recorded fontkit limits) | 84.9% | - |
| Noto Sans Tamil | open | Noto Sans Tamil | Taml | 10 of 10 | 100% | - |
| Noto Sans TC | open | Noto Sans TC | Hant | 8 of 8 | 99.28% of Big5 levels 1 and 2 | - |
| Noto Sans Telugu | open | Noto Sans Telugu | Telu | 8 of 8 | 99% | - |
| Noto Sans Thaana | open | Noto Sans Thaana | Thaa | 4 of 4 | 100% | - |
| Noto Sans Thai | open | Noto Sans Thai | Thai | 14 of 14 | 100% | - |
| Noto Serif Hebrew | open | Noto Serif Hebrew | Hebr | 12 of 12 | 100% | - |
| Noto Serif Tibetan | open | Noto Serif Tibetan | Tibt | 4 of 4 | 100% | - |
| Nyala | proprietary-script | Noto Sans Ethiopic | Ethi | 6 of 6 | 100% | not installed on the measuring host |
| PMingLiU | proprietary-script | Noto Sans TC | Hant | 8 of 8 | 99.28% of Big5 levels 1 and 2 | not installed on the measuring host |
| Raavi | proprietary-script | Noto Sans Gurmukhi | Guru | 6 of 6 | 100% | not installed on the measuring host |
| Sakkal Majalla | proprietary-script | Noto Naskh Arabic | Arab | 24 of 24 | 99.8% | Arab +24.6% / 36.3% (12 samples), 1.4 / 1.7 em |
| Shonar Bangla | proprietary-script | Noto Sans Bengali | Beng | 12 of 12 | 100% | not installed on the measuring host |
| Shruti | proprietary-script | Noto Sans Gujarati | Gujr | 6 of 6 | 100% | not installed on the measuring host |
| SimHei | proprietary-script | Noto Sans SC | Hans | 8 of 8 | 91.6% of GB 2312 | not installed on the measuring host |
| SimSun | proprietary-script | Noto Sans SC | Hans | 8 of 8 | 91.6% of GB 2312 | Hans -1.1% / 4.6% (4 samples), 1.14 / 1.45 em |
| Sylfaen | proprietary-script | Noto Sans | Cyrl, Grek, Latn | 54 of 54 | 92.7% | Armn +2.9% / 13.6% (3 samples), 1.32 / 1.36 em; Geor +1.7% / 1.7% (1 samples), 1.32 / 1.36 em |
| Traditional Arabic | proprietary-script | Noto Naskh Arabic | Arab | 24 of 24 | 99.8% | Arab +27.7% / 41.2% (9 samples), 1.49 / 1.7 em |
| Tunga | proprietary-script | Noto Sans Kannada | Knda | 6 of 6 | 98.9% | not installed on the measuring host |
| Vrinda | proprietary-script | Noto Sans Bengali | Beng | 12 of 12 | 100% | not installed on the measuring host |
| Yu Gothic | proprietary-script | Noto Sans JP | Jpan | 14 of 14 | 99.99% of JIS X 0208 | Jpan -1.4% / 4.1% (7 samples), 1.6 / 1.45 em |

## Native evidence

Native PowerPoint checks are supervisor-run (root owns Office); only their committed comparison output counts here. Basis: Native name read-back: supervisor-run PowerPoint 365 read the family's selected name from every run (latin, East Asian, complex script) and from the theme slots of a saved deck that names it, and the names matched the export. It does not accept the preview face's look or metrics against the real font (image scores are reported, not gated). 168 families are verified, 0 partial and 0 failed (a deck that reads the family back fails a gated check: fonts, themeSlots or presentationFonts); a family no run names stays unverified.

| Run | Date | Decks | Decks passing every check | Failing checks |
| --- | --- | ---: | ---: | --- |
| [RR-05b native run: Arabic and Hebrew decks (2026-10-02)](../../evidence/rr-05b-native-20261002/README.md) | 2026-10-02 | 4 | 4 | none |
| [RR-05 native run: CJK, Thai and Hindi decks (2026-10-02)](../../evidence/rr-05-cjk-native-20261002/README.md) | 2026-10-02 | 9 | 8 | lang-ja-meiryo: presentationFonts |
| [FF-46 native run: every family on the 0.12.0 train (2026-10-02)](../../evidence/ff-46-native-0.12-20261002/README.md) | 2026-10-02 | 43 | 43 | none |
| [FF-46 native visual run: script, visual and code-table families, one family per deck (2026-10-05)](../../evidence/ff-46-documented-visual-native-20261005/README.md) | 2026-10-05 | 48 | 47 | scripts-40-amharic-ebrima: presentationFonts |
| [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families (2026-10-05)](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) | 2026-10-05 | 48 | 47 | scripts-40-amharic-ebrima: presentationFonts |

| Family | Status | Where |
| --- | --- | --- |
| Angsana New | verified | Passed in rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-th (22/22 shapes; theme major.cs, theme minor.cs); scripts-18-thai (15/15 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-35-thai-angsana-new (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-35-thai-angsana-new (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Anton | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Aparajita | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-09-hindi (9/9 shapes; Presentation.Fonts); scripts-24-hindi-aparajita (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-24-hindi-aparajita (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Aptos | verified | Passed in rr-05b-native-20261002, rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-ar (24/24 shapes; theme minor.latin, Presentation.Fonts); lang-he (22/22 shapes; theme minor.latin, Presentation.Fonts); rtl-structures-ar (16/16 shapes; theme minor.latin, Presentation.Fonts); rtl-structures-he (16/16 shapes; theme minor.latin, Presentation.Fonts); and 13 more. Caveat: FF-05: PowerPoint adds an Aptos entry to Presentation.Fonts of a deck that names only other fonts (lang-ja-meiryo); which part or style requests it, and which face draws, is open. A theme slot read-back is not a rendering acceptance. |
| Aptos Display | verified | Passed in rr-05b-native-20261002, rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-ar (24/24 shapes; theme major.latin, Presentation.Fonts); lang-he (22/22 shapes; theme major.latin, Presentation.Fonts); rtl-structures-ar (16/16 shapes; theme major.latin, Presentation.Fonts); rtl-structures-he (16/16 shapes; theme major.latin, Presentation.Fonts); and 13 more. |
| Aptos Mono | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Aptos Narrow | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Aptos Serif | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Arabic Typesetting | verified | Passed in rr-05b-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-ar (24/24 shapes; theme major.cs, theme minor.cs); rtl-structures-ar (16/16 shapes; theme major.cs, theme minor.cs); scripts-05-arabic (18/18 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-15-arabic-arabic-typesetting (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); and 1 more. |
| Archivo Narrow | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Arial | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Arial Black | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Arial Narrow | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Arimo | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Barlow | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Baskerville Old Face | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Batang | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-04-korean (12/12 shapes; Presentation.Fonts); scripts-13-korean-batang (8/8 shapes; theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-13-korean-batang (8/8 shapes; theme minor.latin, theme minor.ea, Presentation.Fonts). |
| BatangChe | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-04-korean (12/12 shapes; Presentation.Fonts); scripts-13-korean-batang (8/8 shapes; theme major.latin, theme major.ea, Presentation.Fonts); scripts-13-korean-batang (8/8 shapes; theme major.latin, theme major.ea, Presentation.Fonts). |
| Bebas Neue | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Bitter | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Bodoni MT | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Book Antiqua | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Bookman Old Style | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Caladea | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Calibri | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: latin-01-aptos (65/65 shapes; Presentation.Fonts); symbol-01-wingdings (12/12 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); symbol-02-webdings (4/4 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); symbol-03-symbol (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); and 7 more. |
| Calibri Light | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Cambria | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Cambria Math | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: emoji-math-02-cambria-math (26/26 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); emoji-math-02-cambria-math (26/26 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); emoji-math-02-cambria-math (26/26 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Candara | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Carlito | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Century Gothic | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Century Schoolbook | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Consolas | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Constantia | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Corbel | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Courier New | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Cousine | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| DaunPenh | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-19-khmer (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-37-khmer-daunpenh (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-37-khmer-daunpenh (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| David | verified | Passed in rr-05b-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-he (22/22 shapes; theme major.cs, theme minor.cs); rtl-structures-he (16/16 shapes; theme major.cs, theme minor.cs); scripts-08-hebrew (9/9 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-20-hebrew-david (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); and 1 more. |
| Didot | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| DilleniaUPC | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-18-thai (15/15 shapes; Presentation.Fonts); scripts-36-thai-dilleniaupc (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-36-thai-dilleniaupc (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| EB Garamond | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Ebrima | verified | Passed in ff-46-native-0.12-20261002: scripts-24-amharic (6/6 shapes; Presentation.Fonts). Caveat: Decks that name it but fail a check: scripts-40-amharic-ebrima (presentationFonts), scripts-40-amharic-ebrima (presentationFonts). |
| FangSong | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-02-chinese-simplified (15/15 shapes; Presentation.Fonts); scripts-08-chinese-simplified-fangsong (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-08-chinese-simplified-fangsong (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Figtree | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Franklin Gothic Book | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Franklin Gothic Medium | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Garamond | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Gautami | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-15-telugu (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-32-telugu-gautami (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-32-telugu-gautami (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Gelasio | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Georgia | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Gill Sans MT | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Gisha | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-08-hebrew (9/9 shapes; Presentation.Fonts); scripts-21-hebrew-gisha (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-21-hebrew-gisha (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Grandview | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Grandview Display | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Gungsuh | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-04-korean (12/12 shapes; Presentation.Fonts); scripts-14-korean-gungsuh (8/8 shapes; theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-14-korean-gungsuh (8/8 shapes; theme minor.latin, theme minor.ea, Presentation.Fonts). |
| GungsuhChe | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-04-korean (12/12 shapes; Presentation.Fonts); scripts-14-korean-gungsuh (8/8 shapes; theme major.latin, theme major.ea, Presentation.Fonts); scripts-14-korean-gungsuh (8/8 shapes; theme major.latin, theme major.ea, Presentation.Fonts). |
| Impact | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Intos | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Intos Display | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Intos Narrow | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Intos Serif | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Kalinga | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-13-odia (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-30-odia-kalinga (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-30-odia-kalinga (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Kartika | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-17-malayalam (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-34-malayalam-kartika (10/10 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-34-malayalam-kartika (10/10 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Khmer UI | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-19-khmer (6/6 shapes; Presentation.Fonts); scripts-38-khmer-khmer-ui (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-38-khmer-khmer-ui (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Latha | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-14-tamil (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-31-tamil-latha (9/9 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-31-tamil-latha (9/9 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Liberation Mono | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Liberation Sans | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Liberation Serif | verified | Passed in ff-46-native-0.12-20261002: latin-05-bitter (70/70 shapes; Presentation.Fonts). |
| Libre Caslon Text | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Lora | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Lucida Console | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Lucida Sans | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Lucida Sans Unicode | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Malgun Gothic | verified | Passed in rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-ko (21/21 shapes; theme major.ea, theme minor.ea); scripts-04-korean (12/12 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-12-korean-malgun-gothic (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-12-korean-malgun-gothic (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Mangal | verified | Passed in rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-hi (21/21 shapes; theme major.cs, theme minor.cs); scripts-09-hindi (9/9 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-23-hindi-mangal (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-23-hindi-mangal (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Meiryo | verified | Passed in rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-ja (21/21 shapes; theme major.ea, theme minor.ea); size-4x3-japanese (10/10 shapes; theme major.ea, theme minor.ea); scripts-01-japanese (19/19 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-01-japanese-meiryo (11/11 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); and 1 more. Caveat: Decks that name it but fail a check: lang-ja-meiryo (presentationFonts). |
| Merriweather Sans | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Microsoft JhengHei | verified | Passed in rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-zh-hant (21/21 shapes; theme major.ea, theme minor.ea); scripts-03-chinese-traditional (13/13 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-09-chinese-traditional-microsoft-jhenghei (12/12 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-09-chinese-traditional-microsoft-jhenghei (12/12 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Microsoft Sans Serif | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Microsoft YaHei | verified | Passed in rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: lang-zh-hans (21/21 shapes; theme major.ea, theme minor.ea); scripts-02-chinese-simplified (15/15 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-05-chinese-simplified-microsoft-yahei (11/11 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-05-chinese-simplified-microsoft-yahei (11/11 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| MingLiU | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-03-chinese-traditional (13/13 shapes; Presentation.Fonts); scripts-10-chinese-traditional-mingliu (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-10-chinese-traditional-mingliu (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Miriam | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-08-hebrew (9/9 shapes; Presentation.Fonts); scripts-22-hebrew-miriam (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-22-hebrew-miriam (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Montserrat | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| MS Gothic | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-01-japanese (19/19 shapes; Presentation.Fonts); scripts-03-japanese-ms-gothic (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-03-japanese-ms-gothic (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| MS Mincho | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-01-japanese (19/19 shapes; Presentation.Fonts); scripts-04-japanese-ms-mincho (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-04-japanese-ms-mincho (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Nirmala UI | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-09-hindi (9/9 shapes; Presentation.Fonts); scripts-25-hindi-nirmala-ui (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-25-hindi-nirmala-ui (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Noto Color Emoji | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Emoji | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Naskh Arabic | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Nastaliq Urdu | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Sans | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Sans Arabic | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Sans Armenian | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Sans Bengali | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Sans Devanagari | verified | Passed in ff-46-native-0.12-20261002: latin-06-libre-caslon-text (46/46 shapes; Presentation.Fonts). |
| Noto Sans Ethiopic | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Noto Sans Georgian | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Gujarati | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Gurmukhi | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Hebrew | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans JP | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Kannada | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Khmer | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans KR | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Lao | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Malayalam | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Math | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Mongolian | verified | Passed in ff-46-native-0.12-20261002: latin-07-noto-sans-ethiopic (37/37 shapes; Presentation.Fonts). |
| Noto Sans Myanmar | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Noto Sans Oriya | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans SC | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans Sinhala | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans Syriac | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans Tamil | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans TC | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans Telugu | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans Thaana | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Sans Thai | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Serif Hebrew | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Noto Serif Tibetan | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Nyala | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-24-amharic (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-39-amharic-nyala (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-39-amharic-nyala (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Open Sans | verified | Passed in ff-46-native-0.12-20261002: latin-08-noto-sans-myanmar (41/41 shapes; Presentation.Fonts). |
| Palatino Linotype | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Playfair Display | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| PMingLiU | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-03-chinese-traditional (13/13 shapes; Presentation.Fonts); scripts-11-chinese-traditional-pmingliu (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-11-chinese-traditional-pmingliu (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Poppins | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| PT Serif | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Raavi | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-11-punjabi (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-28-punjabi-raavi (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-28-punjabi-raavi (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Raleway | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Red Hat Display | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Red Hat Text | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Roboto | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Roboto Mono | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Rockwell | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Sakkal Majalla | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-05-arabic (18/18 shapes; Presentation.Fonts); scripts-06-urdu (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-07-persian (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-17-arabic-sakkal-majalla (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); and 5 more. |
| Seaford | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Seaford Display | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Segoe UI | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Segoe UI Emoji | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: emoji-math-01-segoe-ui-emoji (22/22 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); emoji-math-03-emoji-in-aptos-deck (5/5 shapes; theme major.ea, theme major.cs, theme minor.ea, theme minor.cs); emoji-math-01-segoe-ui-emoji (22/22 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); emoji-math-03-emoji-in-aptos-deck (5/5 shapes; theme major.ea, theme major.cs, theme minor.ea, theme minor.cs); and 2 more. |
| Segoe UI Light | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Segoe UI Semibold | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Segoe UI Semilight | verified | Passed in ff-46-native-0.12-20261002: latin-02-lucida-console (57/57 shapes; Presentation.Fonts). |
| Shonar Bangla | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-10-bengali (6/6 shapes; Presentation.Fonts); scripts-27-bengali-shonar-bangla (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-27-bengali-shonar-bangla (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Shruti | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-12-gujarati (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-29-gujarati-shruti (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-29-gujarati-shruti (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| SimHei | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-02-chinese-simplified (15/15 shapes; Presentation.Fonts); scripts-07-chinese-simplified-simhei (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-07-chinese-simplified-simhei (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| SimSun | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-02-chinese-simplified (15/15 shapes; Presentation.Fonts); scripts-06-chinese-simplified-simsun (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-06-chinese-simplified-simsun (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Skeena | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Skeena Display | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Source Sans 3 | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Source Sans Pro | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| STIX Two Math | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Sylfaen | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-25-armenian (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-26-georgian (2/2 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-41-armenian-sylfaen (8/8 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-42-georgian-sylfaen (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); and 2 more. |
| Symbol | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: symbol-03-symbol (8/8 shapes; Presentation.Fonts); symbol-03-symbol (8/8 shapes; Presentation.Fonts); symbol-03-symbol (8/8 shapes; Presentation.Fonts). |
| Tahoma | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |
| Tenorite | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Tenorite Display | verified | Passed in ff-46-native-0.12-20261002: latin-04-bodoni-mt (64/64 shapes; Presentation.Fonts). |
| Times New Roman | verified | Passed in ff-46-native-0.12-20261002: latin-01-aptos (65/65 shapes; Presentation.Fonts). |
| Tinos | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Traditional Arabic | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-05-arabic (18/18 shapes; Presentation.Fonts); scripts-16-arabic-traditional-arabic (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-16-arabic-traditional-arabic (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Trebuchet MS | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Tunga | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-16-kannada (3/3 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-33-kannada-tunga (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-33-kannada-tunga (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Verdana | verified | Passed in ff-46-native-0.12-20261002: latin-03-tahoma (53/53 shapes; Presentation.Fonts). |
| Vrinda | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-10-bengali (6/6 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-26-bengali-vrinda (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts); scripts-26-bengali-vrinda (7/7 shapes; theme major.latin, theme major.ea, theme major.cs, theme minor.latin, theme minor.ea, theme minor.cs, Presentation.Fonts). |
| Webdings | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: symbol-02-webdings (4/4 shapes; Presentation.Fonts); symbol-02-webdings (4/4 shapes; Presentation.Fonts); symbol-02-webdings (4/4 shapes; Presentation.Fonts). |
| Wingdings | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: symbol-01-wingdings (12/12 shapes; Presentation.Fonts); symbol-01-wingdings (12/12 shapes; Presentation.Fonts); symbol-01-wingdings (12/12 shapes; Presentation.Fonts). |
| Work Sans | verified | Passed in ff-46-native-0.12-20261002: latin-09-playfair-display (60/60 shapes; Presentation.Fonts). |
| Yu Gothic | verified | Passed in ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts: scripts-01-japanese (19/19 shapes; Presentation.Fonts); scripts-27-latin-deck-slots (21/21 shapes; theme major.ea, theme minor.ea); scripts-02-japanese-yu-gothic (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts); scripts-02-japanese-yu-gothic (8/8 shapes; theme major.latin, theme major.ea, theme minor.latin, theme minor.ea, Presentation.Fonts). |

## Native visual comparison (FF-46)

[FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families (2026-10-05)](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) (2026-10-05): 46 families of status script-gap, visual-gap, code-table: 22 pass, 24 have a finding and 0 are unmeasured (the real font is not installed on the native host). PowerPoint does not re-wrap the exported single-line boxes, so line breaks are read as where each native line ends against its box. A family is documented-visual only when the run passes and its own fixture passes in every host (node, browser, editor, galleryEditor); a finding keeps the status for an owner decision.

| Family | Status | Outcome | Installed on the native host | Ink native / preview | Own fixture hosts | Reasons |
| --- | --- | --- | --- | ---: | --- | --- |
| Angsana New | script-gap | finding | yes | 0.6971 | none | preview much wider than the real font: native / preview ink width median 0.6971 on 6 line(s) with no preview size adjustment; replacement width 400 Thai +42%, 700 Thai +50% with no preview size adjustment |
| Aparajita | documented-visual | pass | yes | 0.9112 | node, browser, editor, galleryEditor | - |
| Arabic Typesetting | documented-visual | pass | yes | 0.9306 | node, browser, editor, galleryEditor | - |
| Batang | script-gap | finding | yes | 1.0557 | none | native overflow where the preview fits: 2 line box(es), max 139.53 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%) |
| BatangChe | script-gap | finding | yes | 1.0557 | none | native overflow where the preview fits: 2 line box(es), max 139.53 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%); replacement width 400 Kore -20% with no preview size adjustment |
| Cambria Math | documented-visual | pass | yes | 0.9688 | node, browser, editor, galleryEditor | - |
| DaunPenh | script-gap | finding | yes | 0.5673 | none | preview much wider than the real font: native / preview ink width median 0.5673 on 5 line(s) with no preview size adjustment; replacement width 400 Khmr +81%, 700 Khmr +92% with no preview size adjustment |
| David | documented-visual | pass | yes | 0.9025 | node, browser, editor, galleryEditor | - |
| DilleniaUPC | script-gap | finding | yes | 0.6392 | none | preview much wider than the real font: native / preview ink width median 0.6392 on 7 line(s) with no preview size adjustment; replacement width 400 Thai +55%, 700 Thai +60% with no preview size adjustment |
| Ebrima | script-gap | finding | yes | 1.074 | none | name read-back failed (scripts-40-amharic-ebrima); real font wider than the replacement: native / preview ink width median 1.074 on 3 line(s) of at least 200 pt (a full composed line overflows by about 7%) |
| FangSong | documented-visual | pass | yes | 0.9951 | node, browser, editor, galleryEditor | - |
| Gautami | documented-visual | pass | yes | 0.9882 | node, browser, editor, galleryEditor | - |
| Gisha | documented-visual | pass | yes | 0.9616 | node, browser, editor, galleryEditor | - |
| Gungsuh | script-gap | finding | yes | 1.0557 | none | native overflow where the preview fits: 2 line box(es), max 141.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%) |
| GungsuhChe | script-gap | finding | yes | 1.0557 | none | native overflow where the preview fits: 2 line box(es), max 141.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%); replacement width 400 Kore -20% with no preview size adjustment |
| Kalinga | documented-visual | pass | yes | 0.8889 | node, browser, editor, galleryEditor | - |
| Kartika | script-gap | finding | yes | 1.0943 | none | native overflow where the preview fits: 4 line box(es), max 199.41 pt past the box; real font wider than the replacement: native / preview ink width median 1.0943 on 7 line(s) of at least 200 pt (a full composed line overflows by about 9%) |
| Khmer UI | script-gap | finding | yes | 1.1166 | none | real font wider than the replacement: native / preview ink width median 1.1166 on 5 line(s) of at least 200 pt (a full composed line overflows by about 12%) |
| Latha | script-gap | finding | yes | 1.0634 | none | native overflow where the preview fits: 3 line box(es), max 89.16 pt past the box; real font wider than the replacement: native / preview ink width median 1.0634 on 7 line(s) of at least 200 pt (a full composed line overflows by about 6%) |
| Malgun Gothic | script-gap | finding | yes | 1.0494 | none | native overflow where the preview fits: 2 line box(es), max 130.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0494 on 4 line(s) of at least 200 pt (a full composed line overflows by about 5%) |
| Mangal | script-gap | finding | yes | 1.151 | none | native overflow where the preview fits: 3 line box(es), max 180.41 pt past the box; real font wider than the replacement: native / preview ink width median 1.151 on 6 line(s) of at least 200 pt (a full composed line overflows by about 15%) |
| Meiryo | script-gap | finding | yes | 1.0177 | none | native overflow where the preview fits: 1 line box(es), max 13.28 pt past the box; real font wider than the replacement: native / preview ink width median 1.0177 on 10 line(s) of at least 200 pt (a full composed line overflows by about 2%) |
| Microsoft JhengHei | documented-visual | pass | yes | 0.9974 | node, browser, editor, galleryEditor | - |
| Microsoft YaHei | documented-visual | pass | yes | 0.9991 | node, browser, editor, galleryEditor | - |
| MingLiU | documented-visual | pass | yes | 0.9991 | node, browser, editor, galleryEditor | - |
| Miriam | documented-visual | pass | yes | 0.9002 | node, browser, editor, galleryEditor | - |
| MS Gothic | script-gap | finding | yes | 1.0241 | none | native overflow where the preview fits: 1 line box(es), max 35.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0241 on 7 line(s) of at least 200 pt (a full composed line overflows by about 2%) |
| MS Mincho | script-gap | finding | yes | 1.0054 | none | native overflow where the preview fits: 1 line box(es), max 35.78 pt past the box |
| Nirmala UI | script-gap | finding | yes | 1.0266 | none | native overflow where the preview fits: 2 line box(es), max 55.28 pt past the box; real font wider than the replacement: native / preview ink width median 1.0266 on 5 line(s) of at least 200 pt (a full composed line overflows by about 3%) |
| Nyala | documented-visual | pass | yes | 0.9535 | node, browser, editor, galleryEditor | - |
| PMingLiU | documented-visual | pass | yes | 0.9964 | node, browser, editor, galleryEditor | - |
| Raavi | script-gap | finding | yes | 1.0754 | none | real font wider than the replacement: native / preview ink width median 1.0754 on 4 line(s) of at least 200 pt (a full composed line overflows by about 8%) |
| Sakkal Majalla | script-gap | finding | yes | 0.8054 | none | replacement width 400 Arab +25%, 700 Arab +26% with no preview size adjustment |
| Segoe UI Emoji | documented-visual | pass | yes | 0.9464 | node, browser, editor, galleryEditor | - |
| Shonar Bangla | script-gap | finding | yes | 0.7232 | none | preview much wider than the real font: native / preview ink width median 0.7232 on 4 line(s) with no preview size adjustment; replacement width 400 Beng +39%, 700 Beng +29% with no preview size adjustment |
| Shruti | script-gap | finding | yes | 1.0529 | none | native overflow where the preview fits: 2 line box(es), max 167.03 pt past the box; real font wider than the replacement: native / preview ink width median 1.0529 on 3 line(s) of at least 200 pt (a full composed line overflows by about 5%) |
| SimHei | documented-visual | pass | yes | 1.0032 | node, browser, editor, galleryEditor | - |
| SimSun | documented-visual | pass | yes | 0.9984 | node, browser, editor, galleryEditor | - |
| Sylfaen | documented-visual | pass | yes | 0.9366 | node, browser, editor, galleryEditor | - |
| Symbol | documented-visual | pass | yes | 0.8965 | node, browser, editor, galleryEditor | - |
| Traditional Arabic | script-gap | finding | yes | 0.8148 | none | replacement width 400 Arab +28%, 700 Arab +26% with no preview size adjustment |
| Tunga | documented-visual | pass | yes | 0.9595 | node, browser, editor, galleryEditor | - |
| Vrinda | script-gap | finding | yes | 1.0744 | none | real font wider than the replacement: native / preview ink width median 1.0744 on 4 line(s) of at least 200 pt (a full composed line overflows by about 7%) |
| Webdings | documented-visual | pass | yes | 0.9085 | node, browser, editor, galleryEditor | - |
| Wingdings | documented-visual | pass | yes | 0.8907 | node, browser, editor, galleryEditor | - |
| Yu Gothic | script-gap | finding | yes | 1.0105 | node, browser, editor, galleryEditor | real font wider than the replacement: native / preview ink width median 1.0105 on 5 line(s) of at least 200 pt (a full composed line overflows by about 1%) |

## Symbol-encoded families (FF-45)

Symbol, Wingdings and Webdings are not text fonts: their glyphs sit at codes 0x20 to 0xFF of a Microsoft Symbol cmap. opf-render previews them through a code table (opf-render#94 and #95; [special-families.md](special-families.md)): each code maps to Unicode through core's [symbol-font-encodings.json](../../../spec/reference/symbol-font-encodings.json) and draws with the first loaded open face of the chain (pinned at opf-render `8f0d6f1`), at the verified font's advance. The route kind is `code-table` and the status `code-table`: the route exists and is verified in opf-render's node, browser and raster tests. Native PowerPoint verification of symbol runs is not recorded for any of them. Wingdings 2 and Wingdings 3 share the Wingdings policy row and have no record of their own.

| Family | Chain (first loaded face draws) | Codes mapped | Bundled | Node / browser | Native |
| --- | --- | --- | --- | --- | --- |
| Symbol | Noto Sans, Noto Sans Math, Noto Sans Symbols 2, Noto Sans Symbols | - | yes | verified / verified | verified |
| Webdings | Noto Sans Symbols 2, Noto Sans Symbols, Noto Sans Math, Noto Sans | - | yes | verified / verified | verified |
| Wingdings | Noto Sans Symbols 2, Noto Sans Symbols, Noto Sans Math, Noto Sans | - | yes | verified / verified | verified |

## The owner's plan

Owner input, 2026-09-29, adopted as the program order. Request: "work this in as a tracker and to help prioritize work."

> The owner completed 160 font-specific reviews: all 153 policy registry families plus seven shipped script-font dependencies missing from the registry. No repository files were changed by those reviews.
>
> 1. Reconcile the inventory and establish a fresh baseline. Record each font's selected name, preview face, version, hashes, available styles, scripts, and acceptance evidence.
> 2. Finish loading and style coverage. Connect the shipped editor, gallery, browser, and Node hosts to the intended faces; eliminate unintended fallbacks.
> 3. Prioritize Aptos and Aptos Display compatibility. Measure them separately and qualify candidates before adopting them.
> 4. Complete the remaining replacement work. Packaging, script shaping, and metric compatibility remain separate deliverables.
> 5. Complete native verification and rerun the full parity audit. Keep source, installed-package, and live-site claims separate.
>
> Aptos and Aptos Display are the critical path: each appears in 704 of the 850 audited gallery values.

Rules:

- Every family gets its own fixture and acceptance record. Grouped rows share work, but a result for one family does not establish acceptance for another.
- For proprietary fonts, PPTX always retains the user's selected name.
- Preview replacements must use pinned, permitted files.
- Metric qualification requires per-style measurements, matching line breaks and line metrics, and the unchanged geometry tolerances, not just a favorable average width.
- The current Latin-only corpus must also be extended with script-specific text.
- Most script packs currently provide regular and bold only. Required italic or other styles need genuine qualified faces; diagnostics preserve honesty but do not complete an outstanding fidelity requirement.

## Reconciled with current state

The owner's review predates some merged and in-flight work. The records above use current truth: core `origin/main` policy and docs, the pinned opf-render manifest, and the latest committed parity run. What changed against the review:

- Aptos family (the owner's review predates this). Intos, Intos Display, Intos Narrow and Intos Serif measured 0.000% mean and maximum width delta in all four styles against Aptos 2.01, with equal vertical metrics and original (Inter-derived; serif Gelasio-derived) outlines under OFL-1.1 with no Reserved Font Name. They are the metric routes in policy (opf#166), vendored in opf-render (#54, `d528be5`, pinned commit `fef9315c`) and loaded lazily by browser hosts (opf-editor#42). Independently re-verified for Aptos, Aptos Display and Aptos Narrow; Aptos Serif was measured from Microsoft's Aptos Fonts download. The parity run on the merged mains passes all 704 Aptos and Aptos Display values, so they no longer lead the priority queue. Node and browser verification is recorded for the family; the editor playground test covers the Aptos scheme (Aptos and Aptos Display); the gallery editor waits for a release. The owner's "no verified compatible replacement" is superseded.
- The committed parity run (opf#175 first, on the merged mains opf `338ddcd4` and opf-render `d528be5`: 660 perfect, 33 near and 157 mismatch, with fontResolution 733 pass, 31 near and 86 fail) is now the 2026-09-30 run on the published engines with the gallery editor font host modelled: 729 perfect, 108 near and 13 mismatch over 850 values, with fontResolution 755 pass, 92 near and 3 fail. Earlier runs are history.
- Georgia now has a metric tier: Gelasio with liga and clig disabled (opf#163, opf-render#49, including the raster ZWNJ fix). The parity run on the merged mains reports it as a metric substitute for all 6 values.
- Open families are now vendored from unmodified upstream or npm packages (opf-render#50): Open Sans, Montserrat (including 900), Poppins, Bebas Neue, PT Serif, Lora, Merriweather Sans, Source Sans 3 (with the Source Sans Pro alias), Red Hat Display (300, 400, 700) and Red Hat Text (400, 700). Raleway and Playfair Display are not bundled because resvg ignores the wght axis. The owner's "bundle" rows for the bundled families become verification work; FF-43 then bundled Anton, Archivo Narrow, Barlow, Bitter, EB Garamond, Figtree, Libre Caslon Text and Work Sans and completed Red Hat (see the FF-43 note below). The remaining bundling work is Liberation Mono, Sans and Serif, Playfair Display and Raleway.
- Carlito is vendored as unmodified google/fonts files (opf-render#58) because its Reserved Font Name applies. Licenses, Reserved Font Names and no-hotlink rules are guarded in core and the renderer (opf#165, opf-render#53).
- Script fonts: previews load script faces when the `scripts` option is passed (opf-render#55, opf-editor#40) and fall back per character to Noto Sans (opf-render#57). The parity run of 2026-09-30 models the gallery editor host (its font gate loads the script and vendored faces a document needs), so the 88 family uses it used to record as `missing` now resolve to their Noto route; loading is not verification per family. Still failing there: Raleway and Playfair Display (not bundled; the editor draws Roboto) and the Noto Sans Mongolian face, which cannot shape any text.
- Hosts are recorded separately. The default Node registry (`prepareNodeFonts`) uses the `base` pack (Roboto and Roboto Mono only); the office-pack faces (Carlito, Arimo, Tinos, Cousine, Gelasio, Caladea, Intos) and the open pack load only when `pack: 'office'` is requested, and script faces only when the `scripts` option is passed. Browser hosts and the opf-editor playground load the 33 eager base and office faces and now load the vendored open pack and Intos lazily, on demand (opf-render#54, opf-editor#42). The gallery editor (a vendored opf-editor bundle) gets them only with a release that includes opf-editor#42, so it is recorded as pending, not as a gap in the family's status.
- Gallery cards are a different host from the gallery editor. pptx-gallery self-hosts preview webfonts (pptx-gallery#53 and #54; replacement data in #51) as upright regular and bold faces from pinned @fontsource packages, unmodified upstream files or the vendored Intos faces. The tracker reads that list from a pinned snapshot (`galleryCards`, refreshed 2026-10-02 at pptx-gallery 5af1c5f: 51 families, 138 faces). Card previews do not change the editor's bundle. A family's card host is `verified` when pptx-gallery's tests/preview-fonts.test.ts covers it (a font scheme uses it, its stack resolves to the hash-pinned licensed face, weights and glyph coverage hold, no recorded coverage gap); a family no font scheme uses, or whose card face has a recorded coverage gap, stays `unverified`. The snapshot was pinned at efb63ac (2026-09-29) and had not been refreshed since, so it counted no card family as verified.
- fontResolution treats a policy look-alike as near, not fail, when the PPTX names the selected family (opf#159). Parity harness fixes merged in opf#164 and opf#168. The value set is 850 after pptx-gallery#40 removed 50 unsupported chart types; Aptos and Aptos Display each appear in 704 of them.
- Selawik 1.01 was measured and rejected as a Segoe UI replacement (opf#166: regular 0.16% mean and 2.51% max on the standard 300-string corpus, 0.73% and 9.7% on the reviewer's broader corpus); Red Hat Display stays the visual route. Segoe UI Light, Semilight and Semibold were measured separately.
- Cover slide centering (opf-pptx#97) is geometry work with no font impact.
- The seven shipped script-font dependencies that were once missing from the registry (Noto Sans Arabic, Sinhala, Lao, Myanmar, Thaana, Syriac and Noto Serif Tibetan) have policy rows since RR-17 (FF-44), so no record is a policy-gap and `extras` is empty.
- FF-43 (open replacement faces, opf-render branch claude/ff-43-bundle-open-candidates with this companion change): Barlow and Anton (google/fonts statics, byte-identical at commit 23e54b51ddff), Figtree, Work Sans, EB Garamond, Archivo Narrow, Libre Caslon Text and Bitter (npm-derived @expo-google-fonts statics, exact versions; no Reserved Font Name except Bitter, whose reserved name "Bitter Pro" is in no face name) are bundled with only the styles the policy needs, lazy in browser hosts; the eager list stays 33 faces. Red Hat Display now ships 300, 400, 600 and 700 with italics and Red Hat Text 400 and 700 with italics: the RedHatFont repository statics were unusable (the Regular, Light and SemiBold italics (and Red Hat Text Italic) do not set the OS/2 italic bit (only the Bold Italic files do), Red Hat Display SemiBold declares weight 707 and Bold 799 (Red Hat Text Bold declares 700), so a 600 request paints as Bold and the regular and bold italics as one face in resvg, probed), and Red Hat has no Reserved Font Name, so the correctly labelled @expo-google-fonts instances replace them. Libre Caslon Text has no bold italic upstream (explicit gap). The 19 rows whose route face was measured are re-measured (Rockwell on Bitter: 1.1% to 4.4% mean, up to 8.5% max) on 2026-09-29 against the installed Windows originals; the widths are unchanged (except Corbel and Gill Sans MT, which now follow the vendored Source Sans 3) and every row stays visual: none meets the metric bar. Grandview, Grandview Display, Tenorite and Tenorite Display are not installed on the measuring host and stay unmeasured. Trade-off: the shipped Red Hat Display Bold is about 2.5% narrower than the RedHatFont Bold it replaces (Segoe UI Bold preview mean width +0.6% to -1.8%, mean absolute 0.95% to 1.86%).
- RR-17 follow-up (2026-10-02): the tracker answers the owner's four questions in `summary.licensing` (how many fonts, how many open, how many need a replacement, how many have one, and the licence of the bundled faces). Symbol, Wingdings and Webdings now carry the code-table route that opf-render#94 (FF-45) added: previewRoute kind `code-table` through the chain pinned in font-tracker.symbol-fonts.json, status `code-table`, node and browser verified, native unverified. Native PowerPoint evidence is read from the committed comparison output of the RR-05 runs (`overrides.nativeEvidence`): a family is native verified only when a deck that names it passes per-run fonts, theme slots and Presentation.Fonts. The style rule now takes a proprietary family's declared styles as the real font's (Cambria Math and Segoe UI Emoji ship one face, so their four-style requirement was an assumption, not a gap).
- FF-46 (2026-10-02): the supervisor ran 43 decks (225 slides, every family named by at least one deck) in PowerPoint 365 on the 0.12.0 train (opf 0.12.0, opf-render 0.12.0, opf-pptx main with FF-05) and the comparison output is committed in docs/evidence/ff-46-native-0.12-20261002: every deck passes per-run fonts, theme slots and Presentation.Fonts (no extra and no missing names), so all 168 families are native name verified. That is a name read-back only: the check says nothing about the look or metrics of the preview face against the real font, and a family that is not installed on the host is still read by its selected name. A deck has one theme, so only the first family of a multi-family deck is read through its own theme slot; every family is read through per-run names and Presentation.Fonts.
- FF-46 follow-up (2026-10-02): native verification has a `failed` status. A family that a deck reads back (theme slot or Presentation.Fonts) or names, where that deck fails a gated check (fonts, themeSlots or presentationFonts; a deck that did not open fails fonts) and no passing deck reads it back, is `failed`: `nativeVerification.failures` lists the run, deck, failing checks and mismatch kinds, the next action says to triage it, and `summary.nativeFailedFamilies` lists the families. A passing deck that reads the family back keeps it `verified` with the failing deck as a caveat. The committed FF-46 run has no failed family.

Inputs: policy version 1 (168 families); opf-render manifest at `8738c6598a45d5d5f3d398bea6e776c58d201e2c` (66 packages, 197 faces, captured 2026-10-10); measurement report corpus 300 Latin strings; parity run 2026-10-03T00:22:04.269Z at opf `5e1dda7`, opf-render `3b300a3`, opf-pptx `e4569ac`, pptx-gallery `c349a61`.

## Records by phase and class

Columns: Route is the preview face and tier (main's policy; an in-flight route is noted). Bundled lists the styles opf-render ships for the route face and what it lacks. Width delta is mean and maximum |ratio - 1| of shaped advances against the real font on a Latin corpus (per-style values are in the JSON); script families have no script-specific corpus yet. Values counts parity values that use the family.

### Phase 1: Reconcile and baseline (1)

#### open (1)

| Rank | Family | Route | Bundled | Width delta | Values | Status | Next action | Evidence |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 58 | Noto Emoji | self (real) | 400 | - | 0 | `baseline-needed` | Pinned in the FF-45 emoji pack as the raster stand-in and alternate for Segoe UI Emoji. Next: tracker snapshot refresh after the render merge. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [FF-45 special families: emoji and math](special-families-emoji-math.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |

### Phase 2: Loading and style coverage (0)

No family has this as its earliest unfinished phase. Native verification and the full parity rerun (phase 5) apply to every record and are tracked in FF-46 and FF-38.

### Phase 3: Aptos compatibility (0)

No family has this as its earliest unfinished phase. Native verification and the full parity rerun (phase 5) apply to every record and are tracked in FF-46 and FF-38.

### Phase 4: Remaining replacements (24)

#### proprietary-script (24)

| Rank | Family | Route | Bundled | Width delta | Values | Status | Next action | Evidence |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 1 | Mangal | Noto Sans Devanagari (visual) | 400 700 | - | 4 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Devanagari (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 18 of 18 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 3 line box(es), max 180.41 pt past the box; real font wider than the replacement: native / preview ink width median 1.151 on 6 line(s) of at least 200 pt (a full composed line overflows by about 15%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 2 | Angsana New | Noto Sans Thai (visual) | 400 700 | 74.76% / 84.73% | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Thai (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta +42.4% mean, 58.2% max over 7 samples; line height 1.16 (original) against 1.51 em (preview face). No open face of the script is this narrow (Noto Serif Thai was measured wider still): previews draw 42 percent longer lines than PowerPoint, a recorded visual gap. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.6971 on 6 line(s) with no preview size adjustment; replacement width 400 Thai +42%, 700 Thai +50% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 3 | DaunPenh | Noto Sans Khmer (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Khmer (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.5673 on 5 line(s) with no preview size adjustment; replacement width 400 Khmr +81%, 700 Khmr +92% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 4 | Kartika | Noto Sans Malayalam (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Malayalam (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 4 line box(es), max 199.41 pt past the box; real font wider than the replacement: native / preview ink width median 1.0943 on 7 line(s) of at least 200 pt (a full composed line overflows by about 9%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 5 | Latha | Noto Sans Tamil (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Tamil (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 10 of 10 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 3 line box(es), max 89.16 pt past the box; real font wider than the replacement: native / preview ink width median 1.0634 on 7 line(s) of at least 200 pt (a full composed line overflows by about 6%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 6 | Malgun Gothic | Noto Sans KR (visual) | 400 700 | 1.76% / 7.91% | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta -5.9% mean, 9.0% max over 4 samples; line height 1.33 (original) against 1.45 em (preview face). Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 130.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0494 on 4 line(s) of at least 200 pt (a full composed line overflows by about 5%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 7 | Meiryo | Noto Sans JP (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans JP (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 1 line box(es), max 13.28 pt past the box; real font wider than the replacement: native / preview ink width median 1.0177 on 10 line(s) of at least 200 pt (a full composed line overflows by about 2%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 8 | Raavi | Noto Sans Gurmukhi (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Gurmukhi (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 6 of 6 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (real font wider than the replacement: native / preview ink width median 1.0754 on 4 line(s) of at least 200 pt (a full composed line overflows by about 8%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 9 | Shonar Bangla | Noto Sans Bengali (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Bengali (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 12 of 12 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.7232 on 4 line(s) with no preview size adjustment; replacement width 400 Beng +39%, 700 Beng +29% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 10 | Shruti | Noto Sans Gujarati (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Gujarati (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 6 of 6 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 167.03 pt past the box; real font wider than the replacement: native / preview ink width median 1.0529 on 3 line(s) of at least 200 pt (a full composed line overflows by about 5%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 11 | Vrinda | Noto Sans Bengali (visual) | 400 700 | - | 2 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Bengali (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 12 of 12 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (real font wider than the replacement: native / preview ink width median 1.0744 on 4 line(s) of at least 200 pt (a full composed line overflows by about 7%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 12 | Batang | Noto Sans KR (visual) | 400 700 | - | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif KR is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 139.53 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 13 | BatangChe | Noto Sans KR (visual) | 400 700 | - | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif KR is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 139.53 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%); replacement width 400 Kore -20% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 14 | DilleniaUPC | Noto Sans Thai (visual) | 400 700 | 70.77% / 85.44% | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Thai (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta +55.5% mean, 64.5% max over 7 samples; line height 0.6 (original) against 1.51 em (preview face). No open face of the script is this narrow (Noto Serif Thai was measured wider still): previews draw 55 percent longer lines than PowerPoint, a recorded visual gap. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (preview much wider than the real font: native / preview ink width median 0.6392 on 7 line(s) with no preview size adjustment; replacement width 400 Thai +55%, 700 Thai +60% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 15 | Gungsuh | Noto Sans KR (visual) | 400 700 | - | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif KR is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 141.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 16 | GungsuhChe | Noto Sans KR (visual) | 400 700 | - | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans KR (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif KR is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 141.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0557 on 5 line(s) of at least 200 pt (a full composed line overflows by about 6%); replacement width 400 Kore -20% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 17 | Khmer UI | Noto Sans Khmer (visual) | 400 700 | - | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Khmer (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 8 of 8 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (real font wider than the replacement: native / preview ink width median 1.1166 on 5 line(s) of at least 200 pt (a full composed line overflows by about 12%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 18 | MS Mincho | Noto Sans JP (visual) | 400 700 | - | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans JP (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. The original is not installed on the measuring host (windows-optional), so its widths are unmeasured. A serif original previewed in the sans face: Noto Serif JP is not bundled (9 to 17 MiB per face); a host-supplied face of that name wins through the alias rule (decision recorded in script-corpora.md). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 1 line box(es), max 35.78 pt past the box). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 19 | Nirmala UI | Noto Sans Devanagari (visual) | 400 700 | 6.38% / 9.39% | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans Devanagari (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 18 of 18 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta -6.2% mean, 9.2% max over 9 samples; line height 1.33 (original) against 1.3 em (preview face). PNG output of this script is mis-shaped by resvg-js (SVG is correct); recorded as a raster limit (fixed by opf-render#97 once merged). Its other Indic scripts (Bengali, Gujarati, Gurmukhi, Kannada, Malayalam, Odia, Tamil, Telugu, Sinhala) route to their own Noto faces, each qualified above. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 2 line box(es), max 55.28 pt past the box; real font wider than the replacement: native / preview ink width median 1.0266 on 5 line(s) of at least 200 pt (a full composed line overflows by about 3%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 20 | Sakkal Majalla | Noto Naskh Arabic (visual) | 400 700 | 54.23% / 61.42% | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Naskh Arabic (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 24 of 24 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta +24.6% mean, 36.3% max over 12 samples; line height 1.4 (original) against 1.7 em (preview face). No open face of the script is this narrow: previews draw 25 percent longer lines than PowerPoint, a recorded visual gap. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (replacement width 400 Arab +25%, 700 Arab +26% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 21 | Traditional Arabic | Noto Naskh Arabic (visual) | 400 700 | 15.73% / 24.15% | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Naskh Arabic (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 24 of 24 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta +27.7% mean, 41.1% max over 9 samples; line height 1.49 (original) against 1.7 em (preview face). No open face of the script is this narrow: previews draw 28 percent longer lines than PowerPoint, a recorded visual gap. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (replacement width 400 Arab +28%, 700 Arab +26% with no preview size adjustment). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 24 | Yu Gothic | Noto Sans JP (visual) | 400 700 | 0.91% / 5.33% | 1 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans JP (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta -1.4% mean, 4.1% max over 7 samples; line height 1.6 (original) against 1.45 em (preview face). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (real font wider than the replacement: native / preview ink width median 1.0105 on 5 line(s) of at least 200 pt (a full composed line overflows by about 1%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 26 | Ebrima | Noto Sans (visual) | 400 400i 700 700i | 6.18% / 9.34% | 0 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 54 of 54 face-samples; the same samples agree in Chromium within 0.1 px. N'Ko, Tifinagh and Vai have no bundled face and no corpus: descoped for FF-44 (no catalog language or scheme selects them). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (name read-back failed (scripts-40-amharic-ebrima); real font wider than the replacement: native / preview ink width median 1.074 on 3 line(s) of at least 200 pt (a full composed line overflows by about 7%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 27 | MS Gothic | Noto Sans JP (visual) | 400 700 | 4.93% / 15.22% | 0 | `script-gap` | Native PowerPoint comparison (FF-46, RR-05) is the remaining acceptance gate. Script corpus 2026-10-01: Noto Sans JP (400, 700) has complete own-script coverage and its measured advances equal HarfBuzz's on 14 of 14 face-samples; the same samples agree in Chromium within 0.1 px. Installed original read in place: width delta -5.0% mean, 16.2% max over 7 samples; line height 1 (original) against 1.45 em (preview face). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. Native visual comparison (ff-46-documented-visual-native-20261005-fonts): finding, owner decision needed (native overflow where the preview fits: 1 line box(es), max 35.78 pt past the box; real font wider than the replacement: native / preview ink width median 1.0241 on 7 line(s) of at least 200 pt (a full composed line overflows by about 2%)). | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |

### Phase 5: Native verification and parity (143)

#### proprietary-latin (53)

| Rank | Family | Route | Bundled | Width delta | Values | Status | Next action | Evidence |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 22 | Segoe UI | Red Hat Display (visual) | 300 300i 400 400i 600 600i 700 700i | 1.72% / 7.09% | 7 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf#166](https://github.com/OpenPresentation/opf/pull/166), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 23 | Segoe UI Semibold | Red Hat Display (visual) | 300 300i 400 400i 600 600i 700 700i | 1.01% / 6.51% | 7 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf#166](https://github.com/OpenPresentation/opf/pull/166), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 25 | Grandview | Barlow (visual) | 400 400i 700 700i | 4.67% / 9.76% | 5 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 28 | Grandview Display | Barlow (visual) | 400 400i 700 700i | 2.49% / 5.99% | 3 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 29 | Impact | Anton (visual) | 400 | 1.92% / 5.12% | 2 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 30 | Seaford | Source Sans 3 (visual) | 400 400i 700 700i | 4.83% / 9.65% | 2 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 31 | Seaford Display | Source Sans 3 (visual) | 400 400i 700 700i | 3.89% / 6.67% | 2 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 32 | Tenorite | Figtree (visual) | 400 400i 700 700i | 4.2% / 8.36% | 2 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 33 | Tenorite Display | Figtree (visual) | 400 400i 700 700i | 14.76% / 19.75% | 2 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 34 | Bookman Old Style | Libre Caslon Text (visual) | 400 400i 700 | 4.11% / 13.96% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 35 | Century Schoolbook | Gelasio (visual) | 400 400i 700 700i | 2.66% / 7.53% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 36 | Consolas | Cousine (visual) | 400 400i 700 700i | 9.15% / 9.15% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 37 | Constantia | PT Serif (visual) | 400 400i 700 700i | 2.29% / 5.77% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 38 | Garamond | EB Garamond (visual) | 400 400i 700 700i | 4.88% / 18.83% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 39 | Rockwell | Bitter (visual) | 400 400i 700 700i | 2.55% / 8.45% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 40 | Segoe UI Light | Red Hat Display (visual) | 300 300i 400 400i 600 600i 700 700i | 1.87% / 6.62% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf#166](https://github.com/OpenPresentation/opf/pull/166), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 41 | Segoe UI Semilight | Red Hat Display (visual) | 300 300i 400 400i 600 600i 700 700i | 3.22% / 9.05% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf#166](https://github.com/OpenPresentation/opf/pull/166), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 42 | Skeena | Open Sans (visual) | 400 400i 700 700i | 9.26% / 15.93% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 43 | Skeena Display | Open Sans (visual) | 400 400i 700 700i | 13.06% / 20.01% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 44 | Tahoma | Red Hat Text (visual) | 400 400i 700 700i | 1.67% / 6.29% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Font licensing and policy table](font-licensing.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 45 | Trebuchet MS | Figtree (visual) | 400 400i 700 700i | 1.49% / 6.65% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 46 | Verdana | Montserrat (visual) | 400 400i 700 700i 900 | 3.68% / 9.15% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 48 | Baskerville Old Face | Libre Caslon Text (visual) | 400 400i 700 | 19.23% / 23.71% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 49 | Bodoni MT | Playfair Display (visual) | 400 400i 700 700i | 6.87% / 19.87% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 50 | Book Antiqua | PT Serif (visual) | 400 400i 700 700i | 2.4% / 7.78% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 51 | Cambria | Caladea (visual) | 400 400i 700 700i | 2.69% / 6.47% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Font licensing and policy table](font-licensing.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 52 | Candara | Source Sans 3 (visual) | 400 400i 700 700i | 1.95% / 5.23% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 53 | Century Gothic | Work Sans (visual) | 400 400i 700 700i | 2.55% / 15.49% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 54 | Corbel | Source Sans 3 (visual) | 400 400i 700 700i | 1.58% / 5.21% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 55 | Franklin Gothic Book | Barlow (visual) | 400 400i 700 700i | 1.81% / 7.55% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 56 | Franklin Gothic Medium | Barlow (visual) | 400 400i 700 700i | 1.42% / 6.48% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 57 | Gill Sans MT | Source Sans 3 (visual) | 400 400i 700 700i | 5.11% / 14.59% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 59 | Palatino Linotype | PT Serif (visual) | 400 400i 700 700i | 2.52% / 9.09% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 60 | Arial Black | Montserrat (visual) | 400 400i 700 700i 900 | 0.75% / 2.81% | 3 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 72 | Lucida Sans | Work Sans (visual) | 400 400i 700 700i | 1.24% / 4.98% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 78 | Aptos Mono | Cousine (visual) | 400 400i 700 700i | 0% / 0% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 79 | Arial Narrow | Archivo Narrow (visual) | 400 400i 700 700i | 0.38% / 4.31% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 80 | Calibri Light | Carlito (visual) | 400 400i 700 700i | 1.44% / 2.25% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 81 | Cambria Math | STIX Two Math (visual) | 400 | - | 0 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [FF-45 special families: emoji and math](special-families-emoji-math.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 82 | Didot | Playfair Display (visual) | 400 400i 700 700i | - | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [RR-17 Mac checks: Didot against the system font, vector PDF in PDFKit, Quick Look, WebKit](../../evidence/mac-checks-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 83 | Lucida Console | Cousine (visual) | 400 400i 700 700i | 0.41% / 0.41% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 84 | Lucida Sans Unicode | Work Sans (visual) | 400 400i 700 700i | 1.32% / 4.98% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 85 | Microsoft Sans Serif | Arimo (visual) | 400 400i 700 700i | 0.2% / 2.91% | 0 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 86 | Segoe UI Emoji | Noto Color Emoji (visual) | 400 | - | 0 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [FF-45 special families: emoji and math](special-families-emoji-math.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 92 | Aptos | Intos (metric) | 400 400i 700 700i | 0% / 0% | 704 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (rr-05b-native-20261002, rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Intos and Selawik acceptance measurement](../../evidence/font-replacements-20260923/metric-candidates-20260929.json), [Aptos origin brief](aptos-origin-brief.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [opf-editor playground-lazy-fonts test](https://github.com/OpenPresentation/opf-editor/blob/cfad5cdba73b58fddfbc9bebd3831d9c34895300/test/playground-lazy-fonts.mjs), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Native font inventory](../../evidence/windows-native-font-inventory-20260929/README.md), [RR-05b native run: Arabic and Hebrew decks](../../evidence/rr-05b-native-20261002/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 93 | Aptos Display | Intos Display (metric) | 400 400i 700 700i | 0% / 0% | 704 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (rr-05b-native-20261002, rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Intos and Selawik acceptance measurement](../../evidence/font-replacements-20260923/metric-candidates-20260929.json), [Aptos origin brief](aptos-origin-brief.md), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [opf-editor playground-lazy-fonts test](https://github.com/OpenPresentation/opf-editor/blob/cfad5cdba73b58fddfbc9bebd3831d9c34895300/test/playground-lazy-fonts.mjs), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [RR-05b native run: Arabic and Hebrew decks](../../evidence/rr-05b-native-20261002/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 94 | Aptos Narrow | Intos Narrow (metric) | 400 400i 700 700i | 0% / 0% | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Intos and Selawik acceptance measurement](../../evidence/font-replacements-20260923/metric-candidates-20260929.json), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 95 | Aptos Serif | Intos Serif (metric) | 400 400i 700 700i | 0% / 0% | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Intos and Selawik acceptance measurement](../../evidence/font-replacements-20260923/metric-candidates-20260929.json), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 97 | Arial | Arimo (metric) | 400 400i 700 700i | 0% / 0% | 3 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 103 | Calibri | Carlito (metric) | 400 400i 700 700i | 0% / 0.26% | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#58](https://github.com/OpenPresentation/opf-render/pull/58), [Native Calibri control](../../evidence/windows-native-calibri-control-20260929/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 105 | Courier New | Cousine (metric) | 400 400i 700 700i | 0% / 0% | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 110 | Georgia | Gelasio (metric) | 400 400i 700 700i | 0% / 0% | 6 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#163](https://github.com/OpenPresentation/opf/pull/163), [opf-render#49](https://github.com/OpenPresentation/opf-render/pull/49), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 166 | Times New Roman | Tinos (metric) | 400 400i 700 700i | 0% / 0% | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |

#### proprietary-script (17)

| Rank | Family | Route | Bundled | Width delta | Values | Status | Next action | Evidence |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 47 | Arabic Typesetting | Noto Naskh Arabic (visual) | 400 700 | 66.32% / 74.26% | 4 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (rr-05b-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05b native run: Arabic and Hebrew decks](../../evidence/rr-05b-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 61 | Sylfaen | Noto Sans (visual) | 400 400i 700 700i | 10.96% / 15.93% | 3 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 62 | David | Noto Serif Hebrew (visual) | 400 700 | - | 2 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (rr-05b-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05b native run: Arabic and Hebrew decks](../../evidence/rr-05b-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 63 | Gautami | Noto Sans Telugu (visual) | 400 700 | - | 2 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 64 | Kalinga | Noto Sans Oriya (visual) | 400 700 | - | 2 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 65 | Microsoft JhengHei | Noto Sans TC (visual) | 400 700 | 1.41% / 6.11% | 2 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 66 | Microsoft YaHei | Noto Sans SC (visual) | 400 700 | 3.14% / 5.9% | 2 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (rr-05-cjk-native-20261002, ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [RR-05 native run: CJK, Thai and Hindi decks](../../evidence/rr-05-cjk-native-20261002/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 67 | Nyala | Noto Sans Ethiopic (visual) | 400 700 | - | 2 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 68 | Tunga | Noto Sans Kannada (visual) | 400 700 | - | 2 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 69 | Aparajita | Noto Sans Devanagari (visual) | 400 700 | - | 1 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 70 | FangSong | Noto Sans SC (visual) | 400 700 | - | 1 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 71 | Gisha | Noto Sans Hebrew (visual) | 400 700 | - | 1 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 73 | MingLiU | Noto Sans TC (visual) | 400 700 | - | 1 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 74 | Miriam | Noto Sans Hebrew (visual) | 400 700 | - | 1 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 75 | PMingLiU | Noto Sans TC (visual) | 400 700 | - | 1 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 76 | SimSun | Noto Sans SC (visual) | 400 700 | 4.93% / 15.22% | 1 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 87 | SimHei | Noto Sans SC (visual) | 400 700 | - | 0 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |

#### open (70)

| Rank | Family | Route | Bundled | Width delta | Values | Status | Next action | Evidence |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 77 | Source Sans Pro | Source Sans 3 (visual) | 400 400i 700 700i | 0.03% / 0.41% | 1 | `documented-visual` | Native verification (FF-46): confirm the selected name in the saved file and the line-break and width effect of this look-alike on this family's slide in the RR-17 native check decks (rr-17-native/latin). The measured gaps are in the acceptance note. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 91 | Anton | self (real) | 400 | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 96 | Archivo Narrow | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 98 | Arimo | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 99 | Barlow | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 100 | Bebas Neue | self (real) | 400 | - | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 101 | Bitter | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 102 | Caladea | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 104 | Carlito | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#58](https://github.com/OpenPresentation/opf-render/pull/58), [opf#165](https://github.com/OpenPresentation/opf/pull/165), [opf-render#53](https://github.com/OpenPresentation/opf-render/pull/53), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 106 | Cousine | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 107 | EB Garamond | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 108 | Figtree | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 109 | Gelasio | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#163](https://github.com/OpenPresentation/opf/pull/163), [opf-render#49](https://github.com/OpenPresentation/opf-render/pull/49), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 111 | Intos | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Font licensing and policy table](font-licensing.md), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [opf-editor playground-lazy-fonts test](https://github.com/OpenPresentation/opf-editor/blob/cfad5cdba73b58fddfbc9bebd3831d9c34895300/test/playground-lazy-fonts.mjs), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 112 | Intos Display | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Font licensing and policy table](font-licensing.md), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [opf-editor playground-lazy-fonts test](https://github.com/OpenPresentation/opf-editor/blob/cfad5cdba73b58fddfbc9bebd3831d9c34895300/test/playground-lazy-fonts.mjs), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 113 | Intos Narrow | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Font licensing and policy table](font-licensing.md), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 114 | Intos Serif | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Font licensing and policy table](font-licensing.md), [opf-render aptos-preview test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview.mjs), [opf-render aptos-preview-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/aptos-preview-browser.mjs), [opf-render lazy-fonts-browser test](https://github.com/OpenPresentation/opf-render/blob/d528be52878788bf2ecbdc138b839443ec66dc4e/test/lazy-fonts-browser.mjs), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 115 | Liberation Mono | Cousine (metric) | 400 400i 700 700i | 0% / 0% | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#165](https://github.com/OpenPresentation/opf/pull/165), [opf-render#53](https://github.com/OpenPresentation/opf-render/pull/53), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 116 | Liberation Sans | Arimo (metric) | 400 400i 700 700i | 0% / 0% | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#165](https://github.com/OpenPresentation/opf/pull/165), [opf-render#53](https://github.com/OpenPresentation/opf-render/pull/53), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 117 | Liberation Serif | Tinos (metric) | 400 400i 700 700i | 0% / 0% | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf#165](https://github.com/OpenPresentation/opf/pull/165), [opf-render#53](https://github.com/OpenPresentation/opf-render/pull/53), [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 118 | Libre Caslon Text | self (real) | 400 400i 700 | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 119 | Lora | self (real) | 400 400i 700 700i | - | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 120 | Merriweather Sans | self (real) | 400 400i 700 700i | - | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 121 | Montserrat | self (real) | 400 400i 700 700i 900 | - | 5 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 122 | Noto Color Emoji | self (real) | 400 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [FF-45 special families: emoji and math](special-families-emoji-math.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 123 | Noto Naskh Arabic | self (real) | 400 700 | - | 2 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 124 | Noto Nastaliq Urdu | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 125 | Noto Sans | self (real) | 400 400i 700 700i | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 126 | Noto Sans Arabic | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 127 | Noto Sans Armenian | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 128 | Noto Sans Bengali | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 129 | Noto Sans Devanagari | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 130 | Noto Sans Ethiopic | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 131 | Noto Sans Georgian | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 132 | Noto Sans Gujarati | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 133 | Noto Sans Gurmukhi | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 134 | Noto Sans Hebrew | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 135 | Noto Sans JP | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 136 | Noto Sans Kannada | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 137 | Noto Sans Khmer | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 138 | Noto Sans KR | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 139 | Noto Sans Lao | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 140 | Noto Sans Malayalam | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 141 | Noto Sans Math | self (real) | 400 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [FF-45 special families: emoji and math](special-families-emoji-math.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 142 | Noto Sans Mongolian | self (real) | 400 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 143 | Noto Sans Myanmar | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 144 | Noto Sans Oriya | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 145 | Noto Sans SC | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 146 | Noto Sans Sinhala | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 147 | Noto Sans Syriac | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 148 | Noto Sans Tamil | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 149 | Noto Sans TC | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [opf-render#57](https://github.com/OpenPresentation/opf-render/pull/57), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 150 | Noto Sans Telugu | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 151 | Noto Sans Thaana | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 152 | Noto Sans Thai | self (real) | 400 700 | - | 1 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 153 | Noto Serif Hebrew | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 154 | Noto Serif Tibetan | self (real) | 400 700 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#55](https://github.com/OpenPresentation/opf-render/pull/55), [opf-editor#40](https://github.com/OpenPresentation/opf-editor/pull/40), [Script font model](script-font-model.md), [Script corpora and per-family qualification](script-corpora.md), [Script corpora evidence](../../evidence/script-corpora-20261001/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 155 | Open Sans | self (real) | 400 400i 700 700i | - | 7 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [opf#166](https://github.com/OpenPresentation/opf/pull/166), [opf-render#54](https://github.com/OpenPresentation/opf-render/pull/54), [opf-editor#42](https://github.com/OpenPresentation/opf-editor/pull/42), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 156 | Playfair Display | self (real) | 400 400i 700 700i | - | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 157 | Poppins | self (real) | 400 400i 700 700i | - | 3 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 158 | PT Serif | self (real) | 400 400i 700 700i | - | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [opf#165](https://github.com/OpenPresentation/opf/pull/165), [opf-render#53](https://github.com/OpenPresentation/opf-render/pull/53), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 159 | Raleway | self (real) | 400 400i 700 700i | - | 1 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [opf#165](https://github.com/OpenPresentation/opf/pull/165), [opf-render#53](https://github.com/OpenPresentation/opf-render/pull/53), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 160 | Red Hat Display | self (real) | 300 300i 400 400i 600 600i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 161 | Red Hat Text | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 162 | Roboto | self (real) | 400 400i 500 600 700 700i 800 | - | 3 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render font-preparation evidence](https://github.com/OpenPresentation/opf-render/tree/main/docs/evidence/font-preparation), [opf-render font-variants evidence](https://github.com/OpenPresentation/opf-render/tree/main/docs/evidence/font-variants), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 163 | Roboto Mono | self (real) | 400 700 | - | 848 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render font-preparation evidence](https://github.com/OpenPresentation/opf-render/tree/main/docs/evidence/font-preparation), [opf-render font-variants evidence](https://github.com/OpenPresentation/opf-render/tree/main/docs/evidence/font-variants), [Parity run 2026-09-30](gallery-support/parity/PARITY-2026-09-30-gallery-font-host.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 164 | Source Sans 3 | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [opf-render#50](https://github.com/OpenPresentation/opf-render/pull/50), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 165 | STIX Two Math | self (real) | 400 | - | 0 | `qualified` | Native verification (FF-46): the selected name read-back is recorded under nativeVerification; acceptance of the drawn look and metrics of this family's script against PowerPoint (the RR-17 native check decks) remains. Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [FF-45 special families: emoji and math](special-families-emoji-math.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 167 | Tinos | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |
| 168 | Work Sans | self (real) | 400 400i 700 700i | - | 0 | `qualified` | Native verification (FF-46): confirm the selected name in the saved file and the drawn behaviour of this family's slide in the RR-17 native check decks (rr-17-native/latin). Native name read-back passed (ff-46-native-0.12-20261002), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font replacement measurements](../../evidence/font-replacements-20260923/README.md), [FF-43 bundled replacement measurements](../../evidence/font-replacements-20260923/bundled-replacements-ff43-20260929.json), [opf-render#60](https://github.com/OpenPresentation/opf-render/pull/60), [opf#178](https://github.com/OpenPresentation/opf/pull/178), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md) |

#### special (3)

| Rank | Family | Route | Bundled | Width delta | Values | Status | Next action | Evidence |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| 88 | Symbol | code table (Noto Sans first) | chain of 4 | - | 0 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [Special families: symbol-encoded fonts](https://github.com/OpenPresentation/opf/blob/main/docs/programs/font-fidelity-everywhere/special-families.md), [opf-render test/symbol-fonts.mjs and test/symbol-fonts-browser.mjs](https://github.com/OpenPresentation/opf-render/blob/main/test/symbol-fonts.mjs), [opf-render#94](https://github.com/OpenPresentation/opf-render/pull/94), [opf-render#95](https://github.com/OpenPresentation/opf-render/pull/95), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 89 | Webdings | code table (Noto Sans Symbols 2 first) | chain of 4 | - | 0 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [Special families: symbol-encoded fonts](https://github.com/OpenPresentation/opf/blob/main/docs/programs/font-fidelity-everywhere/special-families.md), [opf-render test/symbol-fonts.mjs and test/symbol-fonts-browser.mjs](https://github.com/OpenPresentation/opf-render/blob/main/test/symbol-fonts.mjs), [opf-render#94](https://github.com/OpenPresentation/opf-render/pull/94), [opf-render#95](https://github.com/OpenPresentation/opf-render/pull/95), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |
| 90 | Wingdings | code table (Noto Sans Symbols 2 first) | chain of 4 | - | 0 | `documented-visual` | Parity rerun (owner phase 5). The measured gaps and the native visual comparison are in the acceptance note and nativeVisual. Native name read-back passed (ff-46-native-0.12-20261002, ff-46-documented-visual-native-20261005, ff-46-documented-visual-native-20261005-fonts), so any step above that only confirms the selected name is done; acceptance of the drawn look and metrics against PowerPoint remains. | [Font licensing and policy table](font-licensing.md), [Special families: symbol-encoded fonts](https://github.com/OpenPresentation/opf/blob/main/docs/programs/font-fidelity-everywhere/special-families.md), [opf-render test/symbol-fonts.mjs and test/symbol-fonts-browser.mjs](https://github.com/OpenPresentation/opf-render/blob/main/test/symbol-fonts.mjs), [opf-render#94](https://github.com/OpenPresentation/opf-render/pull/94), [opf-render#95](https://github.com/OpenPresentation/opf-render/pull/95), [FF-46 native run: every family on the 0.12.0 train](../../evidence/ff-46-native-0.12-20261002/README.md), [FF-46 native visual run: script, visual and code-table families, one family per deck](../../evidence/ff-46-documented-visual-native-20261005/README.md), [FF-46 native visual run with the Windows supplemental fonts installed: script, visual and code-table families](../../evidence/ff-46-documented-visual-native-20261005-fonts/README.md) |


## Latin qualification and appearance (RR-17)

Per family measured against the real font on the measuring host (latin-qualification-20261001.json): width mean and maximum over 300 strings, the share of 250 wrap cases (50 paragraphs at 5 box widths) that break at the same words, the glyph height ratios (replacement over original, from the painted x and H boxes), and the authored appearance note. 55 families; families whose reference font is not available to the host are described but unmeasured. Status `qualified` and `documented-visual` need a passing fixture in every host (latin-host-fixtures-20261001.json).

| Family | Route | Status | Widths (mean / max) | Line breaks | x / cap | Appearance |
| --- | --- | --- | --- | --- | --- | --- |
| Aptos | Intos (metric) | `qualified` | 0% / 0% | 100% | 1x / 1x | Aptos: a contemporary neo-grotesque sans. Intos: OFL sans derived from Inter, built to Aptos advances and vertical metrics; original outlines (0 identical glyphs). |
| Aptos Display | Intos Display (metric) | `qualified` | 0% / 0% | 100% | 1x / 1x | Aptos Display: the optical-size display cut of Aptos. Intos Display: the matching Inter-derived display cut. |
| Aptos Mono | Cousine (visual) | `documented-visual` | 0% / 0% | 100% | 1.111x / 1.002x | Aptos Mono: a neutral grotesque monospace on a 1229/2048 em cell. Cousine: a sans monospace on the same cell (Courier New metrics); its letterforms are Liberation Mono's. Cousine has the larger x-height (0.528 em against 0.476) and a smaller hhea ascent (0.833 against 0.939); capitals match (0.659 against 0.657). Source Code Pro (x-height 0.486, cap 0.660) and Red Hat Mono (0.488, 0.700) are closer in glyph size but 0.016% off the cell and add bytes: not adopted, vetoable. |
| Aptos Narrow | Intos Narrow (metric) | `qualified` | 0% / 0% | 100% | 1x / 1x | Aptos Narrow: the condensed width of Aptos. Intos Narrow: the matching Inter-derived condensed cut. |
| Aptos Serif | Intos Serif (metric) | `qualified` | 0% / 0% | 100% | 1x / 1x | Aptos Serif: a sturdy contemporary text serif. Intos Serif: Gelasio-derived serif built to Aptos Serif advances. |
| Arial | Arimo (metric) | `qualified` | 0% / 0% | 100% | 1.019x / 0.961x | Arial: neo-grotesque sans. Arimo: Arial-metric sans from the Croscore set; letterforms are Arimo's own, near Arial's in texture. |
| Arial Black | Montserrat (visual) | `documented-visual` | 0.75% / 2.81% | 72.4% | 1.055x / 0.978x | Arial Black: very heavy neo-grotesque. Montserrat 900: a heavy geometric sans with rounder letterforms. There is no 900 italic: italic runs draw Montserrat Bold Italic. A regular run draws the 900 face since the weight-named role fix; a bold run draws Montserrat Bold, which is lighter than the 900. |
| Arial Narrow | Archivo Narrow (visual) | `documented-visual` | 0.38% / 4.31% | 81.6% | 1.014x / 0.958x | Arial Narrow: condensed neo-grotesque. Archivo Narrow: a condensed grotesque with similar texture. |
| Baskerville Old Face | Libre Caslon Text (visual) | `documented-visual` | 19.23% / 23.71% | 0% | 1.277x / 1.155x | Baskerville Old Face: refined transitional serif. Libre Caslon Text: a Caslon-style text serif with a heavier colour. Wider than the original by about 19% and with larger glyphs: a poor look-alike. A closer open candidate is the improvement to look for (vetoable). |
| Bodoni MT | Playfair Display (visual) | `documented-visual` | 14.86% / 25.13% | 0% | 1.082x / 0.872x | Bodoni MT: Didone with extreme thick-thin contrast. Playfair Display: a high-contrast transitional display serif with less extreme contrast. Narrower than the original by about 15% on average with smaller capitals (0.87x): expect different wrapping. |
| Book Antiqua | PT Serif (visual) | `documented-visual` | 2.4% / 7.78% | 18.8% | 1.071x / 1.012x | Book Antiqua: Palatino-style old-style serif. PT Serif: a transitional serif with humanist details. |
| Bookman Old Style | Libre Caslon Text (visual) | `documented-visual` | 4.11% / 13.96% | 2% | 1.125x / 1.13x | Bookman Old Style: wide old-style serif with sturdy serifs. Libre Caslon Text: a Caslon-style text serif. |
| Calibri | Carlito (metric) | `qualified` | 0% / 0.26% | 99.6% | 1.023x / 1.011x | Calibri: soft humanist sans with rounded stroke ends. Carlito: Lato-derived humanist sans cut to Calibri advances. |
| Calibri Light | Carlito (visual) | `documented-visual` | 1.44% / 2.25% | 62.4% | 1.028x / 1.011x | Calibri Light: the light weight of Calibri. Carlito Regular: the bundled Carlito has no Light face, so the preview is heavier. |
| Cambria | Caladea (visual) | `documented-visual` | 2.7% / 6.47% | 18.4% | 1x / 1.001x | Cambria: sturdy transitional text serif. Caladea: the Cambria-style serif of the Croscore set; not metric (about 3% narrower on average). |
| Candara | Source Sans 3 (visual) | `documented-visual` | 1.94% / 5.23% | 36.8% | 1.048x / 1.032x | Candara: humanist sans with flared terminals. Source Sans 3: a humanist sans with plainer terminals. |
| Century Gothic | Work Sans (visual) | `documented-visual` | 2.55% / 15.49% | 27.6% | 0.941x / 0.919x | Century Gothic: geometric sans (Avant Garde style) with a large x-height. Work Sans: a grotesque-influenced geometric sans with smaller glyphs (x-height 0.94x). |
| Century Schoolbook | Gelasio (visual) | `documented-visual` | 2.65% / 7.53% | 15.6% | 1.061x / 0.959x | Century Schoolbook: wide, sturdy modern serif. Gelasio: a Georgia-metric serif. |
| Consolas | Cousine (visual) | `documented-visual` | 9.15% / 9.15% | 3.2% | 1.078x / 1.032x | Consolas: humanist monospace on a narrower cell (about 0.55 em). Cousine: a sans monospace on a 0.60 em cell. Cousine is 9.15% wider per character than Consolas, so lines of code break earlier in the preview. |
| Constantia | PT Serif (visual) | `documented-visual` | 2.29% / 5.77% | 23.6% | 1.105x / 1.024x | Constantia: old-style text serif with low contrast. PT Serif: a transitional serif. |
| Corbel | Source Sans 3 (visual) | `documented-visual` | 1.59% / 5.21% | 53.2% | 1.048x / 1.004x | Corbel: soft humanist sans. Source Sans 3: a humanist sans. |
| Courier New | Cousine (metric) | `qualified` | 0% / 0% | 100% | 1.249x / 1.153x | Courier New: light slab-serif typewriter monospace. Cousine: sans monospace on Courier New advances. The preview looks sans where Courier New is slab-serif; widths and wraps are the same. |
| Didot | Playfair Display (visual) | `documented-visual` | 20.71% / 26.96% | 0% | 0.968x / 0.802x | Didot: Didone high-contrast serif (Apple version 13.0d1e3, measured in place on macOS). Playfair Display: a high-contrast transitional display serif with heavier colour and smaller capitals. Narrower than the original by about 21% on average with smaller capitals (0.80x): expect different wrapping. Didot has no bold italic face on macOS. A closer open candidate is the improvement to look for (vetoable). |
| Franklin Gothic Book | Barlow (visual) | `documented-visual` | 1.81% / 7.55% | 38.8% | 1.026x / 1.05x | Franklin Gothic Book: American grotesque. Barlow: a slightly condensed grotesque with a similar American feel. |
| Franklin Gothic Medium | Barlow (visual) | `documented-visual` | 1.42% / 6.48% | 54% | 1.026x / 1.05x | Franklin Gothic Medium: the medium weight of Franklin Gothic. Barlow: only Regular and Bold are vendored (no Medium face), so the weight is approximate. |
| Garamond | EB Garamond (visual) | `documented-visual` | 4.88% / 18.83% | 1.6% | 1.051x / 1.037x | Garamond: Monotype old-style serif with a small x-height. EB Garamond: a Garamond revival; its italics are wider than the Monotype italic. The real Garamond has no bold italic; PowerPoint synthesizes it. |
| Georgia | Gelasio (metric) | `qualified` | 0% / 0% | 100% | 1.008x / 1x | Georgia: wide screen serif with old-style figures. Gelasio: Georgia-metric serif; ligatures (liga, clig) are switched off so widths match. |
| Gill Sans MT | Source Sans 3 (visual) | `documented-visual` | 5.11% / 14.59% | 3.6% | 1.082x / 0.962x | Gill Sans MT: humanist sans with calligraphic proportions. Source Sans 3: a humanist sans. Individual strings differ by up to 15% either way (mean absolute 5%): wrapping differs. |
| Grandview | Barlow (visual) | `documented-visual` | 4.67% / 9.76% | 4.8% | 1.018x / 0.986x | Grandview: Microsoft 365 cloud sans. Barlow: a slightly condensed grotesque. About 5% off on average (up to 10%) with glyph-size differences: expect different wrapping. |
| Grandview Display | Barlow (visual) | `documented-visual` | 2.49% / 5.99% | 26% | 1.082x / 0.986x | Grandview Display: the display cut. Barlow: a slightly condensed grotesque. |
| Impact | Anton (visual) | `documented-visual` | 1.92% / 5.12% | 49.6% | 1.131x / 1.087x | Impact: heavy condensed grotesque. Anton: a heavy condensed display sans. Neither has an italic: the preview draws the upright face and PowerPoint synthesizes the slant. |
| Liberation Mono | Cousine (metric) | `qualified` | 0% / 0% | 100% | 1x / 1x | Liberation Mono 2.1.5: Courier-metric sans monospace. Cousine: the Croscore face Liberation 2 is built from; most glyph outlines are byte-identical. |
| Liberation Sans | Arimo (metric) | `qualified` | 0% / 0% | 100% | 1x / 1x | Liberation Sans 2.1.5: Arial-metric sans. Arimo: the Croscore face Liberation 2 is built from; glyph boxes are identical. |
| Liberation Serif | Tinos (metric) | `qualified` | 0% / 0% | 100% | 1x / 1x | Liberation Serif 2.1.5: Times-metric serif. Tinos: the Croscore face Liberation 2 is built from; most glyph outlines are byte-identical. |
| Lucida Console | Cousine (visual) | `documented-visual` | 0.41% / 0.41% | 100% | 0.996x / 1.051x | Lucida Console: humanist monospace. Cousine: a sans monospace. |
| Lucida Sans | Work Sans (visual) | `documented-visual` | 1.24% / 4.98% | 50% | 0.943x / 0.913x | Lucida Sans: wide humanist sans. Work Sans: a geometric sans with smaller glyphs (x-height 0.94x). |
| Lucida Sans Unicode | Work Sans (visual) | `documented-visual` | 1.32% / 4.98% | 53.2% | 0.943x / 0.913x | Lucida Sans Unicode: the wide humanist sans with broad coverage. Work Sans: a geometric sans with smaller glyphs (x-height 0.94x). |
| Microsoft Sans Serif | Arimo (visual) | `documented-visual` | 0.2% / 2.91% | 88% | 1.02x / 0.961x | Microsoft Sans Serif: the Arial-like UI sans. Arimo: Arial-metric sans. |
| Palatino Linotype | PT Serif (visual) | `documented-visual` | 2.52% / 9.09% | 18% | 1.069x / 1.015x | Palatino Linotype: old-style serif with calligraphic stroke. PT Serif: a transitional serif. |
| Rockwell | Bitter (visual) | `documented-visual` | 2.55% / 8.45% | 20% | 1.125x / 1.028x | Rockwell: geometric slab serif. Bitter: a contemporary slab serif for text. |
| Seaford | Source Sans 3 (visual) | `documented-visual` | 4.83% / 9.65% | 12.8% | 1.016x / 0.982x | Seaford: Microsoft 365 cloud sans. Source Sans 3: a humanist sans. |
| Seaford Display | Source Sans 3 (visual) | `documented-visual` | 3.89% / 6.67% | 24.8% | 1.059x / 0.982x | Seaford Display: the display cut. Source Sans 3: a humanist sans. |
| Segoe UI | Red Hat Display (visual) | `documented-visual` | 1.72% / 7.09% | 36.4% | 1.002x / 1x | Segoe UI: humanist UI sans. Red Hat Display: a geometric humanist sans. |
| Segoe UI Light | Red Hat Display (visual) | `documented-visual` | 1.87% / 6.62% | 41.6% | 0.984x / 1x | Segoe UI Light: the light weight. Red Hat Display 300. |
| Segoe UI Semibold | Red Hat Display (visual) | `documented-visual` | 1.94% / 8.53% | 46% | 1.03x / 1x | Segoe UI Semibold: the semibold weight. Red Hat Display 600, which a regular run draws since the weight-named role fix. |
| Segoe UI Semilight | Red Hat Display (visual) | `documented-visual` | 3.22% / 9.05% | 29.2% | 1.002x / 1x | Segoe UI Semilight: weight 350. Red Hat Display 400: there is no 350 face. |
| Skeena | Open Sans (visual) | `documented-visual` | 9.26% / 15.93% | 0.8% | 1.159x / 1.113x | Skeena: Microsoft 365 cloud sans. Open Sans: a humanist sans. About 9% off on average (up to 16%): expect different wrapping. |
| Skeena Display | Open Sans (visual) | `documented-visual` | 13.06% / 20.01% | 0% | 1.159x / 1.113x | Skeena Display: the display cut. Open Sans: a humanist sans. About 13% off on average (up to 20%): expect different wrapping. |
| Source Sans Pro | Source Sans 3 (visual) | `documented-visual` | 0.03% / 0.41% | 95.2% | 1x / 1x | Source Sans Pro 2.045: Adobe's humanist sans (the predecessor name). Source Sans 3: the renamed family; regular and bold match within 0.15%, italics within 0.41%. |
| Tahoma | Red Hat Text (visual) | `documented-visual` | 1.68% / 6.29% | 46.8% | 0.895x / 0.963x | Tahoma: narrow humanist UI sans. Red Hat Text: a humanist sans. Smaller lowercase (x-height 0.90x). |
| Tenorite | Figtree (visual) | `documented-visual` | 5.53% / 11.15% | 9.2% | 1.105x / 1.17x | Tenorite: a wide humanist sans designed for legibility. Figtree: a friendly geometric sans. About 4% wider than the original on regular; only the regular style is cached on this host. |
| Tenorite Display | Figtree (visual) | `documented-visual` | 15.22% / 20.23% | 0% | 1.105x / 1.17x | Tenorite Display: the tighter display cut. Figtree: a friendly geometric sans; the Tenorite Display widths are tighter, so the preview is much wider. About 15% wider than the original on average: expect different wrapping. |
| Times New Roman | Tinos (metric) | `qualified` | 0% / 0% | 100% | 1.026x / 0.989x | Times New Roman: classic Times-style serif. Tinos: Times-metric serif from the Croscore set. |
| Trebuchet MS | Figtree (visual) | `documented-visual` | 1.49% / 6.65% | 48.8% | 0.956x / 0.979x | Trebuchet MS: humanist sans with distinctive italics. Figtree: a friendly geometric sans. |
| Verdana | Montserrat (visual) | `documented-visual` | 3.69% / 9.15% | 5.6% | 0.963x / 0.963x | Verdana: very wide humanist screen sans. Montserrat: a wide geometric sans, about 3% narrower than Verdana on average. |

## Script, emoji and math host fixtures (RR-17)

Per family fixtures for the open script, emoji and math families (script-host-fixtures-20261002.json): in each host the family's package loads, every style resolves to the family itself, and samples of its script (original FF-44 corpus text, FF-45 emoji and math) are drawn strictly in its own pinned file with no glyph fallback. A family appears under a host only when its fixture passed there; a failure is a recorded finding that keeps the family out of `qualified`, and the check is never relaxed.

| Host | Repository and test | Commit | Families passed | Findings |
| --- | --- | --- | ---: | ---: |
| node | OpenPresentation/opf-render `test/script-family-hosts.mjs` | `2584f6ecfd20` | 35 | 0 |
| browser | OpenPresentation/opf-render `test/script-family-hosts-browser.mjs` | `2584f6ecfd20` | 34 | 1 |
| editor | OpenPresentation/opf-editor `test/font-gate-script-families.mjs` | `823f29dcfa57` | 35 | 0 |
| galleryEditor | Data-Advantage/pptx-gallery `tests/editor-script-families.test.ts` | `3ea21c64ab05` | 35 | 0 |

| Family | Host | Finding |
| --- | --- | --- |
| Noto Emoji | browser | Chromium does not draw emoji-presentation sequences (VS16: the keycap 1️⃣, the red heart ❤️, the rainbow flag) with the monochrome Noto Emoji: each falls to another face at a 1.000 em advance, where the face and the renderer give 1.2695 em. The pictograph, flag, skin-tone, ZWJ and tag sequences draw in Noto Emoji at its own advance. The colour face (Noto Color Emoji) draws all of them. Noto Emoji is the raster stand-in and an alternate of Segoe UI Emoji, never the browser face of a Segoe UI Emoji run (the planner gives emoji runs to Noto Color Emoji). |

### Proprietary script, emoji, math and code-table names (FF-46)

Per name fixtures (script-name-host-fixtures-20261014.json) for the commissioned proprietary names: in each host the name resolves to its policy route (a code table to the first face of its chain) with the policy size adjustment, and every sample of each of its scripts is drawn in that script's route face (the designated script face where the policy route lacks the script) with no other glyph fallback, from the route's pinned file. Own-host loading and drawing do not clear a native visual finding, including Yu Gothic's retained finding. The fixtures of the open route faces do not transfer to a name, so a name that passes natively is documented-visual only with its own fixture in every host. 23 names: Aparajita, Arabic Typesetting, Cambria Math, David, FangSong, Gautami, Gisha, Kalinga, Microsoft JhengHei, Microsoft YaHei, MingLiU, Miriam, Nyala, PMingLiU, Segoe UI Emoji, SimHei, SimSun, Sylfaen, Symbol, Tunga, Webdings, Wingdings, Yu Gothic.

| Host | Repository and test | Commit | Names passed | Findings |
| --- | --- | --- | ---: | ---: |
| node | OpenPresentation/opf-render `test/script-name-hosts.mjs` | `a78da5ea85b4` | 23 | 0 |
| browser | OpenPresentation/opf-render `test/script-name-hosts-browser.mjs` | `a78da5ea85b4` | 23 | 0 |
| editor | OpenPresentation/opf-editor `test/font-gate-script-names.mjs` | `cdc7868ff9b6` | 23 | 0 |
| galleryEditor | Data-Advantage/pptx-gallery `tests/editor-script-names.test.ts` | `67bc00085915` | 23 | 0 |

## Method

- **Selected name.** The PPTX always retains the selected family. The parity typefaces and fontResolution checks read the exported names back for the audited values; the record's `paritySignals.pptxNamedValues` counts them.
- **Route and tier.** From `spec/reference/font-policy.json`, resolving provisional decisions. `metric` needs a mean below 0.1% and a maximum of at most 0.3% in all four styles; `visual` is a documented look-alike. Width deltas alone do not qualify a face: matching line breaks and line metrics, vertical metrics and unchanged geometry tolerances are also required and are unrecorded (`verticalMetricsMatch`, `lineBreaksMatch` are null) except for the in-flight Intos candidate.
- **Bundled.** From the pinned opf-render manifest snapshot: package, version or commit, license, Reserved Font Names, file names and SHA-256 per face. For a proprietary family it describes the route face, never the proprietary font.
- **Styles.** Style keys are weight plus `i` for italic (`400`, `700i`). Required styles come from the measurement report where the real font was on the measuring host, otherwise four styles for Latin and regular and bold for script families are assumed (`stylesBasis`). An open replacement must also carry the styles of every family routed to it (`stylesRequiredByRole`).
- **Parity signals.** From the committed run named above, which models the gallery editor font host (its font gate loads the script and vendored faces a document needs). `statusAtRun` is what the run observed; `expectedStatusOnMain` is what current main should produce; `rerunNeeded` marks a mismatch.
- **Evidence.** Merged and in-flight pull requests, evidence folders and docs. In-flight work is labelled and never counted as merged.

