Compare commits

..

190 commits

Author SHA1 Message Date
Samhain
3c2ba9d476 v.2.0.0 2026-03-07 13:14:05 +01:00
Samhain
9ef8c80fd1 Merge branch 'pr186' 2026-03-07 12:51:59 +01:00
Samhain
e59f404f6e Merge branch 'pr180' 2026-03-07 12:48:21 +01:00
Samhain
5e67f886e8 Merge branch 'pr174'
Closes #174

Co-authored-by: Breitling <breitling.nw@gmail.com>
2026-03-07 12:31:11 +01:00
Samhain
c94dd7c8ba Merge pull request #174 from @breitnw
Co-authored-by: Breitling <breitling.nw@gmail.com>
2026-03-07 12:23:07 +01:00
Samhain
7c17b417fa Merge pull request #172 from @PhMajerus
Closes #172

Co-authored-by: PhMajerus <phm@live.com>
2026-03-07 12:02:49 +01:00
samhain
0b44a51483
Merge pull request #178 from kachick/update-flake-and-bitsnpicas
Update Nix flake and the package
2026-03-07 09:46:13 +01:00
samhain
67d08e60a2
Merge pull request #185 from WhyNotHugo/fix-bold-family
Make Regular and Bold fonts variants
2026-03-07 09:45:11 +01:00
Mogwump
1c55bf5c9c added some Chess Symbols from the 1FA00-1FA6F block 2026-02-13 19:07:46 +00:00
Hugo Osvaldo Barrera
3c0f4b2e95 Make Regular and Bold fonts variants
The Regular and Bold fonts have different names, so programs treat them
as different fonts. When using the font in a terminal, it cannot find a
bold variant for the regular one, and does not render bold text as such.

Set the same name for both fonts, and properly set the style of each one
so that they both form part of the font family.

Fixes: https://github.com/the-moonwitch/Cozette/issues/183
2026-02-08 14:32:22 +01:00
Eejit
d9edca3373
feat: add misc characters 2025-12-29 12:47:23 -05:00
Nick Breitling
427aebec47 Z notation type colon 2025-12-22 20:24:20 -06:00
Nick Breitling
409b033f4e remove U+2145 DOUBLE-STRUCK ITALIC CAPITAL D 2025-12-22 20:24:20 -06:00
Nick Breitling
f2397840c1 migrated deprecated nf-mdi glyphs to nf-md, media and blackboard characters 2025-12-22 20:23:30 -06:00
Kenichi Kamiya
1675cc8a0f
Sync version with SFD file
The version was 1.28.0, but the actual version in the SFD file is 1.30.0.
This change aligns the Nix package version with the source.
2025-12-20 02:33:54 +09:00
Kenichi Kamiya
8c6ab0e2d5
Update flake to use bitsnpicas from nixpkgs
Bits'N'Picas is available since nixpkgs 25.11:
29ed443f2c

Flake lock file updates:

• Updated input 'nixpkgs':
    'github:nixos/nixpkgs/bf3287dac860542719fe7554e21e686108716879?narHash=sha256-kwaaguGkAqTZ1oK0yXeQ3ayYjs8u/W7eEfrFpFfIDFA%3D' (2025-05-02)
  → 'github:nixos/nixpkgs/c6f52ebd45e5925c188d1a20119978aa4ffd5ef6?narHash=sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8%3D' (2025-12-15)
2025-12-20 02:32:07 +09:00
Ines
d2282e728a v.1.30.0 The Kanji and livename update
CO-authored-by: Julien THILLARD <54775010+supersurviveur@users.noreply.github.com>
2025-07-30 09:33:58 +02:00
ines
3d180b5416
Merge pull request #167 from bluetoad07/kanji
[JP] Basic kanji and some other stuff
2025-07-30 09:11:59 +02:00
bluetoad07
3f9be35c80 updated a couple kanji and U+f303 (nerdfonts arch logo) 2025-07-05 21:01:03 -04:00
bluetoad07
7728facbff updated these characters: ㊀㊁㊂㊃㊄㊅㊆㊇㊈㊉㋿㍻㍼㍽㍾ 2025-06-19 12:38:05 -04:00
bluetoad07
25c31c5762 removed overhanging strokes from several kanji 2025-06-07 19:00:23 -04:00
bluetoad07
bf10c0bb20 bonus: added 漢 and 字 to write kanji 2025-06-06 22:50:15 -04:00
bluetoad07
39b27b91e6 all planned new kanji + 11x11 updates for old ones 2025-06-06 20:22:40 -04:00
bluetoad07
3fc6294075 added dummy characters for kanji planned in this pr 2025-06-03 22:32:31 -04:00
bluetoad07
72d7142455 updated つ/づ/っ/て/で/ハ/バ/パ and several dakuten placements 2025-06-03 22:11:08 -04:00
bluetoad07
7be3adb891 updated halfwidth to match new ク-ish katakana 2025-05-27 21:16:13 -04:00
bluetoad07
3b688895cb updated ン design 2025-05-27 21:08:32 -04:00
bluetoad07
4c8e3e466f updated ク/グ/タ/ダ/ヌ/マ/ゥ designs 2025-05-27 21:01:19 -04:00
bluetoad07
eabc1a256b updated レ design 2025-05-13 21:34:50 -04:00
bluetoad07
95a9acfb52 updated み design 2025-05-11 22:48:52 -04:00
bluetoad07
fcf00e513a updated half-width katakana to match new designs 2025-05-11 22:04:21 -04:00
bluetoad07
2a6e2b7632 updated square katakana abbreviations added by @PhMajerus to be more consistant 2025-05-11 21:49:06 -04:00
bluetoad07
f184cc35c3 updated ゆゅ design 2025-05-11 21:25:59 -04:00
bluetoad07
364a42ab44 updated や/ゃ design 2025-05-11 21:21:43 -04:00
bluetoad07
eab3bf1b45 updated ソ/ゾ design 2025-05-11 00:21:09 -04:00
bluetoad07
46f9615349 updated ま design 2025-05-11 00:18:03 -04:00
bluetoad07
8be3bb5d49 updated ふ design 2025-05-11 00:16:01 -04:00
bluetoad07
78cf145bc5 updated に design 2025-05-11 00:12:09 -04:00
bluetoad07
be77ca5611 updated な design 2025-05-11 00:10:51 -04:00
bluetoad07
5458a1cc6e updated と/ど design 2025-05-11 00:08:21 -04:00
bluetoad07
2e2904b91b updated て/で design 2025-05-11 00:03:25 -04:00
bluetoad07
c9054769e1 updated た/だ design 2025-05-11 00:00:25 -04:00
bluetoad07
37ab35564d updated こ/ご design 2025-05-10 23:59:08 -04:00
bluetoad07
1999518a3a updated ぅ design 2025-05-10 23:53:59 -04:00
bluetoad07
a46f49b93c updated り design 2025-05-10 23:49:19 -04:00
bluetoad07
71331cb2ef updated ち/ぢ/ら design 2025-05-10 23:47:01 -04:00
bluetoad07
e31c86a4d0 updated ん design 2025-05-10 23:42:20 -04:00
bluetoad07
49b0de06d1 updated む design 2025-05-10 23:40:35 -04:00
bluetoad07
9e882ec4dd updated す/ず/そ/ぞ/る/ろ designs 2025-05-10 23:39:49 -04:00
bluetoad07
6dc062aaaf updated き/ぎ/さ/ざ again 2025-05-10 23:30:38 -04:00
bluetoad07
fd4ad788fc updated の design 2025-05-10 23:17:33 -04:00
bluetoad07
a0cbe27186 updated よ/ょ design 2025-05-10 23:16:28 -04:00
bluetoad07
9d27ca7cee fixed combining dakuten/handakuten 2025-05-10 23:08:56 -04:00
bluetoad07
0fc7b8d6bc updated lone dakuten/handakuten and added combining dakuten/handakuten designs 2025-05-10 23:01:07 -04:00
bluetoad07
0acdf8f382 updated ひ/び/ぴ designs 2025-05-10 21:35:54 -04:00
bluetoad07
e92d8b8d24 updated し/じ designs 2025-05-10 21:25:26 -04:00
bluetoad07
d6d51d3fb8 updated き/ぎ/さ/ざ designs 2025-05-10 13:52:32 -04:00
bluetoad07
09ef213183 updated え/ぇdesigns (this one really needed improvement) 2025-05-10 13:46:44 -04:00
bluetoad07
19d89c34df updated せ/ぜ designs 2025-05-10 13:39:22 -04:00
bluetoad07
eba1564e52 updated け/げ/ゖ designs 2025-05-10 13:38:02 -04:00
bluetoad07
d7608273f8 updated ゕ design 2025-05-10 13:24:52 -04:00
bluetoad07
b23a405592 updated 々/ゝ/ゞ/ヽ/ヾ design 2025-05-10 13:22:10 -04:00
bluetoad07
de3907f6aa updated ツ/ヅ design 2025-05-10 13:06:37 -04:00
bluetoad07
2f4f9f08b4 updated オ/ォ design 2025-05-10 13:02:08 -04:00
bluetoad07
336741dbcf updated ア design 2025-05-10 12:58:39 -04:00
bluetoad07
ea33833702 updated サザ design 2025-05-10 12:55:27 -04:00
bluetoad07
288d198668 updated ノ/メ design 2025-05-10 12:53:00 -04:00
bluetoad07
b24e3193e9 updated ト/ド design 2025-05-10 12:46:38 -04:00
bluetoad07
37c4a1a57c updated リ design again 2025-05-10 12:45:16 -04:00
bluetoad07
830c2f0473 updated リ design 2025-05-10 12:42:17 -04:00
bluetoad07
ad1ea15950 updated ル design 2025-05-10 12:40:21 -04:00
bluetoad07
e2b7be3fbf updated ヵ design 2025-05-10 12:38:16 -04:00
bluetoad07
046e1fb08e updated は/ば/ぱ/ほ/ぼ/ぽ designs 2025-05-10 12:31:14 -04:00
bluetoad07
c9b8c035eb updated チ/ヂ/テ/デ/ナ/モ/千 design 2025-05-09 19:27:18 -04:00
bluetoad07
7d08972393 updated シ/ジ/ン and ツ/ヅ/ッ/ソ/ゾ so they are distinguishable and not Bad 2025-05-09 19:19:51 -04:00
bluetoad07
0dfcb40d00 updated ロ design 2025-05-09 18:24:24 -04:00
bluetoad07
5b5c3f2040 updated カ/ガ design 2025-05-09 18:23:29 -04:00
bluetoad07
53edd20d33 updated ュ/ユ design 2025-05-09 18:21:51 -04:00
bluetoad07
289f0acd49 updated ャ/ヤ design 2025-05-09 18:18:46 -04:00
bluetoad07
5725b27bf9 updated ス/ズ design 2025-05-09 18:13:34 -04:00
bluetoad07
b88f1751ba updated か/が design 2025-05-09 18:10:10 -04:00
bluetoad07
f57db8365c updated kana to use reference characters 2025-05-09 17:31:53 -04:00
Slavfox
9887a737dc v.1.29.0 the PhMajerus update pt 2 2025-05-08 19:08:10 +02:00
fox & circe
ca0770ce83
Merge pull request #166 from breitnw/main
Add Nix flake for declarative build
2025-05-08 18:41:17 +02:00
fox & circe
dc0ab696da
Merge pull request #163 from PhMajerus/main
TRS-80, Sharp MZ, Amstrad CPC, MSX, DOS/V, and Cascadia compatibility and more arrows, mathematical operators, and symbols
2025-05-08 18:06:47 +02:00
Nick Breitling
a5cbc12e91 added FontForge and BitsNPicas GUI apps to nix shell 2025-05-07 15:15:25 -05:00
Nick Breitling
d9106e9aee Updated .gitignore for direnv 2025-05-05 00:03:08 -05:00
Nick Breitling
9e7e21221e Nix flake 2025-05-05 00:01:52 -05:00
PhMajerus
ebef38c546 Regional Indicator Symbols
Added 26 new characters:
- 🇦 U+1F1E6 to 🇿 U+1F1FF REGIONAL INDICATOR SYMBOL LETTERS
2025-04-20 01:53:49 +02:00
PhMajerus
d03a6a3fd0 More letterlike symbols, geometric shapes, and arrows
Added 32 new characters:
- ℘ U+2118 SCRIPT CAPITAL P
- ℛ U+211B SCRIPT CAPITAL R
- ℜ U+211C BLACK-LETTER CAPITAL R
- ℟ U+211F RESPONSE
- ℣ U+2123 VERSICLE
- ℥ U+2125 OUNCE SIGN (based on existing ʒ U+0292)
- ℨ U+2128 BLACK-LETTER CAPITAL Z
- ℩ U+2129 TURNED GREEK SMALL LETTER IOTA (based on existing small iota ι U+03B9)
- ℬ U+212C SCRIPT CAPITAL B
- ℭ U+212D BLACK-LETTER CAPITAL C
- ℱ U+2131 SCRIPT CAPITAL F
- ℳ U+2133 SCRIPT CAPITAL M
- ℴ U+2134 SCRIPT SMALL O
- ℹ U+2139 INFORMATION SOURCE
- ⅁ U+2141 TURNED SANS-SERIF CAPITAL G
- ⅂ U+2142 TURNED SANS-SERIF CAPITAL L
- ⅃ U+2143 REVERSED SANS-SERIF CAPITAL L
- ⅄ U+2144 TURNED SANS-SERIF CAPITAL Y
- ⅊ U+214A PROPERTY LINE
- ⅋ U+214B TURNED AMPERSAND (based on existing & U+0026)
- ⅌ U+214C PER SIGN
- ⅏ U+214F SYMBOL FOR SAMARITAN SOURCE
- ⛉ U+26C9 TURNED WHITE SHOGI PIECE
- ⛊ U+26CA TURNED BLACK SHOGI PIECE
- ⭑ U+2B51 BLACK SMALL STAR
- ⭒ U+2B52 WHITE SMALL STAR
- ⭓ U+2B53 BLACK RIGHT-POINTING PENTAGON
- ⭔ U+2B54 WHITE RIGHT-POINTING PENTAGON
- ⮄ U+2B84 LEFTWARDS TRIANGLE-HEADED PAIRED ARROWS
- ⮅ U+2B85 UPWARDS TRIANGLE-HEADED PAIRED ARROWS
- ⮆ U+2B86 RIGHTWARDS TRIANGLE-HEADED PAIRED ARROWS
- ⮇ U+2B87 DOWNWARDS TRIANGLE-HEADED PAIRED ARROWS
2025-04-13 17:16:55 +02:00
PhMajerus
72c150d40c Fixed a stray pixel in ㋒ U+32D2. 2025-04-13 04:58:56 +02:00
PhMajerus
bdb901eb6e Fixed a stray pixel in ㈥ U+3225. 2025-04-13 04:13:24 +02:00
PhMajerus
7f2921b729 Miscellaneous geometric shapes
Added 26 new characters:
- U+2028 LINE SEPARATOR (designed as a whitespace)
-  U+25FD WHITE MEDIUM SMALL SQUARE (emoji/12px wide)
-  U+25FE BLACK MEDIUM SMALL SQUARE (emoji/12px wide)
-  U+2B1B BLACK LARGE SQUARE (emoji/12px wide)
-  U+2B1C BLACK LARGE SQUARE (emoji/12px wide)
- ⬝ U+2B1D BLACK VERY SMALL SQUARE
- ⬞ U+2B1E WHITE VERY SMALL SQUARE
- ⬟ U+2B1F BLACK PENTAGON
- ⬠ U+2B20 WHITE PENTAGON
- ⬡ U+2B21 WHITE HEXAGON (based on existing black version ⬢ U+2B22)
- ⬣ U+2B23 HORIZONTAL BLACK HEXAGON (based on existing vertical version ⬢ U+2B22)
- ⬥ U+2B25 BLACK MEDIUM DIAMOND (smaller than normal ◆ U+25C6)
- ⬦ U+2B26 WHITE MEDIUM DIAMOND
- ⬧ U+2B27 BLACK MEDIUM LOZENGE
- ⬨ U+2B28 WHITE MEDIUM LOZENGE
- ⬩ U+2B29 BLACK SMALL DIAMOND
- ⬪ U+2B2A BLACK SMALL LOZENGE
- ⬫ U+2B2B WHITE SMALL LOZENGE
- ⬬ U+2B2C BLACK HORIZONTAL ELLIPSE
- ⬭ U+2B2D WHITE HORIZONTAL ELLIPSE
- ⬮ U+2B2E BLACK VERTICAL ELLIPSE
- ⬯ U+2B2F WHITE VERTICAL ELLIPSE
- ⯅ U+2BC5 BLACK MEDIUM UP-POINTING TRIANGLE CENTERED
- ⯆ U+2BC6 BLACK MEDIUM DOWN-POINTING TRIANGLE CENTERED
- ⯇ U+2BC7 BLACK MEDIUM LEFT-POINTING TRIANGLE CENTERED
- ⯈ U+2BC8 BLACK MEDIUM RIGHT-POINTING TRIANGLE CENTERED
2025-04-13 02:47:02 +02:00
PhMajerus
bb49665418 More currencies and symbols
Added 45 new characters:
- ȷ U+0237 LATIN SMALL LETTER DOTLESS J
- Ⱥ U+023A LATIN CAPITAL LETTER A WITH STROKE
- Ȼ U+023B LATIN CAPITAL LETTER C WITH STROKE
- ȼ U+023C LATIN SMALL LETTER C WITH STROKE
- Ƚ U+023D LATIN CAPITAL LETTER L WITH BAR
- Ⱦ U+023E LATIN CAPITAL LETTER T WITH DIAGONAL STROKE
- Ƀ U+0243 LATIN CAPITAL LETTER B WITH STROKE
- Ʌ U+0245 LATIN CAPITAL LETTER TURNED V
- ʸ U+02B8 MODIFIER LETTER SMALL Y
- ʹ U+0374 GREEK NUMERAL SIGN
- ͵ U+0375 GREEK LOWER NUMERAL SIGN
- Ϗ U+03CF GREEK CAPITAL KAI SYMBOL (ligature based on existing kappa: Κ U+039A)
- ϗ U+03D7 GREEK KAI SYMBOL (ligature based on existing small kappa: κ U+03BA)
- ᶻ U+1DBB MODIFIER LETTER SMALL Z
- ᶿ U+1DBF MODIFIER LETTER SMALL THETA
- ₲ U+20B2 GUARANI SIGN
- ₴ U+20B4 HRYVNIA SIGN
- ₵ U+20B5 CEDI SIGN
- ₸ U+20B8 TENGE SIGN
- ₹ U+20B9 INDIAN RUPEE SIGN
- ₺ U+20BA TURKISH LIRA SIGN
- ₼ U+20BC MANAT SIGN
- ₾ U+20BE LARI SIGN
- ⎯ U+23AF HORIZONTAL LINE EXTENSION
- ☘ U+2618 SHAMROCK (symbol form, better for terminals but also possible as an emoji)
- ☙ U+2619 REVERSED ROTATED FLORAL HEART BULLET
-  U+2754 WHITE QUESTION MARK ORNAMENT (identical to existing black version  U+2753)
-  U+2755 WHITE EXCLAMATION MARK ORNAMENT (identical to black version below)
-  U+2757 HEAVY EXCLAMATION MARK ORNAMENT
- ❢ U+2762 HEAVY EXCLAMATION MARK ORNAMENT
- ❣ U+2763 HEAVY HEART EXCLAMATION MARK ORNAMENT
- ❥ U+2765 ROTATED HEAVY BLACK HEART BULLET
- ❦ U+2766 FLORAL HEART
- ❧ U+2767 ROTATED FLORAL HEART BULLET
- ❰ U+2770 HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT
- ❱ U+2771 HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT
- ❲ U+2772 LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT (note the fullwidth 〔 U+3014 uses a heavier design, but we should revisit fullwidth punctuation)
- ❳ U+2773 LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT (note the fullwidth 〕 U+3015 uses a heavier design)
- ❴ U+2774 MEDIUM LEFT CURLY BRACKET ORNAMENT
- ❵ U+2775 MEDIUM RIGHT CURLY BRACKET ORNAMENT
- ⨉ U+2A09 N-ARY TIMES OPERATOR
- ⨯ U+2A2F VECTOR OR CROSS PRODUCT
- Ɫ U+2C62 LATIN CAPITAL LETTER L WITH MIDDLE TILDE
- Ɑ U+2C6D LATIN CAPITAL LETTER ALPHA
- 🍀 U+1F340 FOUR LEAF CLOVER
2025-04-12 16:01:16 +02:00
PhMajerus
9c7816d161 More symbols, geometric shapes, and emojis
Added 50 new characters:
- ฿ U+0E3F THAI CURRENCY SYMBOL BAHT
- ‱ U+2031 PER TEN THOUSAND SIGN (as 6px + 3 pixels right overflow)
- K U+212A KELVIN SIGN (identical to U+004B)
- ⊰ U+22B0 PRECEDES UNDER RELATION
- ⊱ U+22B1 SUCCEEDS UNDER RELATION
- ⊹ U+22B9 HERMITIAN CONJUGATE MATRIX
- ⊺ U+22BA INTERCALATE
- ⋐ U+22D0 DOUBLE SUBSET
- ⋑ U+22D1 DOUBLE SUPERSET
- ⋒ U+22D2 DOUBLE INTERSECTION
- ⋓ U+22D3 DOUBLE UNION
- ⋔ U+22D4 PITCHFORK
- ▮ U+25AE BLACK VERTICAL RECTANGLE
- ▯ U+25AF WHITE VERTICAL RECTANGLE
- ▰ U+25B0 BLACK PARALLELOGRAM
- ▱ U+25B1 WHITE PARALLELOGRAM
- ☎ U+260E BLACK TELEPHONE
- ☏ U+260F WHITE TELEPHONE
- ☓ U+2613 SALTIRE
- ☖ U+2616 WHITE SHOGI PIECE
- ☗ U+2617 BLACK SHOGI PIECE
- ♨ U+2668 HOT SPRINGS (as emoji/12px wide, like in MS Gothic)
- ✝ U+271D LATIN CROSS
- ✞ U+271E SHADOWED WHITE LATIN CROSS
- ✟ U+271F OUTLINED LATIN CROSS
- ✠ U+2720 MALTESE CROSS (as 6px + 3 pixels right overflow - it is larger than a single cell in MS Gothic as well)
- ✡ U+2721 STAR OF DAVID
- ✢ U+2722 FOUR TEARDROP-SPOKED ASTERISK
- ✣ U+2723 FOUR BALLOON-SPOKED ASTERISK
- ✤ U+2724 HEAVY FOUR BALLOON-SPOKED ASTERISK
- ✥ U+2725 FOUR CLUB-SPOKED ASTERISK
- ✧ U+2727 WHITE FOUR POINTED STAR (existing ✦ U+2726 could be adjusted to similar star design instead of a diamond)
- ✩ U+2729 STRESS OUTLINED WHITE STAR (identical to existing white star U+2606)
- ✪ U+272A CIRCLED WHITE STAR
- ✫ U+272B OPEN CENTRE BLACK STAR (identical to existing white star U+2606)
- ✬ U+272C BLACK CENTRE WHITE STAR (identical to existing black star U+2605)
- ✯ U+272F PINWHEEL STAR (identical to existing black star U+2605)
- ✰ U+2730 SHADOWED WHITE STAR (identical to existing white star U+2606)
- ✱ U+2731 HEAVY ASTERISK
- ✲ U+2732 OPEN CENTRE ASTERISK
- ✳ U+2733 EIGHT SPOKED ASTERISK
- ✴ U+2734 EIGHT POINTED BLACK STAR
- ✵ U+2735 EIGHT POINTED PINWHEEL STAR
- ❖ U+2756 BLACK DIAMOND MINUS WHITE X
- ⬖ U+2B16 DIAMOND WITH LEFT HALF BLACK (based on existing ◆ U+25C6)
- ⬗ U+2B17 DIAMOND WITH RIGHT HALF BLACK
- ⬘ U+2B18 DIAMOND WITH TOP HALF BLACK
- ⬙ U+2B19 DIAMOND WITH BOTTOM HALF BLACK
- ⯊ U+2BCA TOP HALF BLACK CIRCLE
- ⯋ U+2BCB BOTTOM HALF BLACK CIRCLE

