18

GitHub - slavfox/Cozette: A bitmap programming font optimized for coziness 💜

 4 years ago
source link: https://github.com/slavfox/Cozette
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Cozette

GitHub release (latest by date) AUR version GitHub Workflow Status GitHub All Releases GitHub license

Cozette

A bitmap programming font optimized for coziness.

Contents

About Cozette

Cozette is 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:

glyphs in Cozette

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!

Cozette is distributed in two main variants: bitmap and vector.

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

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).

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, if you don't want to reconsider your distro choice, you might need to specifically enable bitmap fonts.

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.archlinux.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.

BSD / Solaris / Haku /Other

You know what you're doing.

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
  • Nerdfonts:
    • nf-seti-*
    • nf-dev-*
  • Glyph map generation (so I don't have to keep characters.png up to date)
  • "True" TTF version
    • Windows support
  • Full vim-airline support
  • Charmap including the code points (to make it easier for users to report issues/request additions)
  • Bold version
  • Italic version
  • Ligatures

Character map

Character map

Building

If you want to build Cozette yourself, you'll need FontForge. 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 3.8 and pipenv. Then, install the dependencies and run build.py fonts:

$ pipenv install
$ pipenv run python3.8 build.py fonts

License

Cozette is licensed MIT 💜


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK