其实是想安利 汉字标准格式 这个汉字排版框架。问题在于页面加载渲染的时候还是有点卡,尤其是页面元素比较多的时候,有的浏览器甚至会崩。
于是我写了个 Hexo 插件,在服务器端完成渲染,浏览器端就不需要引用它的 js 文件了。效果好,速度还快。
GitHub 传送门
渲染效果可以参见 我的博客。我比较在意的是中西文间隙、标点符号修正、标点符号挤压和标点符号悬挂这几点,着重号之类的不怎么用,音标什么的就更不用说了。
关于 Unicode 编码下中西文标点符号的坑,欢迎移步之前写的《使用 “汉字标准格式” 更好地排版中文》。
如果想用在自己的应用里也没问题,我把渲染的部分提取出来发布成单独的 package 了。
又一个 GitHub 传送门
CNode 的第一帖,求测试和拍砖。
另外,CNode 的字体族回退有点问题,<body>
的 font-family
没有做无衬线体(sans-serif)的回退,导致没有前面几个字体的系统下回退到了衬线体,不知能否修复。
赞一个,我也一直觉得中文排版是被忽视了很久的问题。
我也在用啊!tuzhii.com。不过不知道怎么优化 From Noder
已加精
太赞了
中西文间隙
已经习惯了在中英文间加空格怎么办?被渲染出来会不会间隙特别大?
@xadillax 谢谢加精。如果手动加空格就不会处理了。
按照官方文档的说法,加的间隙基本上是 0.25em 宽,相比一般字体里的空格稍窄一些。
https://tonicdev.com/lujjjh/57a2b5b75193441300d0217e
可以对比一下区别,上面是汉字标准格式加的间隙,下面是手动加空格。clone 之后也可以直接编辑运行。
汉字标准格式的作者也在着手移植服务端版本,这个版本会比现在用 jsdom 更快。我已经 star + watch 了。
已置顶
👍 From NeoReader