Skip to content

Commit

Permalink
v0.008
Browse files Browse the repository at this point in the history
  • Loading branch information
MY1L authored Aug 28, 2022
1 parent 872db50 commit 7cfaf50
Show file tree
Hide file tree
Showing 3 changed files with 213 additions and 115 deletions.
Binary file modified CoQuBeLi.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
49 changes: 33 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# 曺全碑隸 (暂名)
起初是想找点免费美观的隶书字体,没找到合适的,于是创建了个开源「黑体汉隶」计划,相当于复刻曹全碑。

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

![曹全碑隶](CoQuBeLi.png)

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

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

[…宽泛统计.txt](docs/曹全碑文宽泛统计.txt) 等文件列出字符对应碑阳具体的哪个字形。

Expand All @@ -17,39 +17,46 @@
- 2022-7-26 v0.003:更新及修正,添加`kern`
- 2022-8-6  v0.005:更新及修正、调整x字高,添加`ccmp` `hwid` `ital` `vert`;修正`…宽泛统计.txt`
- 2022-8-10 v0.006:更新及改善笔画细节,添加`cpct` `vkrn`;字体在文件管理器中缩略图或显示为`文字美`
- 2022-8-18 v0.007:更新及改善,添加`aalt` `calt` `halt` `palt` `salt` `vrt2` `zero`;支持变体选择符,详见[.uvs文件][uvs]
- 2022-8-18 v0.007:更新及改善,添加`aalt` `calt` `halt` `palt` `salt` `vrt2` `zero`;支持[VS][uvs]
- 2022-8-28 v0.008:更新及改善,添加`case` `liga` `lnum` `onum` `pnum` `tnum`

