
用于舒适性优化的位图编程字体。

Cozette是一个6x13px(边界框;平均5px角色宽度,3PX下降,10px上升,8px Cap Height)基于DINA的位图字体,该字体本身基于Proggy。它也受到蠕变的启发。我绝对喜欢爬行,并且一直在使用它,直到我得到了更高的DPI屏幕,该屏幕太小了。这促使我制作了我一直希望存在的位图字体:Cozette;一个小但很小的位图字体,覆盖了您在终端中可能遇到的所有字形:

我有意将重点放在“您”上 - 尽管到目前为止,Cozette已经拥有我在CLI工具中看到的所有字形,但您可能会发现它缺少您希望它的字形。如果是这样,请提出问题!这是Cozette成为书呆子字体的有用位图替代品的重要目标。
包含编码点的更好的字符映射可以在此读数的底部找到!
Cozette分布在三个主要变体中:正常和HI-DPI(高尺度的2x)位图( .bdf , .otb , .psf ,.psf和.fnt )和向量( .ttf )。
字体缩放因系统而异,甚至有时甚至从程序,程序和字体格式到格式都有差异。在我的系统(Linux)上, cozette.otb看上去很正确。 cozette_hidpi.otb看上去很优雅地看着26分和下降。 CozetteVector在Linux上的100DPI屏幕上的看法并不正确(从技术上讲,它的外观为9.4pts,但是Pixel-Perfect-Perfect Bitmap字体是一种巨大的头痛,每个OS的处理方式都不同,我不确定如何确定如何使用)
有效地,位图字体是 - 位图。它们的缩放量很大,但看起来很漂亮(和像素完美)在一个特定的点大小上。矢量字体的扩展很好,但是在这种情况下,由于抗质量问题等,可能会丑陋地看待较小的点大小。
如果Cozette在系统上看起来很糟糕,那么您可能会有一个向量版本。如果可以的话,请使用位图格式( .otb )。
矢量格式的问题几乎肯定不会被固定或解决; Cozette首先是位图字体,它是由单个源构建的位图字体,在其预期的,位图字体以及自动矢量化格式上看起来都不错,在每个OS上,似乎都是一个未解决的问题。
首选格式为.otb (对于位图)或.ttf (对于CozetteVector)。要安装字体,只需将其放入字体目录中(您可能想遵循发行版的说明)。在Ubuntu上,您可能需要具体启用位图字体。
如果您在拱门上,Ifreund为.otb制作了AUR包装!使用您选择的AUR助手安装它:
$ yay -S cozette-otb
或者,如果您不使用Aur助手:
$ git clone https://aur.archlinux.org/cozette-otb.git
$ cd cozette-otb
$ makepkg -si
下载.dfont并使用Font Book .app安装。位图Cozette.dfont和Vector CozetteVector.dfont都应起作用。
抓取CozetteVector.ttf 。如果您想使位图版本工作,请按照此处的说明进行操作。
Laxul为.otb建立了一个端口!
pkg install cozettecd /usr/ports/x11-fonts/cozette; make install clean你知道你在做什么。
dmenu (据报道,还有其他一些应用程序,例如urxvt )在处理字体间距时似乎有些混乱。我无法确定这是Cozette的问题,还是这些应用程序中字体渲染的问题,但是由于无论出于何种原因,它们似乎都从系统的默认单拼字体中拉出字体间距。如果将Cozette设置为系统默认值不是一个选项(我不建议它,那么很多应用程序都有位图字体的问题),请尝试使用Cozette-<size>作为字体名称,即。 Cozette-8 。
VSCODE和许多其他GUI应用程序不支持位图字体,因此您需要在那里使用CozetteVector。在支持位图字体的应用程序中,您将需要使用普通的,位图的Cozette(除非它对您来说太小,在这种情况下,CozetteVector缩放更好)。
4E554C4C为kitty修补了一个AUR包装,以支持位图字体。
if you like bitmap fonts, kitty is not for you.
根据作者的说法, kitty没有,永远不会支持Bitmap字体。
如果您真的想让Cozette正常工作,可以尝试上面提到的AUR包,或者自己使用补丁。
如果那不起作用,您可以从这里尝试技巧。如果您将Cozette(Vector)的spacing显式设置为100,并且在fontconfig中scalable为true , kitty应该接受它。
您还可以通过卸载kitty并使用终端模拟器来使Cozette完美地工作,而该模拟器不渲染字体不是设计原理 - 我不推荐Alacritty。它很棒,对我来说无瑕,已经有一段时间了,并且配置和获取位图字体都可以轻而易举。
(在Slavfox/Cozette#18中讨论了支持。非常感谢那里的所有参与者,尤其是卢夫洛西(Luflosi),他们在叉子中抬起allow_bitmapped_fonts旗帜,以及制作了AUR包装的4E554C4C。
查看ChangElog以获取最新消息!
这是Cozette到目前为止的地方,在粗略的顺序中,功能将要实现:
characters.png 。 POWERLEVEL9K_MODE设置为nerdfont-complete ) Cozette故意是很小的字体。如果基本版本和HIDPI版本都不符合您的需求,则可能需要查看其他带有额外字形的位图字体。我最喜欢的几个是Tamzen和Envypn。您可能还会发现Tecate/bitmap-fonts repo有用。
为了简化复制,字符映射以img/charmap.txt中的文本形式提供。如果您只想查看Cozette的字形,这是其中的屏幕截图:

如果您想自己构建Cozette,则需要Fontforge和Java。一旦有了,只需克隆此回购,在Fontforge中打开Cozette/Cozette.sfd ,然后转到文件→生成字体...。
要运行我用于准备版本的构建脚本,请首先安装Python(至少3.8)和Pipenv。为了生成图像,您还需要xorg-mkfontscale和xterm 。然后,安装依赖项并运行build.py fonts :
$ pipenv install
$ pipenv run python build.py fonts然后安装生成的字体,然后运行
$ pipenv run python build.py images跑步
$ pipenv run python build.py changelog将在您的本地版本和最后一个标签之间输出更换式的。
非常感谢YM1234帮助我弄清楚如何使字体表的表现很好。
Cozette包括以下贡献:
Cozette是许可的麻省理工学院吗?
Cozette的构建使用Philj56的BDFScale,Kreative软件的Bits'n'picas。
[tmux]: