我使用的是原始的 TeX Live 安装,并在其上安装了一些非免费字体,getnonfreefonts
脚本。顺便说一句,我警告并使用 进行安装getnonfreefonts --sys
。
现在我重新考虑了一下,认为通过安装相同的字体可以更好地解决问题tlcontrib
,这样我就可以处理所有事情tlmgr
,获取更新等(更不用说能够卸载......)。
我不希望两个安装互相干扰,所以我想卸载用 安装的字体getnonfreefonts
。但是,脚本似乎不提供卸载功能(据我所知)。所以我想我必须手动完成。
据我所知,安装的字体进入了texmf-local
,但我不知道具体要删除什么。我还假设删除后我必须手动重新运行updmap --sys
,但我不确定该怎么做。
那么,如何正确卸载安装的字体getnonfreefonts
?
答案1
这实际上并不是对问题的“答案”,而是对为什么据我所知很难正确回答这个问题的总结。
getnonfreefonts --help
(或其手册页)没有列出任何卸载选项,据我所知,该脚本确实没有提供该选项。
getnonfreefonts
调用另一个脚本getfont.pl
(https://www.tug.org/~kotucha/getnonfreefonts/getfont.pl) 实际执行字体的安装。并且安装是针对每种字体逐一处理的。因此,例如,您可能有classico
从 TDS zip 文件安装的字体,其中包含:
elsif ($font_package eq "classico") {
local $description="Classico (URW)";
local @mapfiles=qw(classico);
return if installed "doc/fonts/classico/README";
download "${CTAN}/install/fonts/urw/classico.tds.zip" or return;
remove_obsolete_files (
'fonts/type1/urw/optima',
'fonts/afm/urw/optima',
'fonts/pfm/urw/optima',
'fonts/tfm/urw/optima',
'fonts/vf/urw/optima',
'fonts/map/dvips/uop',
'tex/latex/uop',
'doc/fonts/urw/classico.txt'
);
begin_zipfile "classico.tds.zip";
extract_tds_exclude;
end_zipfile;
disable_map 'uop';
install_maps;
}
而另一个示例的eurofont
安装方式如下:
elsif ($font_package eq "eurofont") {
local $description="Euro Symbols (Adobe)";
local @mapfiles=qw(zpeu);
my $TYPE1DIR="$TYPE1ROOT/adobe/eurofont";
my $AFMDIR="$AFMROOT/adobe/eurofont";
my $TFMDIR="$TFMROOT/adobe/eurofont";
my $LTXDIR="$LTXROOT/eurofont";
my $DOCDIR="$DOCROOT/eurofont";
my $MAPDIR="$MAPROOT/eurofont";
my $SRCDIR="$SRCROOT/eurofont";
return if installed "$TYPE1DIR/zpeur.pfb",
"$LTXDIR/eurosans.sty";
return if ($opt_http and $http{'eurofont'}==0);
download "${ADOBE}/eurofont.exe" or return;
download "${CTAN}/macros/latex/contrib/euro.zip" or return;
begin_zipfile 'eurofont.exe';
extract_rename "eurofont/_1______.PFB", $TYPE1DIR, "zpeurs.pfb";
extract_rename "eurofont/_1B_____.PFB", $TYPE1DIR, "zpeubs.pfb";
extract_rename "eurofont/_1I_____.PFB", $TYPE1DIR, "zpeuris.pfb";
extract_rename "eurofont/_1BI____.PFB", $TYPE1DIR, "zpeubis.pfb";
extract_rename "eurofont/_2______.PFB", $TYPE1DIR, "zpeurt.pfb";
extract_rename "eurofont/_2B_____.PFB", $TYPE1DIR, "zpeubt.pfb";
extract_rename "eurofont/_2I_____.PFB", $TYPE1DIR, "zpeurit.pfb";
extract_rename "eurofont/_2BI____.PFB", $TYPE1DIR, "zpeubit.pfb";
extract_rename "eurofont/_3______.PFB", $TYPE1DIR, "zpeur.pfb";
extract_rename "eurofont/_3B_____.PFB", $TYPE1DIR, "zpeub.pfb";
extract_rename "eurofont/_3I_____.PFB", $TYPE1DIR, "zpeuri.pfb";
extract_rename "eurofont/_3BI____.PFB", $TYPE1DIR, "zpeubi.pfb";
extract_rename "eurofont/_1______.AFM", $AFMDIR, "zpeurs.afm";
extract_rename "eurofont/_1B_____.AFM", $AFMDIR, "zpeubs.afm";
extract_rename "eurofont/_1I_____.AFM", $AFMDIR, "zpeuris.afm";
extract_rename "eurofont/_1BI____.AFM", $AFMDIR, "zpeubis.afm";
extract_rename "eurofont/_2______.AFM", $AFMDIR, "zpeurt.afm";
extract_rename "eurofont/_2B_____.AFM", $AFMDIR, "zpeubt.afm";
extract_rename "eurofont/_2I_____.AFM", $AFMDIR, "zpeurit.afm";
extract_rename "eurofont/_2BI____.AFM", $AFMDIR, "zpeubit.afm";
extract_rename "eurofont/_3______.AFM", $AFMDIR, "zpeur.afm";
extract_rename "eurofont/_3B_____.AFM", $AFMDIR, "zpeub.afm";
extract_rename "eurofont/_3I_____.AFM", $AFMDIR, "zpeuri.afm";
extract_rename "eurofont/_3BI____.AFM", $AFMDIR, "zpeubi.afm";
end_zipfile;
begin_zipfile "euro.zip";
extract "euro/font-support/tfm/*.tfm", $TFMDIR;
extract "euro/font-support/dvips/zpeu.map", $MAPDIR;
extract "euro/latex/europs/README.europs", $DOCDIR;
extract "euro/latex/europs/europs.ins", $SRCDIR;
extract "euro/latex/europs/europs.dtx", $SRCDIR;
extract "euro/latex/europs/eutest.*", $DOCDIR;
extract "euro/plaintex/eurosamp.*", $DOCDIR;
extract "euro/readme.txt", $DOCDIR;
extract "euro/latex/eurosans/README.eurosans", $DOCDIR;
extract "euro/latex/eurosans/eurosans.sty", $LTXDIR;
extract "euro/latex/europs/europs.ins";
extract "euro/latex/europs/europs.dtx";
end_zipfile;
run_tex "tex europs.ins";
move_file "europs.sty", $LTXDIR;
move_file "uzpeu.fd", $LTXDIR;
move_file "uzpeus.fd", $LTXDIR;
move_file "uzpeut.fd", $LTXDIR;
run_tex "pdflatex europs.dtx";
move_file "europs.pdf", $DOCDIR;
install_maps;
}
等等,对于每一个步骤都是如此。从技术上讲,可以从脚本中跟踪每个安装步骤并“撤消”它们。但这是一项相当艰巨的任务。对于初学者来说可能不太容易。
如果你正在读这篇文章,那么对你来说可能已经太晚了,对我来说也是如此。但是,如果不是,另一种方法是从tlcontrib
(https://contrib.texlive.info),其中还包含可从 获得的字体getnonfreefonts
,但通过向其中添加额外的存储库来管理,tlmgr
您可以像往常一样从中安装字体。也可以卸载它们。理论上,我们也可以升级字体,但我不确定这些东西是如何保持同步的。我知道,在撰写本文时,classico
从安装的 TDS zip 获得的当前版本getnonfreefonts
包含 2022/09/29 的版本,而从 安装的版本tlcontrib
包含 2014/08/28 的版本。