글꼴의 글꼴 인코딩 설정을 수동으로 설정하는 방법은 무엇입니까?

글꼴의 글꼴 인코딩 설정을 수동으로 설정하는 방법은 무엇입니까?

합자를 포함하는 글꼴 테이블이 있는 글꼴은 물론 수학 부수, 연산자 및 적분 기호도 포함되어 있습니다. (이 질문에서 제가 보여드리는 글꼴과 다른 글꼴인데, 적분 기호가 포함되어 있지 않습니다.)

내 경우에는 "ffi" 합자와 같은 일부 문자 조합이 문자 모양 대체를 트리거하지 않습니다. 이는 글꼴 구현을 위한 pdflatex(생각 otftotfm) 솔루션과 xelatex( ) 솔루션 모두에서 발생합니다.fontspec

사용하려는 상용 글꼴이 포함된 컴파일된 결과는 다음과 같습니다( fontspec솔루션과 otftotfm).

http://i.imgur.com/I4XfJbM.png?1

XeLaTeX( fontspec)

다음에 설명된 솔루션을 실행한 후fi, fl, ffl 합자는 Times New Roman(XeLaTeX)에서 작동하지 않습니다., 합자를 트리거하려고 해도 여전히 작동하지 않습니다. 에서 언급된 에그레그채팅솔루션은 일반적으로 XeTeX문서에 대한 올바른 출력을 생성하므로 글리프는 글꼴 테이블의 올바른 위치에 있습니다. 글꼴 표에 있는 것으로 나타났습니다(Adobe Illustrator에서 가져온 스크린샷).

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

이는 그들이 올바른 위치에 있지 않다는 것을 의미합니다. 따라서 "ffi"를 입력하는 것과 이를 글꼴의 올바른 합자에 연결하는 것 사이의 링크를 수동으로 설정하는 옵션이 있는 것이 바람직합니다.

PDFLaTeX( otftotfm)

확실히 하기 위해 otftotfm다음 명령을 사용했습니다.

otftotfm -a -e ec  -fkern -fliga --verbose --vendor <mapfilename> <somefont>.otf T1--<fontname>--<fontweight>

이 명령은 합자와 관련하여 오류를 생성합니다.

otftotfm: warning: 'liga' feature ignored, not supported by font

이는 파일을 구성한 후에도 확인됩니다 .pl.

tftopl T1--<fontname>--<fontweight>.tfm > T1--<fontname>--<fontweight>.pl

합자는 실제로 거기에 없었습니다. 다음은 파일에서 가져온 것입니다 T1--<fontname>--<fontweight>.pl.

(LABEL C f)
   (KRN O 41 R 0.08)
   (KRN O 47 R 0.1)
   (KRN O 51 R 0.07)
   (KRN O 52 R 0.08)
   (KRN O 54 R -0.05)
   (KRN O 56 R -0.05)
   (KRN O 77 R 0.12)
   (KRN O 135 R 0.07)
   (KRN C a R -0.01)
   (KRN C b R 0.1)
   (KRN C c R -0.01)
   (KRN C e R -0.01)
   (KRN C g R -0.01)
   (KRN C h R 0.1)
   (KRN C i R 0.03)
   (KRN C j R 0.03)
   (KRN C k R 0.1)
   (KRN C l R 0.1)
   (KRN C o R -0.01)
   (KRN C t R 0.01)
   (KRN C v R 0.01)
   (KRN C w R 0.01)
   (KRN C y R 0.01)
   (KRN O 175 R 0.07)
   (KRN O 15 R -0.05)
   (KRN O 22 R -0.05)
   (KRN O 21 R 0.1)
   (KRN O 346 R -0.01)
   (KRN O 370 R -0.01)
   (KRN O 367 R -0.01)
   (KRN O 344 R -0.01)
   (KRN O 345 R -0.01)
   (KRN O 351 R -0.01)
   (KRN O 352 R -0.01)
   (KRN O 364 R -0.01)
   (KRN O 366 R -0.01)
   (STOP)

내가 생각할 수 있는 한 가지 방법은 사람이 읽을 수 있는 .pl파일(위의 내용은 발췌한 내용임)을 조작하고 모든 것을 수동으로 구성하는 것입니다. 그러나 아마도 (아마도?!) LaTeX에는 이런 종류의 일을 처리할 수 있는 기능이 있을 것입니다.

