v.1.26.0 The 2025 update!

Closes #139, closes #135
This commit is contained in:
Slavfox 2024-12-31 02:21:38 +01:00
parent ead136767b
commit cc557fe9f9
8 changed files with 976 additions and 35 deletions

View file

@ -5,6 +5,129 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog], and this project adheres to
[Semantic Versioning].
## [1.26.0]
The 2025 update! Big thanks to [bluetoad07 for fixing the Kana!](https://github.com/slavfox/Cozette/pull/136)
### Added
- ▕ (U+2595 RIGHT ONE EIGHTH BLOCK)
-  (U+EA76)
-  (U+F007)
-  (U+F0A8)
-  (U+F0A9)
-  (U+F0AA)
-  (U+F0AB)
-  (U+F128)
-  (U+F1AE)
-  (U+F322)
- 📌 (U+1F4CC PUSHPIN)
- 󰁌 (U+F004C)
- 󰁹 (U+F0079)
- 󰁺 (U+F007A)
- 󰁻 (U+F007B)
- 󰁼 (U+F007C)
- 󰁽 (U+F007D)
- 󰁾 (U+F007E)
- 󰁿 (U+F007F)
- 󰂀 (U+F0080)
- 󰂁 (U+F0081)
- 󰂂 (U+F0082)
- 󰂃 (U+F0083)
- 󰂄 (U+F0084)
- 󰂅 (U+F0085)
- 󰂆 (U+F0086)
- 󰂇 (U+F0087)
- 󰂈 (U+F0088)
- 󰂉 (U+F0089)
- 󰂊 (U+F008A)
- 󰂋 (U+F008B)
- 󰂌 (U+F008C)
- 󰂍 (U+F008D)
- 󰂎 (U+F008E)
- 󰂏 (U+F008F)
- 󰂐 (U+F0090)
- 󰂑 (U+F0091)
- 󰂚 (U+F009A)
- 󰂛 (U+F009B)
- 󰂜 (U+F009C)
- 󰂝 (U+F009D)
- 󰂞 (U+F009E)
- 󰂟 (U+F009F)
- 󰂠 (U+F00A0)
- 󰂤 (U+F00A4)
- 󰂾 (U+F00BE)
- 󰃀 (U+F00C0)
- 󰃁 (U+F00C1)
- 󰃂 (U+F00C2)
- 󰃃 (U+F00C3)
- 󰃄 (U+F00C4)
- 󰃅 (U+F00C5)
- 󰃆 (U+F00C6)
- 󰃰 (U+F00F0)
- 󰊚 (U+F029A)
- 󰊢 (U+F02A2)
- 󰒋 (U+F048B)
- 󰔟 (U+F051F)
- 󰖯 (U+F05AF)
- 󰖰 (U+F05B0)
- 󰚥 (U+F06A5)
- 󱃾 (U+F10FE)
- 󱅫 (U+F116B)
- 󱈑 (U+F1211)
### Changed
- ぉ (U+3049 HIRAGANA LETTER SMALL O)
- き (U+304D HIRAGANA LETTER KI)
- ぎ (U+304E HIRAGANA LETTER GI)
- け (U+3051 HIRAGANA LETTER KE)
- げ (U+3052 HIRAGANA LETTER GE)
- こ (U+3053 HIRAGANA LETTER KO)
- ご (U+3054 HIRAGANA LETTER GO)
- せ (U+305B HIRAGANA LETTER SE)
- ぜ (U+305C HIRAGANA LETTER ZE)
- そ (U+305D HIRAGANA LETTER SO)
- ぞ (U+305E HIRAGANA LETTER ZO)
- た (U+305F HIRAGANA LETTER TA)
- だ (U+3060 HIRAGANA LETTER DA)
- ち (U+3061 HIRAGANA LETTER TI)
- ぢ (U+3062 HIRAGANA LETTER DI)
- っ (U+3063 HIRAGANA LETTER SMALL TU)
- つ (U+3064 HIRAGANA LETTER TU)
- づ (U+3065 HIRAGANA LETTER DU)
- な (U+306A HIRAGANA LETTER NA)
- に (U+306B HIRAGANA LETTER NI)
- ね (U+306D HIRAGANA LETTER NE)
- ひ (U+3072 HIRAGANA LETTER HI)
- び (U+3073 HIRAGANA LETTER BI)
- ぴ (U+3074 HIRAGANA LETTER PI)
- ま (U+307E HIRAGANA LETTER MA)
- み (U+307F HIRAGANA LETTER MI)
- ゃ (U+3083 HIRAGANA LETTER SMALL YA)
- や (U+3084 HIRAGANA LETTER YA)
- ゅ (U+3085 HIRAGANA LETTER SMALL YU)
- ゆ (U+3086 HIRAGANA LETTER YU)
- れ (U+308C HIRAGANA LETTER RE)
- ん (U+3093 HIRAGANA LETTER N)
- ゕ (U+3095 HIRAGANA LETTER SMALL KA)
- ゖ (U+3096 HIRAGANA LETTER SMALL KE)
- ウ (U+30A6 KATAKANA LETTER U)
- カ (U+30AB KATAKANA LETTER KA)
- ガ (U+30AC KATAKANA LETTER GA)
- ス (U+30B9 KATAKANA LETTER SU)
- ズ (U+30BA KATAKANA LETTER ZU)
- ソ (U+30BD KATAKANA LETTER SO)
- ゾ (U+30BE KATAKANA LETTER ZO)
- ッ (U+30C3 KATAKANA LETTER SMALL TU)
- ミ (U+30DF KATAKANA LETTER MI)
- ラ (U+30E9 KATAKANA LETTER RA)
- ワ (U+30EF KATAKANA LETTER WA)
- ン (U+30F3 KATAKANA LETTER N)
- ヴ (U+30F4 KATAKANA LETTER VU)
- ヵ (U+30F5 KATAKANA LETTER SMALL KA)
- ー (U+30FC KATAKANA-HIRAGANA PROLONGED SOUND MARK)
## [1.25.2]
### Added
@ -2911,8 +3034,9 @@ Still broken on Windows.
[keep a changelog]: https://keepachangelog.com/en/1.0.0/
[semantic versioning]: https://semver.org/spec/v2.0.0.html
[unreleased]: https://github.com/slavfox/Cozette/compare/v.1.25.2...HEAD
[1.25.1]: https://github.com/slavfox/Cozette/compare/v.1.25.1...v.1.25.2
[unreleased]: https://github.com/slavfox/Cozette/compare/v.1.26.0...HEAD
[1.26.0]: https://github.com/slavfox/Cozette/compare/v.1.25.2...v.1.26.0
[1.25.2]: https://github.com/slavfox/Cozette/compare/v.1.25.1...v.1.25.2
[1.25.1]: https://github.com/slavfox/Cozette/compare/v.1.25.0...v.1.25.1
[1.25.0]: https://github.com/slavfox/Cozette/compare/v.1.24.1...v.1.25.0
[1.24.1]: https://github.com/slavfox/Cozette/compare/v.1.24.0...v.1.24.1

View file

@ -22,7 +22,7 @@ OS2Version: 1
OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 0
CreationTime: -2082812035
ModificationTime: 1729195911
ModificationTime: 1735602132
PfmFamily: 49
TTFWeight: 500
TTFWidth: 5
@ -120,11 +120,11 @@ DisplaySize: 13
AntiAlias: 1
FitToEm: 0
WidthSeparation: 307
WinInfo: 12354 29 17
WinInfo: 0 16 12
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 3536
BeginChars: 1114112 3597
StartChar: uni0000
Encoding: 0 0 0
@ -30704,8 +30704,435 @@ Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniF007
Encoding: 61447 61447 3536
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uniF1AE
Encoding: 61870 61870 3537
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF004C
Encoding: 983116 983116 3538
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0079
Encoding: 983161 983161 3539
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF007A
Encoding: 983162 983162 3540
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF007B
Encoding: 983163 983163 3541
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF007C
Encoding: 983164 983164 3542
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF007D
Encoding: 983165 983165 3543
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF007E
Encoding: 983166 983166 3544
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF007F
Encoding: 983167 983167 3545
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0080
Encoding: 983168 983168 3546
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0081
Encoding: 983169 983169 3547
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0082
Encoding: 983170 983170 3548
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0083
Encoding: 983171 983171 3549
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0084
Encoding: 983172 983172 3550
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF008E
Encoding: 983182 983182 3551
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0085
Encoding: 983173 983173 3552
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0086
Encoding: 983174 983174 3553
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0087
Encoding: 983175 983175 3554
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0088
Encoding: 983176 983176 3555
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0089
Encoding: 983177 983177 3556
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF008A
Encoding: 983178 983178 3557
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF008B
Encoding: 983179 983179 3558
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF008C
Encoding: 983180 983180 3559
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF008D
Encoding: 983181 983181 3560
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF008F
Encoding: 983183 983183 3561
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0090
Encoding: 983184 983184 3562
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF0091
Encoding: 983185 983185 3563
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF009A
Encoding: 983194 983194 3564
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF009B
Encoding: 983195 983195 3565
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF009C
Encoding: 983196 983196 3566
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF009D
Encoding: 983197 983197 3567
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF009E
Encoding: 983198 983198 3568
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF009F
Encoding: 983199 983199 3569
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00A0
Encoding: 983200 983200 3570
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00C0
Encoding: 983232 983232 3571
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00C1
Encoding: 983233 983233 3572
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00C2
Encoding: 983234 983234 3573
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00C3
Encoding: 983235 983235 3574
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00C4
Encoding: 983236 983236 3575
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00C5
Encoding: 983237 983237 3576
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00C6
Encoding: 983238 983238 3577
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF00F0
Encoding: 983280 983280 3578
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF029A
Encoding: 983706 983706 3579
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF02A2
Encoding: 983714 983714 3580
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF048B
Encoding: 984203 984203 3581
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF051F
Encoding: 984351 984351 3582
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF05AF
Encoding: 984495 984495 3583
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF05B0
Encoding: 984496 984496 3584
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF06A5
Encoding: 984741 984741 3585
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF10FE
Encoding: 987390 987390 3586
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uF116B
Encoding: 987499 987499 3587
Width: 945
Flags: HW
LayerCount: 2
EndChar
StartChar: uF1211
Encoding: 987665 987665 3588
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uni2595
Encoding: 9621 9621 3589
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniEA76
Encoding: 60022 60022 3590
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniF0A9
Encoding: 61609 61609 3591
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniF0A8
Encoding: 61608 61608 3592
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniF0AA
Encoding: 61610 61610 3593
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniF0AB
Encoding: 61611 61611 3594
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniF128
Encoding: 61736 61736 3595
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: u1F4CC
Encoding: 128204 128204 3596
Width: 1890
Flags: HW
LayerCount: 2
EndChar
EndChars
BitmapFont: 13 3537 10 3 1
BitmapFont: 13 3601 10 3 1
BDFStartProperties: 42
FONT 1 "-slavfox-Cozette-Medium-R-Normal--13-120-75-75-M-60-ISO10646-1"
COMMENT 0 "(c) 2020-2024 Slavfox"
@ -37823,6 +38250,134 @@ BDFChar: 3534 120399 6 1 6 0 6
r;86&?sm@B
BDFChar: 3535 128498 6 1 5 0 6
&7E:m(be2T
BDFChar: -1 62242 6 0 0 0 0
z
BDFChar: 3536 61447 6 0 5 0 7
0R.gr!-nG>
BDFChar: 3537 61870 6 1 5 -1 7
+E/G'E;4BK:]LIq
BDFChar: 3538 983116 6 0 6 0 6
m`)7,WlFH,
BDFChar: 3539 983161 6 0 5 -2 9
Gl7L;r;?Kjr;?Kj
BDFChar: 3540 983162 6 0 5 -2 9
Gg(hoKS5#3KS9:$
BDFChar: 3541 983163 6 0 5 -2 9
Gg(hoKS5#3K`(cG
BDFChar: 3542 983164 6 0 5 -2 9
Gg(hoKS5#3r;?Kj
BDFChar: 3543 983165 6 0 5 -2 9
Gg(hoKS5$Vr;?Kj
BDFChar: 3544 983166 6 0 5 -2 9
Gg(hoKS9:$r;?Kj
BDFChar: 3545 983167 6 0 5 -2 9
Gg(hoK`(cGr;?Kj
BDFChar: 3546 983168 6 0 5 -2 9
Gg(hor;?Kjr;?Kj
BDFChar: 3547 983169 6 0 5 -2 9
Gg(j=r;?Kjr;?Kj
BDFChar: 3548 983170 6 0 5 -2 9
Gg-*`r;?Kjr;?Kj
BDFChar: 3549 983171 6 0 5 -2 9
Gl5e0bfn</bfp"_
BDFChar: 3550 983172 6 0 5 -2 9
Gl6p`S:lRVm+hO:
BDFChar: -1 983204 6 0 0 0 0
z
BDFChar: 3551 983182 6 0 5 -2 9
Gg(hoKS5#3KS5$V
BDFChar: 3552 983173 6 0 6 -2 9
@.<[To(;YHo^MA>
BDFChar: 3553 983174 6 0 6 -2 9
@$$J3P*D8qP`YD(
BDFChar: 3554 983175 6 0 6 -2 9
@$$J3P*D8qPjn23
BDFChar: 3555 983176 6 0 6 -2 9
@$$J3P*D8qo^MA>
BDFChar: 3556 983177 6 0 6 -2 9
@$$J3P*G\2o^MA>
BDFChar: 3557 983178 6 0 6 -2 9
@$$J3o(;YHo^MA>
BDFChar: 3558 983179 6 0 6 -2 9
@$'mIo(;YHo^MA>
BDFChar: 3559 983180 6 0 5 -2 9
Gl7L;r.Kb$r;?Kj
BDFChar: 3560 983181 6 0 6 -2 9
@$$J3OHB2*nF5r:
BDFChar: 3561 983183 6 0 5 -2 9
Gl7L;b_1Ynr;?Kj
BDFChar: 3562 983184 6 0 6 -2 9
@$$J3OHfb:nF5r:
BDFChar: 3563 983185 6 0 5 -2 9
Gl5dmoZZ+Gr7q5J
BDFChar: 3564 983194 6 0 6 -1 6
&3,&bI!ko)
BDFChar: 3565 983195 6 0 6 -1 6
&@bsr<+tn:
BDFChar: 3566 983196 6 0 6 -1 6
&1Bq76q%"c
BDFChar: 3567 983197 6 0 6 -1 6
&3,&R6u;i6
BDFChar: 3568 983198 6 0 6 -1 7
7$>-/I!g>@&-)\1
BDFChar: -1 983230 6 0 0 0 0
z
BDFChar: 3569 983199 6 0 6 -1 7
7$=Q<6psHB&-)\1
BDFChar: 3570 983200 6 0 6 -1 6
&3*'g9LSjk
BDFChar: 3571 983232 6 1 5 -1 7
q"XXZq"XX:L]@DT
BDFChar: 3572 983233 6 1 5 -1 7
q"X@B=Le.YL]@DT
BDFChar: 3573 983234 6 1 5 -1 7
prM+?R$d[$L]@DT
BDFChar: 3574 983235 6 1 5 -1 7
pkX`^Lo@9)L]@DT
BDFChar: 3575 983236 6 1 5 -1 7
pkYmDW/.D)L]@DT
BDFChar: 3576 983237 6 1 5 -1 7
q"WKtf_G6oL]@DT
BDFChar: 3577 983238 6 1 5 -1 7
q"Uf?W;-/?L]@DT
BDFChar: 3578 983280 6 0 6 -1 7
7(WALS>tj$)uos=
BDFChar: 3579 983706 6 0 6 0 6
3(/@UP'f4h
BDFChar: 3580 983714 6 0 6 0 6
&1D)SCcDt+
BDFChar: 3581 984203 6 0 6 -2 8
reg[Treg[Treg[T
BDFChar: 3582 984351 6 0 6 -1 8
rdq^\-n%K8K)P`M
BDFChar: 3583 984495 6 0 6 0 6
rr.M$JqEt%
BDFChar: 3584 984496 6 0 6 3 4
rr)lt
BDFChar: 3585 984741 6 0 5 -1 7
84Z;Lr;:dn0E;(Q
BDFChar: 3586 987390 6 0 6 0 6
I&b2L`n#M;
BDFChar: 3587 987499 6 0 6 -1 6
'J=KPI!ko)
BDFChar: 3588 987665 6 0 5 -2 9
Gl7L;e:>L(r;?Kj
BDFChar: 3589 9621 6 6 6 -3 9
J:N0#J:N0#J:N0#J,fQL
BDFChar: 3590 60022 6 1 5 1 5
Leo3jL]@DT
BDFChar: 3591 61609 6 0 6 0 6
3,J;?p1u\g
BDFChar: 3592 61608 6 0 6 0 6
3,IH'hJ>.O
BDFChar: 3593 61610 6 0 6 0 6
3,HU7mVFi_
BDFChar: 3594 61611 6 0 6 0 6
3,J#_`b[U7
BDFChar: 3595 61736 6 1 5 -1 7
E/9;U0H_J<+92BA
BDFChar: 3596 128204 12 1 10 -1 8
!WW<&#CnJCIfMY4)uqSk6i_`;
BDFRefChar: 1999 1944 0 0 N
BDFRefChar: 2000 1943 0 0 N
BDFRefChar: 2001 1941 0 0 N

View file

@ -0,0 +1,214 @@
SplineFontDB: 3.2
FontName: Cozette
FullName: Cozette
FamilyName: Cozette
Weight: Medium
Copyright: (c) 2020-2024 Slavfox
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: 1735604900
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 Slavfox <slavfoxman@gmail.com>+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
UnicodeInterp: none
NameList: AGL with PUA
DisplaySize: 13
AntiAlias: 1
FitToEm: 0
WidthSeparation: 307
WinInfo: 0 16 12
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 4
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: HW
LayerCount: 2
EndChar
StartChar: uni2087
Encoding: 8327 8327 2
Width: 1024
Flags: HW
LayerCount: 2
EndChar
StartChar: uniFF17
Encoding: 65303 65303 3
Width: 1890
Flags: HW
LayerCount: 2
EndChar
EndChars
BitmapFont: 13 3599 10 3 1
BDFStartProperties: 42
FONT 1 "-slavfox-Cozette-Medium-R-Normal--13-120-75-75-M-60-ISO10646-1"
COMMENT 0 "(c) 2020-2024 Slavfox"
FOUNDRY 16 "slavfox"
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-2024 Slavfox"
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:
EndBitmapFont
EndSplineFont

View file

@ -193,13 +193,12 @@ 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
@ -305,3 +304,5 @@ Cozette's builds use [bdfscale](https://github.com/philj56/bdfscale) by [philj56
[bluetoad07]: https://github.com/bluetoad07
[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
[tmux]:

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
@ -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
@ -163,8 +165,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 +221,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 +248,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 +300,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

@ -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