## 已有特性
- `aalt`替换全览,本字体用于列某汉字的所有变体
- `calt`语境替换,根据上下文替换字形,类同[我的Monu][Monu]`Qu`相遇处理
- `case`注重大写,标点垂直位置区分大小写、数字改大写形式等,西文特性
- `ccmp`字形重组,例如用于连续且不顶格的破折号、居中省略号 ~和变体选择符~
- `cpct`标点居中,东亚特性
- `cpct`标点居中,替换居中的标点,东亚特性
- `fwid`全角字宽,替换字形,差不多算是东亚的西文特性
- `hwid`半角字宽,同上
- `pwid`比例字宽,同上,基本上是西文特性
- `halt`字宽半角,东亚特性,仅调整单个东亚标点左右边距,本字体用于标点挤压
- `palt`字宽比例,同上,仅调整单个字面左右边距,本字体用于挤近全角英文
- `ital`意大利体,东亚的西文特性,本字体用于将`「」`转为顺笔方向的半角`⸤⸣`(测试)
- `kern`调字偶距,基本上是西文特性,本字体用于标点挤压(适用排版功能欠缺的软件)
- `ital`意大利体,东亚的西文特性,本字体用于将`「」`替换为顺笔方向的半角`⸤⸣`(测试)
- `kern`调字偶距,基本上是西文特性,本字体也用于标点挤压(适用排版功能欠缺的软件)
- `liga`标准连字,默认开启,例如~ABAJ→啊~ `f​i```
- `lnum`平齐数字,替换数字字形
- `onum`古典数字,同上,数字高低不平,宛如小写字母
- `pnum`比例数字,替换为不等宽数字
- `tnum`列表数字,替换为等宽数字
- `salt`样式替换
- `vert`竖排替换,东亚特性
- `vrt2`竖排旋替,同上,希望不旋转地解决西文竖排
- `vkrn`竖排字距,同上,希望借以解决西文竖排,本字体用于竖排标点挤压(测试)
- `zero`换斜杠〇
- [SVS](http://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt),本字体[目前支持的标准变体序列][uvs](非OT特性)
- `zero`换斜杠〇,只要让`0`相对`o`区别更明显即可,不一定划斜杠
- [SVS](http://unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt),本字体[目前支持的标准变体序列][uvs](变体选择符,非OT特性)

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

## 预期特性
- `dlig`酌情连字,默认关闭,例如`!?```
- `liga`标准连字,默认开启,例如~ABAJ→啊~ `f​i```
- `mark`标记定位,西文变音或假名浊点用的特性
- `qwid`四分字宽,¼EM宽数字
- `twid`三分字宽,⅓EM宽数字
- `qwid`四分字宽,本字体可能仅用于¼EM宽数字
- `twid`三分字宽,本字体可能仅用于⅓EM宽数字
- `ss01`样式集#,本字体计划支持到`ss16`
- `vhal`字高半角,东亚特性,仅调整单个东亚标点上下边距,本字体用于竖排标点挤压
- `vpal`字高比例,同上,仅调整单个字面上下边距
<!--
- `pnum`比例数字
- `tnum`列表数字
- `hist`
-->

## docs
Expand All @@ -62,7 +69,7 @@
- `曹02`则是计序,这个字形记作`曹2`
- 注1:为了对齐,仅计次用的17进制,`之×H``之×17`,字形记作`之1`。顺带:B=11,C=12。
- 注2:`怀_2`是特例,字形记作``,按碑上下文看,可当作`褱×2`(字形记作``)的异体。
- **碑外字**曹全碑未出现的字)用`+`号强调,如「碑」字记作`碑+`,我将优先制作`` `隶\隸` `綿` ``
- **碑外字**曹全碑未出现的汉字)用`+`号强调,如「碑」字记作`碑+`,我将优先制作`` `隶\隸` `綿` ``
- 2022-7-7注:`碑+` `隸+`已经制作了。
- 每行`|`后方为注释。``表示差不多同义,``表示错别字,``表示可能是别字。顺带,百度百科错误太多。
- 当前字形制作优先级:孤字清晰 > 复字择优 > 孤字破损 > 碑外造字。
Expand All @@ -72,8 +79,18 @@
字体里存在的字形一览,每行一个字形。
- 字形命名详见`宽泛统计.txt`,以`;`隔开备注。
- `tab符`之后的是对应字符,某些是一对多。无`tab符`则表示该字形无对应字符,或需OT特性来调用。
- 碑文出现最多的`之(U+4E4B)`字有17次,索性将每字变体上限设为16个,放在私用区(主要是U+E100~E2FF、U+E400~EFFF)便于排版功能欠缺的软件复制用。为每个字保留一整段码位,规律为`某字1~15`对应到`U+Exx1~ExxF``某字16`放在`U+Exx0`(虽然不至于做这么多变体…)。至于`之17`就随便找个之字异体对应,如`𠔇U+20507`……而`xx`的值,先做先得。当然这样地挥霍码位,若未来私用区不够使,用上增补私用区也行……
- 因上述理由,私用区的U+E020~E07F留空给ASCII字符变体(对应U+20~7F,我的[Monu系列][Monu]就是这样)。U+E000~E0FF的剩余空间或摆放`fwid` `hwid` `twid` `qwid`等特性用的字符,其中U+E018~E01F放置8个全角弯引号(对应U+2018~201F,我的[Ctrl Zpix](https://github.com/MY1L/Ctrl)就是这样)。U+E300~E3FF为竖排标点和假名(对应U+3000~30FF,[Monu系列][Monu]也是)留空,至于竖排ASCII字符,就让全角字符兼用罢。
- 私用区U+E100~EFFF主要用于放汉字变体。
- 碑文出现最多的`之(U+4E4B)`字有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系列][Monu]就是这样)。U+E000~E0FF的剩余空间或摆放`fwid` `hwid` `twid` `qwid`等其它西文排版特性用的字符,其中U+E018~E01F留给中文弯引号(对应U+2018~201F,我的[Ctrl Zpix](https://github.com/MY1L/Ctrl)类似这样)
- 本字体是扁体,正常弯引号比半角一半还窄,若做成全角,那左右空隙实在太大了,因此无论调`fwid` `hwid`都是中文的半角弯引号。
- 私用区剩下部分,其中U+F000~F0FF留空给东亚排版变体(如竖排标点和假名,对应U+3000~30FF,虽然[Monu系列][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̸)

[Monu]: https://github.com/MY1L/QuQi
[uvs]: docs/CoQuBeLi.uvs
Expand Down
Loading

0 comments on commit 7cfaf50

Please sign in to comment.