Skip to content

MY1L/CoQuBeLi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

曺全碑隸 (暂名)

起初是想找点免费美观的隶书字体,没找到合适的,于是创建了个开源「黑体(?)汉隶」计划,相当于复刻曹全碑。

下图里“CoQuBeLi”示范了汉隶风格西文的构思,除了“〇”都有曹全碑字笔画对应。预感该字体汉字部分不适合横排,将注重于竖排特性,且用OpenType特性及扩充区〔SIP、TIP〕汉字来支持隶书异体、篆书古形⋯⋯

曹全碑隶

关于制作

「字形」和「字符」并不一一对应,本字体中将大量出现复用字形(多字符对一字形)的情况,如输入曹曺均显示为「曺」字,参见 字形列表.txt

西文、标点主要用隶书笔画拼成,所以会在字量足够之后再雕琢。

…宽泛统计.txt 等文件列出字符对应碑阳具体的哪个字形。

  • 20220707 v0.0  :发布概念版字体,看看效果如何。
  • 20220712 v0.002:更新字体,并发布字形列表.txt
  • 20220726 v0.003:更新及修正,添加kern
  • 20220806 v0.005:更新及修正、调整x字高,添加ccmp hwid ital vert;修正…宽泛统计.txt
  • 20220810 v0.006:更新及改善笔画细节,添加cpct vkrn;字体在文件管理器中缩略图或显示为文字美
  • 20220818 v0.007:更新及改善,添加aalt calt halt palt salt vrt2 zero;支持VS
  • 20220828 v0.008:更新及改善,添加case liga lnum onum pnum tnum
  • 20220915 v0.009:英文已齐全,添加同形希腊\西里尔文,改善case四则运算,添加dlig CQBL

新建了个字体协作Q群613746416,方便想来协作但难以访问github的人。

已有特性

  1. aalt替换全览,本字体用于列某汉字的所有异体
  2. calt语境替换,根据上下文替换字形,类同我的MonuQu相遇处理
  3. salt样式替换,算是一种不看语境有替就换的无脑特性
  4. case注重大写,标点垂直位置区分大小写、数字改大写形式等,西文特性
  5. ccmp字形重组,例如用于连续且不顶格的破折号、居中省略号 和变体选择符
  6. cpct标点居中,替换居中的标点,东亚特性
  7. fwid全角字宽,替换字形,差不多算是东亚的西文特性
  8. hwid半角字宽,同上
  9. pwid比例字宽,同上,基本上是西文特性
  10. halt字宽半角,东亚特性,仅调整单个东亚标点左右边距,本字体用于标点挤压
  11. palt字宽比例,同上,仅调整单个字面左右边距,本字体用于挤近全角英文
  12. ital意大利体,东亚的西文特性,本字体用于将「」替换为顺笔方向的半角⸤⸣(测试)
  13. kern调字偶距,基本上是西文特性,本字体也用于标点挤压(适用排版功能欠缺的软件)
  14. liga标准连字,默认开启,例如ABAJ→啊 f​i
  15. dlig酌情连字,默认关闭,例如!?
  16. lnum平齐数字,替换数字字形
  17. onum古典数字,同上,数字高低不平,宛如小写字母
  18. pnum比例数字,替换为不等宽数字
  19. tnum列表数字,替换为等宽数字
  20. vert竖排替换,东亚特性
  21. vrt2竖排旋替,同上,希望不旋转地解决西文竖排
  22. vkrn竖排字距,同上,希望借以解决西文竖排,本字体用于竖排标点挤压(测试)
  23. zero换斜杠〇,只要让0相对o区别更明显即可,不一定划斜杠
  24. SVS,本字体目前支持的标准变体序列(变体选择符,非OT特性)
  25. CQBL此为自定义特性,仅此字体支持,尽可能还原字形为曹全碑原状
    • 即一对一替换到私用区U+E100~E45F,网页CSS写法:font-feature-settings:'CQBL';

如果你的软件无法调用以上这些特性,可以尝试手动解决,比如某些特性只是自动替换字形,那么可以直接到字形列表.txt复制替换后的字形。