Also includes slight edjustments to some characters from previous commits in same PR.
2025-04-10 22:46:39 +02:00
PhMajerus
2b2c9fbd3f Misc symbols
Added 26 new characters:
- ☠ U+2620 SKULL AND CROSSBONES
- ☡ U+2621 CAUTION SIGN
- ☢ U+2622 RADIOACTIVE SIGN
- ☣ U+2623 BIOHAZARD SIGN
- ☤ U+2624 CADUCEUS
- ☥ U+2625 ANKH
- ☦ U+2626 ORTHODOX CROSS
- ☧ U+2627 CHI RHO
- ☩ U+2629 CROSS OF JERUSALEM
- ☪ U+262A STAR AND CRESCENT
- ☫ U+262B FARSI SYMBOL
- ☬ U+262C ADI SHAKTI
- ☭ U+262D HAMMER AND SICKLE
- ☮ U+262E PEACE SYMBOL
- ☯ U+262F YIN YANG
- ☽ U+263D FIRST QUARTER MOON
- ☾ U+263E LAST QUARTER MOON
- ⦅ U+2985 LEFT WHITE PARENTHESIS
- ⦆ U+2986 RIGHT WHITE PARENTHESIS
- ⬒ U+2B12 SQUARE WITH TOP HALF BLACK
- ⬓ U+2B13 SQUARE WITH BOTTOM HALF BLACK
- ⬔ U+2B14 SQUARE WITH UPPER RIGHT DIAGONAL HALF BLACK
- ⬕ U+2B15 SQUARE WITH LOWER LEFT DIAGONAL HALF BLACK
- ⬚ U+2B1A DOTTED SQUARE
- ⬱ U+2B31 THREE LEFTWARDS ARROWS
- ⮸ U+2BB8 UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR
2025-04-10 01:26:29 +02:00
PhMajerus
905412c1b1 Arrows and geometric shapes:
Added 70 new characters:
- ↜ U+219C LEFTWARDS WAVE ARROW
- ↝ U+219D RIGHTWARDS WAVE ARROW
- ↮ U+21AE LEFT RIGHT ARROW WITH STROKE
- ⇄ U+21C4 RIGHTWARDS ARROW OVER LEFTWARDS ARROW
- ⇅ U+21C5 UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW
- ⇆ U+21C6 LEFTWARDS ARROW OVER RIGHTWARDS ARROW
- ⇇ U+21C7 LEFTWARDS PAIRED ARROWS
- ⇈ U+21C8 UPWARDS PAIRED ARROWS
- ⇉ U+21C9 RIGHTWARDS PAIRED ARROWS
- ⇊ U+21CA DOWNWARDS PAIRED ARROWS
- ⇍ U+21CD LEFTWARDS DOUBLE ARROW WITH STROKE
- ⇎ U+21CE LEFT RIGHT DOUBLE ARROW WITH STROKE
- ⇏ U+21CF RIGHTWARDS DOUBLE ARROW WITH STROKE
- ⇚ U+21DA LEFTWARDS TRIPLE ARROW
- ⇛ U+21DB RIGHTWARDS TRIPLE ARROW
- ⇫ U+21EB UPWARDS WHITE ARROW ON PEDESTAL
- ⇬ U+21EC UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR
- ⇭ U+21ED UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR
- ⇮ U+21EE UPWARDS WHITE DOUBLE ARROW
- ⇯ U+21EF UPWARDS WHITE DOUBLE ARROW ON PEDESTAL
- ⇰ U+21F0 RIGHTWARDS WHITE ARROW FROM WALL
- ⇳ U+21F3 UP DOWN WHITE ARROW
- ⇵ U+21F5 DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW
- ⇶ U+21F6 THREE RIGHTWARDS ARROWS
- ▤ U+25A4 SQUARE WITH HORIZONTAL FILL
- ▥ U+25A5 SQUARE WITH VERTICAL FILL
- ▦ U+25A6 SQUARE WITH ORTHOGONAL CROSSHATCH FILL
- ▧ U+25A7 SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL
- ▨ U+25A8 SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL
- ▩ U+25A9 SQUARE WITH DIAGONAL CROSSHATCH FILL
- ▭ U+25AD WHITE RECTANGLE
- ▴ U+25B4 BLACK UP-POINTING SMALL TRIANGLE
- ▵ U+25B5 WHITE UP-POINTING SMALL TRIANGLE
- ▷ U+25B7 WHITE RIGHT-POINTING TRIANGLE (based on existing ▶ U+25B6)
- ▸ U+25B8 BLACK RIGHT-POINTING SMALL TRIANGLE
- ▹ U+25B9 WHITE RIGHT-POINTING SMALL TRIANGLE
- ▻ U+25BB WHITE RIGHT-POINTING POINTER (based on ► U+25BA)
- ▾ U+25BE BLACK DOWN-POINTING SMALL TRIANGLE
- ▿ U+25BF WHITE DOWN-POINTING SMALL TRIANGLE
- ◁ U+25C1 WHITE LEFT-POINTING TIANGLE (based on existing ◀ U+25C0)
- ◂ U+25C2 BLACK LEFT-POINTING SMALL TRIANGLE
- ◃ U+25C3 WHITE LEFT-POINTING SMALL TRIANGLE
- ◅ U+25C5 WHITE LEFT-POINTING POINTER (based on ◄ U+25C4)
- ◌ U+25CC DOTTED CIRCLE
- ◍ U+25CD CIRCLE WITH VERTICAL FILL
- ◖ U+25D6 LEFT HALF BLACK CIRCLE
- ◗ U+25D7 RIGHT HALF BLACK CIRCLE
- ◚ U+25DA UPPER HALF INVERSE WHITE CIRCLE
- ◛ U+25DB LOWER HALF INVERSE WHITE CIRCLE
- ◜ U+25DC UPPER LEFT QUADRANT CIRCULAR ARC
- ◝ U+25DD UPPER RIGHT QUADRANT CIRCULAR ARC
- ◞ U+25DE LOWER RIGHT QUADRANT CIRCULAR ARC
- ◟ U+25DF LOWER LEFT QUADRANT CIRCULAR ARC
- ◠ U+25E0 UPPER HALF CIRCLE
- ◡ U+25E1 LOWER HALF CIRCLE
- ◧ U+25E7 SQUARE WITH LEFT HALF BLACK
- ◨ U+25E8 SQUARE WITH RIGHT HALF BLACK
- ◩ U+25E9 SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK
- ◪ U+25EA SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK
- ◬ U+25EC WHITE UP-POINTING TRIANGLE WITH DOT
- ◭ U+25ED UP-POINTING TRIANGLE WITH LEFT HALF BLACK
- ◮ U+25EE UP-POINTING TRIANGLE WITH RIGHT HALF BLACK
- ◸ U+25F8 UPPER LEFT TRIANGLE (based on existing ◿ U+25FF)
- ◹ U+25F9 UPPER RIGHT TRIANGLE
- ◺ U+25FA LOWER LEFT TRIANGLE
- ☇ U+2607 LIGHTNING
- ☈ U+2608 THUNDERSTORM
- ⚆ U+2686 WHITE CIRCLE WITH DOT RIGHT (based on existing U+2687)
- ⚈ U+2688 BLACK CIRCLE WITH WHITE DOT RIGHT
- ⚉ U+2689 BLACK CIRCLE WITH TWO WHITE DOTS
2025-04-09 22:32:57 +02:00
PhMajerus
686c04de65 Symbols and currencies
Added 49 new characters:
- ⁂ U+2042 ASTERISM
- ⁑ U+2051 TWO ASTERISKS ALIGNED VERTICALLY
- ₡ U+20A1 COLON SIGN
- ₢ U+20A2 CRUZEIRO SIGN
- ₥ U+20A5 MILL SIGN
- ₦ U+20A6 NAIRA SIGN
- ₨ U+20A8 RUPEE SIGN
- ₫ U+20AB DONG SIGN
- ₭ U+20AD KIP SIGN
- ₮ U+20AE TUGRIK SIGN
- ₯ U+20AF DRACHMA SIGN
- ₰ U+20B0 GERMAN PENNY SIGN
- ₱ U+20B1 PESO SIGN
- ℂ U+2102 DOUBLE-STRUCK CAPITAL C
- ℄ U+2104 CENTRE LINE SYMBOL
- ℇ U+2107 EULER CONSTANT (not the mathematical e symbol)
- ℈ U+2108 SCRUPLE
- ℊ U+210A SCRIPT SMALL G
- ℋ U+210B SCRIPT CAPITAL H
- ℌ U+210C BLACK-LETTER CAPITAL H
- ℍ U+210D DOUBLE-STRUCK CAPITAL H
- ℐ U+2110 SCRIPT CAPITAL I
- ℑ U+2111 BLACK-LETTER CAPITAL I
- ℒ U+2112 SCRIPT CAPITAL L
- ℓ U+2113 SCRIPT SMALL L
- ℔ U+2114 L B BAR SYMBOL
- ℕ U+2115 DOUBLE-STRUCK CAPITAL N
- ℙ U+2119 DOUBLE-STRUCK CAPITAL P
- ℚ U+211A DOUBLE-STRUCK CAPITAL Q
- ℝ U+211D DOUBLE-STRUCK CAPITAL R
- ℠ U+2120 SERVICE MARK
- ℤ U+2124 DOUBLE-STRUCK CAPITAL Z
- ℮ U+212E ESTIMATED SYMBOL
- Ⅎ U+2132 TURNED CAPITAL F
- ⅎ U+214E TURNED SMALL F
- ↂ U+2182 ROMAN NUMERAL TEN THOUSAND
- ↞ U+219E LEFTWARDS TWO HEADED ARROW
- ↠ U+21A0 RIGHTWARDS TWO HEADED ARROW
- ⇞ U+21DE UPWARDS ARROW WITH DOUBLE STROKE (page up symbol)
- ⇟ U+21DF DOWNWARDS ARROW WITH DOUBLE STROKE (page down symbol)
- ⇤ U+21E4 LEFTWARDS ARROW TO BAR (leftward tab symbol)
- ⇥ U+21E5 RIGHTWARDS ARROW TO BAR (rightward tab symbol)
- ⇦ U+21E6 LEFTWARDS WHITE ARROW
- ⇧ U+21E7 UPWARDS WHITE ARROW
- ⇨ U+21E8 RIGHTWARDS WHITE ARROW
- ⇩ U+21E9 DOWNWARDS WHITE ARROW
- ⇪ U+21EA UPWARDS WHITE ARROW FROM BAR (caps lock symbol)
- ⌅ U+2305 PROJECTIVE
- ⌆ U+2306 PERSPECTIVE

These are characters available in MS Gothic, and therefore potentially used by Japanese Windows NT console apps.
This commit also contains minor improvements to other glyphs added in previous commits of the same PR.
2025-04-09 16:55:44 +02:00
PhMajerus
cbb0e4053d More operators, symbols, and emojis
Added 41 new characters:
- ⊻ U+22BB XOR (note U+2227 and U+2228 are a pixel too tall)
- ⊼ U+22BC NAND
- ⊽ U+22BD NOR
- ⊾ U+22BE RIGHT ANGLE WITH ARC
- ⋇ U+22C7 DIVISION TIMES
- ⋉ U+22C9 LEFT NORMAL FACTOR SEMIDIRECT PRODUCT
- ⋊ U+22CA RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT
- ⋋ U+22CB LEFT SEMIDIRECT PRODUCT
- ⋌ U+22CC RIGHT SEMIDIRECT PRODUCT
- ⋎ U+22CE CURLY LOGICAL OR
- ⋏ U+22CF CURLY LOGICAL AND
- ⋕ U+22D5 EQUAL AND PARALLEL TO
- ⋖ U+22D6 LESS-THAN WITH DOT
- ⋗ U+22D7 GREATER-THAN WITH DOT
- ⋘ U+22D8 VERY MUCH LESS-THAN
- ⋙ U+22D9 VERY MUCH GREATER-THAN
- ⋚ U+22DA LESS-THAN EQUAL TO OR GREATER-THAN
- ⋛ U+22DB GREATER-THAN EQUAL TO OR LESS-THAN
- ⋢ U+22E2 NOT SQUARE IMAGE OF OR EQUAL TO
- ⋣ U+22E3 NOT SQUARE ORIGINAL OF OR EQUAL TO
- ⋤ U+22E4 SQUARE IMAGE OF OR NOT EQUAL TO
- ⋥ U+22E5 SQUARE ORIGINAL OF OR NOT EQUAL TO
- ⋦ U+22E6 LESS-THAN BUT NOT EQUIVALENT TO
- ⋧ U+22E7 GREATER-THAN BUT NOT EQUIVALENT TO
- ⋨ U+22E8 PRECEDES BUT NOT EQUIVALENT TO
- ⋩ U+22E9 SUCCEEDS BUT NOT EQUIVALENT TO
- ⋪ U+22EA NOT NORMAL SUBGROUP OF (based on U+22B2, but they are not centered like operators, should probably be fixed)
- ⋫ U+22EB DOES NOT CONTAIN AS NORMAL SUBGROUP (based on U+22B3, but they are not centered like operators, should probably be fixed)
- ⎌ U+238C UNDO SYMBOL
-  U+23F0 ALARM CLOCK
- ⏽ U+23FD POWER ON SYMBOL
- ⏾ U+23FE POWER SLEEP SYMBOL
- 💰 U+1F4B0 MONEY BAG
- 📃 U+1F4C3 PAGE WITH CURL
- 📇 U+1F4C7 CARD INDEX
- 📋 U+1F4CB CLIPBOARD
- 📜 U+1F4DC SCROLL (commonly used to represent scripts)
- 📞 U+1F4DE TELEPHONE RECEIVER
- 📠 U+1F4E0 FAX MACHINE
- 📰 U+1F4F0 NEWSPAPER
- 🤖 U+1F916 ROBOT FACE
2025-04-09 01:23:15 +02:00
PhMajerus
e08e9a46f0 Some emojis 6
Added 10 new emojis:
-  U+231A WATCH (emoji version of existing PUA U+F49B)
- 🍎 U+1F34E RED APPLE
- 🍏 U+1F34F GREEN APPLE
- 👻 U+1F47B GHOST
- 💀 U+1F480 SKULL
- 📤 U+1F4E4 OUTBOX TRAY
- 📥 U+1F4E5 INBOX TRAY
- 📨 U+1F4E8 INCOMING ENVELOPE
- 🔓 U+1F513 OPEN LOCK
- 🪟 U+1FA9F WINDOW
2025-04-06 20:54:06 +02:00
PhMajerus
d5fc566d74 More mathematical operators and symbols
Added 49 new characters:
- ℗ U+2117 SOUND RECORDING COPYRIGHT
- ∱ U+2231 CLOCKWISE INTEGRAL
- ∲ U+2232 CLOCKWISE CONTOUR INTEGRAL
- ∳ U+2233 ANTICLOCKWISE CONTOUR INTEGRAL
- ∸ U+2238 DOT MINUS
- ∹ U+2239 EXCESS
- ∿ U+223F SINE WAVE
- ≀ U+2240 WREATH PRODUCT
- ≎ U+224E GEOMETRICALLY EQUIVALENT TO
- ≏ U+224F DIFFERENCE BETWEEN
- ≨ U+2268 LESS-THAN BUT NOT EQUAL TO
- ≩ U+2269 GREATER-THAN BUT NOT EQUAL TO
- ≬ U+226C BETWEEN
- ≭ U+226D NOT EQUIVALENT TO
- ≮ U+226E NOT LESS-THAN
- ≯ U+226F NOT GREATER-THAN
- ≰ U+2270 NEITHER LESS-THAN NOR EQUAL TO
- ≱ U+2271 NEITHER GREATER-THAN NOR EQUAL TO
- ≲ U+2272 LESS-THAN OR EQUIVALENT TO
- ≳ U+2273 GREATER-THAN OR EQUIVALENT TO
- ≴ U+2274 NEITHER LESS-THAN NOR EQUIVALENT TO
- ≵ U+2275 NEITHER GREATER-THAN NOR EQUIVALENT TO
- ≶ U+2276 LESS-THAN OR GREATER-THAN
- ≷ U+2277 GREATER-THAN OR LESS-THAN
- ≸ U+2278 NEITHER LESS-THAN NOR GREATER-THAN
- ≹ U+2279 NEITHER GREATER-THAN NOR LESS-THAN
- ≺ U+227A PRECEDES
- ≻ U+227B SUCCEEDS
- ≼ U+227C PRECEDES OR EQUAL TO
- ≽ U+227D SUCCEEDS OR EQUAL TO
- ≾ U+227E PRECEDES OR EQUIVALENT TO
- ≿ U+227F SUCCEEDS OR EQUIVALENT TO
- ⊀ U+2280 DOES NOT PRECEDE
- ⊁ U+2281 DOES NOT SUCCEED
- ⋜ U+22DC EQUAL TO OR LESS-THAN
- ⋝ U+22DD EQUAL TO OR GREATER-THAN
- ⋞ U+22DE EQUAL TO OR PRECEDES
- ⋟ U+22DF EQUAL TO OR SUCCEEDS
- ⋠ U+22E0 DOES NOT PRECEDE OR EQUAL
- ⋡ U+22E1 DOES NOT SUCCEED OR EQUAL
- ⏀ U+23C0 DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE
- ⏁ U+23C1 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE
- ⏂ U+23C2 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE
- ⏃ U+23C3 DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE
- ⏄ U+23C4 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE
- ⏅ U+23C5 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE
- ⏆ U+23C6 DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE
- ⏇ U+23C7 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE
- ⏈ U+23C8 DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE

We could also adjust ≢ U+2262, ⊄ U+2284, ⊅ U+2285, ⊈ U+2288, and ⊉ U+2289 to use a similar stroke style as the other slashes operators I designed, they would get slightly more readable.
2025-04-05 18:36:58 +02:00
PhMajerus
7bab03b62a More symbols
Added 18 new characters:
- ⁇ U+2047 DOUBLE QUESTION MARK
- ⁈ U+2048 QUESTION EXCLAMATION MARK
- ⁉ U+2049 EXCLAMATION QUESTION MARK
- ₠ U+20A0 EURO-CURRENCY SIGN
- ↟ U+219F UPWARDS TWO HEADED ARROW
- ∻ U+223B HOMOTHETIC
- ∼ U+223C TILDE OPERATOR
- ≁ U+2241 NOT TILDE
- ≂ U+2242 MINUS TILDE
- ≆ U+2246 APPROXIMATELY BUT NOT ACTUALLY EQUAL TO
- ≇ U+2247 NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO
- ≊ U+224A ALMOST EQUAL OR EQUAL TO
- ≋ U+224B TRIPLE TILDE
- ≌ U+224C ALL EQUAL TO
- ⊚ U+229A CIRCLED RING OPERATOR
- ⋍ U+22CD REVERSED TILDE EQUALS
- ⧺ U+29FA DOUBLE PLUS
- 💲 U+1F4B2 HEAVY DOLLAR SIGN (emoji version of PUA U+F155)

This adds the missing tilde and dash operators, but does not touch the existing ones.
See https://github.com/slavfox/Cozette/issues/154 for more details.
2025-04-04 14:28:53 +02:00
PhMajerus
7a44609a61 Improvements to some characters
This commit only improves some of the characters I added in the same pull request.
2025-04-04 01:15:28 +02:00
PhMajerus
f83bd84515 More parenthesized kanji
Added 17 new characters:
- ㈠ U+3220 to ㈩ U+3229 PARENTHESIZED IDEOGRAPH DIGITS
- ㈪ U+322A to ㈰ U+3230 PARENTHESIZED IDEOGRAPH DAYS OF WEEK
2025-04-03 22:38:03 +02:00
PhMajerus
361ab13dcc Ideographic Telegraph Symbols
Added 69 new characters:
- 〷 U+3037 IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL
- ㋀ U+32C0 to ㋋ U+32CB IDEOGRAPHIC TELEGRAPH SYMBOLS FOR MONTHS
- ㍘ U+3358 to ㍰ U+3370 IDEOGRAPHIC TELEGRAPH SYMBOLS FOR HOURS
- ㏠ U+33E0 to ㏾ U+33FE IDEOGRAPHIC TELEGRAPH SYMBOLS FOR DAYS

As well as the 6 corresponding CozetteCrossedSeven variants.
2025-04-03 20:29:04 +02:00
PhMajerus
27c8135869 Some Enclosed Alphanumeric Supplement
Added 81 new characters:
- 🄋 U+1F10B DINGBAT CIRCLED SANS-SERIF DIGIT ZERO
- 🄌 U+1F10C DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ZERO
- 🄍 U+1F10D CIRCLED ZERO WITH SLASH
- 🄐 U+1F110 to 🄩 U+1F129 PARENTHESIZED LATIN CAPITAL LETTERS
- 🅐 U+1F150 to 🅩 U+1F169 NEGATIVE CIRCLED LATIN CAPITAL LETTERS
- 🅰 U+1F170 to 🆉 U+1F189 NEGATIVE SQUARED LATIN CAPITAL LETTERS
2025-03-31 12:44:31 +02:00
PhMajerus
2affbf23c6 Amstrad CPC compatibility
Added 13 new characters:
- ◻ U+25FB WHITE MEDIUM SQUARE
- ◼ U+25FC BLACK MEDIUM SQUARE
- ⎾ U+23BE DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT
- ⎿ U+23BF DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT
- ⏉ U+23C9 DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL
- ⏊ U+23CA DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL
- ⏋ U+23CB DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT
- ⏌ U+23CC DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT
- ↡ U+21A1 DOWNWARDS TWO HEADED ARROW
- ⊙ U+2299 CIRCLED DOT OPERATOR
- ⍻ U+237B NOT CHECK MARK
- ⎍ U+238D MONOSTABLE SYMBOL
- ⧖ U+29D6 WHITE HOURGLASS
2025-03-31 01:14:28 +02:00
PhMajerus
5698795990 Sharp MZ series (Japanese) compatibility
Added 3 new characters:
- ◦ U+25E6 WHITE BULLET (based on existing • U+2022 BULLET design)
- 🛸 U+1F6F8 FLYING SAUCER
- 😐 U+1F610 NEUTRAL FACE (based on existing smiley designs)
2025-03-30 16:47:04 +02:00
PhMajerus
f8f99015dc MSX (international) compatibility
Added 1 new character:
- ⟊ `U+27CA` VERTICAL BAR WITH HORIZONTAL STROKE
2025-03-29 23:10:43 +01:00
PhMajerus
24974d285d Final DOS/V symbols
Added 1 new character wrongly listed in previous commit:
- ㏍ U+33CD SQUARE KK

And previous commit didn't mention but included:
- ㎟ U+339F SQUARE MM SQUARED

This should complete the symbols from DOS/V, leaving only the Kanjis to be added.
2025-03-27 23:03:48 +01:00
PhMajerus
2908add460 More DOS/V symbols 3
Added 18 new characters:
- ⌒ U+2312 ARC (designed as fullwidth like U+25EF as they were originally in DOS/V)
- ㎎ U+338E SQUARE MG (designed as fullwidth like all Square*)
- ㎏ U+338F SQUARE KG
- ㎜ U+339C SQUARE MM
- ㎝ U+339D SQUARE CM
- ㎞ U+339E SQUARE KM
- ㎡ U+33A1 SQUARE M SQUARED
- ㏄ U+33C4 SQUARE CC
- ㏍ U+33CD SQUARE KK
- ㈱ U+3231 PARENTHESIZED IDEOGRAPH STOCK
- ㈲ U+3232 PARENTHESIZED IDEOGRAPH HAVE
- ㈹ U+3239 PARENTHESIZED IDEOGRAPH REPRESENT
- ㋿ U+32FF SQUARE ERA NAME REIWA
- ㍻ U+337B SQUARE ERA NAME HEISEI
- ㍼ U+337C SQUARE ERA NAME SYOUWA
- ㍽ U+337D SQUARE ERA NAME TAISYOU
- ㍾ U+337E SQUARE ERA NAME MEIZI
- 仝 U+4EDD CJK IDEOGRAPH-4EDD
(Consistent with bluetoad07 kanji designs, must be redesigned if CJK are redesigned)
2025-03-27 22:50:34 +01:00
PhMajerus
44353706ee Adjusted halfwidth arrows
(Checked bitmap font from DOS/V and made some adjustments)
2025-03-27 00:12:48 +01:00
PhMajerus
2fbac2ab4d More DOS/V symbols 2
Added 8 new characters:
- ∽ U+223D REVERSED TILDE
- │ U+FFE8 HALFWIDTH FORMS LIGHT VERTICAL
- ← U+FFE9 HALFWIDTH LEFTWARDS ARROW
- ↑ U+FFEA HALFWIDTH UPWARDS ARROW
- → U+FFEB HALFWIDTH RIGHTWARDS ARROW
- ↓ U+FFEC HALFWIDTH DOWNWARDS ARROW
- ■ U+FFED HALFWIDTH BLACK SQUARE
- ○ U+FFEE HALFWIDTH WHITE CIRCLE
(Except for the first, all are hidden C0 semigraphics in CP932)
2025-03-26 23:54:54 +01:00
PhMajerus
fe77749012 More DOS/V symbols
Added 24 new characters:
℻ U+213B FACSIMILE SIGN
⅍ U+214D AKTIESELSKAB
〓 U+3013 GETA MARK
〝 U+301D REVERSED DOUBLE PRIME QUOTATION MARK
〞 U+301E DOUBLE PRIME QUOTATION MARK
〟 U+301F LOW DOUBLE PRIME QUOTATION MARK
〶 U+3036 CIRCLED POSTAL MARK
〿 U+303F IDEOGRAPHIC HALF FILL SPACE
㌃ U+3303 SQUARE AARU
㌍ U+330D SQUARE KARORII
㌔ U+3314 SQUARE KIRO
㌘ U+3318 SQUARE GURAMU
㌢ U+3322 SQUARE SENTI
㌣ U+3323 SQUARE SENTO
㌦ U+3326 SQUARE DORU
㌧ U+3327 SQUARE TON
㌫ U+332B SQUARE PAASENTO
㌶ U+3336 SQUARE HEKUTAARU
㌻ U+333B SQUARE PEEZI
㍉ U+3349 SQUARE MIRI
㍊ U+334A SQUARE MIRIBAARU
㍍ U+334D SQUARE MEETORU
㍑ U+3351 SQUARE RITTORU
㍗ U+3357 SQUARE WATTO

Fixed 2 existing characters:
- Fixed Ideographic Space U+3000 to be 12px wide instead of 13px.
- Integrated fix for Braille Pattern Dots-67 U+2860 from #152.
2025-03-26 03:54:18 +01:00
PhMajerus
7e4f0149b8 TRS-80 compatibility and some DOS/V symbols
Added 30 new characters:
- ₩ U+20A9 WON SIGN
- ℀ U+2100 ACCOUNT OF
- ℁ U+2101 ADDRESSED TO THE SUBJECT
- ℅ U+2105 CARE OF
- ℆ U+2106 CADA UNA
- ℞ U+211E PRESCRIPTION TAKE
- ℡ U+2121 TELEPHONE SIGN
- Å U+212B ANGSTROM SIGN
- ∮ U+222E CONTOUR INTEGRAL
- ∯ U+222F SURFACE INTEGRAL
- ∰ U+2230 VOLUME INTEGRAL
- ≐ U+2250 APPROACHES THE LIMIT
- ≑ U+2251 GEOMETRICALLY EQUAL TO
- ≒ U+2252 APPROXIMATELY EQUAL TO OR THE IMAGE OF
- ≓ U+2253 IMAGE OF APPROXIMATELY EQUAL TO
- ≣ U+2263 STRICTLY EQUIVALENT TO
- ≦ U+2266 LESS-THAN OVER EQUAL TO
- ≧ U+2267 GREATER-THAN OVER EQUAL TO
- ≪ U+226A MUCH LESS-THAN
- ≫ U+226B MUCH GREATER-THAN
- ⊿ U+22BF RIGHT TRIANGLE
- ⌇ U+2307 WAVY LINE
- ⍾ U+237E BELL SYMBOL
- ¢ U+FFE0 FULLWIDTH CENT SIGN
- £ U+FFE1 FULLWIDTH POUND SIGN
- ¬ U+FFE2 FULLWIDTH NOT SIGN
-  ̄ U+FFE3 FULLWIDTH MACRON
- ¦ U+FFE4 FULLWIDTH BROKEN BAR
- ¥ U+FFE5 FULLWIDTH YEN SIGN
- ₩ U+FFE6 FULLWIDTH WON SIGN

Fixed 1 character from my previous PR:
- Fixed U+1CDF9 to align with (mirror) U+2708.
2025-03-25 18:35:29 +01:00
Slavfox
2a3c782b6e v.1.28.0 the bluetoad07 update 2025-03-25 15:20:26 +01:00
fox & circe
e462f5bab4
Merge pull request #162 from PhMajerus/main
Unicode 16.0 characters names in changelog.
2025-03-25 14:44:37 +01:00
fox & circe
8086f4e484
Merge pull request #158 from rmoraes92/feature/readme-add-guide-fix-vscode-lack-character-spacing
README.md - adds guide to fix lack of spacing on vscode
2025-03-25 14:44:28 +01:00
PhMajerus
fb3430c57a Added missing Unicode 16.0 characters names in changelog. 2025-03-24 15:03:55 +01:00
Slavfox
8659a2b889 v.1.27.0 The PhMajerus update part 1 2025-03-23 12:35:41 +01:00
fox & circe
2514aebae1
Merge pull request #144 from PhMajerus/main
Symbols for Legacy Computing, IBM PC, MS-DOS, HP 4260 Series, Windows console compatibility, and more
2025-03-23 11:13:09 +01:00
PhMajerus
7beff7655f Enclosed Alphanumerics block
Added U+2474 to U+24B5.
This completes the Enclosed Alphanumerics block (U+2460 - U+24FF).
2025-03-22 19:02:50 +01:00
Ramon Moraes
f1b5b8bad8 README.md - adds guide to fix lack of spacing on vscode
I don't know if this happens to anyone else but if I don't explicitly set my
"terminal.integrated.letterSpacing" to 1 the font will render like there is a
zero (or a -1) on the spacing inside the VSCode terminal window.

To fix it we just need to set the property "terminal.integrated.letterSpacing"
to 1 and font will render properly.

