Compare commits
190 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c2ba9d476 | ||
|
|
9ef8c80fd1 | ||
|
|
e59f404f6e | ||
|
|
5e67f886e8 | ||
|
|
c94dd7c8ba | ||
|
|
7c17b417fa | ||
|
|
0b44a51483 | ||
|
|
67d08e60a2 | ||
|
|
1c55bf5c9c | ||
|
|
3c0f4b2e95 | ||
|
|
d9edca3373 | ||
|
|
427aebec47 | ||
|
|
409b033f4e | ||
|
|
f2397840c1 | ||
|
|
1675cc8a0f | ||
|
|
8c6ab0e2d5 | ||
|
|
d2282e728a | ||
|
|
3d180b5416 | ||
|
|
3f9be35c80 | ||
|
|
7728facbff | ||
|
|
25c31c5762 | ||
|
|
bf10c0bb20 | ||
|
|
39b27b91e6 | ||
|
|
3fc6294075 | ||
|
|
72d7142455 | ||
|
|
7be3adb891 | ||
|
|
3b688895cb | ||
|
|
4c8e3e466f | ||
|
|
eabc1a256b | ||
|
|
95a9acfb52 | ||
|
|
fcf00e513a | ||
|
|
2a6e2b7632 | ||
|
|
f184cc35c3 | ||
|
|
364a42ab44 | ||
|
|
eab3bf1b45 | ||
|
|
46f9615349 | ||
|
|
8be3bb5d49 | ||
|
|
78cf145bc5 | ||
|
|
be77ca5611 | ||
|
|
5458a1cc6e | ||
|
|
2e2904b91b | ||
|
|
c9054769e1 | ||
|
|
37ab35564d | ||
|
|
1999518a3a | ||
|
|
a46f49b93c | ||
|
|
71331cb2ef | ||
|
|
e31c86a4d0 | ||
|
|
49b0de06d1 | ||
|
|
9e882ec4dd | ||
|
|
6dc062aaaf | ||
|
|
fd4ad788fc | ||
|
|
a0cbe27186 | ||
|
|
9d27ca7cee | ||
|
|
0fc7b8d6bc | ||
|
|
0acdf8f382 | ||
|
|
e92d8b8d24 | ||
|
|
d6d51d3fb8 | ||
|
|
09ef213183 | ||
|
|
19d89c34df | ||
|
|
eba1564e52 | ||
|
|
d7608273f8 | ||
|
|
b23a405592 | ||
|
|
de3907f6aa | ||
|
|
2f4f9f08b4 | ||
|
|
336741dbcf | ||
|
|
ea33833702 | ||
|
|
288d198668 | ||
|
|
b24e3193e9 | ||
|
|
37c4a1a57c | ||
|
|
830c2f0473 | ||
|
|
ad1ea15950 | ||
|
|
e2b7be3fbf | ||
|
|
046e1fb08e | ||
|
|
c9b8c035eb | ||
|
|
7d08972393 | ||
|
|
0dfcb40d00 | ||
|
|
5b5c3f2040 | ||
|
|
53edd20d33 | ||
|
|
289f0acd49 | ||
|
|
5725b27bf9 | ||
|
|
b88f1751ba | ||
|
|
f57db8365c | ||
|
|
9887a737dc | ||
|
|
ca0770ce83 | ||
|
|
dc0ab696da | ||
|
|
a5cbc12e91 | ||
|
|
d9106e9aee | ||
|
|
9e7e21221e | ||
|
|
ebef38c546 | ||
|
|
d03a6a3fd0 | ||
|
|
72c150d40c | ||
|
|
bdb901eb6e | ||
|
|
7f2921b729 | ||
|
|
bb49665418 | ||
|
|
9c7816d161 | ||
|
|
2b2c9fbd3f | ||
|
|
905412c1b1 | ||
|
|
686c04de65 | ||
|
|
cbb0e4053d | ||
|
|
e08e9a46f0 | ||
|
|
d5fc566d74 | ||
|
|
7bab03b62a | ||
|
|
7a44609a61 | ||
|
|
f83bd84515 | ||
|
|
361ab13dcc | ||
|
|
27c8135869 | ||
|
|
2affbf23c6 | ||
|
|
5698795990 | ||
|
|
f8f99015dc | ||
|
|
24974d285d | ||
|
|
2908add460 | ||
|
|
44353706ee | ||
|
|
2fbac2ab4d | ||
|
|
fe77749012 | ||
|
|
7e4f0149b8 | ||
|
|
2a3c782b6e | ||
|
|
e462f5bab4 | ||
|
|
8086f4e484 | ||
|
|
fb3430c57a | ||
|
|
8659a2b889 | ||
|
|
2514aebae1 | ||
|
|
7beff7655f | ||
|
|
f1b5b8bad8 | ||
|
|
a68a4b7c96 | ||
|
|
48a9289d5a | ||
|
|
9e16064f87 | ||
|
|
d1ef3c8f53 | ||
|
|
1a706e67b6 | ||
|
|
fd24ba213e | ||
|
|
bd6f6d69a4 | ||
|
|
ba22fc0c7a | ||
|
|
40d695ae91 | ||
|
|
aa4df6d077 | ||
|
|
02241c2002 | ||
|
|
fe21e655cb | ||
|
|
1b1dabad52 | ||
|
|
e5f8c8ed5d | ||
|
|
dd23aa2c95 | ||
|
|
54b616db12 | ||
|
|
e5ff6ac4d3 | ||
|
|
16a4b6e62d | ||
|
|
750f5640bb | ||
|
|
a6fc0895e9 | ||
|
|
9b710c17dd | ||
|
|
c28640b814 | ||
|
|
65013b6742 | ||
|
|
07111ccbdc | ||
|
|
86342eae85 | ||
|
|
7a7ff6619c | ||
|
|
96b3a7a434 | ||
|
|
bf2b2b66b0 | ||
|
|
3591865c23 | ||
|
|
0318435e66 | ||
|
|
e2940d5033 | ||
|
|
f455070ea9 | ||
|
|
ef421a9366 | ||
|
|
2c1cb21b74 | ||
|
|
7d4c903dd9 | ||
|
|
4e0560cb2f | ||
|
|
c3cbe61b13 | ||
|
|
362e095889 | ||
|
|
4103baf130 | ||
|
|
c7cdcf2f2b | ||
|
|
1aaf0e2eaa | ||
|
|
f1823da91c | ||
|
|
ed50a3fb21 | ||
|
|
c3638b2a29 | ||
|
|
fd3c037d0d | ||
|
|
e96ed5f366 | ||
|
|
fab11ddc62 | ||
|
|
9b231a09b9 | ||
|
|
15c4dd3c24 | ||
|
|
d6f09dacaa | ||
|
|
07ae0ce1e3 | ||
|
|
df988356d1 | ||
|
|
2abd9bb52e | ||
|
|
c2a32e0737 | ||
|
|
e1476ef1cc | ||
|
|
80b1a3ae38 | ||
|
|
9abce94585 | ||
|
|
0bd09d4d32 | ||
|
|
aa7eafd73a | ||
|
|
cc557fe9f9 | ||
|
|
ead136767b | ||
|
|
5e09841426 | ||
|
|
5d2c6dfb0c | ||
|
|
5a309b62ce | ||
|
|
4ae50b491e | ||
|
|
07e98eebfb | ||
|
|
a71afce2a7 |
3
.gitignore
vendored
|
|
@ -61,3 +61,6 @@ dmypy.json
|
|||
*.ttf
|
||||
*.otf
|
||||
.vim
|
||||
.direnv
|
||||
.envrc
|
||||
result
|
||||
|
|
|
|||
3359
CHANGELOG.md
31173
Cozette/Cozette.sfd
BIN
Cozette/Mosaics design.png
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
467
Cozette/variants/CozetteCrossedSeven.sfd
Normal 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
|
||||
2
LICENSE
|
|
@ -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
|
||||
|
|
|
|||
3
Pipfile
|
|
@ -19,6 +19,3 @@ pip = "*"
|
|||
|
||||
[requires]
|
||||
python_version = "3.12"
|
||||
|
||||
[pipenv]
|
||||
allow_prereleases = true
|
||||
|
|
|
|||
487
Pipfile.lock
generated
|
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
62
README.md
|
|
@ -1,10 +1,10 @@
|
|||
# Cozette
|
||||
|
||||
[](https://github.com/slavfox/Cozette/releases/latest)
|
||||
[](https://github.com/the-moonwitch/Cozette/releases/latest)
|
||||
[](https://aur.archlinux.org/packages/cozette-otb/)
|
||||

|
||||

|
||||
[](https://github.com/slavfox/Cozette/blob/master/LICENSE)
|
||||

|
||||

|
||||
[](https://github.com/the-moonwitch/Cozette/blob/master/LICENSE)
|
||||
|
||||

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

|
||||
|
||||
To fix this you need to set (in your settings):
|
||||
- terminal.integrated.letterSpacing to 1
|
||||
|
||||

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

|
||||
|
||||
_Note: VSCode also provides the option editor.letterSpacing which adjusts the spacing for the file editor._
|
||||
|
||||
#### Kitty
|
||||
|
||||
**[4e554c4c](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!
|
||||

|
||||
|
||||
# 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
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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+)"
|
||||
)
|
||||
|
|
|
|||
|
|
@ -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"))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 72 KiB |
BIN
img/charmap.png
|
Before Width: | Height: | Size: 101 KiB After Width: | Height: | Size: 197 KiB |
1230
img/charmap.txt
BIN
img/crossed_seven.png
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
img/sample.png
|
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 7.8 KiB |
|
|
@ -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
|
||||
|
|
|
|||