mirror of
https://github.com/garrytan/gstack.git
synced 2026-07-05 23:57:53 +02:00
afaa40b796
pdftotext is a false oracle for emoji: Skia preserves the Unicode in the text cluster even when the glyph drew as .notdef tofu, so extraction passes on a broken render. The gate instead asserts (1) pdffonts shows an emoji family embedded and (2) pdftoppm rasterizes the page to color (measured ~1650 saturated pixels vs ~0 for tofu). pdfimages is not used: macOS embeds color emoji as Type 3 fonts, so it lists nothing even on a correct render. Adds resolvePopplerTool() (DRY resolver, returns null for clean skips) and a fixture exercising FE0F variation-selector emoji. Skips cleanly when poppler tools or a color-emoji font are unavailable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
482 B
482 B
Emoji rendering gate 😀
This fixture exists to prove that emoji code points render as real color
glyphs in the output PDF, not as .notdef tofu boxes (▯).
Color emoji on one line: 😀 ❤️ 🚀 ✅ 💡
A variation-selector sequence (FE0F) renders color: ❤️ — the bare code point ❤ is text-style. Both must come from a font in the cascade, never tofu.
Non-emoji Unicode (unchanged, regression guard): em dash —, times ×, arrow →, bullet •, ellipsis …