miktex-makepk:无法创建 PK 字体 Alegreya-Regular-lf-t1--base

miktex-makepk:无法创建 PK 字体 Alegreya-Regular-lf-t1--base

我只想将 Alegreya 字体与 pdflatex 结合使用。我之前对错误有过疑问并得到了答案。但现在又出现了另一个错误。我该怎么办。

错误信息:

miktex-makepk:无法创建 PK 字体 Alegreya-Regular-lf-t1--base。

在日志文件中:

!pdfTeX 错误:pdflatex.exe (文件 Alegreya-Regular-lf-t1--base):未找到位于 657 的字体 Alegreya- Regular-lf-t1--base ==> 发生致命错误,未生成输出 PDF 文件!

\documentclass[11pt,a4paper]{article}
\usepackage[utf8x]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage[left=2.50cm, right=2.50cm, top=2.50cm, bottom=2.50cm]{geometry}
\usepackage[T1]{fontenc}
\usepackage{Alegreya} %% Option 'black' gives heavier bold face 
\renewcommand*\oldstylenums[1]{{\AlegreyaOsF #1}}

\begin{document}
This is giving an error.
\end{document}

答案1

Dvips.map 和朋友们不知道 Alegreya,因此 MiKTeX 不会加载 1 型字体,而是尝试制作位图,但不知道如何制作它们。

检查 中是否有名为 updmap.cfg 的文本文件C:\Users\Your_name\AppData\Roaming\MiKTeX\2.9\miktex\config。如果没有,请创建一个。在该文件中添加以下几行:

Map Alegreya.map

然后以管理员身份执行此命令行:

updmap.exe -verbose

开关-verbose用于检查发生了什么。就是这样。您可以通过查看psfonts.map中的内容来检查一切是否正常C:\Users\Your_name\AppData\Local\MiKTeX\2.9\dvips\config。它应该包含对 Alegreya 的引用。

或者,你可以使用 XeLateX 或 LuaLaTeX 进行编译:你必须删除 inputenc加载,以 UTF-8 格式保存文档(不\usepackage[utf8]{inputenc}!)并在序言中写下这些行

\usepackage{fontspec}  
\setmainfont{Alegreya}

附录: (MiKTeX 版本的)第 233 行似乎有一个拼写错误alegreya.sty,其开头为:

\def*\useosf{...

并应该开始于

\def\useosf{...

答案2

我遇到了同样的问题,但使用的是 Classico 字体。我的错误消息是

FATAL miktex-makemf - The URWClassico-Bold-lf-t1--base source file could not be found

其次是

FATAL miktex-makepk - PK font URWClassico-Bold-lf-t1--base could not be created.

我按照以下说明解决了这个问题https://www.tug.org/fonts/fontinstall.html在“4. 字体映射文件:告诉 TeX 有关新字体的信息”下

简而言之,运行initexmf --edit-config-file updmap,将Map <mapfile>(在我的情况下Map Classico.map)添加至文件,运行initexmf --mkmaps,最后initexmf --update-fndb

答案3

只需转到 MiTex 控制台并以管理员身份启动。然后打开命令提示符并输入

updmap.exe-详细

相关内容