TakWolf / fusion-pixel-font

开源像素字体。支持 8、10 和 12 像素。
http://fusion-pixel-font.takwolf.com/
MIT License
1.28k stars 30 forks source link

标点符号貌似不太正常 #5

Closed w15736776759 closed 2 years ago

w15736776759 commented 2 years ago

image image

TakWolf commented 2 years ago
image

字体本身应该是没问题的,怀疑布局参数设置有问题。

请检查:字号(12px 或者整数)、基线对齐设置(baseline)和字间距

另外请提供使用的游戏引擎(或者布局系统)的信息

w15736776759 commented 2 years ago

使用的游戏是minecraft,我只知道这么多了...

w15736776759 commented 2 years ago

image 我尝试更改了字体大小 没有用 就这几个我经常用的标点符号有问题,其他好像都没问题 逗号, 点. 冒号:

w15736776759 commented 2 years ago

所有的全角标点符号宽度(应为12px),都按照半角宽度(6px)显示了,所以看起来位置不对。 (如果把标点右边6像素补齐,位置就正确了)

怀疑是 minecraft 布局引擎自己做了特殊处理。

我可不可以单独把这三个符号字体去掉?或许就看起来没问题了把

TakWolf commented 2 years ago

不是,中英文标点都有问题。 这个字体标点是香台繁体标点风格,正常情况句号和逗号在子面框垂直居中,但是你这里显示都卡齐了。 我不知道是不是 minecraft 自己的布局引擎做了特殊处理,这个可能需要客户端程序具体调研一下。

w15736776759 commented 2 years ago

不是,中英文标点都有问题。 这个字体标点是香台繁体标点风格,正常情况句号和逗号在子面框垂直居中,但是你这里显示都卡齐了。 我不知道是不是 minecraft 自己的布局引擎做了特殊处理,这个可能需要客户端程序具体调研一下。

或许我可以把这三个字体符号去掉让游戏显示它原本的符号?

TakWolf commented 2 years ago

或许我可以把这三个字体符号去掉让游戏显示它原本的符号?

这个字体移除一部分字符是可以的。但是 minecraft 支持多个字体顺序后备吗?

你能不能尝试一下其他的中文等宽字体,看看标点符号位置是否在预期正确的位置?

w15736776759 commented 2 years ago

或许我可以把这三个字体符号去掉让游戏显示它原本的符号?

这个字体移除一部分字符是可以的。但是 minecraft 支持多个字体顺序后备吗?

你能不能尝试一下其他的中文等宽字体,看看标点符号位置是否在预期正确的位置?

minecraft的字体处理挺奇怪的,我想把这三个字体符号移出让它显示原本的,看看能不能显示正确,但是我不知道怎么移除这三个符号,minecraft是可以显示没有字体的符号的

TakWolf commented 2 years ago

比如这个:

https://github.com/chenyium/Microsoft-Yahei-Mono

这个中文标点符号也是全角的,如果显示不是宽度全角,那就是 minecraft 的问题

w15736776759 commented 2 years ago

image 这个好像问题不大,除了冒号

TakWolf commented 2 years ago

好像也是有问题的,你对比一下正常的位置:

image image

我临时打了一个分支,去掉了几个符号,你试一下。

构建配置:

https://github.com/TakWolf/fusion-pixel-font/blob/debug/issues-5/build.py#L27

下载在这里:

https://github.com/TakWolf/fusion-pixel-font/releases/tag/v-iss-5

w15736776759 commented 2 years ago

image 这个好像问题不大,除了冒号

好像也是有问题的,你对比一下正常的位置:

图像 image

我临时打了一个分支,去掉了几个符号,你试一下。

构建配置:

https://github.com/TakWolf/fusion-pixel-font/blob/debug/issues-5/build.py#L27

下载在这里:

https://github.com/TakWolf/fusion-pixel-font/releases/tag/v-iss-5

image 好了欸

TakWolf commented 2 years ago

查了一下,Minecraft 保底使用的是 Unifont 像素字体,16px。标点符号好像显示确实有问题。 你看看这一篇文章。https://www.bilibili.com/read/cv8362858

你目前其实这个排版其实有问题的,没有完美解决。两个字体混合排版基线位置不一致,看起来不是特别舒服。

w15736776759 commented 2 years ago

原来是这样,还是大佬厉害