GitHub Issue

frame renders CJK headline/subhead as tofu boxes on zh-CN locales

Discovered On Aug 30, 2026
Primary Metric open
### 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.
View Raw Thread

Developer & User Discourse

badboy-tian • Aug 30, 2026
kacperkapusciak • Aug 31, 2026
Thank you for the issue report!

I'll work on improving the support for different locales including Simplified Chinese.
badboy-tian • Aug 31, 2026
@kacperkapusciak Thank you for your reply. I saw a website of the same type that has more complete features and more customizable options, which can be used as a reference. https://appcub.io/