Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LuaLaTeX 下的 ctex #513

Open
tanukihee opened this issue May 24, 2020 · 11 comments
Open

LuaLaTeX 下的 ctex #513

tanukihee opened this issue May 24, 2020 · 11 comments

Comments

@tanukihee
Copy link
Contributor

在研究 LuaTeX-ja 中的标点挤压时,发现其中也有几份中文的挤压规则,但似乎也有一些问题,主要在 banjiaokaiming 中。仅举一例如下

开明中

[0] = {
  glue = {
    --[1] = { 0.5 , 0.0, 0.5  },
    [3] = { 0.125, 0.0, 0.125 }
  }
},

汉字([0])与中点([3])之间的胶为 0.125\zw plus 0\zw minus 0.125\zw,但按开明式标点「行间标点占半宽」要求,其中插入的胶应该为 0\zw plus 0.25\zw minus 0\zw,即

glue = {
  [3] = {0, 0.25, 0}
}

同时,对于开标点([1]),汉字与其间的胶应该为 {0, 0.5, 0},但设置的是 {0.5, 0, 0.5},且将其注释掉了。

我有兴趣对此部分进行完善,但并不清楚是谁在维护这一部分,日语水平也不够高,只能先在此处反应了……

@qinglee
Copy link
Member

qinglee commented May 24, 2020

这部分应该是 @clerkma 维护,你也可以直接报告给 LuaTeX-ja: https://osdn.net/projects/luatex-ja/ticket/

@clerkma
Copy link

clerkma commented May 24, 2020

收到,我这两天更新。

@clerkma
Copy link

clerkma commented May 26, 2020

修了,在下个版本里面应该就可以用了。有其他的改进可以在本帖继续附言。

@tanukihee
Copy link
Contributor Author

tanukihee commented May 26, 2020

仍然是关于标点挤压的一个问题想请教一下(也在 osdn 上发了)。

目前的 jfm.lua 似乎只能设置分别设置一个字符与后一个字符之间的间距,例如对于汉字中间夹杂的居中标点,前后的间距可以不同,这样可以更方便满足 JIS「中点处在行末时,中点前四分空,中点后密排」的规定。但是在中文中,中点前后的间距则需要相同了,也即行末密排时,中点前也应该密排。那么在设定好汉字与中点、中点与汉字间插入的胶都为 {0.25, 0, -0.25} 的前提下,行中最后一个中点与行末的间距为 0\zw,这时如何改变中点与倒数第二个汉字间的间距也为 0\zw 呢?换句话说,有没有办法在 jfm 中临时改变一个字符与前一个字符的间距呢?

更新:
LuaTeX-ja 的 h7k さん(北川弘典)说要做到如下图中的行中 b1 行末 a2(即需要效果)较为困难……希望以后有机会再追加相关功能吧
image

@clerkma
Copy link

clerkma commented May 27, 2020

不过,一般实践中,间隔点不会出现在行末。
即使出现在行末,也一定会修改的,因为从语义上,间隔点不代表意思上的间断。

@tanukihee
Copy link
Contributor Author

tanukihee commented May 27, 2020

简中中只有间隔号,还有 luatexja-adjust 加成,但繁中中的标点都是居中的(括号除外),这个时候需要调整的话就有点麻烦了……

不过似乎繁中并不怎么搞行末半角……若要调整也是优先只抹掉右边的四分空,搞「四分之三角」,若是只有简中考虑这个问题的话,便也不是什么大问题了😂

@tanukihee tanukihee changed the title LuaTeX-ja 中的标点挤压(jfm) LuaLaTeX 下的 ctex Jun 16, 2020
@tanukihee
Copy link
Contributor Author

tanukihee commented Aug 9, 2020

在 8/8 与 8/9 的更新中,似乎中文的 jfm 并未修改?我参考 clreq 手写了几份 jfm(分别包括简中的全角、半角、开明的横排与竖排),上传上来(主要是不会在 OSDN 上 PR)

@tanukihee
Copy link
Contributor Author

同时我在 jfm 里也使用了 priority 功能,设置标点挤压时,优先挤压括号间隔号等标号、再挤压逗号顿号冒号分号、最后挤压句号问号感叹号。也许 ctex 在调用 luatexja 时可以考虑同时调用 luatexja-adjust?

@tanukihee
Copy link
Contributor Author

tanukihee commented Aug 10, 2020

把繁中的 jfm 也写完了,简繁横竖全角半角开明共 12 种,一并打包发上来

仓库地址

全角
image

半角
image

开明
image
(似乎无法做到 #511 中的「真・开明」

@clerkma
Copy link

clerkma commented Aug 16, 2020

clreq就不要看了,没什么用的。
繁体中文那个,其实写不写无所谓(写了的话,当然还涉及到比较大的测试量)。
从2012年至今,我没看见什么台湾的香港的的用户提到或者反馈上来。
所以是不是他们真有这些习惯,是不知道的。
中文字体的标点符号,不同厂商做出来的默认的outline的大致位置是不太一样的。
以至于,所有的JFM在使用上,都可能会出现一些小问题(也没完美的办法动态算出来)。
我是十分推荐用户直接使用JIS那个风格的标点处理。
国内的那些标点压缩实际上是历史包袱,搞成这样,只能说是工业化还没完成(我也不知道最后能不能完成)。

@tanukihee
Copy link
Contributor Author

jis 确实好,但居中的冒号分号、全宽的问号叹号却不能很好地适用于简中——这几个还是中文常用标点呢(日文却不常用)

港台的标点挤压确实混乱,印刷品里多是全角中点+半角括号的组合

工业化还没完成,但也许最少得需要一个能模仿 word 的实现?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants