잘못된 텍스트 레이어. Fontforge와 {xe|lua}latex의 커닝이 일치하지 않습니다.

잘못된 텍스트 레이어. Fontforge와 {xe|lua}latex의 커닝이 일치하지 않습니다.

입력에서 실행 xelatex(또는 )lualatex

\documentclass{standalone}
\usepackage{unicode-math}
\setmathfont[Ligatures=TeX]{texgyretermes-math.otf}
\begin{document}
\(\{f\}\)
\end{document}

어떤 형태로든 생산해야 한다

{에프}

PDF의 텍스트 레이어에 있습니다. 그러나 그것은 생산한다

{f }

f와 } 사이에 공백이 있습니다. 이런 공간이 있어서는 안 됩니다. 그것을 제거하는 방법?

보이는 출력은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

보시다시피 PDF에서 왼쪽 중괄호와 f가 겹칩니다. 그러나 Fontforge로 글꼴을 열고 플로린이 있는 왼쪽 중괄호를 측정 항목 창에 넣으면 겹치지 않습니다! 출력이 일관되지 않습니다. 내가 무엇을 놓치고 있나요? "{ 발생에 대해 커닝을 적절하게 늘리는 방법에프" 내 거대한 문서(MWE가 아님)에?글꼴을 직접 개선해 보세요(과거 개발자들은 비슷한 요청에 반응하지 않았지만) 지금까지는 아무런 진전도 없었습니다...

답변1

PDF의 "텍스트 레이어"에 있는 공백은 PDF 뷰어의 경험적 방법에 의해 삽입됩니다. f와 사이에 약간의 거리가 있기 때문입니다 }. 장기적으로 태그가 붙은 PDF 파일은 이 문제를 해결해야 하지만 특히 수학 공식의 경우에는 범위를 넓힐 수 없습니다. 따라서 단기적으로는 eg를 사용하여 모든 수학 공식에 대체 텍스트를 지정하거나 repltext이 공간과 함께 생활합니다.

FontForge의 "불일치"에 관해: 플로린 기호(U+0192)와 수학 이탤릭체 소문자 f(U+1D453)는 동일한 문자가 아닙니다. FontForge에서 두 가지를 비교하면 TeX에서와 동일한 모양이 표시됩니다.

(수학적 이탤릭체 소문자 F 먼저, 플로린 두 번째)

여기에 이미지 설명을 입력하세요

그러나 일반적으로 Math 출력에는 FontForge의 메트릭 창을 권장하지 않습니다. 왜냐하면 Math는 일반 텍스트와 같은 방식으로 형식이 지정되지 않기 때문입니다. 특히 이 경우와 같은 "고전적인 커닝"은 실제로 존재하지 않습니다. 왜냐하면 {및는 f별도의 개체이지 단어의 일부도 아니기 때문입니다.

물론, 수학적인 f보다 플로린 기호를 선호한다면 다음을 사용할 수 있습니다.

\Umathcode`\f 7 0 "192

그런 다음 \begin{document}LaTeX는 수학 모드에서 "f"에 대해 U+1D453 대신 플로린 기호를 삽입합니다. 한 가지 단점은 텍스트 레이어에 플로린 기호도 포함된다는 것입니다. U+1D453FontForge에서 직접 수정할 수도 있습니다 .

관련 정보