跳转到主要内容

PyMuPDF使用字体二进制文件集合

项目描述

PyMuPDF字体

PyMuPDF的可选字体集合

发布日期:2021年12月27日

作者

  • Jorj X. McKie

简介

这是一个可以由PyMuPDF应用程序用于将文本写入PDF的字体集合。

字体以压缩的base64格式提供,作为Python变量封装。

采用这种方法的两个主要动机是

  1. 通过不向其中添加更多字体来保持PyMuPDF二进制模块的大小在合理的范围内,以及
  2. 允许包含MuPDF库中不包含的任意字体。我们还可以通过选择字体来扩展此存储库。

目前提供以下字体

  • FiraGO 字体系列由Mozilla.org制作。这些是支持68种语言和以下脚本的无衬线 比例 字体:拉丁语、西里尔语、希腊语、阿拉伯语、希伯来语、泰语、格鲁吉亚语和天城文。它们支持 常规粗体斜体粗体斜体。如果您不需要亚洲脚本支持(CJK),则将其用作可行的“通用”替代品 "Droid Sans Fallback Regular" 字体(它是PyMuPDF二进制的一部分)。
  • FiraMono 字体家族由 Mozilla.org 制作,是一种无衬线 等宽 字体,支持数十种语言以及拉丁、西里尔、希腊等脚本。支持 常规粗体 两种字体样式,但没有斜体。可以用作 Courier 字体的替代品,以获得更美观的外观。
  • Space Mono(我的个人最爱)是一种简洁小巧的 等宽 字体家族。它是 Colophon Foundry 为 Google Design 设计的一种原创固定宽度字体家族。它支持扩展的拉丁字符集,可以用于英语和其他西欧语言的排版。它是 Google Fonts 的一部分,并获得了开放字体许可证。支持 常规粗体斜体粗斜体。可以用作 Courier 字体的替代品,以获得更美观的外观。
  • Noto Sans Math Regular 是来自 Google 的 NOTO 字体,提供数学符号。
  • Noto Music Regular 是来自 Google 的 NOTO 字体,提供音乐符号。
  • Noto Sans Symbols Regular 是 Google NOTO 替代 Base-14 符号字体。
  • Noto Sans Symbols2 Regular 是上一个字体的扩展。
  • Noto Sans 是 Google NOTO 字体家族,是 Helvetica / Arial 的替代品,支持常规、粗体、斜体和粗斜体四种字体样式。
  • Ubuntu 字体家族包括无衬线比例字体和等宽字体,为 Ubuntu 用户提供了熟悉的外观。它们使用的是稍有不同的许可证——见下文——尽管如此,它仍然提供了与 OFL 相似程度的自由。
  • Cascadia Mono 是由 Microsoft 制作的等宽字体家族。支持 常规粗体斜体粗斜体。可以用作 Courier 字体的替代品,以获得更美观的外观。许可证为 SIL OFL v1.1。

安装

pymupdf_fonts 是一个纯 Python 包,以 wheel 的形式提供。因此,它与 Python 版本无关,可以通过以下命令安装:python -m pip install pymupdf-fonts

使用和文档

如果已安装此包,PyMuPDF 将自动支持所有字体。要使用这些字体之一,只需执行 font = fitz.Font("code"),其中 code 是下表第一列中的值。因此,这就像将标准字体代码列表 ""helv", "tiro", "cour", 等. 通过新的代码扩展了一样。

然后,您可以直接在 PyMuPDF 的 TextWriter 类中使用 font 对象,或者像这样使用它的缓冲区在常规的 Page.insert_font() / Page.insert_text() / Page.insert_textbox() 方法中使用:

page.insert_font(fontname="F0", fontbuffer=font.buffer)
page.insert_text(point, text, fontname="F0", ...)
# or similarly:
page.insert_textbox(rect, text, fontname="F0", ...)

有关更多详细信息,请参阅Font 类的 PyMuPDF 文档。

代码 字体 版本 注释
figo FiraGO_Regular 1.0.0
figbo FiraGO_Bold 1.0.0
figit FiraGO_Italic 1.0.0
figbi FiraGO_BoldItalic 1.0.0
fimo FiraMono_Regular 1.0.0
fimbo FiraMono_Bold 1.0.0
spacemo SpaceMono_Regular 1.0.1 等宽
spacembo SpaceMono_Bold 1.0.1 等宽粗体
spacemit SpaceMono_Italic 1.0.1 等宽斜体
spacembi SpaceMono_BoldItalic 1.0.1 等宽粗斜体
math Noto Sans Math Regular 1.0.2 数学符号
music Noto Music Regular 1.0.2 音乐符号
symbol1 Noto Sans Symbols Regular 1.0.2 替代 "symb"
symbol2 Noto Sans Symbols2 Regular 1.0.2 扩展符号
notos Noto Sans Regular 1.0.3 类似于 Arial
notosbi Noto Sans Italic 1.0.3
notosbo Noto Sans Bold 1.0.3
notosbi Noto Sans Bold Italic 1.0.3
ubuntu Ubuntu Regular 1.0.4 无衬线,用于 Ubuntu 看起来的文本
ubuntubo Ubuntu Bold 1.0.4
ubuntubi Ubuntu Bold Italic 1.0.4
ubuntuit Ubuntu 斜体 1.0.4
ubuntm Ubuntu Mono 正常 1.0.4 Ubuntu 字体的等宽版本
ubuntmbo Ubuntu Mono 粗体 1.0.4
ubuntmbi Ubuntu Mono 粗体斜体 1.0.4
ubuntmit Ubuntu Mono 斜体 1.0.4
cascadia Cascadia Mono 正常 1.0.5
cascadiab Cascadia Mono 粗体 1.0.5
cascadiai Cascadia Mono 斜体 1.0.5
cascadiabi Cascadia Mono 粗体斜体 1.0.5

许可证

上述大多数字体均采用SIL OFL v1.1许可证,存储在本存储库中的文件为LICENSE.txt。Ubuntu 字体在类似的免费许可证下提供,可在以下位置找到:Ubuntu 字体许可证

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

pymupdf_fonts-1.0.5.tar.gz (4.2 MB 查看哈希值)

上传时间

构建分发

pymupdf_fonts-1.0.5-py3-none-any.whl (4.2 MB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面