nowar-fonts / Nowar-Sans

Font packs for World of Warcraft and WoW Classic, moderate in size but excellent in Unicode coverage.
Other
152 stars 6 forks source link

Some letters are hard to distinguish / 部分英文字母难以分辨 #1

Closed carica closed 2 years ago

carica commented 3 years ago

image 如图,分别输入lg lq lo,当下面一行是中文的时候差异很小。 使用:bliz-500-1.0.1

CyanoHao commented 3 years ago

Accents are much more important in distinguishing letters.

在区别不同字母上,重音符号更为重要。

names only differ in accents

Since accents are so common in NA/EU player names, and names can differ only in accents, they should be kept visible. This unfortunately makes the descender part clipped in some condition.

重音符号在欧美玩家角色名中非常常见,并且角色名可以只有重音符号的差别,因此要保证重音符号始终清晰可见。这不可避免地会导致某些情况降部无法显示。


image

This is a workaround — slightly zoom out all glyphs in font. This can be done by change metric values in merge.py as follows and build your variant.

有一个变通方案——把所有字符都缩小一些。如下所示,修改 merge.py 并重新构建。

Prebuilt pack / 字体包: NowarSans-Bliz-500-1.0.1.7z.gz

diff --git a/merge.py b/merge.py
index 8568d16..180c18d 100644
--- a/merge.py
+++ b/merge.py
@@ -232,15 +232,19 @@ if __name__ == '__main__':
         Rebase(baseFont, 1000 / upm, roundToInt=True)
     NameFont(param, baseFont)

+
+    head = baseFont["head"]
     hhea = baseFont["hhea"]
     os_2 = baseFont["OS_2"]
     if os_2["version"] < 4:
         os_2["version"] = 4
+
+    head["unitsPerEm"] = 1080
     hhea['ascender'] = 880
-    hhea['descender'] = -120
+    hhea['descender'] = -200
     hhea['lineGap'] = 200
     os_2['sTypoAscender'] = 880
-    os_2['sTypoDescender'] = -120
+    os_2['sTypoDescender'] = -200
     os_2['sTypoLineGap'] = 200
     os_2['fsSelection']['useTypoMetrics'] = True
     os_2['usWinAscent'] = 1050