
Me gustaría utilizar sistemáticamente fuentes mlmodern con Plain TeX e incluso OpTeX, pero no puedo convertir el código de mlmodern.sty en un código que los compiladores tex u optex puedan entender. es posible?
Respuesta1
Para TeX simple, esencialmente debes repetir toda la parte de "fuentes" en 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
Encontré los nombres buscando en los .fd
archivos.
Ejecutar pdffonts
en el archivo PDF muestra
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
Respuesta2
Para TeX simple.Copie los comandos \font
(líneas 400--467) de plain.tex
, elimine todos los comandos \font\preloaded...
y reemplace los nombres cm*
con los correspondientes nombres de archivos existentes del directorio fonts/tfm/public/mlmodern/
. Debe elegir una de las codificaciones para fuentes de texto , cs-
etc. y usar solo estos nombres de archivo para fuentes de texto. Las fuentes matemáticas corresponden al original . Guarde esto en su archivo de macro. Agregue las líneas 477--492 con from también.ec-
qx-
mlm*
cm*
\textfont...
plain.tex
Para OpTeX.La información clave está escrita en el mlmodern
documento: "La compatibilidad con OpenType está prevista para versiones futuras". Le recomiendo que pregunte a los autores si este plan se ha realizado. De lo contrario, los lenguajes que no sean ASCII no se pueden usar simplemente con esta mlmodern
implementación de fuente antigua. Tenga en cuenta que tenemos una máquina Unicode LuaTeX y necesitamos fuentes Unicode. Haciendo algunas modificaciones muy específicas Los trucos de codificación de macros no son una buena idea cuando hoy en día tenemos cientos de fuentes OpenType de alta calidad.
Si tiene una "versión futura" de los autores con fuentes OpenType mencionadas en la documentación, puede copiar el archivo f-lmfonts.opm
y f-mlmodern.opm
cambiar el nombre de los .otf
archivos aquí a .otf
archivos reales en su computadora. Entonces usa \fontfam[mlmodern]
.
Si está utilizando sólo el lenguaje ASCII, puede copiar archivos fonts-preload.opm
y math-preload.opm
modificar tfm
los nombres aquí a los nombres existentes (de forma similar a como ocurre con plain.tex
el archivo). Pero este enfoque no tiene futuro: necesitamos fuentes modernas cuando utilizamos un motor TeX moderno. No hay fuentes antiguas que modern
solo aparezcan en sus nombres.