lxgw / LxgwWenKai

An open-source Chinese font derived from Fontworks' Klee One. 一款开源中文字体,基于 FONTWORKS 出品字体 Klee One 衍生。
https://lxgw.github.io/2021/01/28/Klee-Simpchin/
SIL Open Font License 1.1
17.34k stars 503 forks source link

为全角标点添加 halt feature(可变为半角标点) #104

Closed ouuan closed 1 year ago

ouuan commented 1 year ago

希望能为全角标点添加 halt feature。

一个使用场景是在 CSS 中使用 font-feature-setings 来将全角标点变为半角显示,从而可以实现标点挤压。(网页标点挤压也有其他实现方式,但通过 font feature 来实现遇到的问题会相对较少,其他解决方式更像是 workaround。)

思源宋体支持 halt 和 palt 两个 feature,对于常见的全角标点效果貌似是一样的,所以也可以考虑同时添加 palt feature。

我自己简单尝试了一下为几个标点添加 halt feature,即在 ufo 的 features.fea 中添加下面的内容:

feature halt {
  position \uFF0C <0 0 -500 0>;
  position \u3002 <0 0 -500 0>;
  position \uFF08 <-500 0 -500 0>;
  position \uFF09 <0 0 -500 0>;
} halt;

效果如图所示:

demo

lxgw commented 1 year ago

由于更新涉及 20 个以上的字体文件,故尚无修改 OpenType 特性的计划。

yisibl commented 5 months ago

随着 Chrome 123 正式发布了CJK 字体的「标点挤压功能」,越来越多的用户可以享受到这一改进。但目前 Chrome 中的该功能依赖字体具有 haltchws 特性,所以强烈建议重新考虑该功能。

https://twitter.com/yisibl/status/1764871494293979147