手动字体安装

手动字体安装

经常会有人问如何手动安装字体,通常指的是“Type1 字体”。所以我觉得我们应该写一个关于需要考虑的几个方面的一般性答案。

除了通常的做法手动安装软件包看来,对于字体来说,还需要进一步的步骤。这些步骤是什么?或更好:

如何在 TeX 发行版中手动安装字体及其相关的支持文件?

答案1

第零

在开始之前,请确保确实无法使用 TeX 发行版的包管理器进行安装。对于 TeX Live,另请参阅脚本获取非免费字体(TeX.SX 上的用户 dcmt 写道很好的答案)以及这个问题和答案:TeX Live 中的错误 – 字体...无法加载:未找到度量 (TFM) 文件

在广泛的部分已经简要描述TeX 用户组:安装 TeX 字体

Siep Kroonenberg 描述了一种不同的方法字体安装浅显易懂(PDF,荷兰 TeX 用户组 NTG 的网站;与 TUGboat 文章相同:tb86kroonenberg-字体.pdf

第一的

您必须将字体文件安装到本地 texmf 树中。

如果字体包包含在打包文件中,那么在大多数情况下,您可以安全地将子目录提取到此本地 texmf 树中,但在执行此操作之前,您应该通过与以下树结构进行比较来控制这一点。例如,也许所有需要的子目录都打包在不需要的texmf目录下。
笔记:有时map文件会被包含两次。在最近的 TeX 发行版中,你只需要下面提到的那些文件<local-texmf>/fonts/map/<engine-name>/...不是这些中<local-texmf>/<engine-name>/...– 大部分<engine-name>dvips,但有时也是pdftex,并且很少只是另一个。

如果打包文件中没有子目录结构,则必须通过<local-texmf>复制相应的主 texmf 树(称为 TDS,TeX 目录结构)——这里显示了几乎完整的结构(在主 texmf 树中,它实际上更复杂),对于单个字体包来说,很可能只需要部分内容

<local-texmf>
      +--fonts
          |--afm
          |   +--<font-package-name>
          |           +--<*.afm files>
          |--enc
          |   +--<engine-name>
          |           +--<font-package-name>
          |                   +--<*.enc files>
          |--map
          |   +--<engine-name>
          |           +--<font-package-name>
          |                   +--<*.map files>
          |--ofm
          |   +--<font-package-name>
          |           +--<*.ofm files>
          |--opentype
          |     +--<font-package-name>
          |             +--<*.otf files>
          |--ovf
          |   +--<font-package-name>
          |           +--<*.ovf files>
          |--ovp
          |   +--<font-package-name>
          |           +--<*.ovp files>
          |--pfm
          |   +--<font-package-name>
          |           +--<*.pfm files>
          |--pk
          |   +--<printer-type>
          |           +--<font-package-name>
          |                   +--<font-resolution>
          |                          +--<*.pk files>
          |--sfd
          |   +--<font-package-name>
          |           +--<*.sfd files>
          |--source
          |    +--<font-package-name>
          |             +--<*.mf files>
          |--tfm
          |   +--<font-package-name>
          |           +--<*.tfm files>
          |--truetype
          |     +--<font-package-name>
          |             +--<*.ttf files>
          |--type1
          |    +--<font-package-name>
          |            +--<*.pfa/*.pfb files>
          +--vf
              +--<font-package-name>
                        +--<*.vf files>

在主 texmffonts树中(而不是<font-package-name>实际上在几乎所有目录中),都有一个额外的<font-vendor>public介于两者之间的。

此外,如今大多数字体都是以带有文档和样式文件的软件包形式发货的。这些

<local-texmf>
      |--doc
      |   +--fonts
      |        +--<font-package-name>
      |                |--<document files and their *.tex sources>
      |                +--<example files>
      +tex
        |--latex
        |    +--<font-package-name>
        |             |--<*.fd files>
        |             |--<*.sty files>
        |             +--<*.tex files [no document sources and examples]>
        +--plain
             +--<font-package-name>
                      |--<*.def files>
                      +--<*.tex files [no document sources and examples]>

注意fontstex处于同一水平

<local-texmf>
     |
     +fonts
     |
     +tex

第二

复制文件后,您必须更新 TeX 发行版的文件名数据库:

  • 微特克斯(另请注意)MiKTeX 管理模式和用户模式的区别

    1. 使用 GUI:在“开始”菜单中,转到 MiKTeX 条目并打开设置 - 如果您以管理员身份运行,则当然是“设置(管理员)”。将打开“MiKTeX 选项”窗口。转到“常规”选项卡,然后单击“刷新 FNDB”(FNDB = 文件名数据库)。

    2. 使用 CLI(命令提示符):执行initexmf --update-fndb(或更短initexmf -u,以管理员身份添加交换机--admin)。

  • TeX 直播

    • Linux 和 MacOSX: sudo mktexlsr(或者,也许最好记住,用别名[符号链接到mktexlsr]sudo texhash

    • 视窗: mktexlsr(或别名texhash:)

为了元字体文件(*.mf)这就足够了。

为了Open-/TrueType字体文件(*.otf/*.ttf这里的目录名称具有误导性,因为文件扩展名不是谈论 OpenType 功能)你还应该运行fc-cache (MiKTeX 和 TeX Live Windows)或者sudo fc-cache (TeX Live Linux 和 MacOSX)在命令提示符下,然后您就准备好了。这些字体不需要再做任何事情。

但请注意,只要您不使用便携式 TeX 发行版,最好将 Open- 或 TrueType 字体安装到系统范围的字体目录中,因为无论如何都会搜索该目录并将字体添加到字体缓存中fc-cache

MiKTeX 便携式用户还阅读带有便携式 MiKTeX 的外部字体,版本 2.9, 请。

第三

为了Type1 字体(参见维基百科,PostScript 字体)需要采取进一步措施:

  • 微特克斯(对于 MiKTeX 便携式,也请阅读带有便携式 MiKTeX 的外部字体,版本 2.9

    1. 在命令提示符下(此处没有 GUI)执行initexmf --edit-config-file=updmap.cfg (或initexmf --edit-config-file updmapupdmap.cfg 。这将打开您的默认文本编辑器,其中包含用户配置文件下的文件%AppData%\MiKTeX\<version>\miktex\config\。如果它尚不存在,则会创建它。

      如果添加开关,则文件将在(自 Windows Vista 起)或(直到 Windows XP,该字符串依赖于语言)--admin中创建/打开,并且对于没有自己的文件名数据库的所有用户有效。%AllUsersProfile%\MiKTeX\<version>\miktex\config\%AllUsersProfile%\<Application Data>\MiKTeX\<version>\miktex\config\<Application Data>

    2. 至少添加以下内容(带有 的行#是注释,我们在此假设 Map 文件的名称为fontname.map)。

      # <font name> or <package name> or what fits better for you
      Map fontname.map
      

      保存并退出。如果还有更多操作,应在自述文件中阅读。有关信息,您还可以打开在线帮助页面更新映射配置文件或者updmap.cfg在你的主MiKTeX\miktex\config安装树中阅读其中的注释(但不要编辑,因为所有编辑都将在以后的更新中丢失!)

    3. 执行initexmf -u,这仅为活动用户更新字体名称数据库(如果您确定本地updmap.cfg已经存在,则可以省略这一步)。

    4. 执行initexmf --mkmaps(或更短updmap)。

  • TeX 直播(假设相应的地图文件名是fontname.map

    1. Linux 和 MacOSX执行sudo updmap-sys --enable Map=fontname.map,在视窗 updmap-sys --enable Map=fontname.map

    2. 再次更新文件名数据库,参见上面的第二步。

    如果仍然有问题,您可以尝试这个答案中给出的方法:在 TexLive 上安装 MathTime Professional 2 字体时出现问题

答案2

因为其他问题(不幸)与这个问题相关,所以我想提一下,这种自动安装可能会对其他人有所帮助:

sudo apt-get install texlive-full

将安装更多软件包,这可能会解决您的问题。它在 Ubuntu 20.04 上对我有用。

答案3

在 Windows 10 中,在 tex-live 中手动安装字体(*.ttf),请按照以下步骤操作,

  1. 在以下路径中创建具有字体名称的目录(例如),

*C:\texlive\2024\texmf-dist\fonts\truetype\public*

  1. 将 *.ttf 字体复制到新创建的目录中,

C:\texlive\2024\texmf-dist\fonts\truetype\public\jameel

  1. 复制文件后,您必须更新 TeX 发行版的文件名数据库:

C:\mktexlsr(或别名:texhash)

现在 *.ttf 字体已可以在 tex-live 环境中使用

相关内容