zpix-pixel-font icon indicating copy to clipboard operation
zpix-pixel-font copied to clipboard

v3.1.6 .ttf的若干字形问题

Open MY1L opened this issue 2 years ago • 2 comments

未检查.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; 以上是一个想法。

MY1L avatar Mar 04 '22 16:03 MY1L

非常感谢你的意见以及对事物认真的态度。

这个字体最开始是只有 bdf,然后嵌入到 ttf 里面,给 Windows XP 使用的(在 XP 上关闭 ClearType 就可以只显示像素字了)。所以几乎没有考虑 ttf 里面的那些宽度基线之类的问题,后来一些用户发现 bdf 无法渲染在 Qt 等一系列软件上,我也是想了很多方法用程序把 bdf 转换成 ttf 做到了「能用」的程度,因为对我来说直接做 ttf 是很难的,因为我不大会用字体设计软件。

你提到的分几个字体的问题,其实我也想过,因为我发现同一个 unicode,日文,繁体,简体,甚至是港台的写法都是不同的,按理说,就应该像 PingFang 那样分成好几个版本,但是这样我不大清楚要如何批量处理和维护,就没有去拆。

总体来说,现在这套字体在维护上我只能做到修改错别字,其他的修改比如你上文提到的那些对我来说比较难。太久没有碰字体这块,基本上每次我改一个错别字都是以半天为单位计算的,成本太高。我每次想要修改和维护,都很莫名其妙的发现字体软件 FontForge 跑不起来,然后我必须花时间让他跑起来,再修改和打包……

这个 issues 就先开着吧,我看什么时候有时间有心情了就过来花心思好好调整一番。

SolidZORO avatar Mar 07 '22 03:03 SolidZORO

因为太忙,我上个月“在最像素的基础上分出叉来制作不等宽字体”的想法,现在才作出可以演示的成品来。 只有ascii区段是做完的(我的软件不是专门做像素字的,点像素很慢),其它区段还在做所以缺字。 给像素字体加上高级排版特性:Ctrl Zpix介绍 - 哔哩哔哩 今天发布第1版:https://github.com/MY1L/Ctrl/releases/tag/Zpix

MY1L avatar Apr 10 '22 15:04 MY1L