This commit adds a quick guide (with screenshots) about how to fix the issue
described above.
2025-03-16 18:46:25 -03:00
PhMajerus
a68a4b7c96 Tetragrams
Added Tetragrams (U+1D306 - U+1D356)
2025-03-16 17:44:47 +01:00
PhMajerus
48a9289d5a Hexagrams
Added Hexagrams (U+4DC0 - U+4DFF)
2025-03-16 04:30:01 +01:00
PhMajerus
9e16064f87 Fix for stray pixel in U+1CD49.
Everything finally looks right!
2025-03-16 01:03:42 +01:00
PhMajerus
d1ef3c8f53 Some emojis 5
Added U+1F004; U+1F338; U+1F3B1; U+1F427; U+1F47E; U+1F4AE - U+1F4AF; U+1F4BB; U+1F4C5 - U+1F4C6; U+1F4E7; U+1F5A9 - U+1F5AD; U+1F5B3; U+1F5B8.
2025-03-15 23:26:58 +01:00
PhMajerus
1a706e67b6 Final adjustments for smooth sextants / diagonals.
This fix minor issues with the diagonals, now tests look perfect to me.
2025-03-13 16:53:28 +01:00
PhMajerus
fd24ba213e Fixed missing U+25EF in charmap.txt and characters.txt.
(and spacing cleanup in characters.txt to make the new ranges more readable)
2025-03-12 02:32:30 +01:00
PhMajerus
bd6f6d69a4 Adjustments to legacy computing line drawing diagonals
This should be the final adjustment of new line drawing diagonals.
More could be done by also adjusting existing ones, but I don't want to touch existing glyphs in the same PR.
2025-03-11 23:46:32 +01:00
PhMajerus
ba22fc0c7a Lucida Console / Windows 2000 console compatibility
Added U+037E; U+0384; U+0385; U+0387; U+20A3; U+25CA; U+FB02.
Also includes minor adjustments to Symbols for Legacy Computing Supplement.
2025-03-11 19:00:12 +01:00
PhMajerus
40d695ae91 Circled alphabet
Added U+24B6 - U+24E9
Also includes minor adjustments to Symbols for Legacy Computing.
2025-03-11 01:35:36 +01:00
PhMajerus
aa4df6d077 More circled kanji and katakana
Added U+3280 - U+3290 and U+32D0 - U+32FE
2025-03-10 23:37:14 +01:00
PhMajerus
02241c2002 More circled digits and kanji
Added U+3251 - U+325F; U+32A3 - U+32A8; U+32B1 - U+32BF
2025-03-10 05:30:29 +01:00
PhMajerus
fe21e655cb Circled digits
Added (U+2460 - U+2473; U+24EA - U+24FF; U+2776 - U+2793)
2025-03-10 04:07:10 +01:00
PhMajerus
1b1dabad52 Symbols for Japanese text
Added ★ and ☆ (U+2605 and U+2606).
2025-03-07 13:49:48 +01:00
PhMajerus
e5f8c8ed5d Some emojis 4
Added clock faces (U+1F550 - U+1F567)
Also includes some cleanup and minor fixes in charmap and documentation.
2025-03-07 13:15:07 +01:00
PhMajerus
dd23aa2c95 Added Specials / replacement characters
This adds U+FFFC and U+FFFD.
2025-03-07 12:40:05 +01:00
PhMajerus
54b616db12 Changed Playing Cards 10 from 'o to T.
As per https://github.com/slavfox/Cozette/issues/153#issuecomment-2705960356 discussion.
2025-03-07 12:22:54 +01:00
PhMajerus
e5ff6ac4d3 Some emojis 3
- Added ✉🖂🖃 (U+231B; U+2709; U+1F582 - U+1F583)
2025-03-06 21:57:44 +01:00
PhMajerus
16a4b6e62d Fixes and minor improvements
One of the glyph was corrupted, fixed it and made some minor improvements.
2025-03-06 15:27:35 +01:00
PhMajerus
750f5640bb Some emojis 2
- Added 🎔💌💓💔💕💖💗💘💙💚💛💜💝💞💽🖤🤎🧡🩵🩶🩷 (U+1F394; U+1F48C; U+1F493 - U+1F49E; U+1F4BD; U+1F5A4, U+1F90D - U+1F90E; U+1F9E1; U+1FA75 - U+1FA77)
2025-03-06 15:07:22 +01:00
PhMajerus
a6fc0895e9 Some emojis
- Added 🎮💣💤💾💿📀📁📂 (U+1F3AE; U+1F4A3 - U+1F4A4; U+1F4BE - U+1F4C2)
2025-03-05 18:11:15 +01:00
PhMajerus
9b710c17dd More symbols and number forms
- Letterlike Symbols (U+2103; U+2109; U+210E - U+210F; U+2126 - U+2127; U+212F)
- Number Forms (U+2150 - U+215F; U+2166 - U+2167; U+216B - U+216F; U+217C - U+2181; U+2183 - U+2184; U+2189 - U+218B)
2025-03-05 08:22:22 +01:00
PhMajerus
c28640b814 Playing cards
- Added Playing Cards (U+1F0A0 - U+1F0AE, U+1F0B1 - U+1F0BF, U+1F0C1 - U+1F0CF, U+1F0D1 - U+1F0DF, Unicode 7.0)
(Note the tarot cards are not included in this commit)
2025-03-02 04:40:18 +01:00
PhMajerus
65013b6742 HP 2640 Series terminals compatibility
- Added U+2628, U+2243, and U+2244 to complete HP 2640 standard character sets.
2025-02-25 14:57:48 +01:00
PhMajerus
07111ccbdc MS-DOS CP437 support (arrows)
- Add missing arrows U+25BA and U+25C4 required for CP437 support.
2025-02-18 19:33:51 +01:00
PhMajerus
86342eae85 Symbols for Legacy Computing: Minor edits 2
- Made U+1CEB0 (horizontal zigzag line) more similar to Smalltalk-78 on Macintosh.
2025-02-17 19:50:29 +01:00
PhMajerus
7a7ff6619c MS-DOS CP437 support
- Add missing characters for IBM PC and MS-DOS codepage 437 support (U+20A7; U+21A8; U+2310; U+25AC; U+25D8; U+25D9; U+263C)
2025-02-17 16:27:01 +01:00
PhMajerus
96b3a7a434 Symbols for Legacy Computing: Sprites part.3
- More sprites (U+1CC5A - U+1CC5F; U+1CCA0 - U+1CCB9; U+1CDE6 - U+1CDF4; U+1CDF6 - U+1CDF7, Unicode 16.0)
2025-02-17 01:40:54 +01:00
PhMajerus
bf2b2b66b0 Symbols for Legacy Computing: AutoHint
- Adjusted U+2429 (Amstrad CPC delete control picture)
- AutoHint'ed all 944 glyphs added in my commits.
2025-02-16 18:39:07 +01:00
PhMajerus
3591865c23 Symbols for Legacy Computing: Sprites part.2
- More sprites (U+2708; U+1F6E7; U+1CDF5; U+1CDF8 - U+1CDFF, Unicode 16.0)
2025-02-16 17:26:17 +01:00
PhMajerus
0318435e66 Symbols for Legacy Computing: Fixed characters lists
Removed some characters that were included by mistake in characters.txt and charmap.txt.
2025-02-16 01:56:26 +01:00
PhMajerus
e2940d5033 Symbols for Legacy Computing: Sprites
- Black Large Circle (U+2B24, required for some sprites below)
- Sprites (U+1CC48 - U+1CC59; U+1CC60 - U+1CC9F, Unicode 16.0)
2025-02-16 01:30:08 +01:00
PhMajerus
f455070ea9 Symbols for Legacy Computing: Smalltalk
- Smalltalk-72 symbols (U+1CEB0 - U+1CEB3, Unicode 16.0)
2025-02-15 23:05:51 +01:00
PhMajerus
ef421a9366 Symbols for Legacy Computing: Chess pieces
- Double-width chess pieces (U+2654 - U+265F)
- 2×2 chess pieces + standing knight (U+1CCBA - U+1CCD5, Unicode 16.0)
2025-02-15 03:36:37 +01:00
PhMajerus
2c1cb21b74 Symbols for Legacy Computing: Large Type Pieces (rounding)
- Changed corner pieces from chamfered to curved style.
2025-02-14 14:13:52 +01:00
PhMajerus
7d4c903dd9 Symbols for Legacy Computing: More Sharp MZ Symbols
- Sharp MZ stick figures, ruler, electronics, and more (U+1CC00 - U+1CC20, Unicode 16.0)
2025-02-14 02:09:04 +01:00
PhMajerus
4e0560cb2f Symbols for Legacy Computing: Pseudopixels part.2
- Octants (U+1CD00 - U+1CDE5, Unicode 16.0)
2025-02-13 22:40:39 +01:00
PhMajerus
c3cbe61b13 Symbols for Legacy Computing: "Eights"
- One sixteenth blocks (U+1CE90 - U+1CE9F, Unicode 16.0)
- Other 8×8-based patterns (U+1CEA0 - U+1CEAF, Unicode 16.0)
2025-02-13 19:29:40 +01:00
PhMajerus
362e095889 Symbols for Legacy Computing: Lines and terminal graphic symbols
- Box drawing and tick lines (U+1CE0D - U+1CE19, Unicode 16.0)
- Terminal graphic symbols (U+1CE00 - U+1CE0C, Unicode 16.0)
2025-02-12 23:13:15 +01:00
PhMajerus
4103baf130 Symbols for Legacy Computing: Diagonals (fixes)
Minor fixes to the smooth sextants slopes.
2025-02-12 02:18:52 +01:00
PhMajerus
c7cdcf2f2b Symbols for Legacy Computing: Control Pictures (improvements)
Minor adjustments to make control pictures more consistent with the main latin characters.
2025-02-12 01:40:42 +01:00
PhMajerus
1aaf0e2eaa Symbols for Legacy Computing: Control Pictures
- Added legacy computers delete symbols (U+2427 - U+2429, Unicode 16.0)
- Completed missing control pictures in the U+2400 - U+2446 range
2025-02-11 23:13:13 +01:00
PhMajerus
f1823da91c Symbols for Legacy Computing: Legacy arrows (oops)
Added the U+1F8B0 to U+1F8BB that I forgot to add to img/characters.txt and img/charmap.txt in the previous commit.
2025-02-11 20:37:10 +01:00
PhMajerus
ed50a3fb21 Symbols for Legacy Computing: Legacy arrows
- Legacy systems arrows (U+1F8B0 - U+1F8BB, Unicode 13.0 and 16.0)
2025-02-11 20:30:20 +01:00
PhMajerus
c3638b2a29 Symbols for Legacy Computing: Adjustments
- Fixed and improved a few characters
- Replaced U+1FB95 and U+1FB96 with more organic fill patterns as checkerboard cannot be regular tiling patterns at 6x13.
2025-02-11 18:01:00 +01:00
PhMajerus
fd3c037d0d Symbols for Legacy Computing: Completed Unicode 13 block
- Extra box drawing lines (U+1FB70 - U+1FB7F, Unicode 13.0)
- Extra block elements (U+1FB82 - U+1FB8B; U+1FBCE; U+1FBCF, Unicode 13.0)
- MouseText (U+1FB80; U+1FB81; U+1FBB0 - U+1FBBC, Unicode 13.0)
- Misc sprites, UI, etc... (U+1FBBD - U+1FBCD, Unicode 13.0)
- Added crossed outlined seven (U+1CCF7) to CozetteCrossedSeven.sfd
2025-02-10 23:28:04 +01:00
PhMajerus
e96ed5f366 Symbols for Legacy Computing: Large Type Pieces
- Large Type Pieces (U+1CE1A - U+1CE50, Unicode 16.0)
  (From Hewlett-Packard 2640 Series Terminals)
2025-02-10 02:44:06 +01:00
PhMajerus
fab11ddc62 Symbols for Legacy Computing: Documentation (oops)
Added the U+25E2 to U+25E5 that I forgot to add to img/characters.txt and img/charmap.txt in the previous commit.
2025-02-10 00:07:56 +01:00
PhMajerus
9b231a09b9 Symbols for Legacy Computing: Documentation
Added the new characters to img/characters.txt and img/charmap.txt.
2025-02-10 00:00:38 +01:00
PhMajerus
15c4dd3c24 Symbols for Legacy Computing: Minor edits
Improved the appearance of the outlined letters.
2025-02-09 23:24:11 +01:00
PhMajerus
d6f09dacaa Symbols for Legacy Computing: Box drawing extras
- Box drawing diagonal lines #1 (U+1FBA0 - U+1FBAE, Unicode 13.0)
- Box drawing diagonal lines #2 (U+1FBD0 - U+1FBDF, Unicode 16.0)
2025-02-09 22:59:48 +01:00
PhMajerus
07ae0ce1e3 Symbols for Legacy Computing: Misc block elements
- Shaded blocks (U+1FB8C - U+1FB92; U+1FB94 - U+1FB99; U+1FB9C - U+1FB9F, Unicode 13.0)
- Semicircles and extra quadrants (U+1FBE0 - U+1FBEF, Unicode 16.0)
2025-02-09 21:10:05 +01:00
PhMajerus
df988356d1 Symbols for Legacy Computing: Diagonals
- Smooth Sextants (U+1FB3C - U+1FB67, Unicode 13.0)
- Triangles (U+25E2 - U+25E5; U+1FB68 - U+1FB6F; U+1FB9A - U+1FB9B, Unicode 13.0)
2025-02-09 18:59:50 +01:00
PhMajerus
2abd9bb52e Symbols for Legacy Computing: Alphanumeric
- Segmented digits (U+1FBF0 - U+1FBF9, Unicode 13.0)
- Outlined capital letters (U+1CCD6 - U+1CCEF, Unicode 16.0)
- Outlined digits (U+1CCF0 - U+1CCF9, Unicode 16.0)
2025-02-09 06:41:36 +01:00
PhMajerus
c2a32e0737 Symbols for Legacy Computing: Pseudopixels part.1
- Sextants (U+1FB00 - U+1FB3B, Unicode 13.0)
- Separated Quadrants (U+1CC21 - U+1CC2F, Unicode 16.0)
- Separated Sextants (U+1CE51 - U+1CE8F, Unicode 16.0)
2025-02-09 05:55:01 +01:00
fox & circe
e1476ef1cc
Merge pull request #143 from tungstengmd/main
add the link bc i seemingly forgot
2025-01-19 23:53:37 +01:00
harlow foxworthy
80b1a3ae38
Update README.md 2025-01-18 14:14:15 +00:00
fox & circe
9abce94585
Merge pull request #142 from tungstengmd/main
Add Void package
2025-01-17 18:23:48 +01:00
harlow foxworthy
0bd09d4d32
Update README.md 2025-01-17 16:47:33 +00:00
Slavfox
aa7eafd73a Documentation 2024-12-31 11:14:05 +01:00
Slavfox
cc557fe9f9 v.1.26.0 The 2025 update!
Closes #139, closes #135
2024-12-31 02:21:38 +01:00
fox & circe
ead136767b
Merge pull request #136 from bluetoad07/kana_revisions
Kana Revisions
2024-12-30 23:42:11 +01:00
bluetoad07
5e09841426 katakana done 2024-10-17 16:17:34 -04:00
bluetoad07
5d2c6dfb0c hiragana done 2024-10-17 15:38:23 -04:00
Slavfox
5a309b62ce v.1.25.2
Closes #132
Closes #133
2024-09-27 10:16:40 +02:00
Slavfox
4ae50b491e v.1.25.1 kana fix 2024-07-27 04:24:12 +02:00
Slavfox
07e98eebfb Hopefully make sample render right 2024-07-25 20:34:45 +02:00
Slavfox
a71afce2a7 Make sample smaller 2024-07-25 20:15:51 +02:00
23 changed files with 35253 additions and 1843 deletions

3
.gitignore vendored
View file

@ -61,3 +61,6 @@ dmypy.json
*.ttf
*.otf
.vim
.direnv
.envrc
result

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

BIN
Cozette/Mosaics design.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View file

