Para el siguiente caso,
% !TeX program = xelatex
\documentclass[12pt]{article}
\usepackage{fontspec}
\begin{document}
\hsize =2in
shelf{}ful shelf{}ful shelf\-ful di\discretionary{f-}{fi}{f\kern0ptfi}cult
\end{document}
Yo obtengo,
En realidad, si hay un kern
seguido de algo en el tercer argumento de \discretionary
, las letras después desaparecen, pero cuando no uso el paquete fontspec
, nada sale mal. ¿Es esto un error?
Respuesta1
Esto parece un error en XeTeX. Si hay algo que no es una letra en el argumento "nobreak" \discretionary
y se toma un descanso, la parte de la palabra que sigue a discrecional desaparece.
Ejemplo mínimo:
\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
Compile con xetex
y el resultado es
Si se compila con pdftex
obtenemos el resultado esperado: