纯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的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 758788018ab8faaddc0984e1ea05ff330d3c64be663c513cc1f105f6a3066dab |
|
MD5 | 0cb431d9b6b11de98a635f5466455a63 |
|
BLAKE2b-256 | a0f22649b2acace54f861eccd4ab163bfd914236fc93ddb1df02dad2a2552b14 |
pyfiglet-1.0.2-py3-none-any.whl的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | 889b351d79c99e50a3f619c8f8e6ffdb27fd8c939fc43ecbd7559bd57d5f93ea |
|
MD5 | e0096389091aaaf4ba30afd005d5c5bd |
|
BLAKE2b-256 | 1a03bef6fff907e212d67a0003f8ea4819307bba91b2856074a0763dd483ccc4 |