beeware / beeware/toga

Rendering Issues with Chinese Characters on Windows

Open
#3,469 8 comments 0 reactions 0 assignees View on GitHub
bug windows
Dominant language
Python
Stars
5.4k
Forks
827
Avg merge
15h 39m
Merged PRs (30d)
40

Description

### Describe the bug

Toga is unable to render Chinese characters properly on Windows, specifically when using the default option without setting a custom font family.

![Image](https://github.com/user-attachments/assets/8a6d5c37-0366-4d31-86cd-759c179ab173)

The issue is presented when the Windows display language is set to English (United States) while having the Chinese (Simplified, Mainland China) language pack installed.

### Expected behavior

If a custom font family with support for Chinese characters is set, the characters can be rendered correctly.

Example: (Using Microsoft YaHei UI)

![Image](https://github.com/user-attachments/assets/6994ec3d-03bf-4254-8730-684841bc4c1d)

### Environment

- Operating System:
- Edition Windows 11 Pro
- Version 24H2
- Installed on ‎2/‎20/‎2025
- OS build 26100.3194
- Experience Windows Feature Experience Pack 1000.26100.48.0
- Python version: 3.12.0
- Software versions:
- Toga: 0.5.1

### Additional context

The issue seems to be related with how Windows handles the fallback font for CJK characters. The rendering seems to be fine when system display language is set to Chinese.

Contributor guide

Open the contributing guide

Research direction

Reproduce the issue on Windows 11 with the display language set to English and Chinese (Simplified, Mainland China) installed, using Toga 0.5.1 and the default font. Compare the result with Microsoft YaHei UI and with a Chinese system display language; done means Chinese characters render correctly without requiring a custom font family.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop, internationalization
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.