MoonshotAI / MoonshotAI/kimi-code
web: Japanese text renders with Chinese glyph variants (font fallback — missing lang="ja" / Japanese font stack)
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 7.5k
- Forks
- 1.2k
- Avg merge
- 11h 53m
- Merged PRs (30d)
- 350
Description
Environment
- Kimi Code CLI 0.29.2 (
kimi webserver on Windows 11) - Client: Android tablet (Xiaomi Pad 6S) Chrome, also launched as a home-screen web app; accessed over HTTPS via Tailscale
Symptom
Japanese assistant messages in the web UI render kanji using Chinese-style glyph variants instead of Japanese forms (CJK unified ideographs shown with the wrong regional glyphs). The same text renders with correct Japanese glyphs in the TUI.
Suspected cause
The web UI probably does not declare lang="ja" on the document, and/or the CSS font stack does not include Japanese-preferred fonts (e.g. Hiragana Sans, Yu Gothic, Noto Sans JP) before generic CJK fallbacks. Glyph selection for CJK unified ideographs depends on the document language and font order, so on a device whose default CJK font is Chinese-first, Japanese text is rendered with Chinese glyph forms.
Expected
Japanese text in the web UI renders with Japanese glyph variants. Declaring lang="ja" (or per-message lang) and/or adding a Japanese-first font stack should fix it.
Notes
- The underlying text is correct Japanese; this is purely a rendering issue.
- Screenshot available on request.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at the web UI document and message-rendering styles, since no source file or test is named. Check the current language declaration and CSS font stack, then reproduce Japanese output in Chrome on the reported Android setup. Done means Japanese kanji use Japanese glyph variants while the underlying text remains unchanged.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- css, typescript
- Domain
- frontend, internationalization, web-dev
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 64/100