사용자 정의 글꼴에만 적용되도록 사용자 정의 하이픈 넣기 규칙 세트를 지정하는 방법은 무엇입니까?

사용자 정의 글꼴에만 적용되도록 사용자 정의 하이픈 넣기 규칙 세트를 지정하는 방법은 무엇입니까?

저는 가상 언어의 문법을 작성 중이며 이 언어에 맞게 작성된 사용자 정의 글꼴을 가지고 있습니다. 글꼴에는 문자와 합자를 이전 문자에 겹쳐서 더 작은 글리프 세트로 더 복잡한 "문자"를 만드는 시스템이 있습니다. LaTeX가 이전 단어를 오버레이해야 하는 문자 앞에 단어를 하이픈으로 연결하면 매우 나빠 보입니다. 나는 알아차릴 때 깨지는 특정 단어 주위에 \mbox를 수동으로 배치하여 이 문제를 "해결"해왔지만 분명히 이것이 영구적인 수정은 아닙니다. 이 사용자 정의 글꼴로 작성된 텍스트에만 적용되는 사용자 정의 하이픈 넣기 규칙 세트를 지정하려면 어떻게 해야 합니까? "어떠한 단어에도 하이픈을 넣지 않고 공백에만 줄 바꿈"과 같은 간단한 규칙도 작동하지만 일반 영어 텍스트에도 정상적으로 하이픈을 넣기를 원합니다. 중요한 것은 글꼴에도 많은 합자가 있지만 LaTeX가 합자를 형성해야 하는 두 문자 사이에 단어를 하이픈으로 연결하려고 시도하는 것을 아직 보지 못했습니다.

답변1

글꼴을 전환할 때 기존의 하이픈 언어나 사용자 정의 패턴을 정의한 언어 중 하나를 새 언어로 전환하세요. Luatex 로딩 패턴을 사용하지 않는 한 일반 tex 실행에 패턴을 로드할 수 없으므로 사용자 정의 형식을 구축해야 합니다.

\hyphenation기본적으로 하이픈을 사용하지 않는 패턴을 사용하지 않고 하이픈 을 허용하려는 단어에 사용하는 것이 가장 쉽습니다 .

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

로그를 보여줍니다

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

새 언어에서는 하이픈 지점을 지정하는 단어를 제외하고 모든 하이픈이 비활성화되어 있음을 보여줍니다.

관련 정보