Python evangelist, aspiring Rustacean. Made a font once.
Personal website: https://slavfox.space/
A bitmap programming font optimized for coziness 💜
License: MIT License
Python evangelist, aspiring Rustacean. Made a font once.
Personal website: https://slavfox.space/
I'm using cozette.pcf 1.11.3 (converted from cozette.bdf with bdftopcf
) and the spacing between characters in Alacritty is 1 pixel, while the spacing between characters in Emacs is 2 pixels. I've included screenshots below of the difference.
Is there a way to force the spacing to be 1 pixel in all applications?
I am using zprezto on macOS Catalina and the underline is not displayed correctly with this font.
It looks like:
I expect to see (using Monaco 9 without anti-aliasing):
Hello!
Thank you for great work! Can you please add ruble character!?
https://en.wikipedia.org/wiki/Ruble_sign
I've found out build 1.10 has already been broken in this matter: those glyphs are rendered as dots or as blank space. It seems glyph going off-edge can break some renderings.
some braille characters are misplaced (can be verified in fontforge).
for example U+280A through to U+280F, maybe there are more. These numbers give me the impression, that there is some hex numbering issue.
tested with 1.9.2
I have faced a few issues with bold characters like letter m. The problem is that the character becomes so thick that it's difficult to identify them. I have seen this for all the characters, the only problem is with only letter m (small one). I have attached one the screenshot for understanding. Thanks, it's an amazing font and cozy as well.
Hello,
I would like to build this font on opensuse.
For the font to make into the opensuse repo, the font must be build form source code.
I have a bit of trouble for font forge to run on opensuse build file.
So would it be a problem if you put the .otf or .ttf into the source code? It would be easier to build font on opensuse that way.
Thanks.
When I set the font it says: Could not create font CozetteVector.
In version 1.9.2, the descender of U+04CC CYRILLIC SMALL LETTER KHAKASSIAN CHE is shorter than those of other characters with descenders like U+04B7 CYRILLIC SMALL LETTER CHE WITH DESCENDER and U+04CB CYRILLIC CAPITAL LETTER KHAKASSIAN CHE.
it's easy to download both vector and bitmap font, thanks
Some programs (i.e. PuTTY) filter the list of fonts to only monospace ones by default, and Cozette isn't showing up in that set. In PuTTY if I enable "Allow selection of variable-pitch fonts" then it shows up. Other programs like PowerShell don't let you select non-monospaced fonts at all, so it's impossible to use there.
Must be some monospace bit that can be set in the font metadata?
I'm not sure if this font is considered monospace*, but if it is, then it doesn't get recognized by kitty
. The kitty
terminal emulator is quite picky about what it takes as a monospaced font and it doesn't detect Cozette. A list of fonts that it deems acceptable can be listed with kitty list-fonts
.
Here's three issues for reference and possible solutions (it seems a common one is the font's Spacing
parameter): kovidgoyal/kitty#827, kovidgoyal/kitty#557, and ryanoasis/nerd-fonts#268
Regardless of the resolution, thanks for the beautiful font!
*If this font isn't meant to be monospaced, feel free to close this issue.
Please include the remaining stressed greek characters such as έ, ί, ό, ύ, ή.
Simply put, add a tone mark alternative above the already existing greek characters.
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.
What is the "intended point size"?
Ų, U+0172 LATIN CAPITAL LETTER U WITH OGONEK
ų, U+0173 LATIN SMALL LETTER U WITH OGONEK
Missing these two has been bugging me, as every other baltic letter is covered already.
\u2630
is the classic "three bars" symbol used for hamburger menus and other things. It also happens to be one of the default symbols used by vim-airline. It'd be great if you could add support for it!
The fallback it uses on my system looks blurry and ugly alongside the crisp cleanness of cozette:
I'm using \ue612
instead now, but it seems like \u2630
is fairly common and would be good to support.
Thanks
This symbol is needed for a terminal font: √
U+221A
Hello, I noticed a weird bug relating to the firefox developer tools.
As you can see in the following screenshot, the strikethrough seems to not use the correct glyph for strikethrough text, when using a bitmap version of Cozette.
However, this is not an inherent bug of the font everywhere. For example, here is a screenshot of strikethrough text in Alacritty:
Note that CozetteVector on the other hand works as intended:
Firefox Version: 88.0.1
Cozette Release (bitmap, otb files): v.1.10.1b1
CozetteVector Release: v.1.9.3-1
The side bearings of the braille patterns are too small relative to the internal spacing between dots. For example, U+2831 is hard to distinguish from <U+2808, U+2806>. Section 703.3.1 of the ADA Accessibility Standards indicates the proper ratios.
After commit ef28014
, the charmap.png
has white space at the top, only starting at U+016A_
.
i want to use cozette for my console, especially large sizes since my eyesight is poor
This symbol ↳
is useful to indicate line wrapping.
This is a request to add Pomicons. These are icons for Pomodoro timers, and unfortunately Cozette doesn't have them yet.
Right now all the glyphs in Cozette are limited to the 6x13 bounding box. While this is cool for glyph map generation and whatnot, it leads to extraneous spacing whenever a double-wide glyph is drawn, like the 🐍 in my prompt:
build.py
should probably be extended with glyph linting capabilities, so that it can warn about single-wide glyphs for double-wide codepoints, and oversize glyphs for single-wide codepoints.
Hey @slavfox
First of all, great job with the font. I really like it.
Second, a suggestion, a MIT licensed open source font seems a bit odd choice to me, as even when embedding the fonts in a document would require users to supply the MIT license terms besides their own document. Most open-source fonts utilize the Open Font License (or OFL) by SIL international instead. Check https://en.wikipedia.org/wiki/SIL_Open_Font_License for further details. I'd suggest you to go with dual licensing: MIT or SIL, and let the end-user choose whichever license s/he prefers :D
Anyways, good work you did there!
Keep it up!
The vector version of the font, CozetteVector, does not appear to be entirely fixed width. Some characters, such as the pause symbol (U+F04C) and the circled plus symbol (U+F055) have a smaller width, leading to misalignment (as clearly seen in the last column of the image below).
I don't know much about fonts or FontForge, but I noticed that all the offending characters declare an unusual Width
in the Cozette.sfd file (945 instead of 1024).
StartChar: uniF04C
Encoding: 61516 61516 1123
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: uniF055
Encoding: 61525 61525 1571
Width: 945
Flags: W
LayerCount: 2
EndChar
When I change the Width
property to 1024 and rebuild, the characters become properly aligned:
Is there a good reason these characters declare a different width, or is simply an oversight? If it's an oversight I can submit a pull request to fix it.
These ones seem to be missing?☺ ♪
When trying to use Cozette Vector in Microsoft Word 2016, the font displayed seems to be the same as Courier New. WordPad is also unable to use the font correctly. The dropdown preview of fonts shown in Word also displays Cozette in the style of Courier New.
However, Notepad and LibreOffice Witer are both able to display the Cozette Vector correctly. A freeware screenshotting program called Greenshot is also able to use it correctly.
When I want to have this font in st it is not working
I use dina 12px as my main monospace font.
The 12px variant is taller than the 10px.
Would it be possible for cozette to support both ?
I can see this symbol when I type it in, but it does not show in showcase images and my font viewing program.
A lot of codepoints corresponding to wide glyphs are implemented as narrow. The big codepoints have a lot of problems in general.
ttfbuilder
to read glyphs from the .sfd
instead of the generated .bdf
. BDF fonts don't contain codepoints above U+FFFF.lint
command to build.py to flag incorrect glyph widthsBtop is using 'Four-Per-Em Space' [U+2005] (aristocratos/btop#60) of the "General punctuation" unicode block.
I can only assume that adding such white space characters is a repetitive procedure. That's why I opened this issue for all the space separators in this unicode block.
I love Cozette and it would be great not to depend on other fonts for whitepsace.
not many know that they exist
https://en.wikipedia.org/wiki/Symbols_for_Legacy_Computing
In version 1.9.0, U+0506 CYRILLIC CAPITAL LETTER KOMI DZJE and U+0507 CYRILLIC SMALL LETTER KOMI DZJE look identical to U+0417 CYRILLIC CAPITAL LETTER ZE and U+0437 CYRILLIC SMALL LETTER ZE.
I waste a lot of time adding new glyphs to the changelog. This became especially apparent when working on #7, which would probably be done by now if I hadn't been keeping track of the glyphs. The glyph changelist could be easily auto-generated, by reading the list from the last commit, and comparing it to the current version.
This is sooooo neat! I'm wondering, why are абчё
the only supported Cyrillic letters and is there any chance to bring full support? I'm really new to pixel fonts (and fonts in general) but I could work on a PR if you told me where to start :)
Overall the font is great but it's missing some of the fonts used in the p10k zsh theme.
The missing symbols appear to be:
U+F015 ()
U+F07C ()
U+F023 ()
U+F312 ()
U+F126 ()
U+F113 ()
I don't know if this is the right format for the characters but it's what gucharmap gave when I put em in.
For text based status bars like i3bar, i3blocks, xmobar, dwm-bar, etc., it would be great to have some symbols to label displayed informations (temperature, volume, memory, ...).
Are there already plans to include such ones?
Below I listed some specific symbols, which I use or have used at some point, with the corresponding unicode of font-awesome / nerd-fonts.
Volume
Battery
Temperature (in my opinion, full, empty, ..., are not necessary)
Web browser (I saw that nf-dev-* is already on the roadmap, so most browser icons should be included there. The globe would be multifunctional)
Network (\ue619 is already included but it got only 3/4 of height, which looks funny in my specific setup. One with a third "wave" would be nice or maybe a variation which is symmetrical, like the one below)
Workload
Storage
Media
Other
Weather (I don't use them but often see them in use on r/unixporn)
e.g. cloud-sun (f6c4 / e21d)
I triple checked and hope, that I didn't list anything that's already included.
Hi! While Cozette looks beautiful, it is way to small to be used on HiDPI displays. Would it be possible to scale every glyph by a factor of 2 or more? Or at least could you please advise the best way one can scale an .otb font, pixel-perfectly, so each pixel becomes a 2x2 block? Thank you.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.