Como especificar um conjunto personalizado de regras de hifenização para aplicar somente a uma fonte personalizada?

Como especificar um conjunto personalizado de regras de hifenização para aplicar somente a uma fonte personalizada?

Estou criando uma gramática de um idioma fictício e criei uma fonte personalizada para esse idioma. A fonte possui um sistema onde caracteres e ligaduras se sobrepõem ao caractere anterior para criar “caracteres” mais complicados com um conjunto menor de glifos. Se o LaTeX hifenizar uma palavra antes de um caractere que deveria se sobrepor ao anterior, ficará muito ruim. Tenho "resolvido" isso colocando manualmente \mbox em torno de palavras específicas que são quebradas quando as percebo, mas obviamente esta não é uma solução permanente. Como posso especificar um conjunto personalizado de regras de hifenização que se aplica apenas ao texto escrito nesta fonte personalizada? Mesmo uma regra tão simples como "não hifenize nenhuma palavra e apenas quebre linhas em espaços" funcionaria, no entanto, quero que o texto normal em inglês seja hifenizado normalmente. Se for importante, a fonte também contém muitas ligaduras, mas ainda não notei o LaTeX tentando hifenizar uma palavra entre dois caracteres que precisam formar uma ligadura.

Responder1

Ao mudar a fonte, mude também para um novo idioma, seja um idioma sem hífen existente ou um idioma para o qual você definiu padrões personalizados. A menos que você esteja usando padrões de carregamento luatex, é necessário construir um formato personalizado, pois você não pode carregar padrões em uma execução normal de tex.

Provavelmente é mais fácil não usar padrões, o que seria padrão para nenhuma hifenização, e então usar \hyphenationpara palavras onde você deseja permitir hifens.

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

mostra um 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 no novo idioma toda hifenização está desabilitada, exceto palavras onde você especifica pontos de hifenização

informação relacionada