预期特性

  • mark标记定位,西文变音或假名浊点用的特性,本字体当然要支持汉语拼音
  • qwid四分字宽,本字体可能仅用于¼EM宽数字
  • twid三分字宽,本字体可能仅用于⅓EM宽数字
  • ss01样式集#,本字体计划支持到ss16
  • vhal字高半角,东亚特性,仅调整单个东亚标点上下边距,本字体用于竖排标点挤压
  • vpal字高比例,同上,仅调整单个字面上下边距

docs

曹全碑文宽泛统计.txt

为便于指明字体源文件里某字形出典而作。

  • 该文本为逐字统计某字出现次数和序数,且不区分异体(如 𣍘都算作),只区分个别写法完全不同的多对一简体: 。至于全部区分的文件,自然是“…严格统计.txt”……
    • 曹×6表示碑阳共出现6次「曹」(复字)且在碑文中第一次出现,该个字形在源文件里记作曹1
    • 全_1表示仅出现一次(孤字),字形记作不用数字区分。
    • 曹02则是计序,这个字形记作曹2
      • 注1:为了对齐,仅计次用的17进制,之×H之×17,字形记作之1。顺带:B=11,C=12。
      • 注2:怀_2是特例,字形记作,按碑上下文看,可当作褱×2(字形记作)的异体。
  • 碑外字(曹全碑未出现的汉字)用+号强调,如「碑」字记作碑+,我将优先制作 隶\隸 綿
    • 2022-7-7注:碑+ 隸+已经制作了。
  • 每行|后方为注释。表示差不多同义,表示错别字,表示可能是别字。顺带,百度百科错误太多。
  • 当前字形制作优先级:孤字清晰 > 复字择优 > 孤字破损 > 碑外造字。
  • 个人原创汉字字体十分艰巨,若有感兴趣的同好来帮忙,除了字形列表列举的,该文本未列出的也就是我目前不会做的字,可以避免撞车。

字形列表.txt

字体里存在的字形一览,每行一个字形。

  • 字形命名详见宽泛统计.txt,以;隔开备注。
  • tab符之后的是对应字符,某些是一对多。无tab符则表示该字形无对应字符,或需OT特性来调用。
  • 私用区U+E100~EFFF主要用于放汉字变体。
    • 碑文出现最多的字有17次,索性将每字变体上限设为16个,放在私用区的U+E460~EFFF便于排版功能欠缺的软件复制用。为每个字保留一整段码位,规律为某字1~15对应到U+Exx1~ExxF某字16放在U+Exx0(虽然不至于做这么多变体…)……而xx的值,先做先得。当然这样地挥霍码位,若未来私用区不够使,增补私用区也行……该区的字形与原碑不重复。
    • 私用区的U+E100~E45F为原碑字形逐字备份(除了缺损未作和未调整的),为那些追求碑文保持大小不一原状的人保留。
  • 私用区U+E020~E07F留空给ASCII字符变体(对应U+20~7F,我的Monu系列就是这样)。U+E000~E0FF的剩余空间或摆放fwid hwid twid qwid等其它西文排版特性用的字符,其中U+E018~E01F留给中文弯引号(对应U+2018~201F,我的Ctrl Zpix类似这样)
    • U+E0A0~E0A2、U+E0B0~E0B3或留空以避让Powerline符号。
    • 本字体是扁体,正常弯引号比半角一半还窄,若做成全角,那左右空隙实在太大了,因此无论调fwid hwid都是中文的半角弯引号。
  • 私用区剩下部分,其中U+F000~F0FF留空给东亚排版变体(如竖排标点和假名,对应U+3000~30FF,虽然Monu系列用的是U+E341~E3FC)。至于竖排ASCII字符,就让全角字符兼用罢。
  • 数字(Figures)样式缩写对应特性连招和含义——
    • onum pnum osf:OldStyle,比例古典,即本字体默认样式。例外:本字体6 8的osf等同lf样式
    • lnum tnum tf:Tabular,等宽平齐,例外:本字体tf等同半角(hwid),6的tf等同osf样式
    • onum tnum tosf:等宽古典,例外:本字体tosf也等同半角,6 8的tosf等同tf样式
    • lnum pnum lf:Lining,比例平齐
    • zero *num zer0︀:斜杠〇(0̸)