跳转到主要内容

纯Python的FIGlet实现

项目描述

pyfiglet

                        _|_|  _|            _|              _|
_|_|_|    _|    _|    _|            _|_|_|  _|    _|_|    _|_|_|_|
_|    _|  _|    _|  _|_|_|_|  _|  _|    _|  _|  _|_|_|_|    _|
_|    _|  _|    _|    _|      _|  _|    _|  _|  _|          _|
_|_|_|      _|_|_|    _|      _|    _|_|_|  _|    _|_|_|      _|_|
_|              _|                      _|
_|          _|_|                    _|_|

摘要

pyfiglet是FIGlet(http://www.figlet.org/)的纯Python完整移植。它将ASCII文本渲染为ASCII艺术字体(如上面的标题,这是'block'字体)。

常见问题解答

  • 问:为什么?为什么?!

    答:我很无聊。真的很无聊。

  • 问:这到底做了什么,而FIGlet没有做?

    答:不多,只是允许您的字体集合存储在一个大zip文件中。此代码的目的是在不执行外部程序的情况下将动态figlet渲染嵌入Python中,尽管它也可以在命令行上操作。有关使用说明,请参阅下面。您可以将其视为Python的FIGlet驱动程序。

  • 问:这支持像FIGlet那样的kerning/smushing吗?

    答:是的,是的,它支持。输出应与FIGlet相同。如果不是这样,这是一个错误,您应该向我报告!

  • 问:我可以使用/修改/重新分发此代码吗?

    答:是的,根据MIT(见下面的许可协议)条款。

  • 问:我改进了此代码,我应该怎么办?

    A:您可以通过https://github.com/pwaller/pyfiglet/pulls提交更改。如果您修改了字距调整/挤压/渲染部分,请务必彻底测试。代码脆弱且复杂。

  • Q:我的字体去哪了?

    A:事实证明,我们没有一些字体的分发权,因此我们不得不将其删除。更改的详细信息以及我们为什么这么做可以在https://github.com/pwaller/pyfiglet/issues/59中找到。

  • Q:我可以在哪里找到这些和其他字体?

    A:在您喜欢的搜索引擎上快速搜索“figlet fonts”应该会得到您需要的内容。然而,如果您正在寻找被删除的特定字体,请访问http://www.jave.de/figlet/fonts.html

  • Q 分发中为什么缺少一些字体? A 一些Linux发行版对所接受的贡献有非常严格的法律限制。对于这些系统,我们将字体分为具有明确分发许可证的字体和没有的字体。这些是此存储库中的fonts-standard和fonts-contrib目录。

  • Q 那些其他字体怎么办? A 虽然没有对许可证的明确案例,但我们相信这些字体的任何法律约束早已到期,因此它们属于公有领域,因此我们继续通过pypi重新分发。如果这些字体的所有者希望我们停止,请只需在https://github.com/pwaller/pyfiglet/issues上提出问题,证明您的所有权,我们将删除您请求的字体。

使用方法

您可以使用pyfiglet的两种方式之一。首先,它像C figlet一样在命令行上运行,并支持大多数相同的选项。运行--help以查看完整的调整列表。通常,您只会使用-f来更改字体。默认为standard.flf。

tools/pyfiglet '要渲染的文本'

Pyfiglet也是一个库,可以在Python代码中使用

from pyfiglet import Figlet
f = Figlet(font='slant')
print(f.renderText('text to render'))

from pyfiglet import Figlet
f = pyfiglet.figlet_format("text to render", font="slant")
print(f)

如果您找到了一些想要使用的字体,您可以使用命令行界面按以下方式安装字体文件

pyfiglet -L <字体文件>

字体文件可以是包含许多字体的ZIP文件,也可以是单个字体。根据您如何安装pyfiglet,您可能需要root权限来安装字体 - 例如sudo pyfiglet -L <字体文件>

作者

所有文档和大部分工作都是由Christopher Jones(cjones@insub.org)和许多其他贡献者完成的。由Peter Waller(p@pwaller.net)打包,Stefano Rivera(stefano@rivera.za.net)进行了各种增强,许多贡献者提供了大量帮助!

感谢大家的努力,如果您想在这份名单上留下自己的名字,请发送拉取请求。

(原文作者的话)pyfiglet是FIGlet的一个端口,大部分代码直接从C源代码翻译而来。我在可能的地方进行了一些优化,但由于挤压和字距调整代码极其复杂,因此更安全、更简单的方法是将逻辑几乎完全移植。因此,我无法真正为作者身份获得太多赞誉,只是翻译。FIGlet的原始作者列在其网站上http://www.figlet.org/

Python端口是由Christopher Jones(cjones@insub.org)(http://gruntle.org/)完成的。

目前由Peter Waller(p@pwaller.net,github:pwaller)维护

厕所字体文件(.tlf)由Sam Hocevar(sam@zoy.org)从toilet 0.3-1导入。

感谢

许多人帮助使pyfiglet成为现在的样子,但我想特别指出。

github:stefanor对各种错误修复和改进以及debian打包的帮助。github:peterbrittain在帮助关闭大量问题上的帮助。

许可证

MIT许可证(MIT)版权所有 © 2007-2023

Christopher Jones <cjones@insub.org>
Stefano Rivera <stefano@rivera.za.net>
Peter Waller <p@pwaller.net>
And various contributors (see git history).

(详细信息请参阅LICENSE文件)

项目详情


下载文件

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

源代码分布

pyfiglet-1.0.2.tar.gz (832.3 kB 查看散列值

上传时间 源代码

构建分布

pyfiglet-1.0.2-py3-none-any.whl (1.1 MB 查看散列值

上传时间 Python 3

由以下机构支持

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