
用於舒適性優化的位圖編程字體。

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]: