plex
plex copied to clipboard
The width of 凰 (U+51f0) in Sans JP looks odd.
Problem
IBM-Plex-Sans-JP
In some weight, the glyph width of 凰 (U+51f0) is not 1000. (Other Kanji glyph width are 1000)
| weight | width |
|---|---|
| Bold | 1000 |
| Text | 1001 |
| Thin | 1000 |
| Light | 1001 |
| Medium | 1001 |
| Regular | 1002 |
| SemiBold | 1000 |
| ExtraLight | 1001 |
Are they expected or bug?
Check script and output
- Download TrueType.zip from Release (v6.3.0)
- Save following python script as
test.py - Excute
fontforge -lang=py -script test.py
import fontforge
TTF_FILES = [
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Bold.ttf",
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Text.ttf",
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Thin.ttf",
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Light.ttf",
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Medium.ttf",
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Regular.ttf",
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-SemiBold.ttf",
"TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-ExtraLight.ttf"
]
def test(range_):
for codepoint in range_:
try:
glyph = font[codepoint]
width = glyph.width
if width != 1000:
unicode = glyph.unicode
name = glyph.glyphname
print(hex(codepoint), hex(unicode), name, width)
except TypeError: # No such glyph
pass
for ttf in TTF_FILES:
font = fontforge.open(ttf)
print("\n>>>", ttf)
test(range(0x2e8e, 0xfa6a))
test(range(0x20b9f, 0x2f920))
test(range(0x110161, 0x110326))
Copyright (c) 2000-2023. See AUTHORS for Contributors.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
with many parts BSD <http://fontforge.org/license.html>. Please read LICENSE.
Version: 20230101
Based on sources from 2023-01-01 05:27 UTC-D.
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Bold.ttf
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Text.ttf
0x51f0 0x51f0 uni51F0 1001
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Thin.ttf
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Light.ttf
0x51f0 0x51f0 uni51F0 1001
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Medium.ttf
0x51f0 0x51f0 uni51F0 1001
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-Regular.ttf
0x51f0 0x51f0 uni51F0 1002
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
警告: 'name' テーブルの Mac と Windows の項目で文字列 Family が言語 English (US)
版において一致しません.
Mac の文字列: IBM Plex Sans JP Smbld
Windows の文字列: IBM Plex Sans JP SmBld
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-SemiBold.ttf
The following table(s) in the font have been ignored by FontForge
Ignoring 'DSIG' digital signature table
>>> TrueType/IBM-Plex-Sans-JP/unhinted/IBMPlexSansJP-ExtraLight.ttf
0x51f0 0x51f0 uni51F0 1001
This issue remains in @ibm/[email protected].
This issue seems to have been fixed, so I’m closing it. Thank you!