
Estoy creando una gramática de un idioma ficticio y he creado una fuente personalizada para este idioma. La fuente tiene un sistema donde los caracteres y ligaduras se superponen al carácter anterior para crear "caracteres" más complicados con un conjunto más pequeño de glifos. Si LaTeX separa una palabra antes de un carácter que se suponía debía superponerse al anterior, se ve muy mal. He estado "solucionando" esto poniendo manualmente \mbox alrededor de palabras específicas que se rompen cuando las noto, pero obviamente esto no es una solución permanente. ¿Cómo puedo especificar un conjunto personalizado de reglas de separación de palabras que solo se aplique al texto escrito en esta fuente personalizada? Sin embargo, incluso una regla tan simple como "no dividir palabras con guiones y solo dividir líneas en espacios" funcionaría; sin embargo, quiero que el texto normal en inglés tenga guiones como de costumbre. Si es importante, la fuente también tiene muchas ligaduras, pero todavía no he notado que LaTeX intente dividir una palabra entre dos caracteres que necesitan formar una ligadura.
Respuesta1
Al cambiar de fuente, también cambie a un nuevo idioma, ya sea un idioma existente sin guión o un idioma para el cual haya definido patrones personalizados. A menos que esté utilizando patrones de carga luatex, es necesario crear un formato personalizado, ya que no puede cargar patrones en una ejecución de tex normal.
Probablemente sea más fácil no usar patrones, lo que por defecto sería sin separación de palabras, y luego usarlo \hyphenation
para palabras en las que desee permitir guiones.
\documentclass{article}
\showhyphens{football}% hyphenates in english
\newlanguage\something
\language\something
\showhyphens{football}% but not here
\hyphenation{foo-tball}
\showhyphens{football}% but does now
\language0
\showhyphens{football}% back to english
\begin{document}
{\language\something\ttfamily % your font
stuff here
}
\end{document}
muestra un registro
Underfull \hbox (badness 10000) in paragraph at lines 3--3
[] \OT1/cmr/m/n/10 foot-ball
Underfull \hbox (badness 10000) in paragraph at lines 6--6
[] \OT1/cmr/m/n/10 football
Underfull \hbox (badness 10000) in paragraph at lines 8--8
[] \OT1/cmr/m/n/10 foo-tball
Underfull \hbox (badness 10000) in paragraph at lines 10--10
[] \OT1/cmr/m/n/10 foot-ball
mostrando que en el nuevo idioma toda la separación de palabras está deshabilitada excepto las palabras en las que se especifican puntos de separación de palabras