Plain TeX 또는 OpTeX와 함께 mlmodern 글꼴을 사용하는 방법은 무엇입니까?

Plain TeX 또는 OpTeX와 함께 mlmodern 글꼴을 사용하는 방법은 무엇입니까?

Plain TeX 및 OpTeX와 함께 mlmodern 글꼴을 체계적으로 사용하고 싶지만 mlmodern.sty의 코드를 tex 또는 optex 컴파일러가 이해할 수 있는 코드로 변환할 수 없습니다. 이것이 가능한가?

답변1

일반 TeX의 경우 기본적으로 plain.tex.

\font\tenrm=rm-mlmr10 % roman text
\font\preloaded=rm-mlmr9
\font\preloaded=rm-mlmr8
\font\sevenrm=rm-mlmr7
\font\preloaded=rm-mlmr6
\font\fiverm=rm-mlmr5
\font\teni=mlmmi10 % math italic
\font\preloaded=mlmmi9
\font\preloaded=mlmmi8
\font\seveni=mlmmi7
\font\preloaded=mlmmi6
\font\fivei=mlmmi5
\font\tensy=mlmsy10 % math symbols
\font\preloaded=mlmsy9
\font\preloaded=mlmsy8
\font\sevensy=mlmsy7
\font\preloaded=mlmsy6
\font\fivesy=mlmsy5
\font\tenex=mlmex10 % math extension
\font\preloaded=rm-mlmss10 % sans serif
%\font\preloaded=rm-mlmssq8
\font\preloaded=rm-mlmsso10 % sans serif italic
%\font\preloaded=rm-mlmssqi8
\font\tenbf=rm-mlmbx10 % boldface extended
\font\preloaded=rm-mlmbx9
\font\preloaded=rm-mlmbx8
\font\sevenbf=rm-mlmbx7
\font\preloaded=rm-mlmbx6
\font\fivebf=rm-mlmbx5
\font\tentt=rm-mlmtt10 % typewriter
\font\preloaded=rm-mlmtt9
\font\preloaded=rm-mlmtt8
\font\preloaded=rm-mlmtto10 % slanted typewriter
\font\tensl=rm-mlmro10 % slanted roman
\font\preloaded=rm-mlmro9
\font\preloaded=rm-mlmro8
\font\tenit=rm-mlmri10 % text italic
\font\preloaded=rm-mlmri9
\font\preloaded=rm-mlmri8
\font\preloaded=rm-mlmri7
\font\preloaded=rm-mlmu10 % unslanted text italic
\font\preloaded=mlmmib10 % bold math italic
\font\preloaded=mlmbsy10 % bold math symbols
\font\preloaded=rm-mlmcsc10 % caps and small caps
%\font\preloaded=rm-mlmssbx10 % sans serif bold extended
%\font\preloaded=rm-mlmdunh10 % Dunhill style
\font\preloaded=rm-mlmr7 scaled \magstep4 % for titles
\font\preloaded=rm-mlmtt10 scaled \magstep2
\font\preloaded=rm-mlmssbx10 scaled \magstep2

\let\preloaded=\undefined % preloaded fonts must be declared anew later.

\skewchar\teni='177 \skewchar\seveni='177 \skewchar\fivei='177
\skewchar\tensy='60 \skewchar\sevensy='60 \skewchar\fivesy='60

\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm
\def\rm{\fam\z@\tenrm}
\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei
\def\mit{\fam\@ne} \def\oldstyle{\fam\@ne\teni}
\textfont2=\tensy \scriptfont2=\sevensy \scriptscriptfont2=\fivesy
\def\cal{\fam\tw@}
\textfont3=\tenex \scriptfont3=\tenex \scriptscriptfont3=\tenex
\newfam\itfam \def\it{\fam\itfam\tenit} % \it is family 4
\textfont\itfam=\tenit
\newfam\slfam \def\sl{\fam\slfam\tensl} % \sl is family 5
\textfont\slfam=\tensl
\newfam\bffam \def\bf{\fam\bffam\tenbf} % \bf is family 6
\textfont\bffam=\tenbf \scriptfont\bffam=\sevenbf
\scriptscriptfont\bffam=\fivebf
\newfam\ttfam \def\tt{\fam\ttfam\tentt} % \tt is family 7
\textfont\ttfam=\tentt

\tenrm

Abc {\it def\/} {\sl ghi\/} {\bf jkl}

$a+b+\alpha$

$$
\sum+\int_\Gamma
$$

\bye

파일을 검색해서 이름을 찾았습니다 .fd.

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

pdffontsPDF 파일에서 실행하면 다음과 같이 표시됩니다.

name                                 type              encoding         emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
VAJVJL+MLMRoman10-Regular            Type 1            Custom           yes yes no       4  0
XAMRRZ+MLMRoman10-Italic             Type 1            Custom           yes yes no       5  0
QLCGIE+MLMRomanSlant10-Regular       Type 1            Custom           yes yes no       6  0
BUCLYS+MLMRoman10-Bold               Type 1            Custom           yes yes no       7  0
HJQQGN+MLMMathItalic10-Regular       Type 1            Custom           yes yes no       8  0
LGTMNF+MLMMathExtension10-Regular    Type 1            Custom           yes yes no       9  0
CMLUYB+MLMRoman7-Regular             Type 1            Custom           yes yes no      10  0

답변2

일반 TeX의 경우.에서 명령 \font(400~467행) 을 복사하고 plain.tex, 모든 명령을 제거 하고, 이름을 디렉터리의 해당 기존 파일 이름으로 \font\preloaded...바꿉니다 . 텍스트 글꼴 인코딩 등 중 하나를 선택해야 하며 텍스트 글꼴에는 해당 파일 이름만 사용해야 합니다. 수학 글꼴은 원본에 해당합니다 . 이것을 매크로 파일에 저장하세요. from 도 포함하여 477--492행을 추가합니다 .cm*fonts/tfm/public/mlmodern/cs-ec-qx-mlm*cm*\textfont...plain.tex

OpTeX용.주요 정보는 문서에 기록되어 있습니다 mlmodern: "OpenType 지원은 향후 버전에서 계획되어 있습니다.". 이 계획이 실현되었는지 저자들에게 물어볼 것을 권장합니다. 그렇지 않다면 비 ASCII 언어는 이 오래된 mlmodern글꼴 구현과 함께 간단히 사용할 수 없습니다. 우리는 유니코드 기계 LuaTeX를 가지고 있고 유니코드 글꼴이 필요하다는 점에 유의하십시오. 오늘날 고품질의 수백 가지 OpenType 글꼴이 있을 때 encodnig 매크로 트릭은 좋은 생각이 아닙니다.

문서에 언급된 OpenType 글꼴을 사용하는 작성자의 "향후 버전"이 있는 경우 파일을 복사 f-lmfonts.opm하고 여기에 있는 파일 f-mlmodern.opm이름을 컴퓨터의 .otf실제 파일로 바꿀 수 있습니다. .otf그런 다음 \fontfam[mlmodern].

ASCII 언어만 사용하는 경우 파일을 복사 fonts-preload.opm하고 여기에서 이름을 기존 이름으로 math-preload.opm수정할 수 있습니다 tfm(파일과 유사 plain.tex). 하지만 이 접근 방식에는 미래가 없습니다. 최신 TeX 엔진을 사용하려면 최신 글꼴이 필요합니다. modern이름에만 있는 오래된 글꼴은 없습니다 .

관련 정보