Prettier V3 中英文之间不支持空格

Prettier V3 中英文之间不支持空格

最近在做 blog 依赖升级,使用 pnpm update --latest 升级完所有的依赖后,发现 prettier@3 不再支持盘古之白(分隔中文与英语的空白间隔)

解决办法

参考官网,如果需要一个强制间距样式的工具,请考虑 textlint-jalint-md(规则 space-round-alphabetspace-round-number),需要引入额外的插件配置,配不动了,因此我选择降级至 prettier@2.8.8,没啥太大影响,后续可能会再次升级。

额外补充

按照w3c标准,

In horizontal writing mode, the basic approach uses proportional fonts to represent Western alphas and uses proportional or monospace fonts for European numerals. In principle, there is tracking or spacing between an adjacent Han character and a Western character of up to 1/4 em, except at the line start or end.
横排时,西文字母使用比例字体;阿拉伯数字则常用比例字体或等宽字体。原则上,汉字与西文字母、数字间使用不多于四分之一个汉字宽的字距或空白。但西文出现在行首或行尾时,则无须加入空白。

看其意思,应该也是需要空格的(or 间距)。

按照 中华人民共和国新闻出版行业标准 CY/T 154—2017 号《中文出版物夹用英文的编辑规范》第 8.1 节

中文文本中夹用英文时,应根据所选用的中英文字体、字符间距以及排版的视觉效果决定英文词句与中文文字之间是否留有空格间距。如留空格,应保证体例的统一。

借鉴知乎上 - 梁海的回答

我坚持要在混排中加空格,主要是我觉得两种文字的交界处应该是个尽量平滑的过渡,尽量满足双方文字的需求,并且让文本的节奏尽量平稳

混排加空格主要是为了顺滑!视觉美化

另外如果需要加空格,这事也不该由写作者自己输入,工具该自动化执行。

参考链接

Prettier V3 中英文之间不支持空格

https://hailangya.com/articles/2024/03/30/prettier-lint-space/

作者

Sea

发布于

2024-03-30

更新于

2024-03-30

许可协议

评论