我使用docker容器节点:20.10。这是 Debian 12.4。我使用 gsfont 包。但在 12.4 版本中我丢失了很多字体(即 Helvetica /usr/share/fonts/type1/gsfonts/n019003l.pfb)。该字体位于 debian 11 的 gsfonts=1:8.11+urwcyr1.0.7~pre44-4.5 中。在 debian 12 中安装时我得到:
# apt-get install gsfonts=1:8.11+urwcyr1.0.7~pre44-4.5
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package gsfonts is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
fonts-urw-base35
E: Version '1:8.11+urwcyr1.0.7~pre44-4.5' for 'gsfonts' was not found
但安装 fonts-urw-base35 对我没有帮助。我又怀念字体了!
如何在 debian 12 上安装 gsfont 版本“1:8.11+urwcyr1.0.7~pre44-4.5”?
答案1
去https://pkgs.org获取 .deb 文件。
已更新以反映评论中的包。
sudo dpkg install http://de.archive.ubuntu.com/ubuntu/pool/universe/g/gsfonts/gsfonts_8.11+urwcyr1.0.7~pre44-4.5_all.deb
另一种可能可以使用deb-reversion
:
https://manpages.ubuntu.com/manpages/focal/man1/deb-reversion.1.html
然而,还有另一种可能:
嗯,看看是谁。 @斯蒂芬基特! :-)
https://unix.stackexchange.com/a/340284/254567
手动安装?
这个具体字体?https://github.com/vpontis/termstile/blob/master/Termstile/fonts/Helvetica%20LT%20Narrow%20Bold.ttf
答案2
添加到 Dockerfile:
RUN wget http://de.archive.ubuntu.com/ubuntu/pool/universe/g/gsfonts/gsfonts_8.11+urwcyr1.0.7~pre44-4.5_all.deb
RUN apt-get install -y ./gsfonts_8.11+urwcyr1.0.7~pre44-4.5_all.deb
此后,错误:Unable to read font (/usr/share/fonts/type1/gsfonts/n019003l.pfb)
已修复。
这只是解决 debian 包错误的方法:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019717
我希望它有帮助!
答案3
这是 Debian 12.4。我使用 gsfont 包。
对于 Debian 12,这已迁移到fonts-urw-base35
软件包中,该软件包似乎具有基本相同的字体,只是位置不同。
但在 12.4 版本中我丢失了很多字体(即 Helvetica /usr/share/fonts/type1/gsfonts/n019003l.pfb)。
该字体不是 Helvetica,而是 Nimbus (Sans Regular),它被用作非自由 Helvetica 的替代品。请参阅/etc/ghostscript/fontmap.d/10gsfonts.conf
(或10fonts-urw-base35.conf
了解新包)。
在fonts-urw-base35
包中,可以在 中找到该字体/usr/share/fonts/type1/urw-base35/NimbusSans-Regular.t1
。
似乎被破坏的是 Helvetica -> Nimbus 映射。
Debian 11 gsfonts
,:
% grep '/Helvetica ' /etc/ghostscript/fontmap.d/10gsfonts.conf
/Helvetica /NimbusSanL-Regu ;
% file /usr/share/fonts/type1/gsfonts/n019003l.pfb
usr/share/fonts/type1/gsfonts/n019003l.pfb: PostScript Type 1 font program data (NimbusSanL-Regu 1.06)
Debian 12 fonts-urw-base35
,:
% grep '/Helvetica ' /etc/ghostscript/fontmap.d/10fonts-urw-base35.conf
/Helvetica /NimbusSanL-Regu ;
% file /usr/share/fonts/type1/urw-base35/NimbusSans-Regular.t1
/usr/share/fonts/type1/urw-base35/NimbusSans-Regular.t1: PostScript Type 1 font text (NimbusSans-Regular 1.00)
如您所见,字体文件中的字体名称发生了变化(从NimbusSanL-Regu 1.06
变为NimbusSans-Regular 1.00
),但映射文件引用的是旧名称。
如果您更新的话,事情可能会再次起作用/etc/ghostscript/fontmap.d/10fonts-urw-base35.conf
。这也值得提交一个错误。