我在尝试使用以下字体时感到疲惫和沮丧:https://tug.org/FontCatalogue/,例如书法和手写字体、其他(主要是装饰性)字体等。我尝试了 tex.stackexchange.com 上的许多评论/建议,但仍然失败 :-(。我仔细检查了日志文件,但我没有在其中看到任何解决与 LaTeX 代码相关的问题的“关键”。我使用 LaTeX 已经 40 多年了,我想我至少可以找到一个可能的解决方案;但是,现在我必须停止研究这个问题。
我恳求您仔细看看为什么 miktex 22、23 报告了这么多字体问题,看看是否有真正有效的修复方法。
我在用miktex 4.9 控制台在管理员模式下。到目前为止,我已经重新安装了 miktex 至少 7 次——字体问题仍然存在。以下内容取自系统报告.txt由 TeXstudio 4.5.1(git 4.5.1)使用 Qt 版本 6.4.2 生成的文件,用 Qt 6.4.2 RTeXstudio(4.5.1)编译:
dpi: 96 其中 pdflatex: C:\Program Files\MiKTeX\miktex\bin\x64\pdflatex.exe
PDFLATEX:pdflatex.exe -版本 MiKTeX-pdfTeX 4.14(MiKTeX 23.1)
我将准备一个例子,它应该有助于发现与 TeXstudio 中的“特殊”字体相关的问题。
我如何上传要准备的该示例的 tex 文件?
答案1
我大胆猜测,既然您已经使用 TeX 40 年了,您仍在尝试以古老的方式做事。
您能用 编译lualatex
吗?是的,它是 MiKTeX。您的文本必须是 utf-8 编码(我相信现在 Windows 也这样做)。您的字体必须是*.otf
或*.ttf
但不是旧的 Type 1 PostScript 字体。它们不需要来自 TeX(即使系统字体也可以使用)。试试这个,用 编译lualatex
:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Your Favorite Font} % Actual font name.
\begin{document}
Hello, World!
\end{document}
目前,部分 TeX 字体无法以*.otf
或 形式使用*.ttf
。此时,您可以使用FontForge
程序导入现有的字体格式,并将其转换为*.otf
(Open Type)。
重大修改:我可以让 Starburst 工作。请执行以下操作:
initials
直接从 CTAN下载zip 包。将其解压到您的主目录中(而不是在 TeX 中)。安装 FontForge。
Starburst.pfb
在 FontForge 中打开文件。FontForge 菜单编码 > 重新编码 > Unicode (BMP)。
编辑 > 选择 > 全选。
元素 > 正确方向。
提示 > 清除提示。
元素 > 重叠 > 删除重叠。
元素 > 字体信息 > PS Private > 新建 > BlueValues
文件 > 生成字体 > 选择 OpenType (CFF)。
您将看到一个对话框,告知您缺少极值、方向错误、自相交。忽略该对话框,然后生成字体。这些消息很有意义,但如果没有专业知识,则不值得修复。
然后您将获得 Starburst.otf。它是一种 OpenType 字体。
在某个位置(例如您的 TEXMFHOME 目录)中,创建 fonts/opentype/initials 并将 Starburst.otf 的副本放入其中。然后刷新文件(MiKTeX 有一个按钮可按,Linux 使用命令mktexlsr
)。
不要使用\usepackage{initials}
或starburst
或 任何类似的东西。相反,使用 lualatex 进行编译,如下所示:
\documentclass{article}
\usepackage{fontspec}
\setmainfont{EB Garamond} % or whatever
\newfontface\shazam{Starburst}
\begin{document}
{\shazam Hello World !}\par
And hello to Martians, too.\par
\end{document}
结果:
好的@rallg,您使用 FontForge 的程序虽然相当复杂,但却有效,并且以下 Latex 代码可以与 Texstudio 和 Texmaker 一起使用 :-)。
\documentclass{article}
\usepackage{fontspec}
\setmainfont{Lucida Sans} % or whatever
\newfontface\shazam{Starburst-Regular}
\begin{document}
{\shazam Hello World !}\par
And hello to Martians, too.\par
\end{document}
我仍然不明白如何在别人的评论上添加评论。例如,如果我按 CR(回车)换行,那么我在他们的评论上的评论就会被发布——在我看来,这不应该发生!
答案2
在终端中运行该命令luafindfont
,您将获得不同 latex 引擎可以使用的字体的完整列表。目录中的字体.../opentype/
。或.../truetype/
或系统目录中的字体只能与lualatex/xelatex
所有其他字体一起使用pdflatex
:
bash-5.2$ luafindfont -n "*"
No. Filename Path
1. Aboensis-Regular.otf /usr/local/texlive/2022/texmf-dist/fonts/opentype/public/aboensis/
2. academicons.ttf /usr/local/texlive/2022/texmf-dist/fonts/truetype/public/academicons/
3. Academy Engraved LET Fonts.ttf /System/Library/Fonts/Supplemental/
4. ACaslonPro-Bold.otf /Users/voss/Library/Fonts/Caslon/
5. ACaslonPro-BoldItalic.otf /Users/voss/Library/Fonts/Caslon/
6. ACaslonPro-Italic.otf /Users/voss/Library/Fonts/Caslon/
....
....
6644. ヒラギノ角ゴシック W9.ttc /System/Library/Fonts/
6645. ヒラギノ角ゴシック W9.ttc /System/Library/Fonts/
6646. 儷宋_Pro.ttf /Users/voss/Library/Fonts/KozukaPro/
6647. 华文仿宋.ttf /Users/voss/Library/Fonts/KozukaPro/
6648. 华文楷体.ttf /Users/voss/Library/Fonts/KozukaPro/