Dear OpenAI Team,
I encountered an issue when generating images and overlaying multilingual text (Chinese, Japanese, Korean) using your system. Specifically, non-Latin characters such as Chinese, Japanese, and Korean are not rendering correctly, and instead, they appear as block characters (�). Below are the details:
Issue Description:
- Symptoms:
When attempting to overlay Chinese, Japanese, or Korean text on an image using the Python Pillow library, the text appears as block characters or is completely missing.
English, French, and Spanish text render correctly without issues.
- Possible Causes:
The environment lacks support for CJK (Chinese, Japanese, and Korean) fonts such as Noto Sans CJK or SimHei.
The Pillow library might not be configured to load Unicode fonts correctly for CJK characters.
Instances or containers hosting the image generation service may not have the necessary fonts pre-installed.
- Related Findings:
When I switched to rendering Japanese and Korean, the issue persisted, confirming that it’s not limited to Chinese characters.
European languages (e.g., French, Spanish) render properly, suggesting the problem is specific to CJK characters.
Impact:
This issue limits the usability of the image generation feature for users working with non-Latin scripts.
It affects scenarios where accurate multilingual content (e.g., Chinese, Japanese, or Korean) is required, leading to incorrect outputs and poor user experience.
Suggestions for Resolution:
- Font Installation:
Install CJK-compatible fonts (e.g., Noto Sans CJK, SimHei) across all instances or containers used by the system.
Ensure fonts are configured to handle the full Unicode range, especially non-Latin characters.
- Fallback Mechanism:
Implement a fallback mechanism to automatically detect when certain fonts are missing and switch to available alternatives.
- User-Defined Fonts:
Consider allowing users to upload their own fonts or specify font paths for cases where special characters are required.
Thank you for your attention to this issue. Please let me know if you need any further information or examples to help resolve the problem.