Featured image of post 关于开源CJK字体发展方向的设想

关于开源CJK字体发展方向的设想

背景

众所周知,自从思源黑体、思源宋体两款字体以SIL Open Font License公开以来,围绕它们产生的衍生字体一直层出不穷。思源两套字体开创了先河,但本身的问题并不小(如部分汉字地区字形写法并不合当地规范、备受诟病的行距问题等),有一些衍生项目只是旨在对其进行修复的。另外一些是基于它手动或用程序自动做一些美化类的改造,如源柔ゴシック、異世系列、狮尾系列、江城系列字体等。还有剩下一类衍生项目是比较特别的:因为思源本身只提供G、H、T、J、K五种当地标准的字形,有些可能为了顺应标准而并不美观,又或者标点的位置不合用户习惯,因而产生了一些将思源字体修改为不符合任一地区标准的项目,例如昭源黑体、台北黑体、桦源黑体等,这种项目一般是需要较多人工投入的。笔者受关于桦源黑体的讨论产生了本文的想法。

设想

桦源黑体融合了印刷体和手写体的不同特性,笔者由此想到能否开发一款可自由构建不同部件写法的字体,配置方式类似Iosevka,并应支持全部的西文设定。

image-20221022215912043

下面是一些具体的设想。以下的画像均为想象图,UI基于Iosevka Customizer。

部件写法自定义

各种部件都应该可以自定义其写法,并提供常用预设方案(不止包含各地标准)可选择。此为demo,某一地区标准下同一构形部件从字理考虑可能对应不同写法,若正式制作此项目应当考虑进去。下图中“走之旁”即依次提供了中国大陆或日本新字体字形、传统或日本未类推部件或韩国或越南字形、港台字形、日本学参字形四种部件变体供选择。

image-20221022222908695

避让规则自定义

应该可以自定义部件间的避让规则。

image-20221022223442469

以及更多

如标点符号横排可选居左下、中下或正中等。

技术实现

如果对所有汉字都预先处理好所有可能的写法,可能需要预先制作大量的字形。例如,对于“雍”字,假设“亠”有四种变体,“乡”有两种变体,“隹”有三种变体,那么需要事先做好二十四种“雍”字供构建字体。

也许采用单独制作部件,构建时再拼合的方法更合理。

进阶计划

这是一个相当不成熟的想法,如果有空可能考虑进行初步实现。

相关项目

  • Iosevka是一款允许高度自定义文字样式的西文字体,通过其Customizer,用户可以自定义字体的基本信息,并为字符选择不同的变体(variant)、自定义要使用的连字(ligation)特性,自行构建符合自己需要的字体。
  • 未来荧黑是一款利用可视化调参工具来确定字体参数的开源中日文字体,基于思源黑体,可定制字体中汉字的中宫、字面率、重心等参数,并可定制附属西文。