Open tanukihee opened 4 years ago
这部分应该是 @clerkma 维护,你也可以直接报告给 LuaTeX-ja: https://osdn.net/projects/luatex-ja/ticket/
收到,我这两天更新。
修了,在下个版本里面应该就可以用了。有其他的改进可以在本帖继续附言。
仍然是关于标点挤压的一个问题想请教一下(也在 osdn 上发了)。
目前的 jfm.lua 似乎只能设置分别设置一个字符与后一个字符之间的间距,例如对于汉字中间夹杂的居中标点,前后的间距可以不同,这样可以更方便满足 JIS「中点处在行末时,中点前四分空,中点后密排」的规定。但是在中文中,中点前后的间距则需要相同了,也即行末密排时,中点前也应该密排。那么在设定好汉字与中点、中点与汉字间插入的胶都为 {0.25, 0, -0.25}
的前提下,行中最后一个中点与行末的间距为 0\zw
,这时如何改变中点与倒数第二个汉字间的间距也为 0\zw
呢?换句话说,有没有办法在 jfm 中临时改变一个字符与前一个字符的间距呢?
更新: LuaTeX-ja 的 h7k さん(北川弘典)说要做到如下图中的行中 b1 行末 a2(即需要效果)较为困难……希望以后有机会再追加相关功能吧
不过,一般实践中,间隔点不会出现在行末。 即使出现在行末,也一定会修改的,因为从语义上,间隔点不代表意思上的间断。
简中中只有间隔号,还有 luatexja-adjust
加成,但繁中中的标点都是居中的(括号除外),这个时候需要调整的话就有点麻烦了……
不过似乎繁中并不怎么搞行末半角……若要调整也是优先只抹掉右边的四分空,搞「四分之三角」,若是只有简中考虑这个问题的话,便也不是什么大问题了😂
在 8/8 与 8/9 的更新中,似乎中文的 jfm 并未修改?我参考 clreq 手写了几份 jfm(分别包括简中的全角、半角、开明的横排与竖排),上传上来(主要是不会在 OSDN 上 PR)
同时我在 jfm 里也使用了 priority
功能,设置标点挤压时,优先挤压括号间隔号等标号、再挤压逗号顿号冒号分号、最后挤压句号问号感叹号。也许 ctex 在调用 luatexja 时可以考虑同时调用 luatexja-adjust?
clreq就不要看了,没什么用的。 繁体中文那个,其实写不写无所谓(写了的话,当然还涉及到比较大的测试量)。 从2012年至今,我没看见什么台湾的香港的的用户提到或者反馈上来。 所以是不是他们真有这些习惯,是不知道的。 中文字体的标点符号,不同厂商做出来的默认的outline的大致位置是不太一样的。 以至于,所有的JFM在使用上,都可能会出现一些小问题(也没完美的办法动态算出来)。 我是十分推荐用户直接使用JIS那个风格的标点处理。 国内的那些标点压缩实际上是历史包袱,搞成这样,只能说是工业化还没完成(我也不知道最后能不能完成)。
jis 确实好,但居中的冒号分号、全宽的问号叹号却不能很好地适用于简中——这几个还是中文常用标点呢(日文却不常用)
港台的标点挤压确实混乱,印刷品里多是全角中点+半角括号的组合
工业化还没完成,但也许最少得需要一个能模仿 word 的实现?
在研究 LuaTeX-ja 中的标点挤压时,发现其中也有几份中文的挤压规则,但似乎也有一些问题,主要在
banjiao
与kaiming
中。仅举一例如下开明中
汉字(
[0]
)与中点([3]
)之间的胶为0.125\zw plus 0\zw minus 0.125\zw
,但按开明式标点「行间标点占半宽」要求,其中插入的胶应该为0\zw plus 0.25\zw minus 0\zw
,即同时,对于开标点(
[1]
),汉字与其间的胶应该为{0, 0.5, 0}
,但设置的是{0.5, 0, 0.5}
,且将其注释掉了。我有兴趣对此部分进行完善,但并不清楚是谁在维护这一部分,日语水平也不够高,只能先在此处反应了……