어쨌든 할당하는 것이 좋을 것입니다.임의의(그러나 특정) 글꼴 테이블의 문자 모양을 매우 일반적인 방식으로 특정 명령에 적용합니다. \int예를 들어 (구성된 숫자), 8진수 501, 유니코드 또는 +00a6"ffi"가 (링크로 연결됨) -->"합자 ffi"가 되는 문자 조합 에서 적분 기호를 트리거하는 것이 무엇인지 생각해보세요 . 내가 아는 한 소스의 특정 명령이나 문자 조합에 대해 256개 슬롯을 모두 선언해야 하는 필요성조차 신경 쓰지 않을 것입니다.어떻게그것을 하기 위해.

합자를 포함하는 다른 (비상업적) 글꼴을 사용하여 아래 예를 고려하십시오.http://exljbris.com/tallys.html. Windows 사용자의 경우 원하는 경우 이를 복사하여 배치 파일에 붙여넣을 수 있습니다. 정확히 관련된 부분이기 때문에 -fkern및 기능을 의도적으로 비활성화했습니다 . 내 글꼴이 글리프를 올바르게 매핑하지 않습니다.-fliga

otftotfm -a -e ec  --verbose --vendor tallys Tallys_15.otf T1--Tallys15--Regular
pause

파일 도 다음과 같습니다 t1tallys.fd.

\ProvidesFile{t1tallys.fd}
   [2015/04/30 scalable font definitions for T1/Tallys.]

\DeclareFontFamily{T1}{Tallys}{}
\DeclareFontShape{T1}{Tallys}{m}{n}{<-> T1--Tallys15--Regular}{}
\DeclareFontShape{T1}{Tallys}{m}{it}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{m}{sc}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{m}{sl}{<-> ssub * Tallys/m/n}{}

\DeclareFontShape{T1}{Tallys}{b}{n}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{b}{it}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{b}{sc}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{b}{sl}{<-> ssub * Tallys/m/n}{}

\DeclareFontShape{T1}{Tallys}{l}{n}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{l}{it}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{l}{sc}{<-> ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{l}{sl}{<-> ssub * Tallys/m/n}{}

\DeclareFontShape{T1}{Tallys}{bx}{n}{ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{bx}{it}{ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{bx}{sc}{ssub * Tallys/m/n}{}
\DeclareFontShape{T1}{Tallys}{bx}{sl}{ssub * Tallys/m/n}{}

\endinput

및 MWE( XeLaTeX이 경우에도 합자를 사용하여 올바른 결과를 생성합니다... 접근 방식을 취하고 싶다면 XeLaTeX다른 문자를 매핑하면 됩니다. 에서 이 작업을 수행하는 방법을 알고 싶습니다 XeLaTeX.)

\documentclass{article}

\usepackage{ifxetex}
\ifxetex
    \usepackage{fontspec}
    \defaultfontfeatures{Ligatures=TeX}
    \setmainfont{Tallys}
    \usepackage{microtype}
\else
    \RequirePackage[T1]{fontenc}
    \pdfmapfile{tallys.map}
    \RequirePackage{microtype}
    \renewcommand\rmdefault{Tallys}
    \renewcommand\sfdefault{Tallys}
\fi

\begin{document}
\fontsize{100pt}{0pt}\selectfont ffi fi fl ffl
\end{document}

아이디어는 여전히 문자 조합을 ffi합자에 매핑할 수 있다는 것입니다. 올바른 수학 명령에 대해 올바른 문자를 설정하는 것도 좋을 것입니다. (이것이 더 복잡하다는 것을 이해하지만 이해해 주십시오. 나는 글꼴을 완전히 매핑하고 TeX를 완전히 매핑할 수 있게 해주는 일반적인 솔루션을 찾고 있습니다. 언제 어떤 문자를 사용해야 하는지 이해하세요.) 이상적인 솔루션은 해당 작업을 완료하는 데 필요한 전체 프로세스를 설명하는 것입니다. 또한 다른 글꼴을 혼합할 가능성도 허용합니다(단일 글꼴 솔루션에 비해 너무 복잡하지는 않습니다. 단지 대답을 일반화하는 것입니다).

관련 정보