Description:
I’m not sure if the person who wrote the typesetter is still at Roblox or not, so I’ll write a slightly more in-depth description. Roblox currently ships with Noto Sans CJK JP v1.004 and uses HarfBuzz to render text with the right locale-specific glyph based on the OpenType locl
“localized form” feature. It’ll switch to the Chinese, Taiwanese and Korean variants of the font based on the client’s current locale.
For example, my locale is set to zh_TW
, and I will generally see Noto Sans CJK TW as my font instead of Noto Sans CJK JP. The TW font will follow the Republic of China’s “Standard Form of National Characters” instead of the Japanese standard.
All GUI text is rendered with the TW font, but Humanoid
names use Noto Sans CJK JP font regardless of locale. To illustrate, a screenshot is attached below. The chat GUI uses the TW glyphs (correctly), but the rendered Humanoid name uses JP glyphs (the bug):
To show the differences, please notice (you’ll need a modern web browser and fonts to see the differences on the forum due to some of the characters below being compatibility characters):
- In JP, the radical for 這 is ⻍, whereas in TW it’s ⻎.
- In JP, the inner part of 這 has a flat top (like 一), whereas in TW it’s a diagonal dot (like 、).
- In JP, the bottom part of 骨 is a 月 without the left line being slanted towards the bottom. In TW, it’s known as the “肉部” (the inside parts are like the left side of x if it’s split in half left and right).
- In JP, the upper part of 雲 (雨) has straight lines on the inside, but in TW it’s like an x, again split left and right.
- In JP, the 云 has a serif at the bottom-left, whereas TW doesn’t.
Reproduction:
- Create a model with a
Humanoid
and a part namedHead
inside. - Rename the model to anything with CJK text. In my example, I used
這、骨、雲
as examples as they visibly show the differences between glyph standards. - Observe that there are slight differences between glyphs.
I made a quick test place here, but I don’t know how to make a game uncopylocked anymore: locl test - Roblox. The place file is here: locl test.rbxl (19.2 KB)
Reproducibility:
I am only able to test this on the Windows client.