欢迎光临散文网 会员登陆 & 注册

全统一码覆盖计划:NotoUni7.1、MonuHani9.5等字体制作后记

2023-02-12 20:17 作者:綿雲飴里  | 我要投稿

做起来才知道号称没豆腐(no tofu)的Noto缺字状况远比想象的更多。

谷歌给了个网页用于查看Noto系列对统一码的区段覆盖:The NotoVerse | notofonts.github.io/overview/ 以上为整个区段完全缺字的情况

不必重复“统一码收字量远超单个字体包含字形上限”,我用多个字体来覆盖它。

下面是2023年2月18日一揽子发布的 NotoUni 7.1 与 MonuHani 9.5 “结算画面”节选。图上的字形Noto要么没有,要么有问题,我尽可能按Noto风格补画(可见下面Cyrillic Ext-D与Noto原有音标混排的截屏),或者用我以前画的字形、或原创。

除了高亮的那些阿拉伯字实在无能为力,从SIL的阿拉伯字体 Scheherazade New(字体名出典《一千零一夜》,和Noto系列的许可一样)仔细地将曲线二转三,并且阿拉伯敬语连字(Honorific ligatures)用了易读版本。

红底部分我放到gh详说罢

Noto Unicode 7.1

下面截屏是NotoUni7.0版笔记,如果文字部分都贴出来本文就没法看了(放到gh去)

这些全是NotoUni7相对NotoUni6.9的更新内容,还没完

我的补字原则是“宛如原生”,三次曲线,这些曲线也必须干净不能有毛糙的锚点,该光滑的地方不能有折角。以 阿含|Ahom 的U+11743为例,Noto没有,但这个字符看起来像U+11705一半和U+11713贴起来,于是我补字如图,不仅锚点一一对应,左右字距空白也是,如果将来Noto更新的曲线跟我一致那也不奇怪。

我做的Cyrillic Extended-D(Noto一个都没有)那些与Noto的音标混排,看不出区别吧

下面5个占星术符号中只有一个是Noto,其它都是我画的,猜猜看是哪个。答案上面有。

🝻🝼🝾🝿⯓


还有个问题,某些统一码字符字形完全相同,只有颜色的区别,针对NotoUni这个黑白字体,我想来想去决定直接把颜色写在字形脸上:

字符为:🤎🧡🩵🩶🩷

主要是CMYK、RGB这种颜色缩写。褐色因为与蓝色重复只好用“Br”,另外灰色与绿色重复,粉色与紫色重复,这些都是二字缩写。考虑要不出个中文标记的版本。

同样肤色指示符和三分性别也照此办理。

字符为::🏻🏼🏽🏾🏿
字符为:🤰🫃🫄。单色NotoEmoji里这3个完全一样

标记用的小字字体CtrlOrdn在下文说明。顺带,这可能是第一个otf版且没有bug的单色NotoEmoji(黑白svg那个NotoEmoji不算,otf文件居然没解决重叠问题,而且字形也难看,不然我不至于修复二转三)

发布在:github.com/MY1L/Unicode/releases/tag/NotoUni7

我还在考虑究竟要不要做成彩色字体。想了想,这种需求可以用“尺规彩绘 | Ctrl Zsye”解决,我今天也稍微更新了。

Monu Hani 9.5

补充了Noto或思源都没有的假名。内容太长了,详见补字笔记:github.com/MY1L/Unicode/blob/main/Hani/note.md

其中值得一提的是我原创了一套Kana Extended-B:𚿰𚿱𚿲𚿳𚿵𚿶𚿷𚿸𚿹𚿺𚿻𚿽𚿾

右上角展示了实心点𚿶相对空心点𚿾有视觉处理

发布在:github.com/MY1L/Unicode/releases/tag/Hani9



统一码从ASCII继承了不少控制字(Control Character)这些字符如LF换行、CR回车,你每天都会与其打交道,按其性质应该做成不可见的,Noto当然不用做,但总有需要看见的特殊情况,比如许多编辑器会突出换行符方便检查。

为此做了原创字体“尺规图符 | Ctrl Ctrl”,恰好之前做了原创字宽字重可变字体 Ctrl Ordn,因此我的优势是可以随意调整虚线框内每个字符宽度。但由于当时没做小写,于是补课了一遍(这部分字形非可变字体,因为来不及了)

题图是旧版 v1,我刚才已升级到v1.1:github.com/MY1L/Ctrl/releases/tag/Ctr1

制作辛苦程度可见如下v1版的截屏。很长:

字形包含部分常用的反斜杠转义,和过去拿控制符码位当装饰符号的替代情况:

  • \a 响铃符 (BEL, ASCII 7)

  • \b 退格符 (BS,  ASCII 8)

  • \t 水平制表符 (HT, ASCII 9)

  • \n 换行符 (LF, ASCII 10)

  • \f 跳页符 (FF, ASCII 12)

  • \r 回车符 (CR, ASCII 13)

  • \v 垂直制表符 (VT, ASCII 11)

你以为后面那些“vs”可以批量生成罢?不能,Ordn这字体不是等宽的,批量生成的无视字距会很难看,尤其74之间仿佛夹了个空格,因此这上百个也是手动调的,好辛苦呀!

今天v1.1更新如下图(部分)


最后,可以随时看看我这个字体对统一码覆盖表格有没有更新:github.com/MY1L/Unicode/tree/main/FontList

全统一码覆盖计划:NotoUni7.1、MonuHani9.5等字体制作后记的评论 (共 条)

分享到微博请遵守国家法律