Internationalization (i18n) and font rendering for CJK characters in marketing overlays. Goldie's `frame` command fails to render Chinese text correctly in headlines/subheads due to font stack limitations within the Node canvas environment.
Raw Developer Origin & Technical Request
GitHub Issue
Aug 30, 2026
### Description
When generating App Store screenshots with `goldie frame`, **Chinese text in the marketing overlay** (headline and subhead, outside the device mockup) fails to render correctly and appears as **tofu boxes, missing glyphs, or garbled characters**.
Text **inside the captured app screenshot renders fine** — only the headline/subhead added by Goldie’s framing layer is affected.
### Environment
- goldie: `0.2.1`
- macOS
- Node 20.x
- locale: `zh-CN`
- device: `iphone-6.9`
### Steps to Reproduce
1. Use the default font stack in `goldie.config.ts`:
```ts
theme: {
fontFamily: '-apple-system, "SF Pro Display", system-ui, sans-serif',
},
scenes: [{
headline: { "zh-CN": "反向打卡,不打卡就是成功" },
subhead: { "zh-CN": "只在破戒时记录,让戒除更轻松" },
}]
```
2. Capture screenshots, then run `goldie frame`
3. Open `out/screenshots/6.9/zh-CN/*.png`
### Expected Behavior
Headline and subhead display readable Simplified Chinese.
### Actual Behavior
Chinese characters render as tofu boxes or garbled text. For example, `反向打卡,不打卡就是成功` is not rendered correctly.
### Additional Notes
- Marketing copy is rendered with `@napi-rs/canvas`. The default `-apple-system` / `SF Pro Display` stack does not appear to resolve to a CJK-capable font in the Node canvas environment.
- Goldie’s bundled fonts (Lato, Montserrat, etc.) also do not support Chinese.
- If the design was edited in Studio, `goldie.design.json` overrides `fontFamily` from config, and the issue persists.
Developer Debate & Comments
Adjacent Repository Pain Points
Other highly discussed features and pain points extracted from kacperkapusciak/goldie.
Frequently Asked Questions
Market intelligence mapped to Internationalization (i18n) and font rendering for CJK characters in marketing overlays. Goldie's `frame` command fails to render Chinese text correctly in headlines/subheads due to font stack limitations within the Node canvas environment..
What problem does Internationalization (i18n) and font rendering for CJK characters in marketing overlays. Goldie's `frame` command fails to render Chinese text correctly in headlines/subheads due to font stack limitations within the Node canvas environment. solve?
What is the general sentiment around Internationalization (i18n) and font rendering for CJK characters in marketing overlays. Goldie's `frame` command fails to render Chinese text correctly in headlines/subheads due to font stack limitations within the Node canvas environment.?
What are the foundational technologies related to Internationalization (i18n) and font rendering for CJK characters in marketing overlays. Goldie's `frame` command fails to render Chinese text correctly in headlines/subheads due to font stack limitations within the Node canvas environment.?
Engagement Signals
Cross-Market Term Frequency
Quantifies the cross-market adoption of foundational terms like tofu boxes and missing glyphs by tracking occurrence frequency across active SaaS architectures and enterprise developer debates.
SaaS Metrics