Resolve font metrics and text paint together for native PDF culling and
filter raster allocation, following SkPDFStrike and SkStrokeRec. Replace
the unconditional origin/em guard for outline glyphs with measured bounds.
Align static TrueType bounds with the rendered side bearing and retain
conservative fallback for missing outlines. Empty glyphs do not expand
raster allocations; native advance boxes preserve whitespace semantics.
Add coverage for negative side bearings, variable/CJK fonts, skew, and
empty runs. The 20px/8px probe shrinks from 224x224 to 96x104 raster pixels
while retaining reference ink coverage and searchable text.
Use explicit miter joins and a shared miter limit of 4 for CPU and PDF
text strokes. Use the same conservative expansion for layout outsets
and native PDF clipping, including synthetic bold stroke widening.
Add deterministic triangle glyphs to cover pointed joins, bevel fallback,
and miter-only ink entering a PDF clip.