@ -0,0 +1,467 @@
SplineFontDB: 3.2
FontName: Cozette
FullName: Cozette
FamilyName: Cozette
Weight: Medium
Copyright: (c) 2020-2025 Ines <ines@moonwit.ch>
Version: 1.252
ItalicAngle: 0
UnderlinePosition: -100
UnderlineWidth: 50
Ascent: 1575
Descent: 473
InvalidEm: 0
sfntRevision: 0x00010000
LayerCount: 2
Layer: 0 0 "Back" 1
Layer: 1 0 "Fore" 0
XUID: [1021 693 57709195 13213585]
StyleMap: 0x0040
FSType: 0
OS2Version: 1
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 0
CreationTime: -2082812035
ModificationTime: 1753860679
PfmFamily: 49
TTFWeight: 500
TTFWidth: 5
LineGap: 102
VLineGap: 0
Panose: 0 0 0 9 0 0 0 0 0 0
OS2TypoAscent: 1655
OS2TypoAOffset: 0
OS2TypoDescent: 472
OS2TypoDOffset: 0
OS2TypoLinegap: 2127
OS2WinAscent: 1655
OS2WinAOffset: 0
OS2WinDescent: 472
OS2WinDOffset: 0
HheadAscent: 1655
HheadAOffset: 0
HheadDescent: -472
HheadDOffset: 0
OS2SubXSize: 409
OS2SubYSize: 409
OS2SubXOff: 0
OS2SubYOff: 409
OS2SupXSize: 409
OS2SupYSize: 409
OS2SupXOff: 0
OS2SupYOff: 409
OS2StrikeYSize: 2048
OS2StrikeYPos: 512
OS2Vendor: 'UNKN'
MarkAttachClasses: 1
DEI: 91125
LangName: 1033 "" "" "" "" "" "" "" "" "" "" "" "" "" "Copyright (c) 2020 Ines <ines@moonwit.ch>+AAoACgAA-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the +ACIA-Software+ACIA), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:+AAoACgAA-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.+AAoACgAA-THE SOFTWARE IS PROVIDED +ACIA-AS IS+ACIA, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE." "https://opensource.org/licenses/MIT"
MATH:ScriptPercentScaleDown: 80
MATH:ScriptScriptPercentScaleDown: 60
MATH:DelimitedSubFormulaMinHeight: 3072
MATH:DisplayOperatorMinHeight: 0
MATH:MathLeading: 0
MATH:AxisHeight: 0
MATH:AccentBaseHeight: 0
MATH:FlattenedAccentBaseHeight: 0
MATH:SubscriptShiftDown: 409
MATH:SubscriptTopMax: 0
MATH:SubscriptBaselineDropMin: 0
MATH:SuperscriptShiftUp: 409
MATH:SuperscriptShiftUpCramped: 0
MATH:SuperscriptBottomMin: 0
MATH:SuperscriptBaselineDropMax: 0
MATH:SubSuperscriptGapMin: 200
MATH:SuperscriptBottomMaxWithSubscript: 0
MATH:SpaceAfterScript: 85
MATH:UpperLimitGapMin: 0
MATH:UpperLimitBaselineRiseMin: 0
MATH:LowerLimitGapMin: 0
MATH:LowerLimitBaselineDropMin: 0
MATH:StackTopShiftUp: 0
MATH:StackTopDisplayStyleShiftUp: 0
MATH:StackBottomShiftDown: 0
MATH:StackBottomDisplayStyleShiftDown: 0
MATH:StackGapMin: 150
MATH:StackDisplayStyleGapMin: 350
MATH:StretchStackTopShiftUp: 0
MATH:StretchStackBottomShiftDown: 0
MATH:StretchStackGapAboveMin: 0
MATH:StretchStackGapBelowMin: 0
MATH:FractionNumeratorShiftUp: 0
MATH:FractionNumeratorDisplayStyleShiftUp: 0
MATH:FractionDenominatorShiftDown: 0
MATH:FractionDenominatorDisplayStyleShiftDown: 0
MATH:FractionNumeratorGapMin: 50
MATH:FractionNumeratorDisplayStyleGapMin: 150
MATH:FractionRuleThickness: 50
MATH:FractionDenominatorGapMin: 50
MATH:FractionDenominatorDisplayStyleGapMin: 150
MATH:SkewedFractionHorizontalGap: 0
MATH:SkewedFractionVerticalGap: 0
MATH:OverbarVerticalGap: 150
MATH:OverbarRuleThickness: 50
MATH:OverbarExtraAscender: 50
MATH:UnderbarVerticalGap: 150
MATH:UnderbarRuleThickness: 50
MATH:UnderbarExtraDescender: 50
MATH:RadicalVerticalGap: 50
MATH:RadicalDisplayStyleVerticalGap: 50
MATH:RadicalRuleThickness: 50
MATH:RadicalExtraAscender: 50
MATH:RadicalKernBeforeDegree: 568
MATH:RadicalKernAfterDegree: -1137
MATH:RadicalDegreeBottomRaisePercent: 60
MATH:MinConnectorOverlap: 40
Encoding: UnicodeFull
Compacted: 1
UnicodeInterp: none
NameList: AGL with PUA
DisplaySize: 13
AntiAlias: 1
FitToEm: 0
WidthSeparation: 307
WinInfo: 0 16 20
OnlyBitmaps: 1
BeginPrivate: 0
EndPrivate
TeXData: 1 0 0 524288 262144 174762 0 -1048576 174762 783286 444596 497025 792723 393216 433062 380633 303038 157286 324010 404750 52429 2506097 1059062 262144
BeginChars: 1114112 32
StartChar: seven
Encoding: 55 55 0
Width: 1024
Flags: W
LayerCount: 2
Fore
Validated: 1
EndChar
StartChar: uni2077
Encoding: 8311 8311 1
Width: 1024
Flags: W
LayerCount: 2
EndChar
StartChar: uni2087
Encoding: 8327 8327 2
Width: 1024
Flags: W
LayerCount: 2
EndChar
StartChar: uniFF17
Encoding: 65303 65303 3
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: u1CCF7
Encoding: 118007 118007 4
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: u1E0A7
Encoding: 123047 123047 5
Width: 2048
LayerCount: 2
EndChar
StartChar: u1F0A7
Encoding: 127143 127143 6
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: u1F0B7
Encoding: 127159 127159 7
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: u1F0C7
Encoding: 127175 127175 8
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: u1F0D7
Encoding: 127191 127191 9
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: uni2150
Encoding: 8528 8528 10
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: seveneighths
Encoding: 8542 8542 11
Width: 945
Flags: W
LayerCount: 2
EndChar
StartChar: uni2466
Encoding: 9318 9318 12
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni2470
Encoding: 9328 9328 13
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni24FB
Encoding: 9467 9467 14
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni24F1
Encoding: 9457 9457 15
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni2786
Encoding: 10118 10118 16
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni277C
Encoding: 10108 10108 17
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni2790
Encoding: 10128 10128 18
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni3257
Encoding: 12887 12887 19
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni32B2
Encoding: 12978 12978 20
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni32BC
Encoding: 12988 12988 21
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni247A
Encoding: 9338 9338 22
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni2484
Encoding: 9348 9348 23
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni2498
Encoding: 9368 9368 24
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni248E
Encoding: 9358 9358 25
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni32C6
Encoding: 12998 12998 26
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni335F
Encoding: 13151 13151 27
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni3369
Encoding: 13161 13161 28
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni33E6
Encoding: 13286 13286 29
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni33F0
Encoding: 13296 13296 30
Width: 1890
Flags: W
LayerCount: 2
EndChar
StartChar: uni33FA
Encoding: 13306 13306 31
Width: 1890
Flags: W
LayerCount: 2
EndChar
EndChars
BitmapFont: 13 33 10 3 1
BDFStartProperties: 42
FONT 1 "-inesw-Cozette-Medium-R-Normal--13-120-75-75-M-60-ISO10646-1"
COMMENT 0 "(c) 2020-2025 Ines <ines@moonwit.ch>"
FOUNDRY 16 "inesw"
FAMILY_NAME 16 "Cozette"
WEIGHT_NAME 16 "Medium"
SLANT 16 "R"
SETWIDTH_NAME 16 "Normal"
ADD_STYLE_NAME 16 ""
PIXEL_SIZE 18 13
POINT_SIZE 18 120
RESOLUTION_X 19 75
RESOLUTION_Y 19 75
SPACING 16 "M"
AVERAGE_WIDTH 18 60
CHARSET_REGISTRY 16 "ISO10646"
CHARSET_ENCODING 16 "1"
FONTNAME_REGISTRY 16 ""
FONT_NAME 16 "Cozette"
FACE_NAME 16 "Cozette"
COPYRIGHT 16 "(c) 2020-2025 Ines <ines@moonwit.ch>"
FONT_VERSION 16 "1.252"
FONT_ASCENT 18 10
FONT_DESCENT 18 3
UNDERLINE_POSITION 18 -19
UNDERLINE_THICKNESS 18 13
X_HEIGHT 18 5
CAP_HEIGHT 18 7
DEFAULT_CHAR 19 0
RAW_ASCENT 18 769
RAW_DESCENT 18 230
NORM_SPACE 18 6
RELATIVE_WEIGHT 19 50
RELATIVE_SETWIDTH 19 50
SUPERSCRIPT_X 18 0
SUPERSCRIPT_Y 18 2
SUPERSCRIPT_SIZE 18 2
SUBSCRIPT_X 18 0
SUBSCRIPT_Y 18 2
SUBSCRIPT_SIZE 18 2
FIGURE_WIDTH 18 6
AVG_LOWERCASE_WIDTH 18 60
AVG_UPPERCASE_WIDTH 18 60
BDFEndProperties
Resolution: 75
BDFChar: 0 55 6 1 5 0 7
p]qERGT]7:
BDFChar: 1 8311 6 1 4 4 8
n.=MC5QCca
BDFChar: 2 8327 6 1 4 -2 2
n.=MC5QCca
BDFChar: 3 65303 12 4 8 0 7
p]qERGT]7:
BDFChar: 4 118007 6 0 5 0 7
r.O]Y6u482
BDFChar: 5 123047 6 0 0 0 0
z
BDFChar: 6 127143 6 1 5 -2 8
pk\-if\#uOLoC(K
BDFChar: 7 127159 6 1 5 -2 8
pk\-if\#ttLtMJ&
BDFChar: 8 127175 6 1 5 -2 8
pk\-if\#uOLtMJ&
BDFChar: 9 127191 6 1 5 -2 8
pk\-if\#uOW7^kF
BDFChar: 10 8528 6 1 5 0 8
Lld^k+BV1%O8o7\
BDFChar: 11 8542 6 1 5 0 8
aAC6V0PF:]O8o7\
BDFChar: 12 9318 12 1 11 -2 8
*ro]a5X:>PJfp'rKHPpj5X8_m*rl9@
BDFChar: 13 9328 12 1 11 -2 8
*ro]a5X:O+Yb72QOW_1W5X8_m*rl9@
BDFChar: 14 9467 12 1 11 -2 8
*rpf+@).dFJfp'rKHPpj@).9-*rl9@
BDFChar: 15 9457 12 2 10 -1 7
4og'4fRTQDfRVe.NIZKY4obQ_
BDFChar: 16 10118 12 1 11 -2 8
*ro]a5X:>PJfp'rKHPpj5X8_m*rl9@
BDFChar: 17 10108 12 2 10 -1 7
4og'4j+.#Wj+-lSpOI_n4obQ_
BDFChar: 18 10128 12 2 10 -1 7
4og'4j+.#Wj+-lSpOI_n4obQ_
BDFChar: 19 12887 12 1 11 -2 8
*ro]a5X;ZKLnKs)Tcglg5X8_m*rl9@
BDFChar: 20 12978 12 1 11 -2 8
*ro]a5X;ZKLnKs)M'0&G5X8_m*rl9@
BDFChar: 21 12988 12 1 11 -2 8
*ro]a5X:g3W1^bqM'.Wt5X8_m*rl9@
BDFChar: 22 9338 12 1 11 -2 8
+Fmfa5sU#EKHQ<uKHQ'n83fF*+FjFl
BDFChar: 23 9348 12 1 11 -2 8
+Fm6Q8O/[dMBIs&MBId!?9gb@+FjFl
BDFChar: 24 9368 12 1 10 0 7
:&mT\_>lt(:&mZ^7)7m!
BDFChar: 25 9358 12 2 9 0 7
p]qERGT]@@
BDFChar: 26 12998 12 1 10 -1 7
o=tu('>PeWo=uP869mq("Mb!;
BDFChar: 27 13151 12 1 11 -1 8
!<DZ*&HEK[,!b]a,JZPE6biku
BDFChar: 28 13161 12 1 11 -1 8
!.\=i7"E7l8O-QH8\djsks,<C
BDFChar: 29 13286 12 1 10 0 7
pV7J.'L4%]oKXZe8&.MX
BDFChar: 30 13296 12 1 11 0 7
?/S-o`?7b1>p)]]8`8hU
BDFChar: 31 13306 12 1 11 0 7
?/VP%,p4Yp>p)]]M;[V@
EndBitmapFont
EndSplineFont

View file

@ -1,6 +1,6 @@
MIT License
Copyright (c) 2020, Slavfox
Copyright (c) 2020 Samhain <samhain@moonwit.ch> & contributors <https://github.com/the-moonwitch/Cozette/contributors>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View file

@ -19,6 +19,3 @@ pip = "*"
[requires]
python_version = "3.12"
[pipenv]
allow_prereleases = true

487
Pipfile.lock generated
View file

@ -34,52 +34,58 @@
},
"fonttools": {
"hashes": [
"sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636",
"sha256:0d145976194a5242fdd22df18a1b451481a88071feadf251221af110ca8f00ce",
"sha256:0e19bd9e9964a09cd2433a4b100ca7f34e34731e0758e13ba9a1ed6e5468cc0f",
"sha256:0f08c901d3866a8905363619e3741c33f0a83a680d92a9f0e575985c2634fcc1",
"sha256:1250e818b5f8a679ad79660855528120a8f0288f8f30ec88b83db51515411fcc",
"sha256:15c94eeef6b095831067f72c825eb0e2d48bb4cea0647c1b05c981ecba2bf39f",
"sha256:1621ee57da887c17312acc4b0e7ac30d3a4fb0fec6174b2e3754a74c26bbed1e",
"sha256:180194c7fe60c989bb627d7ed5011f2bef1c4d36ecf3ec64daec8302f1ae0716",
"sha256:278e50f6b003c6aed19bae2242b364e575bcb16304b53f2b64f6551b9c000e15",
"sha256:32b17504696f605e9e960647c5f64b35704782a502cc26a37b800b4d69ff3c77",
"sha256:3bee3f3bd9fa1d5ee616ccfd13b27ca605c2b4270e45715bd2883e9504735034",
"sha256:4060acc2bfa2d8e98117828a238889f13b6f69d59f4f2d5857eece5277b829ba",
"sha256:54dcf21a2f2d06ded676e3c3f9f74b2bafded3a8ff12f0983160b13e9f2fb4a7",
"sha256:56fc244f2585d6c00b9bcc59e6593e646cf095a96fe68d62cd4da53dd1287b55",
"sha256:599bdb75e220241cedc6faebfafedd7670335d2e29620d207dd0378a4e9ccc5a",
"sha256:5f6bc991d1610f5c3bbe997b0233cbc234b8e82fa99fc0b2932dc1ca5e5afec0",
"sha256:60a3409c9112aec02d5fb546f557bca6efa773dcb32ac147c6baf5f742e6258b",
"sha256:68b3fb7775a923be73e739f92f7e8a72725fd333eab24834041365d2278c3671",
"sha256:76f1777d8b3386479ffb4a282e74318e730014d86ce60f016908d9801af9ca2a",
"sha256:806e7912c32a657fa39d2d6eb1d3012d35f841387c8fc6cf349ed70b7c340039",
"sha256:84d7751f4468dd8cdd03ddada18b8b0857a5beec80bce9f435742abc9a851a74",
"sha256:865a58b6e60b0938874af0968cd0553bcd88e0b2cb6e588727117bd099eef836",
"sha256:8ac27f436e8af7779f0bb4d5425aa3535270494d3bc5459ed27de3f03151e4c2",
"sha256:8b4850fa2ef2cfbc1d1f689bc159ef0f45d8d83298c1425838095bf53ef46308",
"sha256:8b5ad456813d93b9c4b7ee55302208db2b45324315129d85275c01f5cb7e61a2",
"sha256:8e2f1a4499e3b5ee82c19b5ee57f0294673125c65b0a1ff3764ea1f9db2f9ef5",
"sha256:9696fe9f3f0c32e9a321d5268208a7cc9205a52f99b89479d1b035ed54c923f1",
"sha256:96a48e137c36be55e68845fc4284533bda2980f8d6f835e26bca79d7e2006438",
"sha256:a8feca65bab31479d795b0d16c9a9852902e3a3c0630678efb0b2b7941ea9c74",
"sha256:aefa011207ed36cd280babfaa8510b8176f1a77261833e895a9d96e57e44802f",
"sha256:b2b92381f37b39ba2fc98c3a45a9d6383bfc9916a87d66ccb6553f7bdd129097",
"sha256:b3c61423f22165541b9403ee39874dcae84cd57a9078b82e1dce8cb06b07fa2e",
"sha256:b5b48a1121117047d82695d276c2af2ee3a24ffe0f502ed581acc2673ecf1037",
"sha256:c18b49adc721a7d0b8dfe7c3130c89b8704baf599fb396396d07d4aa69b824a1",
"sha256:c5b8cab0c137ca229433570151b5c1fc6af212680b58b15abd797dcdd9dd5051",
"sha256:c7e91abdfae1b5c9e3a543f48ce96013f9a08c6c9668f1e6be0beabf0a569c1b",
"sha256:cadf4e12a608ef1d13e039864f484c8a968840afa0258b0b843a0556497ea9ed",
"sha256:dc0673361331566d7a663d7ce0f6fdcbfbdc1f59c6e3ed1165ad7202ca183c68",
"sha256:de7c29bdbdd35811f14493ffd2534b88f0ce1b9065316433b22d63ca1cd21f14",
"sha256:e9d9298be7a05bb4801f558522adbe2feea1b0b103d5294ebf24a92dd49b78e5",
"sha256:ee1af4be1c5afe4c96ca23badd368d8dc75f611887fb0c0dac9f71ee5d6f110e",
"sha256:f7e89853d8bea103c8e3514b9f9dc86b5b4120afb4583b57eb10dfa5afbe0936"
"sha256:07e005dc454eee1cc60105d6a29593459a06321c21897f769a281ff2d08939f6",
"sha256:0a911591200114969befa7f2cb74ac148bce5a91df5645443371aba6d222e263",
"sha256:0d1d353ef198c422515a3e974a1e8d5b304cd54a4c2eebcae708e37cd9eeffb1",
"sha256:0e88e3018ac809b9662615072dcd6b84dca4c2d991c6d66e1970a112503bba7e",
"sha256:1d152d1be65652fc65e695e5619e0aa0982295a95a9b29b52b85775243c06556",
"sha256:262705b1663f18c04250bd1242b0515d3bbae177bee7752be67c979b7d47f43d",
"sha256:278913a168f90d53378c20c23b80f4e599dca62fbffae4cc620c8eed476b723e",
"sha256:301540e89cf4ce89d462eb23a89464fef50915255ece765d10eee8b2bf9d75b2",
"sha256:31c32d7d4b0958600eac75eaf524b7b7cb68d3a8c196635252b7a2c30d80e986",
"sha256:357cacb988a18aace66e5e55fe1247f2ee706e01debc4b1a20d77400354cddeb",
"sha256:37cddd62d83dc4f72f7c3f3c2bcf2697e89a30efb152079896544a93907733bd",
"sha256:41bb0b250c8132b2fcac148e2e9198e62ff06f3cc472065dff839327945c5882",
"sha256:4aa4817f0031206e637d1e685251ac61be64d1adef111060df84fdcbc6ab6c44",
"sha256:4e10d2e0a12e18f4e2dd031e1bf7c3d7017be5c8dbe524d07706179f355c5dac",
"sha256:5419771b64248484299fa77689d4f3aeed643ea6630b2ea750eeab219588ba20",
"sha256:54471032f7cb5fca694b5f1a0aaeba4af6e10ae989df408e0216f7fd6cdc405d",
"sha256:58974b4987b2a71ee08ade1e7f47f410c367cdfc5a94fabd599c88165f56213a",
"sha256:58d29b9a294573d8319f16f2f79e42428ba9b6480442fa1836e4eb89c4d9d61c",
"sha256:5eb2474a7c5be8a5331146758debb2669bf5635c021aee00fd7c353558fc659d",
"sha256:6e37561751b017cf5c40fce0d90fd9e8274716de327ec4ffb0df957160be3bff",
"sha256:76ae5091547e74e7efecc3cbf8e75200bc92daaeb88e5433c5e3e95ea8ce5aa7",
"sha256:7965af9b67dd546e52afcf2e38641b5be956d68c425bef2158e95af11d229f10",
"sha256:7e3b7d44e18c085fd8c16dcc6f1ad6c61b71ff463636fcb13df7b1b818bd0c02",
"sha256:7ed7ee041ff7b34cc62f07545e55e1468808691dddfd315d51dd82a6b37ddef2",
"sha256:82834962b3d7c5ca98cb56001c33cf20eb110ecf442725dc5fdf36d16ed1ab07",
"sha256:8583e563df41fdecef31b793b4dd3af8a9caa03397be648945ad32717a92885b",
"sha256:8fa92cb248e573daab8d032919623cc309c005086d743afb014c836636166f08",
"sha256:93d458c8a6a354dc8b48fc78d66d2a8a90b941f7fec30e94c7ad9982b1fa6bab",
"sha256:957f669d4922f92c171ba01bef7f29410668db09f6c02111e22b2bce446f3285",
"sha256:9dc080e5a1c3b2656caff2ac2633d009b3a9ff7b5e93d0452f40cd76d3da3b3c",
"sha256:9ef1b167e22709b46bf8168368b7b5d3efeaaa746c6d39661c1b4405b6352e58",
"sha256:a7a310c6e0471602fe3bf8efaf193d396ea561486aeaa7adc1f132e02d30c4b9",
"sha256:ab774fa225238986218a463f3fe151e04d8c25d7de09df7f0f5fce27b1243dbc",
"sha256:ada215fd079e23e060157aab12eba0d66704316547f334eee9ff26f8c0d7b8ab",
"sha256:c39287f5c8f4a0c5a55daf9eaf9ccd223ea59eed3f6d467133cc727d7b943a55",
"sha256:c9c563351ddc230725c4bdf7d9e1e92cbe6ae8553942bd1fb2b2ff0884e8b714",
"sha256:d26732ae002cc3d2ecab04897bb02ae3f11f06dd7575d1df46acd2f7c012a8d8",
"sha256:d3b659d1029946f4ff9b6183984578041b520ce0f8fb7078bb37ec7445806b33",
"sha256:dd9cc95b8d6e27d01e1e1f1fae8559ef3c02c76317da650a19047f249acd519d",
"sha256:e4564cf40cebcb53f3dc825e85910bf54835e8a8b6880d59e5159f0f325e637e",
"sha256:e7d82b9e56716ed32574ee106cabca80992e6bbdcf25a88d97d21f73a0aae664",
"sha256:e8a4b261c1ef91e7188a30571be6ad98d1c6d9fa2427244c545e2fa0a2494dd7",
"sha256:e96bc94c8cda58f577277d4a71f51c8e2129b8b36fd05adece6320dd3d57de8a",
"sha256:ed2f80ca07025551636c555dec2b755dd005e2ea8fbeb99fc5cdff319b70b23b",
"sha256:f5b8a096e649768c2f4233f947cf9737f8dbf8728b90e2771e2497c6e3d21d13",
"sha256:f8e953cc0bddc2beaf3a3c3b5dd9ab7554677da72dfaf46951e193c9653e515a",
"sha256:fda582236fee135d4daeca056c8c88ec5f6f6d88a004a79b84a02547c8f57386",
"sha256:fdb062893fd6d47b527d39346e0c5578b7957dcea6d6a3b6794569370013d9ac"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==4.51.0"
"version": "==4.54.1"
},
"gitdb": {
"hashes": [
@ -100,149 +106,168 @@
},
"numpy": {
"hashes": [
"sha256:00236e0e8a588fef8f70e0535b898bcebd97becc0b27686d2fc7cb35b5d1ab91",
"sha256:015df68fd97bc00e1b7719e80cea401b23a601b639c6d6545922f7a21876b771",
"sha256:060635ab843ea0e2aa6ad153d5656193014eedd90ec4ef6e2b738d81bfe28170",
"sha256:070a8b1c93b0bf21c1a3c51514145acbba612e9f3fd86870c1ca37a36cebbfce",
"sha256:08d7d73d5b7d97decfb6584f41492f5584f81a3147514b67ac21ccccb3418b35",
"sha256:09bedcb99b9ac5472d2e63cd18be861750acc7570ae3661be7cb6018ce376694",
"sha256:09e7a6cab5eac8aca0f17ad29b42ee1cd357e09a76076d5f4cb90ca62a0229b8",
"sha256:1860507cb082ee8d9920db806d74d8a3936081b9ecf274b0fdb6d99b664680a1",
"sha256:1e2478ca8b4b0c5a7146fc316c83843bc47b2d73cf6c02000561794ae5dba537",
"sha256:25d43c681fefb4d7e0ffa949097b20eacbad4be9af7c136b1f69dc4c34c1f6d4",
"sha256:2b5f87d88212e54263f64257b28daa04f3fde627c204abd7557a80b582de4a63",
"sha256:39a65e8c127d51419942a9e0ec467273536acd373507ce64e63451690ed47bfc",
"sha256:5be315e916e7d4d372acf62dcc86900eb47b2f76c185d835634dd0503f441e35",
"sha256:5c62c0d071681391b9c73ba09b35cb46477659012fd88af2c877a2a9da84aa2f",
"sha256:5e289dafe89a0dd756430fa03332c428c897c41cc3143230c38d7d2bb9ad475e",
"sha256:67f9707c3df26ca5bce34162fe0721646504c5961ccfca94c294fbeaf42cfa5b",
"sha256:684eef178a2039cba72bce740cdf2f592e67a41885a0f09d5622380fc59af0f8",
"sha256:6e0438e248b5e7e46e80a686868d36d6a4ce875cedce87122d1616ffd8e2a669",
"sha256:706f66648712385f5ca5e22ad4f32d1a1a93c143882969d951122b5cf9e40a24",
"sha256:7511694264a1219458a4e77d185a7ee350506b4e1e3b2b82845a5e9db044b6f5",
"sha256:7517f752cad3d8bf297ed6421c63be769a03b8e3c34282eec803bae693dae67a",
"sha256:7d990411f2821bf2812ec66ae85e8f351103fe7c3a229152ab6f8c9a620e82eb",
"sha256:8798ee3db69d2f531b12897929583021206feb4d45234d035e5511a5bd0cee38",
"sha256:8a7c01e9c14216e386e42a0c75c76a015a002dd5ed833ffbdaa6a7f2aeed9258",
"sha256:8b510bab996ad7b7fa59ca14fdaae4c68a36ff0f71ccd9ddec769b58f9d19258",
"sha256:9085f9a3e4f994ee8027db503627ae34aa867dc5f00ee7fe2b930608534a9293",
"sha256:91103edc14b5b70bc25af26ea5d75a45b6490bed5f1da9478f5bbe82542ba1b5",
"sha256:9d96878db0d4f267e62e21f6feb7d0e7f07ec02784e705f37b7f6493a935c7fd",
"sha256:9da7cddeaf312a3645325a7da3b18bfad345cae5005cb4d6fcf24796bedaf239",
"sha256:afa4679bcbade6a4197c27874c0dacf5d45470d56cee8b1e2398e80859ab797c",
"sha256:b1bfbde0e9221920d02735ced823e53be46786589a5e8db91824bccd5115e5c8",
"sha256:c0af260d6818eab709b65953e1e5ce31a34d68230f488589b4bb96b13a28d18f",
"sha256:cdea89bba67157bd8ec2ba9613d9f5ba2d18deab113171ca106953fdf8f7f314",
"sha256:cf1b08d8ee6d24576c0552dee71f36859de157481ed283e839d630b50242bbe1",
"sha256:cfd4e2f1605e3a607674dd3173c03b2e2f8520fa3ec2db04f2da2a3d5339df1b",
"sha256:d4b56e9abe2c3cec5615725320e002396c1e4b78011831a78427c7ff7b185816",
"sha256:d93d29d07b2da78869793ec30321adda61a5a48b9e00d12160d0cd658f5f2e0b",
"sha256:dfcd76a018c728ce7a3e6e09717e7a3dfbffdf87a57118dbc5ddc2167a678258",
"sha256:f0e169ec6cbc1b8e5f6a235845a80961f76f88352082213a1728a0967a761ad2",
"sha256:f36b7ccac6a3bfb342a61dd08be73fbe0286d2cb64c976bb1ed22feda0deb16f",
"sha256:f6539759d26e9b60dd9691732528dda7fe46a8c82be6294d109203dce4a8b89c",
"sha256:f9e566457284cb55447eab7566fad2b59e17f01776bb1b76828a6a931d111c72",
"sha256:fb009d69b3a362240acc5155e3de8f90311eb7f9f3958803af866945b8c9ee43",
"sha256:fbee730ae5265735e2c9b006a0d3fe1443d08d9399d0103245b99ecba10ddff0",
"sha256:fe19044006aeaf783c64f22ee03330caccb4d3e54fe605b57444f448954b022d"
"sha256:046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5",
"sha256:0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0",
"sha256:0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550",
"sha256:13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c",
"sha256:13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7",
"sha256:24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2",
"sha256:251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b",
"sha256:2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df",
"sha256:3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f",
"sha256:397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d",
"sha256:3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270",
"sha256:50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd",
"sha256:52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504",
"sha256:53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec",
"sha256:57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647",
"sha256:5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f",
"sha256:59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab",
"sha256:6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe",
"sha256:6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5",
"sha256:7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5",
"sha256:7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e",
"sha256:7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd",
"sha256:8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313",
"sha256:8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0",
"sha256:910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f",
"sha256:913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6",
"sha256:920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553",
"sha256:950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed",
"sha256:981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb",
"sha256:98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e",
"sha256:99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39",
"sha256:9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728",
"sha256:ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e",
"sha256:afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a",
"sha256:b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95",
"sha256:b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f",
"sha256:bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480",
"sha256:c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9",
"sha256:caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0",
"sha256:cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f",
"sha256:d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd",
"sha256:d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae",
"sha256:d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201",
"sha256:d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136",
"sha256:d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf",
"sha256:e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78",
"sha256:e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468",
"sha256:e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca",
"sha256:e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef",
"sha256:f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0",
"sha256:f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556",
"sha256:fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521",
"sha256:fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b"
],
"index": "pypi",
"markers": "python_version >= '3.9'",
"version": "==2.0.0rc1"
"markers": "python_version >= '3.10'",
"version": "==2.1.1"
},
"pillow": {
"hashes": [
"sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c",
"sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2",
"sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb",
"sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d",
"sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa",
"sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3",
"sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1",
"sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a",
"sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd",
"sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8",
"sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999",
"sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599",
"sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936",
"sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375",
"sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d",
"sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b",
"sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60",
"sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572",
"sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3",
"sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced",
"sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f",
"sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b",
"sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19",
"sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f",
"sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d",
"sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383",
"sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795",
"sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355",
"sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57",
"sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09",
"sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b",
"sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462",
"sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf",
"sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f",
"sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a",
"sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad",
"sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9",
"sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d",
"sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45",
"sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994",
"sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d",
"sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338",
"sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463",
"sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451",
"sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591",
"sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c",
"sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd",
"sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32",
"sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9",
"sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf",
"sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5",
"sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828",
"sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3",
"sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5",
"sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2",
"sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b",
"sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2",
"sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475",
"sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3",
"sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb",
"sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef",
"sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015",
"sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002",
"sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170",
"sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84",
"sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57",
"sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f",
"sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27",
"sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"
"sha256:02a2be69f9c9b8c1e97cf2713e789d4e398c751ecfd9967c18d0ce304efbf885",
"sha256:030abdbe43ee02e0de642aee345efa443740aa4d828bfe8e2eb11922ea6a21ea",
"sha256:06b2f7898047ae93fad74467ec3d28fe84f7831370e3c258afa533f81ef7f3df",
"sha256:0755ffd4a0c6f267cccbae2e9903d95477ca2f77c4fcf3a3a09570001856c8a5",
"sha256:0a9ec697746f268507404647e531e92889890a087e03681a3606d9b920fbee3c",
"sha256:0ae24a547e8b711ccaaf99c9ae3cd975470e1a30caa80a6aaee9a2f19c05701d",
"sha256:134ace6dc392116566980ee7436477d844520a26a4b1bd4053f6f47d096997fd",
"sha256:166c1cd4d24309b30d61f79f4a9114b7b2313d7450912277855ff5dfd7cd4a06",
"sha256:1b5dea9831a90e9d0721ec417a80d4cbd7022093ac38a568db2dd78363b00908",
"sha256:1d846aea995ad352d4bdcc847535bd56e0fd88d36829d2c90be880ef1ee4668a",
"sha256:1ef61f5dd14c300786318482456481463b9d6b91ebe5ef12f405afbba77ed0be",
"sha256:297e388da6e248c98bc4a02e018966af0c5f92dfacf5a5ca22fa01cb3179bca0",
"sha256:298478fe4f77a4408895605f3482b6cc6222c018b2ce565c2b6b9c354ac3229b",
"sha256:29dbdc4207642ea6aad70fbde1a9338753d33fb23ed6956e706936706f52dd80",
"sha256:2db98790afc70118bd0255c2eeb465e9767ecf1f3c25f9a1abb8ffc8cfd1fe0a",
"sha256:32cda9e3d601a52baccb2856b8ea1fc213c90b340c542dcef77140dfa3278a9e",
"sha256:37fb69d905be665f68f28a8bba3c6d3223c8efe1edf14cc4cfa06c241f8c81d9",
"sha256:416d3a5d0e8cfe4f27f574362435bc9bae57f679a7158e0096ad2beb427b8696",
"sha256:43efea75eb06b95d1631cb784aa40156177bf9dd5b4b03ff38979e048258bc6b",
"sha256:4b35b21b819ac1dbd1233317adeecd63495f6babf21b7b2512d244ff6c6ce309",
"sha256:4d9667937cfa347525b319ae34375c37b9ee6b525440f3ef48542fcf66f2731e",
"sha256:5161eef006d335e46895297f642341111945e2c1c899eb406882a6c61a4357ab",
"sha256:543f3dc61c18dafb755773efc89aae60d06b6596a63914107f75459cf984164d",
"sha256:551d3fd6e9dc15e4c1eb6fc4ba2b39c0c7933fa113b220057a34f4bb3268a060",
"sha256:59291fb29317122398786c2d44427bbd1a6d7ff54017075b22be9d21aa59bd8d",
"sha256:5b001114dd152cfd6b23befeb28d7aee43553e2402c9f159807bf55f33af8a8d",
"sha256:5b4815f2e65b30f5fbae9dfffa8636d992d49705723fe86a3661806e069352d4",
"sha256:5dc6761a6efc781e6a1544206f22c80c3af4c8cf461206d46a1e6006e4429ff3",
"sha256:5e84b6cc6a4a3d76c153a6b19270b3526a5a8ed6b09501d3af891daa2a9de7d6",
"sha256:6209bb41dc692ddfee4942517c19ee81b86c864b626dbfca272ec0f7cff5d9fb",
"sha256:673655af3eadf4df6b5457033f086e90299fdd7a47983a13827acf7459c15d94",
"sha256:6c762a5b0997f5659a5ef2266abc1d8851ad7749ad9a6a5506eb23d314e4f46b",
"sha256:7086cc1d5eebb91ad24ded9f58bec6c688e9f0ed7eb3dbbf1e4800280a896496",
"sha256:73664fe514b34c8f02452ffb73b7a92c6774e39a647087f83d67f010eb9a0cf0",
"sha256:76a911dfe51a36041f2e756b00f96ed84677cdeb75d25c767f296c1c1eda1319",
"sha256:780c072c2e11c9b2c7ca37f9a2ee8ba66f44367ac3e5c7832afcfe5104fd6d1b",
"sha256:7928ecbf1ece13956b95d9cbcfc77137652b02763ba384d9ab508099a2eca856",
"sha256:7970285ab628a3779aecc35823296a7869f889b8329c16ad5a71e4901a3dc4ef",
"sha256:7a8d4bade9952ea9a77d0c3e49cbd8b2890a399422258a77f357b9cc9be8d680",
"sha256:7c1ee6f42250df403c5f103cbd2768a28fe1a0ea1f0f03fe151c8741e1469c8b",
"sha256:7dfecdbad5c301d7b5bde160150b4db4c659cee2b69589705b6f8a0c509d9f42",
"sha256:812f7342b0eee081eaec84d91423d1b4650bb9828eb53d8511bcef8ce5aecf1e",
"sha256:866b6942a92f56300012f5fbac71f2d610312ee65e22f1aa2609e491284e5597",
"sha256:86dcb5a1eb778d8b25659d5e4341269e8590ad6b4e8b44d9f4b07f8d136c414a",
"sha256:87dd88ded2e6d74d31e1e0a99a726a6765cda32d00ba72dc37f0651f306daaa8",
"sha256:8bc1a764ed8c957a2e9cacf97c8b2b053b70307cf2996aafd70e91a082e70df3",
"sha256:8d4d5063501b6dd4024b8ac2f04962d661222d120381272deea52e3fc52d3736",
"sha256:8f0aef4ef59694b12cadee839e2ba6afeab89c0f39a3adc02ed51d109117b8da",
"sha256:930044bb7679ab003b14023138b50181899da3f25de50e9dbee23b61b4de2126",
"sha256:950be4d8ba92aca4b2bb0741285a46bfae3ca699ef913ec8416c1b78eadd64cd",
"sha256:961a7293b2457b405967af9c77dcaa43cc1a8cd50d23c532e62d48ab6cdd56f5",
"sha256:9b885f89040bb8c4a1573566bbb2f44f5c505ef6e74cec7ab9068c900047f04b",
"sha256:9f4727572e2918acaa9077c919cbbeb73bd2b3ebcfe033b72f858fc9fbef0026",
"sha256:a02364621fe369e06200d4a16558e056fe2805d3468350df3aef21e00d26214b",
"sha256:a985e028fc183bf12a77a8bbf36318db4238a3ded7fa9df1b9a133f1cb79f8fc",
"sha256:ac1452d2fbe4978c2eec89fb5a23b8387aba707ac72810d9490118817d9c0b46",
"sha256:b15e02e9bb4c21e39876698abf233c8c579127986f8207200bc8a8f6bb27acf2",
"sha256:b2724fdb354a868ddf9a880cb84d102da914e99119211ef7ecbdc613b8c96b3c",
"sha256:bbc527b519bd3aa9d7f429d152fea69f9ad37c95f0b02aebddff592688998abe",
"sha256:bcd5e41a859bf2e84fdc42f4edb7d9aba0a13d29a2abadccafad99de3feff984",
"sha256:bd2880a07482090a3bcb01f4265f1936a903d70bc740bfcb1fd4e8a2ffe5cf5a",
"sha256:bee197b30783295d2eb680b311af15a20a8b24024a19c3a26431ff83eb8d1f70",
"sha256:bf2342ac639c4cf38799a44950bbc2dfcb685f052b9e262f446482afaf4bffca",
"sha256:c76e5786951e72ed3686e122d14c5d7012f16c8303a674d18cdcd6d89557fc5b",
"sha256:cbed61494057c0f83b83eb3a310f0bf774b09513307c434d4366ed64f4128a91",
"sha256:cfdd747216947628af7b259d274771d84db2268ca062dd5faf373639d00113a3",
"sha256:d7480af14364494365e89d6fddc510a13e5a2c3584cb19ef65415ca57252fb84",
"sha256:dbc6ae66518ab3c5847659e9988c3b60dc94ffb48ef9168656e0019a93dbf8a1",
"sha256:dc3e2db6ba09ffd7d02ae9141cfa0ae23393ee7687248d46a7507b75d610f4f5",
"sha256:dfe91cb65544a1321e631e696759491ae04a2ea11d36715eca01ce07284738be",
"sha256:e4d49b85c4348ea0b31ea63bc75a9f3857869174e2bf17e7aba02945cd218e6f",
"sha256:e4db64794ccdf6cb83a59d73405f63adbe2a1887012e308828596100a0b2f6cc",
"sha256:e553cad5179a66ba15bb18b353a19020e73a7921296a7979c4a2b7f6a5cd57f9",
"sha256:e88d5e6ad0d026fba7bdab8c3f225a69f063f116462c49892b0149e21b6c0a0e",
"sha256:ecd85a8d3e79cd7158dec1c9e5808e821feea088e2f69a974db5edf84dc53141",
"sha256:f5b92f4d70791b4a67157321c4e8225d60b119c5cc9aee8ecf153aace4aad4ef",
"sha256:f5f0c3e969c8f12dd2bb7e0b15d5c468b51e5017e01e2e867335c81903046a22",
"sha256:f7baece4ce06bade126fb84b8af1c33439a76d8a6fd818970215e0560ca28c27",
"sha256:ff25afb18123cea58a591ea0244b92eb1e61a1fd497bf6d6384f09bc3262ec3e",
"sha256:ff337c552345e95702c5fde3158acb0625111017d0e5f24bf3acdb9cc16b90d1"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==10.3.0"
"version": "==10.4.0"
},
"pip": {
"hashes": [
"sha256:752516cffafef5cf29d3fb2f06c978f27e98709654689cf277b2fce984c7a591",
"sha256:a9bd4c037d72325b4e903ec3f383263deea3eb73cd01db7a844edd026fc68afe"
"sha256:2cd581cf58ab7fcfca4ce8efa6dcacd0de5bf8d0a3eb9ec927e07405f4d9e2a2",
"sha256:5b5e490b5e9cb275c879595064adce9ebd31b854e3e803740b72f9ccf34a45b8"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==24.1b1"
"version": "==24.2"
},
"setuptools": {
"hashes": [
"sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987",
"sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"
"sha256:35ab7fd3bcd95e6b7fd704e4a1539513edad446c097797f2985e0e4b960772f2",
"sha256:d59a21b17a275fb872a9c3dae73963160ae079f1049ed956880cd7c09b120538"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==69.5.1"
"version": "==75.1.0"
},
"smmap": {
"hashes": [
@ -256,32 +281,32 @@
"develop": {
"black": {
"hashes": [
"sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474",
"sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1",
"sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0",
"sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8",
"sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96",
"sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1",
"sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04",
"sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021",
"sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94",
"sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d",
"sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c",
"sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7",
"sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c",
"sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc",
"sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7",
"sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d",
"sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c",
"sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741",
"sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce",
"sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb",
"sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063",
"sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"
"sha256:09cdeb74d494ec023ded657f7092ba518e8cf78fa8386155e4a03fdcc44679e6",
"sha256:1f13f7f386f86f8121d76599114bb8c17b69d962137fc70efe56137727c7047e",
"sha256:2500945420b6784c38b9ee885af039f5e7471ef284ab03fa35ecdde4688cd83f",
"sha256:2b59b250fdba5f9a9cd9d0ece6e6d993d91ce877d121d161e4698af3eb9c1018",
"sha256:3c4285573d4897a7610054af5a890bde7c65cb466040c5f0c8b732812d7f0e5e",
"sha256:505289f17ceda596658ae81b61ebbe2d9b25aa78067035184ed0a9d855d18afd",
"sha256:62e8730977f0b77998029da7971fa896ceefa2c4c4933fcd593fa599ecbf97a4",
"sha256:649f6d84ccbae73ab767e206772cc2d7a393a001070a4c814a546afd0d423aed",
"sha256:6e55d30d44bed36593c3163b9bc63bf58b3b30e4611e4d88a0c3c239930ed5b2",
"sha256:707a1ca89221bc8a1a64fb5e15ef39cd755633daa672a9db7498d1c19de66a42",
"sha256:72901b4913cbac8972ad911dc4098d5753704d1f3c56e44ae8dce99eecb0e3af",
"sha256:73bbf84ed136e45d451a260c6b73ed674652f90a2b3211d6a35e78054563a9bb",
"sha256:7c046c1d1eeb7aea9335da62472481d3bbf3fd986e093cffd35f4385c94ae368",
"sha256:81c6742da39f33b08e791da38410f32e27d632260e599df7245cccee2064afeb",
"sha256:837fd281f1908d0076844bc2b801ad2d369c78c45cf800cad7b61686051041af",
"sha256:972085c618ee94f402da1af548a4f218c754ea7e5dc70acb168bfaca4c2542ed",
"sha256:9e84e33b37be070ba135176c123ae52a51f82306def9f7d063ee302ecab2cf47",
"sha256:b19c9ad992c7883ad84c9b22aaa73562a16b819c1d8db7a1a1a49fb7ec13c7d2",
"sha256:d6417535d99c37cee4091a2f24eb2b6d5ec42b144d50f1f2e436d9fe1916fe1a",
"sha256:eab4dd44ce80dea27dc69db40dab62d4ca96112f87996bca68cd75639aeb2e4c",
"sha256:f490dbd59680d809ca31efdae20e634f3fae27fba3ce0ba3208333b713bc3920",
"sha256:fb6e2c0b86bbd43dee042e48059c9ad7830abd5c94b0bc518c0eeec57c3eddc1"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==24.4.2"
"version": "==24.8.0"
},
"click": {
"hashes": [
@ -293,46 +318,46 @@
},
"isort": {
"hashes": [
"sha256:0ec8b74806e80fec33e6e7ba89d35e17b3eb1c4c74316ea44cf877cc26e8b118",
"sha256:cde11e804641edbe1b6b95d56582eb541f27eebc77864c6015545944bb0e9c76"
"sha256:48fdfcb9face5d58a4f6dde2e72a1fb8dcaf8ab26f95ab49fab84c2ddefb0109",
"sha256:8ca5e72a8d85860d5a3fa69b8745237f2939afe12dbf656afbcb47fe72d947a6"
],
"index": "pypi",
"markers": "python_full_version >= '3.7.0'",
"version": "==6.0.0b2"
"markers": "python_full_version >= '3.8.0'",
"version": "==5.13.2"
},
"mypy": {
"hashes": [
"sha256:075cbf81f3e134eadaf247de187bd604748171d6b79736fa9b6c9685b4083061",
"sha256:12b6bfc1b1a66095ab413160a6e520e1dc076a28f3e22f7fb25ba3b000b4ef99",
"sha256:1ec404a7cbe9fc0e92cb0e67f55ce0c025014e26d33e54d9e506a0f2d07fe5de",
"sha256:28d0e038361b45f099cc086d9dd99c15ff14d0188f44ac883010e172ce86c38a",
"sha256:2b0695d605ddcd3eb2f736cd8b4e388288c21e7de85001e9f85df9187f2b50f9",
"sha256:3236a4c8f535a0631f85f5fcdffba71c7feeef76a6002fcba7c1a8e57c8be1ec",
"sha256:3be66771aa5c97602f382230165b856c231d1277c511c9a8dd058be4784472e1",
"sha256:3d087fcbec056c4ee34974da493a826ce316947485cef3901f511848e687c131",
"sha256:3f298531bca95ff615b6e9f2fc0333aae27fa48052903a0ac90215021cdcfa4f",
"sha256:4a2b5cdbb5dd35aa08ea9114436e0d79aceb2f38e32c21684dcf8e24e1e92821",
"sha256:4cf18f9d0efa1b16478c4c129eabec36148032575391095f73cae2e722fcf9d5",
"sha256:8b2cbaca148d0754a54d44121b5825ae71868c7592a53b7292eeb0f3fdae95ee",
"sha256:8f55583b12156c399dce2df7d16f8a5095291354f1e839c252ec6c0611e86e2e",
"sha256:92f93b21c0fe73dc00abf91022234c79d793318b8a96faac147cd579c1671746",
"sha256:9e36fb078cce9904c7989b9693e41cb9711e0600139ce3970c6ef814b6ebc2b2",
"sha256:9fd50226364cd2737351c79807775136b0abe084433b55b2e29181a4c3c878c0",
"sha256:a781f6ad4bab20eef8b65174a57e5203f4be627b46291f4589879bf4e257b97b",
"sha256:a87dbfa85971e8d59c9cc1fcf534efe664d8949e4c0b6b44e8ca548e746a8d53",
"sha256:b808e12113505b97d9023b0b5e0c0705a90571c6feefc6f215c1df9381256e30",
"sha256:bc6ac273b23c6b82da3bb25f4136c4fd42665f17f2cd850771cb600bdd2ebeda",
"sha256:cd777b780312ddb135bceb9bc8722a73ec95e042f911cc279e2ec3c667076051",
"sha256:da1cbf08fb3b851ab3b9523a884c232774008267b1f83371ace57f412fe308c2",
"sha256:e22e1527dc3d4aa94311d246b59e47f6455b8729f4968765ac1eacf9a4760bc7",
"sha256:f8c083976eb530019175aabadb60921e73b4f45736760826aa1689dda8208aee",
"sha256:f90cff89eea89273727d8783fef5d4a934be2fdca11b47def50cf5d311aff727",
"sha256:fa7ef5244615a2523b56c034becde4e9e3f9b034854c93639adb667ec9ec2976",
"sha256:fcfc70599efde5c67862a07a1aaf50e55bce629ace26bb19dc17cece5dd31ca4"
"sha256:06d26c277962f3fb50e13044674aa10553981ae514288cb7d0a738f495550b36",
"sha256:2ff93107f01968ed834f4256bc1fc4475e2fecf6c661260066a985b52741ddce",
"sha256:36383a4fcbad95f2657642a07ba22ff797de26277158f1cc7bd234821468b1b6",
"sha256:37c7fa6121c1cdfcaac97ce3d3b5588e847aa79b580c1e922bb5d5d2902df19b",
"sha256:3a66169b92452f72117e2da3a576087025449018afc2d8e9bfe5ffab865709ca",
"sha256:3f14cd3d386ac4d05c5a39a51b84387403dadbd936e17cb35882134d4f8f0d24",
"sha256:41ea707d036a5307ac674ea172875f40c9d55c5394f888b168033177fce47383",
"sha256:478db5f5036817fe45adb7332d927daa62417159d49783041338921dcf646fc7",
"sha256:4a8a53bc3ffbd161b5b2a4fff2f0f1e23a33b0168f1c0778ec70e1a3d66deb86",
"sha256:539c570477a96a4e6fb718b8d5c3e0c0eba1f485df13f86d2970c91f0673148d",
"sha256:57555a7715c0a34421013144a33d280e73c08df70f3a18a552938587ce9274f4",
"sha256:6e658bd2d20565ea86da7d91331b0eed6d2eee22dc031579e6297f3e12c758c8",
"sha256:6e7184632d89d677973a14d00ae4d03214c8bc301ceefcdaf5c474866814c987",
"sha256:75746e06d5fa1e91bfd5432448d00d34593b52e7e91a187d981d08d1f33d4385",
"sha256:7f9993ad3e0ffdc95c2a14b66dee63729f021968bff8ad911867579c65d13a79",
"sha256:801780c56d1cdb896eacd5619a83e427ce436d86a3bdf9112527f24a66618fef",
"sha256:801ca29f43d5acce85f8e999b1e431fb479cb02d0e11deb7d2abb56bdaf24fd6",
"sha256:969ea3ef09617aff826885a22ece0ddef69d95852cdad2f60c8bb06bf1f71f70",
"sha256:a976775ab2256aadc6add633d44f100a2517d2388906ec4f13231fafbb0eccca",
"sha256:af8d155170fcf87a2afb55b35dc1a0ac21df4431e7d96717621962e4b9192e70",
"sha256:b499bc07dbdcd3de92b0a8b29fdf592c111276f6a12fe29c30f6c417dd546d12",
"sha256:cd953f221ac1379050a8a646585a29574488974f79d8082cedef62744f0a0104",
"sha256:d42a6dd818ffce7be66cce644f1dff482f1d97c53ca70908dff0b9ddc120b77a",
"sha256:e8960dbbbf36906c5c0b7f4fbf2f0c7ffb20f4898e6a879fcf56a41a08b0d318",
"sha256:edb91dded4df17eae4537668b23f0ff6baf3707683734b6a818d5b9d0c0c31a1",
"sha256:ee23de8530d99b6db0573c4ef4bd8f39a2a6f9b60655bf7a1357e585a3486f2b",
"sha256:f7821776e5c4286b6a13138cc935e2e9b6fde05e081bdebf5cdb2bb97c9df81d"
],
"index": "pypi",
"markers": "python_version >= '3.8'",
"version": "==1.10.0"
"version": "==1.11.2"
},
"mypy-extensions": {
"hashes": [
@ -344,11 +369,11 @@
},
"packaging": {
"hashes": [
"sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5",
"sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"
"sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002",
"sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"
],
"markers": "python_version >= '3.7'",
"version": "==24.0"
"markers": "python_version >= '3.8'",
"version": "==24.1"
},
"pathspec": {
"hashes": [
@ -360,19 +385,19 @@
},
"platformdirs": {
"hashes": [
"sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf",
"sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"
"sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907",
"sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"
],
"markers": "python_version >= '3.8'",
"version": "==4.2.1"
"version": "==4.3.6"
},
"typing-extensions": {
"hashes": [
"sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0",
"sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"
"sha256:04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d",
"sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"
],
"markers": "python_version >= '3.8'",
"version": "==4.11.0"
"version": "==4.12.2"
}
}
}

View file

@ -1,10 +1,10 @@
# Cozette
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/slavfox/Cozette?logo=github&style=flat-square)](https://github.com/slavfox/Cozette/releases/latest)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/the-moonwitch/Cozette?logo=github&style=flat-square)](https://github.com/the-moonwitch/Cozette/releases/latest)
[![AUR version](https://img.shields.io/aur/version/cozette-otb?color=%231793d1&label=AUR&logo=arch-linux&logoColor=%23fff&style=flat-square)](https://aur.archlinux.org/packages/cozette-otb/)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/slavfox/Cozette/Build%20fonts?logo=github&style=flat-square)
![GitHub All Releases](https://img.shields.io/github/downloads/slavfox/Cozette/total?style=flat-square)
[![GitHub license](https://img.shields.io/github/license/slavfox/Cozette?style=flat-square)](https://github.com/slavfox/Cozette/blob/master/LICENSE)
![GitHub Workflow Status](https://img.shields.io/github/workflow/status/the-moonwitch/Cozette/Build%20fonts?logo=github&style=flat-square)
![GitHub All Releases](https://img.shields.io/github/downloads/the-moonwitch/Cozette/total?style=flat-square)
[![GitHub license](https://img.shields.io/github/license/the-moonwitch/Cozette?style=flat-square)](https://github.com/the-moonwitch/Cozette/blob/master/LICENSE)
![Cozette](./img/sample.png)
@ -93,6 +93,13 @@ The preferred format is `.otb` (for bitmaps) or `.ttf`
(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](https://github.com/void-linux/void-packages/tree/master/srcpkgs/font-cozette) 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:
@ -149,6 +156,23 @@ 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):
![vscode-before-letterspacing](https://github.com/user-attachments/assets/a26eab50-a92e-4a9d-b72f-bbdfcd8b7be7)
To fix this you need to set (in your settings):
- terminal.integrated.letterSpacing to 1
![vscode-settings-fix-incorrect-letterspacing](https://github.com/user-attachments/assets/1936c07a-f45b-4476-8d49-bd489ff9b9ae)
After that your terminal should look like this (font size set to 13):
![vscode-after-letterspacing](https://github.com/user-attachments/assets/dbd9e722-8503-45cd-aac3-c8fcc9fc2c1e)
_Note: VSCode also provides the option editor.letterSpacing which adjusts the spacing for the file editor._
#### Kitty
**[4e554c4c](https://github.com/4e554c4c) made [an AUR package for `kitty` patched to support bitmap fonts](https://aur.archlinux.org/packages/kitty-bitmap/).**
@ -164,7 +188,7 @@ explicitly set Cozette(Vector)'s `spacing` to 100, and `scalable` to `true` in `
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](https://github.com/alacritty/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](https://github.com/slavfox/Cozette/issues/18). Many thanks to all the participants there, especially to to Luflosi, who brought up flipping the `allow_bitmapped_fonts` flag in [their fork](https://github.com/Luflosi/kitty/commit/e645e0b5ed084c2c57ecfb8acafc07e76f5717bb), and to [4e554c4c](https://github.com/4e554c4c), who made the AUR package.)
(The support was discussed in [the-moonwitch/Cozette#18](https://github.com/the-moonwitch/Cozette/issues/18). Many thanks to all the participants there, especially to to Luflosi, who brought up flipping the `allow_bitmapped_fonts` flag in [their fork](https://github.com/Luflosi/kitty/commit/e645e0b5ed084c2c57ecfb8acafc07e76f5717bb), and to [4e554c4c](https://github.com/4e554c4c), who made the AUR package.)
# Roadmap
@ -193,17 +217,18 @@ implemented:
date)
- [x] "True" TTF version
- [x] Windows support
- [x] Full [vim-airline] support!
- [x] Full [vim-airline] and [bufferline.nvim] support!
- [x] Full [ranger_devicons] support!
- [x] [starship] supported out of the box!
- [x] Full [powerlevel10k] support! (if it doesn't work, try setting
`POWERLEVEL9K_MODE` to `nerdfont-complete`)
- [x] All glyphs used by [maturin](https://github.com/PyO3/maturin) and
many other CLI tools!
- [x] All glyphs used by [maturin](https://github.com/PyO3/maturin) and many other CLI tools!
- [x] Charmap including the code points (to make it easier for users to
report issues/request additions)
- [x] Codepoints above U+FFFF in vector fonts
- [x] Upscaled hi-dpi variant
- [x] Crossed seven variant!
![Crossed seven demo](./img/crossed_seven.png)
# Recommended alternatives
@ -266,6 +291,14 @@ Cozette includes contributions from:
- [sungodmoth]
- [yoshiyoshyosh]
- [bluetoad07]
- [PhMajerus]
- [theridane]
- [supersurviveur]
- [breitnw]
- [kachick]
- [Eejit43]
- [WhyNotHugo]
- [Mogwump]
- [estradiol enantate]
# License & Acknowledgements
@ -278,10 +311,10 @@ Cozette's builds use [bdfscale](https://github.com/philj56/bdfscale) by [philj56
[proggy]: https://github.com/bluescan/proggyfonts
[creep]: https://github.com/romeovs/creep
[great coverage of all the glyphs i might encounter in the terminal]: #character-map
[file an issue]: https://github.com/slavfox/Cozette/issues/new
[file an issue]: https://github.com/the-moonwitch/Cozette/issues/new
[nerd fonts]: https://www.nerdfonts.com/
[the bottom of this readme]: #character-map
[you can get cozette over at the releases tab]: https://github.com/slavfox/Cozette/releases
[you can get cozette over at the releases tab]: https://github.com/the-moonwitch/Cozette/releases
[ifreund]: https://github.com/ifreund
[an aur package]: https://aur.archlinux.org/packages/cozette-otb/
[specifically enable bitmap fonts]: https://bugs.launchpad.net/ubuntu/+source/fontconfig/+bug/1560114
@ -303,5 +336,14 @@ Cozette's builds use [bdfscale](https://github.com/philj56/bdfscale) by [philj56
[laxul]: https://github.com/laxul
[sungodmoth]: https://github.com/sungodmoth
[bluetoad07]: https://github.com/bluetoad07
[PhMajerus]: https://github.com/PhMajerus
[theridane]: https://github.com/theridane
[supersurviveur]: https://github.com/supersurviveur
[breitnw]: https://github.com/breitnw
[kachick]: https://github.com/kachick
[Eejit43]: https://github.com/Eejit43
[WhyNotHugo]: https://github.com/WhyNotHugo
[Mogwump]: https://github.com/Mogwump
[estradiol enantate]: https://en.wikipedia.org/wiki/Estradiol_enantate
[port]: https://cgit.freebsd.org/ports/tree/x11-fonts/cozette
[bufferline.nvim]: https://github.com/akinsho/bufferline.nvim

116
build.py
View file

@ -1,7 +1,9 @@
import argparse
import re
import subprocess
from dataclasses import dataclass
from pathlib import Path
from pickle import BUILD
from shlex import quote
from shutil import rmtree
from typing import Optional, Sequence, cast
@ -44,7 +46,7 @@ class Generate:
def save_images():
print(crayons.yellow("Saving character map"))
#save_charlist(FONTNAME, SFDPATH, REPO_ROOT / "img")
save_charlist(FONTNAME, SFDPATH, REPO_ROOT / "img")
print(crayons.yellow("Saving sample image"))
save_sample(
@ -75,24 +77,24 @@ def rename_single(dir: Path, pattern: str, newname: str) -> Path:
return cast(Path, next(dir.glob(pattern)).rename(dir / newname))
def gen_bitmap_formats() -> Path:
def gen_bitmap_formats(sfd_path: Path, prefix: str) -> Path:
fontforge(
open=REPO_ROOT / "Cozette" / "Cozette.sfd",
open=sfd_path,
generate=[
Generate("cozette.", bitmap_fmt="bdf"),
Generate(f"{prefix}.", bitmap_fmt="bdf"),
],
)
bdf_path = rename_single(BUILD_DIR, "*.bdf", "cozette.bdf")
bdf_path = rename_single(BUILD_DIR, f"{prefix}-*.bdf", f"{prefix}.bdf")
fontforge(
open=REPO_ROOT / "Cozette" / "Cozette.sfd",
open=sfd_path,
generate=[
Generate("cozette.", "otb"),
Generate("cozette.", "psf"),
Generate("cozette.", "fnt"),
Generate("cozette.dfont", "sbit"),
Generate(f"{prefix}.", "otb"),
Generate(f"{prefix}.", "psf"),
Generate(f"{prefix}.", "fnt"),
Generate(f"{prefix}.dfont", "sbit"),
],
)
rename_single(BUILD_DIR, "*.fnt", "cozette.fnt")
rename_single(BUILD_DIR, f"{prefix}-*.fnt", f"{prefix}.fnt")
return bdf_path
@ -104,6 +106,16 @@ def fix_ttf(ttfpath: Path, name: str):
if line.startswith("Version "):
version = line.split()[1]
break
if name.endswith("Bold"):
family_name = name.removesuffix("Bold")
style_name = "Bold"
weight = 700
else:
family_name = name
style_name = "Regular"
weight = 400
with NamedTemporaryFile() as sfd:
subprocess.run(
[
@ -126,13 +138,18 @@ def fix_ttf(ttfpath: Path, name: str):
"ScaleToEm(2048)",
'RenameGlyphs("AGL with PUA")',
'Reencode("unicode")',
f'SetTTFName(0x409, 3, "{name}")',
f'SetTTFName(0x409, 1, "{family_name}")',
f'SetTTFName(0x409, 2, "{style_name}")',
f'SetTTFName(0x409, 3, "{family_name} {style_name}")', # Unique font identifier
f'SetTTFName(0x409, 4, "{family_name} {style_name}")', # Full font name
f'SetTTFName(0x409, 5, "{version}")',
f'SetTTFName(0x409, 8, "Slavfox")',
f'SetTTFName(0x409, 9, "Slavfox")',
f'SetTTFName(0x409, 11, "https://github.com/slavfox/Cozette")',
f'SetTTFName(0x409, 6, "{family_name}-{style_name}")', # PostScript name
f'SetTTFName(0x409, 8, "Ines <ines@moonwit.ch>")',
f'SetTTFName(0x409, 9, "Ines <ines@moonwit.ch>")',
f'SetTTFName(0x409, 11, "https://github.com/the-moonwitch/Cozette")',
f'SetTTFName(0x409, 13, LoadStringFromFile({repr(str((REPO_ROOT / "LICENSE").resolve()))}))',
'SetTTFName(0x409, 14, "https://github.com/slavfox/Cozette/blob/master/LICENSE")',
'SetTTFName(0x409, 14, "https://github.com/the-moonwitch/Cozette/blob/master/LICENSE")',
f'SetOS2Value("Weight", {weight})',
f'Generate("{name}.dfont")',
f'Generate("{name}.otf")',
f'Generate("{name}.ttf")',
@ -163,8 +180,39 @@ def make_hidpi(bdf_path: Path, out_path: Path):
print(crayons.green("Done!"))
def gen_variants(bdf_path: Path):
hidpi_path = BUILD_DIR / "cozette_hidpi.bdf"
BDF_CODEPOINT_RE = re.compile(r"BDFChar: \S+ (\d+)")
def variant(
sfd_path: Path, variant_name: str, variant_source: Path
) -> tuple[Path, str]:
outpath = BUILD_DIR / f"{variant_name}.sfd"
replacements = {}
with variant_source.open() as f:
for line in f:
if codepoint := BDF_CODEPOINT_RE.match(line):
replacements[int(codepoint.group(1))] = next(f)
with outpath.open("w") as f:
with sfd_path.open() as src:
replacement = None
for line in src:
if replacement is not None:
f.write(replacement)
replacement = None
elif line.startswith("FAMILY_NAME"):
f.write(line)
else:
f.write(line.replace("Cozette", variant_name))
if codepoint := BDF_CODEPOINT_RE.match(line):
if int(codepoint.group(1)) in replacements:
replacement = replacements[int(codepoint.group(1))]
return (outpath, variant_name)
def gen_versions(bdf_path: Path, font_name: str, filename_prefix: str):
hidpi_path = BUILD_DIR / f"{filename_prefix}_hidpi.bdf"
def bnp_invoc_ttf(name: str, format: str):
return [
@ -188,21 +236,23 @@ def gen_variants(bdf_path: Path):
"-f",
"psf",
"-o",
BUILD_DIR / f"cozette.psf",
BUILD_DIR / f"{filename_prefix}.psf",
bdf_path,
],
check=True,
)
subprocess.run(
bnp_invoc_ttf("CozetteVector", "ttf") + [bdf_path], check=True
bnp_invoc_ttf(f"{font_name}Vector", "ttf") + [bdf_path], check=True
)
subprocess.run(
bnp_invoc_ttf("CozetteVectorBold", "ttf") + ["-b", bdf_path],
bnp_invoc_ttf(f"{font_name}VectorBold", "ttf") + ["-b", bdf_path],
check=True,
)
print(crayons.yellow("Fixing TTF variants..."))
fix_ttf(BUILD_DIR / "CozetteVector_tmp.ttf", "CozetteVector")
fix_ttf(BUILD_DIR / "CozetteVectorBold_tmp.ttf", "CozetteVectorBold")
fix_ttf(BUILD_DIR / f"{font_name}Vector_tmp.ttf", f"{font_name}Vector")
fix_ttf(
BUILD_DIR / f"{font_name}VectorBold_tmp.ttf", f"{font_name}VectorBold"
)
print(crayons.green("Done!"))
make_hidpi(bdf_path, hidpi_path)
fontforge(
@ -213,7 +263,7 @@ def gen_variants(bdf_path: Path):
Generate(f"{hidpi_path.stem}.dfont", "sbit"),
],
)
rename_single(BUILD_DIR, "*-26.fnt", "cozette_hidpi.fnt")
rename_single(BUILD_DIR, "*-26.fnt", f"{filename_prefix}_hidpi.fnt")
subprocess.run(
[
BUILD_DIR.parent / "bitsnpicas.sh",
@ -265,11 +315,19 @@ if __name__ == "__main__":
elif args.action == "fonts":
rmtree(BUILD_DIR, ignore_errors=True)
BUILD_DIR.mkdir(exist_ok=True)
print(crayons.blue("Building bitmap formats..."))
bdf_path = gen_bitmap_formats()
print(crayons.green("Done!", bold=True))
print(crayons.blue("Building variants..."))
gen_variants(bdf_path)
for sfd_path, font_name in (
(SFDPATH, "Cozette"),
variant(
SFDPATH,
"CozetteCrossedSeven",
SFDPATH.parent / "variants" / "CozetteCrossedSeven.sfd",
),
):
print(crayons.blue(f"Building bitmap formats for {font_name}..."))
bdf_path = gen_bitmap_formats(sfd_path, font_name.lower())
print(crayons.green("Done!", bold=True))
print(crayons.blue(f"Building versions for {font_name}..."))
gen_versions(bdf_path, font_name, font_name.lower())
print(crayons.green("Done!", bold=True))
elif args.action == "changelog":
get_changelog()

View file

@ -17,6 +17,7 @@ def get_last_cozette_sfd() -> str:
content = get_last_ver().commit.tree["Cozette/Cozette.sfd"]
return content.data_stream.read().decode("utf-8")
char_regex = re.compile(
r"BDFChar: (-?\d+) (-?\d+) (-?\d+) (-?\d+) (-?\d+) (-?\d+) (-?\d+)"
)

View file

@ -90,4 +90,7 @@ def double_size(src: TextIO, out: TextIO):
line = "FONT " + "-".join(xlfd) + "\n"
elif line.startswith("BITMAP"):
bitmap = True
if line.startswith("FAMILY_NAME"):
out.write(line)
continue
out.write(line.replace("Cozette", "CozetteHiDpi"))

View file

@ -1,11 +1,11 @@
STARTFONT 2.1
FONT -slavfox-CozetteHiDpi-Medium-R-Normal--26-240-75-75-M-120-ISO10646-1
FONT -inesw-CozetteHiDpi-Medium-R-Normal--26-240-75-75-M-120-ISO10646-1
SIZE 24 75 75
FONTBOUNDINGBOX 17 28 -5 -3
COMMENT "Generated by fontforge, http://fontforge.sourceforge.net"
COMMENT "(c) 2020-2023 Slavfox"
COMMENT "(c) 2020-2025 Ines <ines@moonwit.ch>"
STARTPROPERTIES 40
FOUNDRY "slavfox"
FOUNDRY "inesw"
FAMILY_NAME "Cozette"
WEIGHT_NAME "Medium"
SLANT "R"
@ -22,7 +22,7 @@ CHARSET_ENCODING "1"
FONTNAME_REGISTRY ""
FONT_NAME "Cozette"
FACE_NAME "Cozette"
COPYRIGHT "(c) 2020-2023 Slavfox"
COPYRIGHT "(c) 2020-2025 Ines <ines@moonwit.ch>"
FONT_VERSION "1.192"
FONT_ASCENT 10
FONT_DESCENT 3

View file

@ -55,7 +55,7 @@ def wrap_text(src: str, width=79) -> Sample:
):
idx += len(h)
else:
running_w += 1 if charwidth(src[idx]) != "W" else 2
running_w += 1 if charwidth(src[idx]) not in "FW" else 2
idx += 1
for idx in reversed(linebreaks):
src = src[:idx].rstrip() + "\n" + src[idx:].lstrip()
@ -104,7 +104,7 @@ def save_sample(
"-fa",
fnt,
"-geometry",
f"{sample.width}x{sample.height - 1}+100+100",
f"{sample.width}x{sample.height}+100+100",
"-dc",
"-cu",
"-cn",
@ -186,7 +186,7 @@ def make_charlist_text(sfd: Path) -> str:
text += f" {chr(c)} "
else:
ch = chr(c)
text += ch if charwidth(ch) in "FW" else f"{ch} "
text += ch if charwidth(ch) in "FWN" else f"{ch} "
else:
print("Skipping", c, category(chr(c)))
return text
@ -227,14 +227,15 @@ def save_charlist(fnt: str, sfd: Path, output_dir: Path):
charmap = make_charmap(sfd)
with (output_dir / "charmap.txt").open("w") as f:
f.write("\n".join(charmap))
f.write(" ")
f.write("\n ".join(charmap))
files = []
for chunk in range(0, len(charmap), 50):
path = output_dir / f"charmap{chunk//50}_tmp.png"
text = "\n".join(charmap[chunk : chunk + 50])
text = " \n".join(charmap[chunk : chunk + 50])
save_sample(
fnt,
Sample(text, 40, len(charmap[chunk : chunk + 49])),
Sample(text, 41, len(charmap[chunk : chunk + 49])),
path,
fgcolor="#24292e",
bgcolor="#ffffff",
@ -253,9 +254,8 @@ def expand(sample_path: Path, margin: int = 40, color: str = "#282c34"):
def add_margins(sample_path: Path, color: str = "#282c34"):
im: Image.Image = Image.open(sample_path).convert("RGB")
new_w = round((im.height / 10) * 16)
im.load()
new_im = ImageOps.pad(
im, (new_w, im.height), method=Image.NEAREST, color=color
im, (im.width * 2, im.height), method=Image.NEAREST, color=color
)
new_im.save(sample_path)

61
flake.lock Normal file
View file

@ -0,0 +1,61 @@
{
"nodes": {
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1765838191,
"narHash": "sha256-m5KWt1nOm76ILk/JSCxBM4MfK3rYY7Wq9/TZIIeGnT8=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c6f52ebd45e5925c188d1a20119978aa4ffd5ef6",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

97
flake.nix Normal file
View file

@ -0,0 +1,97 @@
{
description = "A bitmap programming font optimized for coziness";
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11";
inputs.flake-utils.url = "github:numtide/flake-utils";
outputs =
{
self,
nixpkgs,
flake-utils,
}:
flake-utils.lib.eachDefaultSystem (
system:
let
pkgs = nixpkgs.legacyPackages.${system};
inherit (pkgs) lib;
in
{
devShells = {
default = pkgs.mkShellNoCC {
packages = with pkgs; [
# FontForge GUI
fontforge-gtk
# Python tools
python312Packages.black
python312Packages.mypy
python312Packages.isort
python312Packages.ruff
];
};
};
packages = rec {
# Derivation to build and install cozette
cozette = pkgs.stdenvNoCC.mkDerivation {
pname = "cozette";
version =
let
sfdLines = lib.strings.splitString "\n" (builtins.readFile ./Cozette/Cozette.sfd);
sfdVersionLine = lib.lists.findFirst (l: lib.strings.hasPrefix "Version: " l) null sfdLines;
sfdVersion =
if sfdVersionLine != null then lib.strings.removePrefix "Version: " sfdVersionLine else "0.00";
majorRest = lib.strings.splitString "." sfdVersion;
major = builtins.elemAt majorRest 0;
minorPatch = builtins.elemAt majorRest 1;
minor = builtins.substring 0 2 minorPatch;
patch = builtins.substring 2 1 minorPatch;
in
"${major}.${minor}.${patch}";
src = ./.;
buildInputs = with pkgs; [
(pkgs.python312.withPackages (
ppkgs: with ppkgs; [
numpy
pillow
fonttools
crayons
gitpython
setuptools
pip
]
))
fontforge
bitsnpicas
];
postPatch = ''
substituteInPlace build.py --replace-fail \
'bitsnpicas.sh' '${lib.getExe pkgs.bitsnpicas}'
'';
buildPhase = ''
python3 build.py fonts
'';
installPhase = ''
runHook preInstall
cd build
install -Dm644 *.ttf -t $out/share/fonts/truetype
install -Dm644 *.otf -t $out/share/fonts/opentype
install -Dm644 *.bdf -t $out/share/fonts/misc
install -Dm644 *.otb -t $out/share/fonts/misc
install -Dm644 *.woff -t $out/share/fonts/woff
install -Dm644 *.woff2 -t $out/share/fonts/woff2
runHook postInstall
'';
};
default = cozette;
};
}
);
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 72 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 197 KiB

File diff suppressed because it is too large Load diff

BIN
img/crossed_seven.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View file

@ -5,6 +5,6 @@ force_grid_wrap = 0
use_parentheses = true
line_length = 79
[tool.black]
target-version = ['py38']
line_length = 79
[tool.ruff]
target-version = "py312"
line-length = 79