¿Cómo especificar un conjunto personalizado de reglas de separación de palabras para que se apliquen solo a una fuente personalizada?

¿Cómo especificar un conjunto personalizado de reglas de separación de palabras para que se apliquen solo a una fuente personalizada?

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 \hyphenationpara 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

información relacionada