如何在 dvips 中使用拉丁现代字体?

如何在 dvips 中使用拉丁现代字体?

请考虑以下示例:

\font\tenrm=rm-lmr10 \tenrm
a
\end

运行tex它,然后dvips

dvips: Font rm-lmr10 not found; using cmr10
dvips: Checksum mismatch in font rm-lmr10

据我所知,TeX 使用tfm文件完成了其工作。现在dvips需要将相应的pfb字体放入 DVI 输出并生成 PostScript。它缺少什么dvips才能完成其工作?

注:pdftex不予考虑 - 仅tex

编辑

重装系统后,PK字体默认从Type1生成,这是为什么呢?

This is dvips(k) 5.998 Copyright 2018 Radical Eye Software (www.radicaleye.com)
' TeX output 2019.08.06:2048' -> lm.ps

kpathsea: Running mktexpk --mfmode ljfour --bdpi 600 --mag 1+0/600 --dpi 600 rm-lmbx10
mktexpk: Running gsftopk rm-lmbx10 600
gsftopk(k) version 1.19.2/926
[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17]
[18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33]
[34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49]
[50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63] [64] [65]
[66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81]
[82] [83] [84] [85] [86] [87] [88] [89] [90] [91] [92] [93] [94] [95] [96] [97]
[98] [99] [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [110]
[111] [112] [113] [114] [115] [116] [117] [118] [119] [120] [121] [122] [123]
[124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136]
[137] [138] [139] [140] [141] [142] [143] [144] [145] [146] [147] [148] [149]
[150] [151] [152] [153] [154] [155] [156] [157] [158] [159] [160] [161] [162]
[163] [164] [165] [166] [167] [168] [169] [170] [171] [172] [173] [174] [175]
[176] [177] [178] [179] [180] [181] [182] [183] [184] [185] [186] [187] [188]
[189] [190] [191] [192] [193] [194] [195] [196] [197] [198] [199] [200] [201]
[202] [203] [204] [205] [206] [207] [208] [209] [210] [211] [212] [213] [214]
[215] [216] [217] [218] [219] [220] [221] [222] [223] [224] [225] [226] [227]
[228] [229] [230] [231] [232] [233] [234] [235] [236] [237] [238] [239] [240]
[241] [242] [243] [244] [245] [246] [247] [248] [249] [250] [251] [252] [253]
[254] [255]
mktexpk: /usr/local/share/texmf/fonts/pk/modeless/public/lm/rm-lmbx10.600pk: successfully generated.
</usr/local/share/texmf/fonts/pk/modeless/public/lm/rm-lmbx10.600pk>
</usr/share/texlive/texmf-dist/dvips/base/tex.pro>. [1] 

答案1

如果我在你的测试文件上运行 tex 然后 dvips 那么我得到(texlive 2019)

This is dvips(k) 5.999 Copyright 2019 Radical Eye Software (www.radicaleye.com)
' TeX output 2019.07.24:1017' -> cc051.ps
</usr/local/texlive/2019/texmf-dist/dvips/base/tex.pro>
</usr/local/texlive/2019/texmf-dist/fonts/enc/dvips/lm/lm-rm.enc>
</usr/local/texlive/2019/texmf-dist/dvips/base/texps.pro>. 
</usr/local/texlive/2019/texmf-dist/fonts/type1/public/lm/lmr10.pfb>[1] 

您的安装似乎不完整,没有fonts/type1/public/lm/lmr10.pfb

答案2

我通过禁用静音模式找到了为什么会发生这种情况dvips

This is dvips(k) 5.998 Copyright 2018 Radical Eye Software (www.radicaleye.com)
' TeX output 2019.08.12:1246' -> x.ps

kpathsea: Running mktexpk --mfmode ljfour --bdpi 600 --mag 1+0/600 --dpi 600 rm-lmr10
mktexpk: Running gsftopk rm-lmr10 600
gsftopk(k) version 1.19.2gs: Error: /undefined in shellarguments
...

这意味着从 T1 字体生成 PK 字体的命令已启动。但在较新版本的 Debian 中,该命令由于某种原因失败了...


使用 PK 字体的正确解决方案是使用“p psfonts_pk.map” dvips,而不是“p /dev/null” .dvipsrc

拉丁现代字体pfb已经列出psfonts_pk.map,因此根据需要将使用 Type 1。

发生这种情况是因为在系统 updmap.cfg 中有

Map lm.map

(与 比较MixedMap cm.map

注意:dvipsPreferOutline false当字体嵌入时,使用会破坏 metapost(prologues:=3;),因此不应使用

相关内容