答案1
這似乎是 XeTeX 中的一個錯誤。如果「nobreak」參數中存在不是字母的內容並且\discretionary
進行了中斷,則可自由裁量後面的單字部分將消失。
最小的例子:
\input ifxetex.sty
\ifxetex
\font\test="Latin Modern Roman:mapping=tex-text" at 12pt
\else
\font\test=ec-lmr12
\fi
\test
\hsize =2in \advance\hsize by 11pt
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f\kern0ptfi}cult task
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f\/fi}cult task
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f{}fi}cult task
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{ffi}cult task
di\discretionary{f-}{fi}{ffi}cult task
\bye
編譯xetex
,結果是
如果用它來編譯pdftex
我們會得到預期的結果: