Cozette

2025-12-11 0 739

Cozette

A bitmap programming font optimized for coziness.

Contents

  • About Cozette
  • Installation
    • Linux
    • Mac
    • Windows
    • Notes on specific applications
      • Dmenu
      • VSCode, general GUI applications
      • Kitty
    • Variants
  • Roadmap
  • Recommended alternatives
  • Character map
  • Building
  • Contributors
  • License

About Cozette

Cozette is a 6x13px (bounding box; average 5px character width, 3px
descent, 10px ascent, 8px cap height) bitmap font based on Dina, which
itself is based on Proggy.
It\’s also heavily inspired by Creep. I absolutely adore Creep, and was
using it up until I got a higher-DPI screen for which it was slightly too
small. That prompted me to make the bitmap font I always wished existed:
Cozette; a small-but-not-tiny bitmap font with great coverage of all the
glyphs you might encounter in the terminal:

I\’m intentionally putting the emphasis on \”you\” – although Cozette already
has all the glyphs I\’ve seen in my CLI tools so far, you might find it\’s
missing a glyph you wish it had. If that\’s the case, please file an issue!
It\’s an important goal for Cozette to be a useful bitmap alternative to
Nerd Fonts.

A nicer character map that includes the codepoints can be found at
the bottom of this README!

Installation

You can get Cozette over at the Releases tab!

Variants and Sizes

Cozette is distributed in three main variants: normal and hi-dpi (upscaled 2x) bitmaps
(.bdf, .otb, .psf, and .fnt), and vectors (.ttf).

Font scaling varies wildly from system to system, and sometimes even from
program to program and font format to format. On my system (Linux), cozette.otb
looks right at 13pts; cozette_hidpi.otb looks right at 26pts and downscales
quite elegantly to 10pts; CozetteVector doesn\’t look right at any size (technically,
it will look right specifically at 9.4pts on a 100dpi screen on Linux, but pixel-perfect
bitmap fonts are a massive headache, treated differently by every OS, that I\’m not quite sure how to solve)

Bitmap fonts are, effectively, just that – bitmaps. They scale terribly, but
look nice and sharp (and pixel-perfect) at one specific point
size. Vector fonts scale well, but in this case, might look ugly at
smaller point sizes because of antialiasing issues and the like.

NOTE:

The vector formats (`CozetteVector`) are provided as a compatibility feature.
Rendering of vectorized bitmap-like fonts is terrible on virtually all operating systems.

If Cozette looks awful on your system, you probably have a vector version.
Please use the bitmap formats (.otb) if you can.

Issues with vector formats will almost certainly not be fixed or
addressed; Cozette is a bitmap font first and foremost, and building a
bitmap font that builds from a single source and looks good both in its intended,
bitmap font as well as as the auto-vectorized format, on every OS, seems to be an unsolved problem.

Linux

The preferred format is .otb (for bitmaps) or .ttf
(for CozetteVector). To install the font, just throw it in your fonts directory
(you probably want to follow your distro\’s instructions). On Ubuntu you might need to
specifically enable bitmap fonts.

If you\’re on Void, ifreund made a Void package for the .otb! Install it
using XBPS:

$ sudo xbps-install font-cozette

If you\’re on Arch, ifreund made an AUR package for the .otb! Install it
using your AUR helper of choice:

$ yay -S cozette-otb

Or, if you\’re not using an AUR helper:

$ git clone https://aur.*ar**chlinux.org/cozette-otb.git
$ cd cozette-otb
$ makepkg -si

Mac

Download the .dfont and install it with Font Book .app. Both the bitmap
Cozette.dfont and the vector CozetteVector.dfont should work.

Windows

Grab CozetteVector.ttf. If you want to get the bitmap versions to work,
follow the instructions from here.

FreeBSD

laxul made a port for the .otb!

  • pkg: pkg install cozette
  • ports: cd /usr/ports/x11-fonts/cozette; make install clean

Other BSD / Solaris / Haiku / Other

You know what you\’re doing.

Notes on specific applications

Dmenu

dmenu (and reportedly some other applications, like urxvt) seems slightly
fucky when it comes to dealing with font spacing. I cannot tell if this is an
issue with Cozette specifically or with the font rendering in those
applications, but they seem to pull the font spacing from your system\’s default
monospace font for whatever reason. If setting Cozette as your system default
is not an option (I don\’t recommend it, a lot of applications have problems
with bitmap fonts), try using Cozette-<size> as the font name, ie.
Cozette-8.

VSCode, general GUI applications

VSCode and a lot of other GUI applications don\’t support bitmap fonts, so you
will want to use CozetteVector there. In applications that do support bitmap
fonts, you will want to use the normal, bitmap Cozette (unless it\’s too
small for you, in which case, CozetteVector scales better).

VSCode Letter Spacing

Sometimes the font might render without proper space betweening the characters (font size set to 13):

To fix this you need to set (in your settings):

  • terminal.integrated.letterSpacing to 1

After that your terminal should look like this (font size set to 13):

Note: VSCode also provides the option editor.letterSpacing which adjusts the spacing for the file editor.

Kitty

4e554c4c made an AUR package for kitty patched to support bitmap fonts.

if you like bitmap fonts, kitty is not for you.

According to its author, kitty doesn\’t, and never will, support bitmap fonts.

If you really want to get Cozette working, you can try the AUR package mentioned above, or apply the patch there yourself.

If that doesn\’t work, you can try the trick from here; if you
explicitly set Cozette(Vector)\’s spacing to 100, and scalable to true in fontconfig, kitty should accept it.

You can also make Cozette work flawlessly by uninstalling kitty and using a terminal emulator for which not rendering fonts isn\’t a design principle – I cannot recommend alacritty enough. it\’s excellent, has worked flawlessly for me for quite some time, and both configuring and getting bitmap fonts to work in it is a breeze.

(The support was discussed in slavfox/Cozette#18. Many thanks to all the participants there, especially to to Luflosi, who brought up flipping the allow_bitmapped_fonts flag in their fork, and to 4e554c4c, who made the AUR package.)

Roadmap

Check the CHANGELOG for the latest news!

Here\’s where Cozette is so far, in the rough order the features are going to be
implemented:

  • ASCII
  • Powerline
  • Build scripts to handle exporting
  • Box-drawing (mostly)
  • Braille
  • Cyrillic!
  • IPA glyphs!
  • APL glyphs (based on the list from APL386)!
  • Uiua glyphs!
  • BQN glyphs!
  • Fullwidth kana!
  • Nerdfonts:

    • nf-pom-*
    • nf-seti-*
    • nf-dev-* (partial)
    • nf-weather-*
  • Glyph map generation (so I don\’t have to keep characters.png up to
    date)
  • \”True\” TTF version

    • Windows support
  • Full vim-airline and bufferline.nvim support!
  • Full ranger_devicons support!
  • starship supported out of the box!
  • Full powerlevel10k support! (if it doesn\’t work, try setting
    POWERLEVEL9K_MODE to nerdfont-complete)
  • All glyphs used by maturin and many other CLI tools!
  • Charmap including the code points (to make it easier for users to
    report issues/request additions)
  • Codepoints above U+FFFF in vector fonts
  • Upscaled hi-dpi variant
  • Crossed seven variant!

Recommended alternatives

Cozette is, intentionally, a very small font. If neither the base nor the
HiDpi version fit your needs, you might want to look at some
other bitmap fonts with extra glyphs. A couple of my favorites are
Tamzen
and Envypn. You might also
find the Tecate/bitmap-fonts repo
useful.

Character map

For easy copy-pasting, the character map is provided in text form in
img/charmap.txt. If you just want to see how the glyphs
look in Cozette, here is a screenshot of it:

Building

If you want to build Cozette yourself, you\’ll need FontForge and Java. Once you
have that, just clone this repo, open Cozette/Cozette.sfd in FontForge,
and go to File → Generate Fonts….

To run the build scripts I use to prepare releases, first install Python (at least 3.8)
and pipenv. For generating the images, you will also need xorg-mkfontscale
and xterm.
Then, install the dependencies and run build.py fonts:

$ pipenv install
$ pipenv run python build.py fonts

Then install the generated fonts, and run

$ pipenv run python build.py images

Running

$ pipenv run python build.py changelog

will output the changelog between your local version and the last tag.

Contributors

Massive thanks to ym1234 for helping me figure out how to make the font tables behave nicely.

Cozette includes contributions from:

  • autumn
  • cpkio
  • dariof4
  • klinegareth
  • sungodmoth
  • yoshiyoshyosh
  • bluetoad07
  • PhMajerus
  • theridane
  • supersurviveur
  • breitnw
  • estradiol enantate

License & Acknowledgements

Cozette is licensed MIT ?

Cozette\’s builds use bdfscale by philj56, Bits\’N\’Picas by Kreative Software.

[tmux]:

下载源码

通过命令行克隆项目:

git clone https://github.com/the-moonwitch/Cozette.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 Cozette https://www.zuozi.net/34835.html

DragonBonesAS
上一篇: DragonBonesAS
codeface
下一篇: codeface
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务