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

[ptex] 最初・末尾が JFM グルー・カーンであるボックス #86

Open
h-kitagawa opened this issue Aug 1, 2019 · 3 comments
Labels

Comments

@h-kitagawa
Copy link
Member

「文字タイプ 0 の文字」との間に JFM グルー(やカーン)が設定されている文字がボックスの最初・末尾に来た場合の処理が,グルーかカーンかによって異なります.

例として,gist を作りました.Γ は前後の「文字タイプ 0 の文字」との間にカーン,γ はグルーを入れるようにしていますが,

> \box0=
\hbox(8.99998+1.0)x14.15001, yoko direction
.\displace 0.0
.\tenrm a
.\hbox(8.99998+1.0)x4.14998, yoko direction
..\kern-3.14001
..\displace 0.0
..\test Γ
..\kern-2.71
.\tenrm a

! OK.
\out #1->\setbox 0=\hbox {#1}\showbox 0

l.10 \out{a\hbox{Γ}a}
                      % ボックス周囲に xkanjiskip なし
?
> \box0=
\hbox(8.99998+1.0)x22.40556, yoko direction
.\displace 0.0
.\tenrm a
.\glue(\xkanjiskip) 2.40553 plus 1.0 minus 1.0
.\hbox(8.99998+1.0)x10.0, yoko direction
..\displace 0.0
..\test γ
..\glue(refer from jfm) 0.0
.\tenrm a

! OK.
\out #1->\setbox 0=\hbox {#1}\showbox 0

l.13 \out{a\hbox{γ}a}
                       % ボックス前のみ xkanjiskip

とグルーかカーンか,さらにグルーの場合は前後で [x]kanjiskip の入り方が異なります.

@h-kitagawa
Copy link
Member Author

以下,補足&私が感じている疑問点です.

.\tenrm a
.\hbox(8.99998+1.0)x4.14998, yoko direction
..\kern-3.14001
..\displace 0.0
..\test Γ
..\kern-2.71
.\tenrm a

TFM 由来のカーンと JFM 由来のカーンとは区別できないので,ボックス内の先頭・末尾の JFM 由来カーンを消去しないというのは納得ができます.しかし,「フォント由来の自動的に挿入されるカーンのおかげでボックスの周囲に [x]kanjiskip が入らなくなる」というのが気になります.

.\tenrm a
.\glue(\xkanjiskip) 2.40553 plus 1.0 minus 1.0
.\hbox(8.99998+1.0)x10.0, yoko direction
..\displace 0.0
..\test γ
..\glue(refer from jfm) 0.0
.\tenrm a

「ボックス内の先頭のノードが JFM 由来のグルーの場合はそれを消し,最後のノードが JFM 由来のグルーの場合はゼロにする」というコードは,少なくとも pTeX j1.7e p1.0.9F (1992-01-21) 以降にあります.

  • なぜ先頭・末尾で扱いを変えたのかわかりません.
  • カーンのときと同様で,「フォント由来の自動的に挿入される JFM グルーのおかげでボックスの直後に [x]kanjiskip が入らなくなる」というのが気になります.

@aminophen
Copy link
Member

TFM 由来のカーンと JFM 由来のカーンとは区別できない

glue_kern と lig_kern の処理は完全に別実装なので,必要があれば区別は出来そうです。(たしか #52 の頃に似た話が合った気がする)

「ボックス内の先頭のノードが JFM 由来のグルーの場合はそれを消し,最後のノードが JFM 由来のグルーの場合はゼロにする」

#25 の話ですね。私も疑問です。

@aminophen
Copy link
Member

aminophen commented Aug 2, 2019

「フォント由来の自動的に挿入される JFM グルーのおかげでボックスの直後に [x]kanjiskip が入らなくなる」というのが気になります.

私も疑問ではありますが,最近は jlreq クラスの (u)pTeX 用メトリクスのように「始め括弧類の後・終わり括弧類の前」のような「[x]kanjiskip を入れたくない場所に JFM グルーを入れてある例」もある(“たぶん意図はそうだろう”と私が勝手に推測しているにすぎませんが)ので,単に変えれば解決というわけでもないと思っています。

aminophen pushed a commit that referenced this issue Jun 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants