zpix-pixel-font
zpix-pixel-font copied to clipboard
v3.1.6 .ttf的若干字形问题
未检查.bdf是否有相同问题,因为手头没有支持.bdf的软件。
以下字符的字形是空白的
- uni2051
⁑
- uni21D3
⇓
- uni3099(假名附浊点,一般做成左边超出——即负宽度——用于贴到前个假名上)
- uni309A(假名附浊点,同上)
- uniFEC3(阿拉伯文,可能是错误?)
- uniFEEB(阿拉伯文)
- uniFEEC(阿拉伯文)
小型形式变体等有问题
-
uniFE56
﹖
(字形是错的,认不出来是什么) -
uniFE52
﹒
(在左边超出的位置上多了个点,座标x-1500,y-500) -
uniFE59
﹙
(同上) -
uniFE5B
﹛
(同上) -
uni2488
⒈
(同上)
西里尔文、希腊文绘制的问题
uni0459љ
(字形有问题)
西里尔文有一部分是按半角设计的,非常窄,而另一部分是不等宽的,不统一。
希腊文似乎是按全角风格绘制的不等宽字形,看上去模仿的东亚字体做法?可是既不符合西文做法,也不是全角的宽度,两边都不靠了。
其它疑难问题
看上去字形设计是左靠0、右留2点“像素”空白,但%&:\/
等几个不遵循此规则?
§₱₰₮₭₫₤₣™℮Ω
等许多字符设计得非常逼仄,⅛⅜⅝⅞
甚至看不清,虽然这些宽为5个“像素”,而字符占据宽度为13像素,有8像素空白,这些可以撑开为非等宽或改为半角。
因为可以理解的原因,本字体以汉字为主,一些西文不得不受限于汉字高度,导致例如À
这样带变音标记的西文被上下压缩。而那些带多个变音标记的字符如Ǻ
就没法看了,而且也无法支持uni0300这些变音组合字符。这部分涉及西文排版和变音特性的可能得放弃.bdf格式(仅ttf支持),且容许字面向上下扩展——
但字面向上下扩展又会影响现有字体中文排版的行距,我提议索性将这些带变音标记的、GBK不包含的拉丁文、希腊文、西里尔文字符分拆为一个西文字体。
题外话,我也在制作字体(虽然只会做矢量不会.bdf这种点阵字体)
是否可以在 最像素 的基础上分出叉来制作不等宽的像素英文和假名,并支持字距(kerning)、Ligatures连字等点阵字体中没有的OpenType特性?
或做成补丁形式的单独字体,写成CSS像这样:font-family: zpix-my1l, zpix, sans-serif;
以上是一个想法。
非常感谢你的意见以及对事物认真的态度。
这个字体最开始是只有 bdf,然后嵌入到 ttf 里面,给 Windows XP 使用的(在 XP 上关闭 ClearType 就可以只显示像素字了)。所以几乎没有考虑 ttf 里面的那些宽度基线之类的问题,后来一些用户发现 bdf 无法渲染在 Qt 等一系列软件上,我也是想了很多方法用程序把 bdf 转换成 ttf 做到了「能用」的程度,因为对我来说直接做 ttf 是很难的,因为我不大会用字体设计软件。
你提到的分几个字体的问题,其实我也想过,因为我发现同一个 unicode,日文,繁体,简体,甚至是港台的写法都是不同的,按理说,就应该像 PingFang 那样分成好几个版本,但是这样我不大清楚要如何批量处理和维护,就没有去拆。
总体来说,现在这套字体在维护上我只能做到修改错别字,其他的修改比如你上文提到的那些对我来说比较难。太久没有碰字体这块,基本上每次我改一个错别字都是以半天为单位计算的,成本太高。我每次想要修改和维护,都很莫名其妙的发现字体软件 FontForge 跑不起来,然后我必须花时间让他跑起来,再修改和打包……
这个 issues 就先开着吧,我看什么时候有时间有心情了就过来花心思好好调整一番。
因为太忙,我上个月“在最像素的基础上分出叉来制作不等宽字体”的想法,现在才作出可以演示的成品来。 只有ascii区段是做完的(我的软件不是专门做像素字的,点像素很慢),其它区段还在做所以缺字。 给像素字体加上高级排版特性:Ctrl Zpix介绍 - 哔哩哔哩 今天发布第1版:https://github.com/MY1L/Ctrl/releases/tag/Zpix