v.1.24.0 The IPA update

This commit is contained in:
Slavfox 2024-05-07 13:35:54 +02:00
parent 3e7517854e
commit 3de6de6c29
13 changed files with 428 additions and 236 deletions

View file

@ -20,13 +20,14 @@ jobs:
pacman -S --noconfirm base git tar which zip libffi jre17-openjdk wget pacman -S --noconfirm base git tar which zip libffi jre17-openjdk wget
- name: Install python - name: Install python
run: | run: |
pacman -S --noconfirm python python-pipenv python-setuptools pacman -S --noconfirm python python-pip python-pipenv python-setuptools
- name: Install fontforge - name: Install fontforge
run: pacman -S --noconfirm fontforge run: pacman -S --noconfirm fontforge
- uses: actions/checkout@v2 - uses: actions/checkout@v4
- name: Build fonts - name: Build fonts
run: | run: |
pipenv --python /bin/python install; pipenv run python build.py fonts pipenv --python /bin/python install
pipenv run python build.py fonts
- name: Save version - name: Save version
id: version id: version
run: | run: |
@ -38,4 +39,4 @@ jobs:
with: with:
artifacts: "CozetteFonts-${{ steps.version.outputs.version }}.zip,CozetteFonts/*" artifacts: "CozetteFonts-${{ steps.version.outputs.version }}.zip,CozetteFonts/*"
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
body: "See [CHANGELOG.md](https://github.com/slavfox/Cozette/blob/master/CHANGELOG.md)" body: "${{ steps.msg.outputs.version }} See [CHANGELOG.md](https://github.com/slavfox/Cozette/blob/master/CHANGELOG.md)"

View file

@ -5,6 +5,90 @@ 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 The format is based on [Keep a Changelog], and this project adheres to
[Semantic Versioning]. [Semantic Versioning].
## [1.24.0]
The IPA update!
### Added
- fi (U+FB01 LATIN SMALL LIGATURE FI)
- ȡ (U+0221 LATIN SMALL LETTER D WITH CURL)
- ȴ (U+0234 LATIN SMALL LETTER L WITH CURL)
- ȵ (U+0235 LATIN SMALL LETTER N WITH CURL)
- ȶ (U+0236 LATIN SMALL LETTER T WITH CURL)
- ȸ (U+0238 LATIN SMALL LETTER DB DIGRAPH)
- ȹ (U+0239 LATIN SMALL LETTER QP DIGRAPH)
- ʣ (U+02A3 LATIN SMALL LETTER DZ DIGRAPH)
- ʤ (U+02A4 LATIN SMALL LETTER DEZH DIGRAPH)
- ʥ (U+02A5 LATIN SMALL LETTER DZ DIGRAPH WITH CURL)
- ʦ (U+02A6 LATIN SMALL LETTER TS DIGRAPH)
- ʧ (U+02A7 LATIN SMALL LETTER TESH DIGRAPH)
- ʨ (U+02A8 LATIN SMALL LETTER TC DIGRAPH WITH CURL)
- ʮ (U+02AE LATIN SMALL LETTER TURNED H WITH FISHHOOK)
- ʯ (U+02AF LATIN SMALL LETTER TURNED H WITH FISHHOOK AND TAIL)
- ʰ (U+02B0 MODIFIER LETTER SMALL H)
- ʱ (U+02B1 MODIFIER LETTER SMALL H WITH HOOK)
- ʲ (U+02B2 MODIFIER LETTER SMALL J)
- ʳ (U+02B3 MODIFIER LETTER SMALL R)
- ʴ (U+02B4 MODIFIER LETTER SMALL TURNED R)
- ʵ (U+02B5 MODIFIER LETTER SMALL TURNED R WITH HOOK)
- ʶ (U+02B6 MODIFIER LETTER SMALL CAPITAL INVERTED R)
- ʷ (U+02B7 MODIFIER LETTER SMALL W)
- ʾ (U+02BE MODIFIER LETTER RIGHT HALF RING)
- ʿ (U+02BF MODIFIER LETTER LEFT HALF RING)
- ˀ (U+02C0 MODIFIER LETTER GLOTTAL STOP)
- ˁ (U+02C1 MODIFIER LETTER REVERSED GLOTTAL STOP)
- ˞ (U+02DE MODIFIER LETTER RHOTIC HOOK)
- ˥ (U+02E5 MODIFIER LETTER EXTRA-HIGH TONE BAR)
- ˦ (U+02E6 MODIFIER LETTER HIGH TONE BAR)
- ˧ (U+02E7 MODIFIER LETTER MID TONE BAR)
- ˨ (U+02E8 MODIFIER LETTER LOW TONE BAR)
- ˩ (U+02E9 MODIFIER LETTER EXTRA-LOW TONE BAR)
- ̹ (U+0339 COMBINING RIGHT HALF RING BELOW)
- ͑ (U+0351 COMBINING LEFT HALF RING ABOVE)
- ͗ (U+0357 COMBINING RIGHT HALF RING ABOVE)
- ͜ (U+035C COMBINING DOUBLE BREVE BELOW)
- ͝ (U+035D COMBINING DOUBLE BREVE)
- ͡ (U+0361 COMBINING DOUBLE INVERTED BREVE)
- ᴀ (U+1D00 LATIN LETTER SMALL CAPITAL A)
- ᴇ (U+1D07 LATIN LETTER SMALL CAPITAL E)
- ᵊ (U+1D4A MODIFIER LETTER SMALL SCHWA)
- ᶑ (U+1D91 LATIN SMALL LETTER D WITH HOOK AND TAIL)
- ⱱ (U+2C71 LATIN SMALL LETTER V WITH RIGHT HOOK)
- ꭥ (U+AB65 GREEK LETTER SMALL CAPITAL OMEGA)
### Changed
- ɗ (U+0257 LATIN SMALL LETTER D WITH HOOK)
- ɟ (U+025F LATIN SMALL LETTER DOTLESS J WITH STROKE)
- ɠ (U+0260 LATIN SMALL LETTER G WITH HOOK)
- ɯ (U+026F LATIN SMALL LETTER TURNED M)
- ɰ (U+0270 LATIN SMALL LETTER TURNED M WITH LONG LEG)
- ɶ (U+0276 LATIN LETTER SMALL CAPITAL OE)
- ɷ (U+0277 LATIN SMALL LETTER CLOSED OMEGA)
- ʄ (U+0284 LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK)
- ʎ (U+028E LATIN SMALL LETTER TURNED Y)
- ʑ (U+0291 LATIN SMALL LETTER Z WITH CURL)
- ʛ (U+029B LATIN LETTER SMALL CAPITAL G WITH HOOK)
- ʠ (U+02A0 LATIN SMALL LETTER Q WITH HOOK)
- ʢ (U+02A2 LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE)
- ˂ (U+02C2 MODIFIER LETTER LEFT ARROWHEAD)
- ˃ (U+02C3 MODIFIER LETTER RIGHT ARROWHEAD)
- ˄ (U+02C4 MODIFIER LETTER UP ARROWHEAD)
- ˅ (U+02C5 MODIFIER LETTER DOWN ARROWHEAD)
- ː (U+02D0 MODIFIER LETTER TRIANGULAR COLON)
- ˑ (U+02D1 MODIFIER LETTER HALF TRIANGULAR COLON)
- ˠ (U+02E0 MODIFIER LETTER SMALL GAMMA)
- ˡ (U+02E1 MODIFIER LETTER SMALL L)
- ☰ (U+2630 TRIGRAM FOR HEAVEN)
- ☱ (U+2631 TRIGRAM FOR LAKE)
- ☲ (U+2632 TRIGRAM FOR FIRE)
- ☳ (U+2633 TRIGRAM FOR THUNDER)
- ☴ (U+2634 TRIGRAM FOR WIND)
- ☵ (U+2635 TRIGRAM FOR WATER)
- ☶ (U+2636 TRIGRAM FOR MOUNTAIN)
- ☷ (U+2637 TRIGRAM FOR EARTH)
## [1.23.2] ## [1.23.2]
### Added ### Added
@ -2458,8 +2542,9 @@ Still broken on Windows.
[keep a changelog]: https://keepachangelog.com/en/1.0.0/ [keep a changelog]: https://keepachangelog.com/en/1.0.0/
[semantic versioning]: https://semver.org/spec/v2.0.0.html [semantic versioning]: https://semver.org/spec/v2.0.0.html
[unreleased]: https://github.com/slavfox/Cozette/compare/v.1.23.2...HEAD [unreleased]: https://github.com/slavfox/Cozette/compare/v.1.24.0...HEAD
[1.23.1]: https://github.com/slavfox/Cozette/compare/v.1.23.1...v.1.23.2 [1.24.0]: https://github.com/slavfox/Cozette/compare/v.1.23.2...v.1.24.0
[1.23.2]: https://github.com/slavfox/Cozette/compare/v.1.23.1...v.1.23.2
[1.23.1]: https://github.com/slavfox/Cozette/compare/v.1.23.0...v.1.23.1 [1.23.1]: https://github.com/slavfox/Cozette/compare/v.1.23.0...v.1.23.1
[1.23.0]: https://github.com/slavfox/Cozette/compare/v.1.22.2...v.1.23.0 [1.23.0]: https://github.com/slavfox/Cozette/compare/v.1.22.2...v.1.23.0
[1.22.2]: https://github.com/slavfox/Cozette/compare/v.1.22.1...v.1.22.2 [1.22.2]: https://github.com/slavfox/Cozette/compare/v.1.22.1...v.1.22.2

View file

@ -3,8 +3,8 @@ FontName: Cozette
FullName: Cozette FullName: Cozette
FamilyName: Cozette FamilyName: Cozette
Weight: Medium Weight: Medium
Copyright: (c) 2020-2023 Slavfox Copyright: (c) 2020-2024 Slavfox
Version: 1.232 Version: 1.240
ItalicAngle: 0 ItalicAngle: 0
UnderlinePosition: -100 UnderlinePosition: -100
UnderlineWidth: 50 UnderlineWidth: 50
@ -22,7 +22,7 @@ OS2Version: 1
OS2_WeightWidthSlopeOnly: 0 OS2_WeightWidthSlopeOnly: 0
OS2_UseTypoMetrics: 0 OS2_UseTypoMetrics: 0
CreationTime: -2082812035 CreationTime: -2082812035
ModificationTime: 1714234787 ModificationTime: 1715153089
PfmFamily: 49 PfmFamily: 49
TTFWeight: 500 TTFWeight: 500
TTFWidth: 5 TTFWidth: 5
@ -120,11 +120,11 @@ DisplaySize: 13
AntiAlias: 1 AntiAlias: 1
FitToEm: 0 FitToEm: 0
WidthSeparation: 307 WidthSeparation: 307
WinInfo: 0 46 33 WinInfo: 0 46 26
BeginPrivate: 0 BeginPrivate: 0
EndPrivate 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 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 3208 BeginChars: 1114112 3209
StartChar: uni0000 StartChar: uni0000
Encoding: 0 0 0 Encoding: 0 0 0
@ -28408,11 +28408,18 @@ Width: 1024
Flags: HW Flags: HW
LayerCount: 2 LayerCount: 2
EndChar EndChar
StartChar: f_i
Encoding: 64257 64257 3208
Width: 1024
Flags: HW
LayerCount: 2
EndChar
EndChars EndChars
BitmapFont: 13 3208 10 3 1 BitmapFont: 13 3209 10 3 1
BDFStartProperties: 42 BDFStartProperties: 42
FONT 1 "-slavfox-Cozette-Medium-R-Normal--13-120-75-75-M-60-ISO10646-1" FONT 1 "-slavfox-Cozette-Medium-R-Normal--13-120-75-75-M-60-ISO10646-1"
COMMENT 0 "(c) 2020-2023 Slavfox" COMMENT 0 "(c) 2020-2024 Slavfox"
FOUNDRY 16 "slavfox" FOUNDRY 16 "slavfox"
FAMILY_NAME 16 "Cozette" FAMILY_NAME 16 "Cozette"
WEIGHT_NAME 16 "Medium" WEIGHT_NAME 16 "Medium"
@ -28430,8 +28437,8 @@ CHARSET_ENCODING 16 "1"
FONTNAME_REGISTRY 16 "" FONTNAME_REGISTRY 16 ""
FONT_NAME 16 "Cozette" FONT_NAME 16 "Cozette"
FACE_NAME 16 "Cozette" FACE_NAME 16 "Cozette"
COPYRIGHT 16 "(c) 2020-2023 Slavfox" COPYRIGHT 16 "(c) 2020-2024 Slavfox"
FONT_VERSION 16 "1.232" FONT_VERSION 16 "1.240"
FONT_ASCENT 18 10 FONT_ASCENT 18 10
FONT_DESCENT 18 3 FONT_DESCENT 18 3
UNDERLINE_POSITION 18 -19 UNDERLINE_POSITION 18 -19
@ -30467,22 +30474,22 @@ BDFChar: 1004 9654 6 1 5 -1 7
JAC+4q!d4WJ,fQL JAC+4q!d4WJ,fQL
BDFChar: 1005 9664 6 1 5 -1 7 BDFChar: 1005 9664 6 1 5 -1 7
#T,OGpinb8#QOi) #T,OGpinb8#QOi)
BDFChar: 1006 9776 6 0 6 0 6 BDFChar: 1006 9776 6 1 5 0 6
rVurt!!)uu p](<h!!)co
BDFChar: 1007 9777 6 0 6 0 6 BDFChar: 1007 9777 6 1 5 0 6
mJm7d!!)uu fDkpH!!)co
BDFChar: 1008 9778 6 0 6 0 6 BDFChar: 1008 9778 6 1 5 0 6
rVurd!!)uu p](<H!!)co
BDFChar: 1009 9779 6 0 6 0 6 BDFChar: 1009 9779 6 1 5 0 6
mJm7T!!)uu fDkp(!!)co
BDFChar: 1010 9780 6 0 6 0 6 BDFChar: 1010 9780 6 1 5 0 6
rVurt!!)Ee p](<h!!(XO
BDFChar: 1011 9781 6 0 6 0 6 BDFChar: 1011 9781 6 1 5 0 6
mJm7d!!)Ee fDkpH!!(XO
BDFChar: 1012 9782 6 0 6 0 6 BDFChar: 1012 9782 6 1 5 0 6
rVurd!!)Ee p](<H!!(XO
BDFChar: 1013 9783 6 0 6 0 6 BDFChar: 1013 9783 6 1 5 0 6
mJm7T!!)Ee fDkp(!!(XO
BDFChar: 1014 11104 6 1 6 2 4 BDFChar: 1014 11104 6 1 6 2 4
5l<kI 5l<kI
BDFChar: 1015 11105 6 2 4 1 6 BDFChar: 1015 11105 6 2 4 1 6
@ -34869,6 +34876,8 @@ BDFChar: 3206 694 6 1 4 4 8
OJ(NnhuE`W OJ(NnhuE`W
BDFChar: 3207 7498 6 2 4 4 8 BDFChar: 3207 7498 6 2 4 4 8
^`_R.5QCca ^`_R.5QCca
BDFChar: 3208 64257 6 1 5 0 8
0Mk%(:f'tb8,rVi
BDFRefChar: 1999 1944 0 0 N BDFRefChar: 1999 1944 0 0 N
BDFRefChar: 2000 1943 0 0 N BDFRefChar: 2000 1943 0 0 N
BDFRefChar: 2001 1941 0 0 N BDFRefChar: 2001 1941 0 0 N

436
Pipfile.lock generated
View file

@ -34,195 +34,262 @@
}, },
"fonttools": { "fonttools": {
"hashes": [ "hashes": [
"sha256:106caf6167c4597556b31a8d9175a3fdc0356fdcd70ab19973c3b0d4c893c461", "sha256:0118ef998a0699a96c7b28457f15546815015a2710a1b23a7bf6c1be60c01636",
"sha256:dba8d7cdb8e2bac1b3da28c5ed5960de09e59a2fe7e63bb73f5a59e57b0430d2" "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"
], ],
"index": "pypi", "index": "pypi",
"version": "==4.39.4" "markers": "python_version >= '3.8'",
"version": "==4.51.0"
}, },
"gitdb": { "gitdb": {
"hashes": [ "hashes": [
"sha256:6eb990b69df4e15bad899ea868dc46572c3f75339735663b81de79b06f17eb9a", "sha256:81a3407ddd2ee8df444cbacea00e2d038e40150acfa3001696fe0dcf1d3adfa4",
"sha256:c286cf298426064079ed96a9e4a9d39e7f3e9bf15ba60701e95f5492f28415c7" "sha256:bf5421126136d6d0af55bc1e7c1af1c397a34f5b7bd79e776cd3e89785c2b04b"
], ],
"markers": "python_version >= '3.7'", "markers": "python_version >= '3.7'",
"version": "==4.0.10" "version": "==4.0.11"
}, },
"gitpython": { "gitpython": {
"hashes": [ "hashes": [
"sha256:8ce3bcf69adfdf7c7d503e78fd3b1c492af782d58893b650adb2ac8912ddd573", "sha256:35f314a9f878467f5453cc1fee295c3e18e52f1b99f10f6cf5b1682e968a9e7c",
"sha256:f04893614f6aa713a60cbbe1e6a97403ef633103cdd0ef5eb6efe0deb98dbe8d" "sha256:eec7ec56b92aad751f9912a73404bc02ba212a23adb2c7098ee668417051a1ff"
], ],
"index": "pypi", "index": "pypi",
"version": "==3.1.31" "markers": "python_version >= '3.7'",
"version": "==3.1.43"
}, },
"numpy": { "numpy": {
"hashes": [ "hashes": [
"sha256:04847257662eef90599a1beca30c757d8e562aa8c7d64e91ea465f299469075d", "sha256:00236e0e8a588fef8f70e0535b898bcebd97becc0b27686d2fc7cb35b5d1ab91",
"sha256:06bae17a3629416eb5bae3a429655dc075561206b6d3c1ddfa38b51f273bae5c", "sha256:015df68fd97bc00e1b7719e80cea401b23a601b639c6d6545922f7a21876b771",
"sha256:1365157813810cfda2be9518806bf32f6b5f56e5e501d8299e3b681d53e405e2", "sha256:060635ab843ea0e2aa6ad153d5656193014eedd90ec4ef6e2b738d81bfe28170",
"sha256:165b0fb4d5b6349eef7b909be2d61a673bc6e75e0eec43776eea3222385a9d11", "sha256:070a8b1c93b0bf21c1a3c51514145acbba612e9f3fd86870c1ca37a36cebbfce",
"sha256:1bed69508b3b97dd3fb8c439352881c1bd232a0c8dd1e11d8df4e68046d434cf", "sha256:08d7d73d5b7d97decfb6584f41492f5584f81a3147514b67ac21ccccb3418b35",
"sha256:20dd2352806eb229bc79c4fa308431eaf1721c66f7928950ee0381df98a2d269", "sha256:09bedcb99b9ac5472d2e63cd18be861750acc7570ae3661be7cb6018ce376694",
"sha256:224e8862a1cd357eede831b270b9e6c51d2cbc2bb5cc2e2b8d0c76d52cbd1edc", "sha256:09e7a6cab5eac8aca0f17ad29b42ee1cd357e09a76076d5f4cb90ca62a0229b8",
"sha256:236c8ff573c02677b873e0934419c8e9873bd2b35aaba885170b7b43cb26d5da", "sha256:1860507cb082ee8d9920db806d74d8a3936081b9ecf274b0fdb6d99b664680a1",
"sha256:416da35914d2fecc3afd31127b1eb1a283df33292cfcb453e1c8fb46d52611a1", "sha256:1e2478ca8b4b0c5a7146fc316c83843bc47b2d73cf6c02000561794ae5dba537",
"sha256:472bdc3ade289d3efa331738b1daa5a529eef0550650f5d5d2eadb936a2f83a5", "sha256:25d43c681fefb4d7e0ffa949097b20eacbad4be9af7c136b1f69dc4c34c1f6d4",
"sha256:48e33b46b7db13de75dd0c1c919b8b297b5d7a4dc50b181066977ee17bed7cc3", "sha256:2b5f87d88212e54263f64257b28daa04f3fde627c204abd7557a80b582de4a63",
"sha256:5e7ba92ad63ffded03400d5038af89f7788843794c77ad1a37522fa69762b06f", "sha256:39a65e8c127d51419942a9e0ec467273536acd373507ce64e63451690ed47bfc",
"sha256:7261d100c9bf722057fd5b9cd5b48f2973b17792b41e689eeaf9b55843cd1afd", "sha256:5be315e916e7d4d372acf62dcc86900eb47b2f76c185d835634dd0503f441e35",
"sha256:763fca81a8d8beb6bf4b9a9bbf4045b0c134c15ea66c81d26e5b8683b1861293", "sha256:5c62c0d071681391b9c73ba09b35cb46477659012fd88af2c877a2a9da84aa2f",
"sha256:7cf92c2bfbaf7bd52df1a21e56e8d34cff711594498ecbd02a39df3aaada763b", "sha256:5e289dafe89a0dd756430fa03332c428c897c41cc3143230c38d7d2bb9ad475e",
"sha256:8aad2f86d2036622af1e1eb9db94e26618f42a571e02583fa72d5b1983782bf8", "sha256:67f9707c3df26ca5bce34162fe0721646504c5961ccfca94c294fbeaf42cfa5b",
"sha256:9a18d2c173a44e48e72614748df5624875439af2d352a416b9f3840583ad9efb", "sha256:684eef178a2039cba72bce740cdf2f592e67a41885a0f09d5622380fc59af0f8",
"sha256:a0dab69ef25ccabf6f066a4902e238767cbbe52bc5ff90aa99514f87812ba76a", "sha256:6e0438e248b5e7e46e80a686868d36d6a4ce875cedce87122d1616ffd8e2a669",
"sha256:a4a9f1eaa63b5e35e23e5465ed59746b0a680eb5b5da06f2d432f828d32b26c1", "sha256:706f66648712385f5ca5e22ad4f32d1a1a93c143882969d951122b5cf9e40a24",
"sha256:b1a22ae597ee1d0e2336044854b33965fd92e731efe3c2ab965826e02cca2a8c", "sha256:7511694264a1219458a4e77d185a7ee350506b4e1e3b2b82845a5e9db044b6f5",
"sha256:bd1de5d7ab75cdf56f2247aace7940dfd0a8fd048e07808358d8fca604f1d102", "sha256:7517f752cad3d8bf297ed6421c63be769a03b8e3c34282eec803bae693dae67a",
"sha256:dfe2e3845c3b630f6617f9e8a15c8a1cbaf452c9fa32c71ec0a77d09548cd662", "sha256:7d990411f2821bf2812ec66ae85e8f351103fe7c3a229152ab6f8c9a620e82eb",
"sha256:f59080829bbfe46660a201fc17315a4e8ec6e4499ee745bab3df61866f63e771", "sha256:8798ee3db69d2f531b12897929583021206feb4d45234d035e5511a5bd0cee38",
"sha256:f64b730004e500f836f6405ad5cd36d309b6ac065366a0855860155f23eb2ad5", "sha256:8a7c01e9c14216e386e42a0c75c76a015a002dd5ed833ffbdaa6a7f2aeed9258",
"sha256:f8cbdb428d848f03a4f6f534284cf7fb168a6ec0e742357bf65ad268316906ea" "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"
], ],
"index": "pypi", "index": "pypi",
"version": "==1.25.0rc1" "markers": "python_version >= '3.9'",
"version": "==2.0.0rc1"
}, },
"pillow": { "pillow": {
"hashes": [ "hashes": [
"sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1", "sha256:048ad577748b9fa4a99a0548c64f2cb8d672d5bf2e643a739ac8faff1164238c",
"sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba", "sha256:048eeade4c33fdf7e08da40ef402e748df113fd0b4584e32c4af74fe78baaeb2",
"sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a", "sha256:0ba26351b137ca4e0db0342d5d00d2e355eb29372c05afd544ebf47c0956ffeb",
"sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799", "sha256:0ea2a783a2bdf2a561808fe4a7a12e9aa3799b701ba305de596bc48b8bdfce9d",
"sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51", "sha256:1530e8f3a4b965eb6a7785cf17a426c779333eb62c9a7d1bbcf3ffd5bf77a4aa",
"sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb", "sha256:16563993329b79513f59142a6b02055e10514c1a8e86dca8b48a893e33cf91e3",
"sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5", "sha256:19aeb96d43902f0a783946a0a87dbdad5c84c936025b8419da0a0cd7724356b1",
"sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270", "sha256:1a1d1915db1a4fdb2754b9de292642a39a7fb28f1736699527bb649484fb966a",
"sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6", "sha256:1b87bd9d81d179bd8ab871603bd80d8645729939f90b71e62914e816a76fc6bd",
"sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47", "sha256:1dfc94946bc60ea375cc39cff0b8da6c7e5f8fcdc1d946beb8da5c216156ddd8",
"sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf", "sha256:2034f6759a722da3a3dbd91a81148cf884e91d1b747992ca288ab88c1de15999",
"sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e", "sha256:261ddb7ca91fcf71757979534fb4c128448b5b4c55cb6152d280312062f69599",
"sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b", "sha256:2ed854e716a89b1afcedea551cd85f2eb2a807613752ab997b9974aaa0d56936",
"sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66", "sha256:3102045a10945173d38336f6e71a8dc71bcaeed55c3123ad4af82c52807b9375",
"sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865", "sha256:339894035d0ede518b16073bdc2feef4c991ee991a29774b33e515f1d308e08d",
"sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec", "sha256:412444afb8c4c7a6cc11a47dade32982439925537e483be7c0ae0cf96c4f6a0b",
"sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c", "sha256:4203efca580f0dd6f882ca211f923168548f7ba334c189e9eab1178ab840bf60",
"sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1", "sha256:45ebc7b45406febf07fef35d856f0293a92e7417ae7933207e90bf9090b70572",
"sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38", "sha256:4b5ec25d8b17217d635f8935dbc1b9aa5907962fae29dff220f2659487891cd3",
"sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906", "sha256:4c8e73e99da7db1b4cad7f8d682cf6abad7844da39834c288fbfa394a47bbced",
"sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705", "sha256:4e6f7d1c414191c1199f8996d3f2282b9ebea0945693fb67392c75a3a320941f",
"sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef", "sha256:4eaa22f0d22b1a7e93ff0a596d57fdede2e550aecffb5a1ef1106aaece48e96b",
"sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc", "sha256:50b8eae8f7334ec826d6eeffaeeb00e36b5e24aa0b9df322c247539714c6df19",
"sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f", "sha256:50fd3f6b26e3441ae07b7c979309638b72abc1a25da31a81a7fbd9495713ef4f",
"sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf", "sha256:51243f1ed5161b9945011a7360e997729776f6e5d7005ba0c6879267d4c5139d",
"sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392", "sha256:5d512aafa1d32efa014fa041d38868fda85028e3f930a96f85d49c7d8ddc0383",
"sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d", "sha256:5f77cf66e96ae734717d341c145c5949c63180842a545c47a0ce7ae52ca83795",
"sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe", "sha256:6b02471b72526ab8a18c39cb7967b72d194ec53c1fd0a70b050565a0f366d355",
"sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32", "sha256:6fb1b30043271ec92dc65f6d9f0b7a830c210b8a96423074b15c7bc999975f57",
"sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5", "sha256:7161ec49ef0800947dc5570f86568a7bb36fa97dd09e9827dc02b718c5643f09",
"sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7", "sha256:72d622d262e463dfb7595202d229f5f3ab4b852289a1cd09650362db23b9eb0b",
"sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44", "sha256:74d28c17412d9caa1066f7a31df8403ec23d5268ba46cd0ad2c50fb82ae40462",
"sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d", "sha256:78618cdbccaa74d3f88d0ad6cb8ac3007f1a6fa5c6f19af64b55ca170bfa1edf",
"sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3", "sha256:793b4e24db2e8742ca6423d3fde8396db336698c55cd34b660663ee9e45ed37f",
"sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625", "sha256:798232c92e7665fe82ac085f9d8e8ca98826f8e27859d9a96b41d519ecd2e49a",
"sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e", "sha256:81d09caa7b27ef4e61cb7d8fbf1714f5aec1c6b6c5270ee53504981e6e9121ad",
"sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829", "sha256:8ab74c06ffdab957d7670c2a5a6e1a70181cd10b727cd788c4dd9005b6a8acd9",
"sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089", "sha256:8eb0908e954d093b02a543dc963984d6e99ad2b5e36503d8a0aaf040505f747d",
"sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3", "sha256:90b9e29824800e90c84e4022dd5cc16eb2d9605ee13f05d47641eb183cd73d45",
"sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78", "sha256:9797a6c8fe16f25749b371c02e2ade0efb51155e767a971c61734b1bf6293994",
"sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96", "sha256:9d2455fbf44c914840c793e89aa82d0e1763a14253a000743719ae5946814b2d",
"sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964", "sha256:9d3bea1c75f8c53ee4d505c3e67d8c158ad4df0d83170605b50b64025917f338",
"sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597", "sha256:9e2ec1e921fd07c7cda7962bad283acc2f2a9ccc1b971ee4b216b75fad6f0463",
"sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99", "sha256:9e91179a242bbc99be65e139e30690e081fe6cb91a8e77faf4c409653de39451",
"sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a", "sha256:a0eaa93d054751ee9964afa21c06247779b90440ca41d184aeb5d410f20ff591",
"sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140", "sha256:a2c405445c79c3f5a124573a051062300936b0281fee57637e706453e452746c",
"sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7", "sha256:aa7e402ce11f0885305bfb6afb3434b3cd8f53b563ac065452d9d5654c7b86fd",
"sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16", "sha256:aff76a55a8aa8364d25400a210a65ff59d0168e0b4285ba6bf2bd83cf675ba32",
"sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903", "sha256:b09b86b27a064c9624d0a6c54da01c1beaf5b6cadfa609cf63789b1d08a797b9",
"sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1", "sha256:b14f16f94cbc61215115b9b1236f9c18403c15dd3c52cf629072afa9d54c1cbf",
"sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296", "sha256:b50811d664d392f02f7761621303eba9d1b056fb1868c8cdf4231279645c25f5",
"sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572", "sha256:b7bc2176354defba3edc2b9a777744462da2f8e921fbaf61e52acb95bafa9828",
"sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115", "sha256:c78e1b00a87ce43bb37642c0812315b411e856a905d58d597750eb79802aaaa3",
"sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a", "sha256:c83341b89884e2b2e55886e8fbbf37c3fa5efd6c8907124aeb72f285ae5696e5",
"sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd", "sha256:ca2870d5d10d8726a27396d3ca4cf7976cec0f3cb706debe88e3a5bd4610f7d2",
"sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4", "sha256:ccce24b7ad89adb5a1e34a6ba96ac2530046763912806ad4c247356a8f33a67b",
"sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1", "sha256:cd5e14fbf22a87321b24c88669aad3a51ec052eb145315b3da3b7e3cc105b9a2",
"sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb", "sha256:ce49c67f4ea0609933d01c0731b34b8695a7a748d6c8d186f95e7d085d2fe475",
"sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa", "sha256:d33891be6df59d93df4d846640f0e46f1a807339f09e79a8040bc887bdcd7ed3",
"sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a", "sha256:d3b2348a78bc939b4fed6552abfd2e7988e0f81443ef3911a4b8498ca084f6eb",
"sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569", "sha256:d886f5d353333b4771d21267c7ecc75b710f1a73d72d03ca06df49b09015a9ef",
"sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c", "sha256:d93480005693d247f8346bc8ee28c72a2191bdf1f6b5db469c096c0c867ac015",
"sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf", "sha256:dc1a390a82755a8c26c9964d457d4c9cbec5405896cba94cf51f36ea0d855002",
"sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082", "sha256:dd78700f5788ae180b5ee8902c6aea5a5726bac7c364b202b4b3e3ba2d293170",
"sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062", "sha256:e46f38133e5a060d46bd630faa4d9fa0202377495df1f068a8299fd78c84de84",
"sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579" "sha256:e4b878386c4bf293578b48fc570b84ecfe477d3b77ba39a6e87150af77f40c57",
"sha256:f0d0591a0aeaefdaf9a5e545e7485f89910c977087e7de2b6c388aec32011e9f",
"sha256:fdcbb4068117dfd9ce0138d068ac512843c52295ed996ae6dd1faf537b6dbc27",
"sha256:ff61bfd9253c3915e6d41c651d5f962da23eda633cf02262990094a18a55371a"
], ],
"index": "pypi", "index": "pypi",
"version": "==9.5.0" "markers": "python_version >= '3.8'",
"version": "==10.3.0"
}, },
"pip": { "pip": {
"hashes": [ "hashes": [
"sha256:0e7c86f486935893c708287b30bd050a36ac827ec7fe5e43fe7cb198dd835fba", "sha256:752516cffafef5cf29d3fb2f06c978f27e98709654689cf277b2fce984c7a591",
"sha256:3ef6ac33239e4027d9a5598a381b9d30880a1477e50039db2eac6e8a8f6d1b18" "sha256:a9bd4c037d72325b4e903ec3f383263deea3eb73cd01db7a844edd026fc68afe"
], ],
"index": "pypi", "index": "pypi",
"version": "==23.1.2" "markers": "python_version >= '3.8'",
"version": "==24.1b1"
}, },
"setuptools": { "setuptools": {
"hashes": [ "hashes": [
"sha256:5df61bf30bb10c6f756eb19e7c9f3b473051f48db77fddbe06ff2ca307df9a6f", "sha256:6c1fccdac05a97e598fb0ae3bbed5904ccb317337a51139dcd51453611bbb987",
"sha256:62642358adc77ffa87233bc4d2354c4b2682d214048f500964dbe760ccedf102" "sha256:c636ac361bc47580504644275c9ad802c50415c7522212252c033bd15f301f32"
], ],
"index": "pypi", "index": "pypi",
"version": "==67.8.0" "markers": "python_version >= '3.8'",
"version": "==69.5.1"
}, },
"smmap": { "smmap": {
"hashes": [ "hashes": [
"sha256:2aba19d6a040e78d8b09de5c57e96207b09ed71d8e55ce0959eeee6c8e190d94", "sha256:dceeb6c0028fdb6734471eb07c0cd2aae706ccaecab45965ee83f11c8d3b1f62",
"sha256:c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936" "sha256:e6d8668fa5f93e706934a62d7b4db19c8d9eb8cf2adbb75ef1b675aa332b69da"
], ],
"markers": "python_version >= '3.6'", "markers": "python_version >= '3.7'",
"version": "==5.0.0" "version": "==5.0.1"
} }
}, },
"develop": { "develop": {
"black": { "black": {
"hashes": [ "hashes": [
"sha256:064101748afa12ad2291c2b91c960be28b817c0c7eaa35bec09cc63aa56493c5", "sha256:257d724c2c9b1660f353b36c802ccece186a30accc7742c176d29c146df6e474",
"sha256:0945e13506be58bf7db93ee5853243eb368ace1c08a24c65ce108986eac65915", "sha256:37aae07b029fa0174d39daf02748b379399b909652a806e5708199bd93899da1",
"sha256:11c410f71b876f961d1de77b9699ad19f939094c3a677323f43d7a29855fe326", "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0",
"sha256:1c7b8d606e728a41ea1ccbd7264677e494e87cf630e399262ced92d4a8dac940", "sha256:48a85f2cb5e6799a9ef05347b476cce6c182d6c71ee36925a6c194d074336ef8",
"sha256:1d06691f1eb8de91cd1b322f21e3bfc9efe0c7ca1f0e1eb1db44ea367dff656b", "sha256:7768a0dbf16a39aa5e9a3ded568bb545c8c2727396d063bbaf847df05b08cd96",
"sha256:3238f2aacf827d18d26db07524e44741233ae09a584273aa059066d644ca7b30", "sha256:7e122b1c4fb252fd85df3ca93578732b4749d9be076593076ef4d07a0233c3e1",
"sha256:32daa9783106c28815d05b724238e30718f34155653d4d6e125dc7daec8e260c", "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04",
"sha256:35d1381d7a22cc5b2be2f72c7dfdae4072a3336060635718cc7e1ede24221d6c", "sha256:8e537d281831ad0e71007dcdcbe50a71470b978c453fa41ce77186bbe0ed6021",
"sha256:3a150542a204124ed00683f0db1f5cf1c2aaaa9cc3495b7a3b5976fb136090ab", "sha256:98e123f1d5cfd42f886624d84464f7756f60ff6eab89ae845210631714f6db94",
"sha256:48f9d345675bb7fbc3dd85821b12487e1b9a75242028adad0333ce36ed2a6d27", "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d",
"sha256:50cb33cac881766a5cd9913e10ff75b1e8eb71babf4c7104f2e9c52da1fb7de2", "sha256:b1530ae42e9d6d5b670a34db49a94115a64596bc77710b1d05e9801e62ca0a7c",
"sha256:562bd3a70495facf56814293149e51aa1be9931567474993c7942ff7d3533961", "sha256:b9176b9832e84308818a99a561e90aa479e73c523b3f77afd07913380ae2eab7",
"sha256:67de8d0c209eb5b330cce2469503de11bca4085880d62f1628bd9972cc3366b9", "sha256:bdde6f877a18f24844e381d45e9947a49e97933573ac9d4345399be37621e26c",
"sha256:6b39abdfb402002b8a7d030ccc85cf5afff64ee90fa4c5aebc531e3ad0175ddb", "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc",
"sha256:6f3c333ea1dd6771b2d3777482429864f8e258899f6ff05826c3a4fcc5ce3f70", "sha256:bf10f7310db693bb62692609b397e8d67257c55f949abde4c67f9cc574492cc7",
"sha256:714290490c18fb0126baa0fca0a54ee795f7502b44177e1ce7624ba1c00f2331", "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d",
"sha256:7c3eb7cea23904399866c55826b31c1f55bbcd3890ce22ff70466b907b6775c2", "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c",
"sha256:92c543f6854c28a3c7f39f4d9b7694f9a6eb9d3c5e2ece488c327b6e7ea9b266", "sha256:da33a1a5e49c4122ccdfd56cd021ff1ebc4a1ec4e2d01594fef9b6f267a9e741",
"sha256:a6f6886c9869d4daae2d1715ce34a19bbc4b95006d20ed785ca00fa03cba312d", "sha256:dd1b5a14e417189db4c7b64a6540f31730713d173f0b63e55fabd52d61d8fdce",
"sha256:a8a968125d0a6a404842fa1bf0b349a568634f856aa08ffaff40ae0dfa52e7c6", "sha256:e151054aa00bad1f4e1f04919542885f89f5f7d086b8a59e5000e6c616896ffb",
"sha256:c7ab5790333c448903c4b721b59c0d80b11fe5e9803d8703e84dcb8da56fec1b", "sha256:eaea3008c281f1038edb473c1aa8ed8143a5535ff18f978a318f10302b254063",
"sha256:e114420bf26b90d4b9daa597351337762b63039752bdf72bf361364c1aa05925", "sha256:ef703f83fc32e131e9bcc0a5094cfe85599e7109f896fe8bc96cc402f3eb4b6e"
"sha256:e198cf27888ad6f4ff331ca1c48ffc038848ea9f031a3b40ba36aced7e22f2c8",
"sha256:ec751418022185b0c1bb7d7736e6933d40bbb14c14a0abcf9123d1b159f98dd4",
"sha256:f0bd2f4a58d6666500542b26354978218a9babcdc972722f4bf90779524515f3"
], ],
"index": "pypi", "index": "pypi",
"version": "==23.3.0" "markers": "python_version >= '3.8'",
"version": "==24.4.2"
}, },
"click": { "click": {
"hashes": [ "hashes": [
"sha256:7682dc8afb30297001674575ea00d1814d808d6a36af415a82bd481d37ba7b8e", "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28",
"sha256:bb4d8133cb15a609f44e8213d9b391b0809795062913b383c62be0ee95b1db48" "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"
], ],
"markers": "python_version >= '3.7'", "markers": "python_version >= '3.7'",
"version": "==8.1.3" "version": "==8.1.7"
}, },
"isort": { "isort": {
"hashes": [ "hashes": [
@ -230,39 +297,42 @@
"sha256:cde11e804641edbe1b6b95d56582eb541f27eebc77864c6015545944bb0e9c76" "sha256:cde11e804641edbe1b6b95d56582eb541f27eebc77864c6015545944bb0e9c76"
], ],
"index": "pypi", "index": "pypi",
"markers": "python_full_version >= '3.7.0'",
"version": "==6.0.0b2" "version": "==6.0.0b2"
}, },
"mypy": { "mypy": {
"hashes": [ "hashes": [
"sha256:1c4c42c60a8103ead4c1c060ac3cdd3ff01e18fddce6f1016e08939647a0e703", "sha256:075cbf81f3e134eadaf247de187bd604748171d6b79736fa9b6c9685b4083061",
"sha256:44797d031a41516fcf5cbfa652265bb994e53e51994c1bd649ffcd0c3a7eccbf", "sha256:12b6bfc1b1a66095ab413160a6e520e1dc076a28f3e22f7fb25ba3b000b4ef99",
"sha256:473117e310febe632ddf10e745a355714e771ffe534f06db40702775056614c4", "sha256:1ec404a7cbe9fc0e92cb0e67f55ce0c025014e26d33e54d9e506a0f2d07fe5de",
"sha256:4c99c3ecf223cf2952638da9cd82793d8f3c0c5fa8b6ae2b2d9ed1e1ff51ba85", "sha256:28d0e038361b45f099cc086d9dd99c15ff14d0188f44ac883010e172ce86c38a",
"sha256:550a8b3a19bb6589679a7c3c31f64312e7ff482a816c96e0cecec9ad3a7564dd", "sha256:2b0695d605ddcd3eb2f736cd8b4e388288c21e7de85001e9f85df9187f2b50f9",
"sha256:658fe7b674769a0770d4b26cb4d6f005e88a442fe82446f020be8e5f5efb2fae", "sha256:3236a4c8f535a0631f85f5fcdffba71c7feeef76a6002fcba7c1a8e57c8be1ec",
"sha256:6e33bb8b2613614a33dff70565f4c803f889ebd2f859466e42b46e1df76018dd", "sha256:3be66771aa5c97602f382230165b856c231d1277c511c9a8dd058be4784472e1",
"sha256:6e42d29e324cdda61daaec2336c42512e59c7c375340bd202efa1fe0f7b8f8ca", "sha256:3d087fcbec056c4ee34974da493a826ce316947485cef3901f511848e687c131",
"sha256:74bc9b6e0e79808bf8678d7678b2ae3736ea72d56eede3820bd3849823e7f305", "sha256:3f298531bca95ff615b6e9f2fc0333aae27fa48052903a0ac90215021cdcfa4f",
"sha256:76ec771e2342f1b558c36d49900dfe81d140361dd0d2df6cd71b3db1be155409", "sha256:4a2b5cdbb5dd35aa08ea9114436e0d79aceb2f38e32c21684dcf8e24e1e92821",
"sha256:7d23370d2a6b7a71dc65d1266f9a34e4cde9e8e21511322415db4b26f46f6b8c", "sha256:4cf18f9d0efa1b16478c4c129eabec36148032575391095f73cae2e722fcf9d5",
"sha256:87df44954c31d86df96c8bd6e80dfcd773473e877ac6176a8e29898bfb3501cb", "sha256:8b2cbaca148d0754a54d44121b5825ae71868c7592a53b7292eeb0f3fdae95ee",
"sha256:8c5979d0deb27e0f4479bee18ea0f83732a893e81b78e62e2dda3e7e518c92ee", "sha256:8f55583b12156c399dce2df7d16f8a5095291354f1e839c252ec6c0611e86e2e",
"sha256:95d8d31a7713510685b05fbb18d6ac287a56c8f6554d88c19e73f724a445448a", "sha256:92f93b21c0fe73dc00abf91022234c79d793318b8a96faac147cd579c1671746",
"sha256:a22435632710a4fcf8acf86cbd0d69f68ac389a3892cb23fbad176d1cddaf228", "sha256:9e36fb078cce9904c7989b9693e41cb9711e0600139ce3970c6ef814b6ebc2b2",
"sha256:a8763e72d5d9574d45ce5881962bc8e9046bf7b375b0abf031f3e6811732a897", "sha256:9fd50226364cd2737351c79807775136b0abe084433b55b2e29181a4c3c878c0",
"sha256:c1eb485cea53f4f5284e5baf92902cd0088b24984f4209e25981cc359d64448d", "sha256:a781f6ad4bab20eef8b65174a57e5203f4be627b46291f4589879bf4e257b97b",
"sha256:c5d2cc54175bab47011b09688b418db71403aefad07cbcd62d44010543fc143f", "sha256:a87dbfa85971e8d59c9cc1fcf534efe664d8949e4c0b6b44e8ca548e746a8d53",
"sha256:cbc07246253b9e3d7d74c9ff948cd0fd7a71afcc2b77c7f0a59c26e9395cb152", "sha256:b808e12113505b97d9023b0b5e0c0705a90571c6feefc6f215c1df9381256e30",
"sha256:d0b6c62206e04061e27009481cb0ec966f7d6172b5b936f3ead3d74f29fe3dcf", "sha256:bc6ac273b23c6b82da3bb25f4136c4fd42665f17f2cd850771cb600bdd2ebeda",
"sha256:ddae0f39ca146972ff6bb4399f3b2943884a774b8771ea0a8f50e971f5ea5ba8", "sha256:cd777b780312ddb135bceb9bc8722a73ec95e042f911cc279e2ec3c667076051",
"sha256:e1f4d16e296f5135624b34e8fb741eb0eadedca90862405b1f1fde2040b9bd11", "sha256:da1cbf08fb3b851ab3b9523a884c232774008267b1f83371ace57f412fe308c2",
"sha256:e86c2c6852f62f8f2b24cb7a613ebe8e0c7dc1402c61d36a609174f63e0ff017", "sha256:e22e1527dc3d4aa94311d246b59e47f6455b8729f4968765ac1eacf9a4760bc7",
"sha256:ebc95f8386314272bbc817026f8ce8f4f0d2ef7ae44f947c4664efac9adec929", "sha256:f8c083976eb530019175aabadb60921e73b4f45736760826aa1689dda8208aee",
"sha256:f9dca1e257d4cc129517779226753dbefb4f2266c4eaad610fc15c6a7e14283e", "sha256:f90cff89eea89273727d8783fef5d4a934be2fdca11b47def50cf5d311aff727",
"sha256:faff86aa10c1aa4a10e1a301de160f3d8fc8703b88c7e98de46b531ff1276a9a" "sha256:fa7ef5244615a2523b56c034becde4e9e3f9b034854c93639adb667ec9ec2976",
"sha256:fcfc70599efde5c67862a07a1aaf50e55bce629ace26bb19dc17cece5dd31ca4"
], ],
"index": "pypi", "index": "pypi",
"version": "==1.3.0" "markers": "python_version >= '3.8'",
"version": "==1.10.0"
}, },
"mypy-extensions": { "mypy-extensions": {
"hashes": [ "hashes": [
@ -274,35 +344,35 @@
}, },
"packaging": { "packaging": {
"hashes": [ "hashes": [
"sha256:994793af429502c4ea2ebf6bf664629d07c1a9fe974af92966e4b8d2df7edc61", "sha256:2ddfb553fdf02fb784c234c7ba6ccc288296ceabec964ad2eae3777778130bc5",
"sha256:a392980d2b6cffa644431898be54b0045151319d1e7ec34f0cfed48767dd334f" "sha256:eb82c5e3e56209074766e6885bb04b8c38a0c015d0a30036ebe7ece34c9989e9"
], ],
"markers": "python_version >= '3.7'", "markers": "python_version >= '3.7'",
"version": "==23.1" "version": "==24.0"
}, },
"pathspec": { "pathspec": {
"hashes": [ "hashes": [
"sha256:2798de800fa92780e33acca925945e9a19a133b715067cf165b8866c15a31687", "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08",
"sha256:d8af70af76652554bd134c22b3e8a1cc46ed7d91edcdd721ef1a0c51a84a5293" "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"
], ],
"markers": "python_version >= '3.7'", "markers": "python_version >= '3.8'",
"version": "==0.11.1" "version": "==0.12.1"
}, },
"platformdirs": { "platformdirs": {
"hashes": [ "hashes": [
"sha256:0ade98a4895e87dc51d47151f7d2ec290365a585151d97b4d8d6312ed6132fed", "sha256:031cd18d4ec63ec53e82dceaac0417d218a6863f7745dfcc9efe7793b7039bdf",
"sha256:e48fabd87db8f3a7df7150a4a5ea22c546ee8bc39bc2473244730d4b56d2cc4e" "sha256:17d5a1161b3fd67b390023cb2d3b026bbd40abde6fdb052dfbd3a29c3ba22ee1"
], ],
"markers": "python_version >= '3.7'", "markers": "python_version >= '3.8'",
"version": "==3.5.3" "version": "==4.2.1"
}, },
"typing-extensions": { "typing-extensions": {
"hashes": [ "hashes": [
"sha256:88a4153d8505aabbb4e13aacb7c486c2b4a33ca3b3f807914a9b4c844c471c26", "sha256:83f085bd5ca59c80295fc2a82ab5dac679cbe02b9f33f7d83af68e241bea51b0",
"sha256:d91d5919357fe7f681a9f2b5b4cb2a5f1ef0a1e9f59c4d8ff0d3491e05c0ffd5" "sha256:c1f94d72897edaf4ce775bb7558d5b79d8126906a14ea5ed1635921406c0387a"
], ],
"markers": "python_version >= '3.7'", "markers": "python_version >= '3.8'",
"version": "==4.6.3" "version": "==4.11.0"
} }
} }
} }

View file

@ -10,6 +10,8 @@
A bitmap programming font optimized for coziness. A bitmap programming font optimized for coziness.
![Cozette in Nvim](./img/vim.png)
# Contents # Contents
- [About Cozette](#about-cozette) - [About Cozette](#about-cozette)
@ -177,9 +179,10 @@ implemented:
- [x] Box-drawing (mostly) - [x] Box-drawing (mostly)
- [x] Braille - [x] Braille
- [x] Cyrillic! - [x] Cyrillic!
- [x] APL Glyphs (based on the list from [APL386](https://abrudz.github.io/APL386/))! - [x] IPA glyphs!
- [x] APL glyphs (based on the list from [APL386](https://abrudz.github.io/APL386/))!
- [x] [Uiua](https://www.uiua.org/) glyphs! - [x] [Uiua](https://www.uiua.org/) glyphs!
- [x] [BQN](https://mlochbaum.github.io/BQN/fonts.html) Glyphs! - [x] [BQN](https://mlochbaum.github.io/BQN/fonts.html) glyphs!
- [ ] Nerdfonts: - [ ] Nerdfonts:
- [x] nf-pom-\* - [x] nf-pom-\*
- [x] nf-seti-\* - [x] nf-seti-\*
@ -253,7 +256,14 @@ will output the changelog between your local version and the last tag.
Massive thanks to [ym1234] for helping me figure out how to make the font tables behave nicely. Massive thanks to [ym1234] for helping me figure out how to make the font tables behave nicely.
Thanks to [autumn], [cpkio], [yoshiyoshyosh], [klinegareth], and [dariof4] for contributing characters! Cozette includes contributions from:
- [autumn]
- [cpkio]
- [dariof4]
- [klinegareth]
- [sungodmoth]
- [yoshiyoshyosh]
# License & Acknowledgements # License & Acknowledgements
@ -289,4 +299,5 @@ Cozette's builds use [bdfscale](https://github.com/philj56/bdfscale) by [philj56
[klinegareth]: https://github.com/klinegareth [klinegareth]: https://github.com/klinegareth
[dariof4]: https://github.com/dariof4 [dariof4]: https://github.com/dariof4
[laxul]: https://github.com/laxul [laxul]: https://github.com/laxul
[sungodmoth]: https://github.com/sungodmoth
[port]: https://cgit.freebsd.org/ports/tree/x11-fonts/cozette [port]: https://cgit.freebsd.org/ports/tree/x11-fonts/cozette

View file

@ -106,11 +106,13 @@ def fix_ttf(ttfpath: Path, name: str):
break break
with NamedTemporaryFile() as sfd: with NamedTemporaryFile() as sfd:
subprocess.run( subprocess.run(
[f"fontforge -c '" [
f"f = open(\"{ttfpath}\"); " f"fontforge -c '"
f"f.os2_version = 4; " f'f = open("{ttfpath}"); '
f"f.os2_weight_width_slope_only = True; " f"f.os2_version = 4; "
f"f.save(\"{sfd.name}\")'"], f"f.os2_weight_width_slope_only = True; "
f'f.save("{sfd.name}")\''
],
cwd=BUILD_DIR, cwd=BUILD_DIR,
shell=True, shell=True,
check=True, check=True,

View file

@ -3,7 +3,7 @@ import tempfile
from pathlib import Path from pathlib import Path
from shlex import quote from shlex import quote
from typing import Dict, List, NamedTuple, Optional, Tuple from typing import Dict, List, NamedTuple, Optional, Tuple
from unicodedata import east_asian_width as charwidth from unicodedata import east_asian_width as charwidth, category
from PIL import Image, ImageOps # type: ignore from PIL import Image, ImageOps # type: ignore
@ -148,8 +148,10 @@ def make_charmap(sfd: Path) -> List[str]:
for i in range(0, codepoints[-1] + 16, 16): for i in range(0, codepoints[-1] + 16, 16):
line = "" line = ""
for j in range(16): for j in range(16):
if (cp := i + j) > 32 and cp not in (127,) and cp in codepoints: if (cp := i + j) in codepoints and not (
ch = chr(i + j) category(chr(cp)).startswith(("Z", "Cc", "Cf"))
):
ch = chr(cp)
else: else:
ch = " " ch = " "
# Workaround for combining characters # Workaround for combining characters
@ -179,12 +181,14 @@ def sfd_codepoints(sfd: Path) -> List[int]:
def make_charlist_text(sfd: Path) -> str: def make_charlist_text(sfd: Path) -> str:
text = "" text = ""
for c in sfd_codepoints(sfd): for c in sfd_codepoints(sfd):
if c > 32 and c not in (127,): if not (category(chr(c)).startswith(("Z", "Cc", "Cf"))):
if 0x300 <= c < 0x370: if 0x300 <= c < 0x370:
text += f" {chr(c)} " text += f" {chr(c)} "
else: else:
ch = chr(c) ch = chr(c)
text += ch if charwidth(ch) in "FW" else f"{ch} " text += ch if charwidth(ch) in "FW" else f"{ch} "
else:
print("Skipping", c, category(chr(c)))
return text return text
@ -210,6 +214,8 @@ def save_charlist(fnt: str, sfd: Path, output_dir: Path):
text = make_charlist_text(sfd) text = make_charlist_text(sfd)
sample = wrap_text(text) sample = wrap_text(text)
sample = Sample(text, sample.width + 1, sample.height) sample = Sample(text, sample.width + 1, sample.height)
with (output_dir / "characters.txt").open("w") as f:
f.write(text)
save_sample( save_sample(
fnt, fnt,
sample, sample,
@ -218,7 +224,6 @@ def save_charlist(fnt: str, sfd: Path, output_dir: Path):
bgcolor="#ffffff", bgcolor="#ffffff",
) )
expand(output_dir / "characters.png", color="#ffffff") expand(output_dir / "characters.png", color="#ffffff")
print(sample.text)
charmap = make_charmap(sfd) charmap = make_charmap(sfd)
with (output_dir / "charmap.txt").open("w") as f: with (output_dir / "charmap.txt").open("w") as f:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 46 KiB

1
img/characters.txt Normal file

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 92 KiB

After

Width:  |  Height:  |  Size: 95 KiB

View file

@ -6,7 +6,7 @@ U+0004_│@ A B C D E F G H I J K L M N O
U+0005_│P Q R S T U V W X Y Z [ \ ] ^ _ U+0005_│P Q R S T U V W X Y Z [ \ ] ^ _
U+0006_│` a b c d e f g h i j k l m n o U+0006_│` a b c d e f g h i j k l m n o
U+0007_│p q r s t u v w x y z { | } ~ U+0007_│p q r s t u v w x y z { | } ~
U+000A_│  ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯ U+000A_│ ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ® ¯
U+000B_│° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿ U+000B_│° ± ² ³ ´ µ ¶ · ¸ ¹ º » ¼ ½ ¾ ¿
U+000C_│À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï U+000C_│À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
U+000D_│Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß U+000D_│Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
@ -30,25 +30,27 @@ U+001E_│Ǡ ǡ Ǣ ǣ Ǥ ǥ Ǧ ǧ Ǩ ǩ Ǫ ǫ Ǭ ǭ Ǯ ǯ
U+001F_│ǰ Ǵ ǵ Ƕ Ƿ Ǹ ǹ Ǻ ǻ Ǽ ǽ Ǿ ǿ U+001F_│ǰ Ǵ ǵ Ƕ Ƿ Ǹ ǹ Ǻ ǻ Ǽ ǽ Ǿ ǿ
U+0020_│Ȁ ȁ Ȃ ȃ Ȅ ȅ Ȇ ȇ Ȉ ȉ Ȋ ȋ Ȍ ȍ Ȏ ȏ U+0020_│Ȁ ȁ Ȃ ȃ Ȅ ȅ Ȇ ȇ Ȉ ȉ Ȋ ȋ Ȍ ȍ Ȏ ȏ
U+0021_│Ȑ ȑ Ȓ ȓ Ȕ ȕ Ȗ ȗ Ș ș Ț ț Ȝ ȝ Ȟ ȟ U+0021_│Ȑ ȑ Ȓ ȓ Ȕ ȕ Ȗ ȗ Ș ș Ț ț Ȝ ȝ Ȟ ȟ
U+0022_│Ƞ Ȥ ȥ Ȧ ȧ Ȩ ȩ ȫ ȭ Ȯ ȯ U+0022_│Ƞ ȡ Ȥ ȥ Ȧ ȧ Ȩ ȩ ȫ ȭ Ȯ ȯ
U+0023_│ ȱ Ȳ ȳ U+0023_│ ȱ Ȳ ȳ ȴ ȵ ȶ ȸ ȹ
U+0024_│ Ɂ ɂ Ɇ ɇ U+0024_│ Ɂ ɂ Ɇ ɇ
U+0025_│ɐ ɑ ɒ ɓ ɔ ɕ ɖ ɗ ɘ ə ɚ ɛ ɜ ɝ ɞ ɟ U+0025_│ɐ ɑ ɒ ɓ ɔ ɕ ɖ ɗ ɘ ə ɚ ɛ ɜ ɝ ɞ ɟ
U+0026_│ɠ ɡ ɢ ɣ ɤ ɥ ɦ ɧ ɨ ɩ ɪ ɫ ɬ ɭ ɮ ɯ U+0026_│ɠ ɡ ɢ ɣ ɤ ɥ ɦ ɧ ɨ ɩ ɪ ɫ ɬ ɭ ɮ ɯ
U+0027_│ɰ ɱ ɲ ɳ ɴ ɵ ɶ ɷ ɸ ɹ ɺ ɻ ɼ ɽ ɾ ɿ U+0027_│ɰ ɱ ɲ ɳ ɴ ɵ ɶ ɷ ɸ ɹ ɺ ɻ ɼ ɽ ɾ ɿ
U+0028_│ʀ ʁ ʂ ʃ ʄ ʅ ʆ ʇ ʈ ʉ ʊ ʋ ʌ ʍ ʎ ʏ U+0028_│ʀ ʁ ʂ ʃ ʄ ʅ ʆ ʇ ʈ ʉ ʊ ʋ ʌ ʍ ʎ ʏ
U+0029_│ʐ ʑ ʒ ʓ ʔ ʕ ʖ ʗ ʘ ʙ ʚ ʛ ʜ ʝ ʞ ʟ U+0029_│ʐ ʑ ʒ ʓ ʔ ʕ ʖ ʗ ʘ ʙ ʚ ʛ ʜ ʝ ʞ ʟ
U+002A_│ʠ ʡ ʢ U+002A_│ʠ ʡ ʢ ʣ ʤ ʥ ʦ ʧ ʨ ʮ ʯ
U+002B_│ ʹ ʺ ʻ ʼ ʽ U+002B_│ʰ ʱ ʲ ʳ ʴ ʵ ʶ ʷ ʹ ʺ ʻ ʼ ʽ ʾ ʿ
U+002C_│ ˂ ˃ ˄ ˅ ˆ ˇ ˈ ˉ ˊ ˋ ˌ ˍ ˎ ˏ U+002C_│ˀ ˁ ˂ ˃ ˄ ˅ ˆ ˇ ˈ ˉ ˊ ˋ ˌ ˍ ˎ ˏ
U+002D_│ː ˑ ˒ ˓ ˔ ˕ ˖ ˗ ˘ ˙ ˚ ˛ ˜ ˝ ˟ U+002D_│ː ˑ ˒ ˓ ˔ ˕ ˖ ˗ ˘ ˙ ˚ ˛ ˜ ˝ ˞ ˟
U+002E_│ˠ ˡ ˢ ˣ ˤ ˬ ˭ ˯ U+002E_│ˠ ˡ ˢ ˣ ˤ ˥ ˦ ˧ ˨ ˩ ˬ ˭ ˯
U+002F_│˰ ˱ ˲ ˳ ˴ ˵ ˶ ˷ ˹ ˺ ˻ ˼ ˽ ˾ U+002F_│˰ ˱ ˲ ˳ ˴ ˵ ˶ ˷ ˹ ˺ ˻ ˼ ˽ ˾
U+0030_│ ̀ ́ ̂ ̃ ̄ ̅ ̆ ̇ ̈ ̉ ̊ ̋ ̌ ̍ ̎ ̏ U+0030_│ ̀ ́ ̂ ̃ ̄ ̅ ̆ ̇ ̈ ̉ ̊ ̋ ̌ ̍ ̎ ̏
U+0031_│ ̐ ̑ ̒ ̓ ̔ ̕ ̖ ̗ ̘ ̙ ̚ ̛ ̜ ̝ ̞ ̟ U+0031_│ ̐ ̑ ̒ ̓ ̔ ̕ ̖ ̗ ̘ ̙ ̚ ̛ ̜ ̝ ̞ ̟
U+0032_│ ̠ ̣ ̤ ̥ ̦ ̧ ̨ ̩ ̪ ̫ ̬ ̭ ̮ ̯ U+0032_│ ̠ ̣ ̤ ̥ ̦ ̧ ̨ ̩ ̪ ̫ ̬ ̭ ̮ ̯
U+0033_│ ̰ ̱ ̲ ̳ ̺ ̻ ̼ ̽ ̾ ̿ U+0033_│ ̰ ̱ ̲ ̳ ̹ ̺ ̻ ̼ ̽ ̾ ̿
U+0034_│ ̀ ́ ͂ ̓ ͆ ͇ ͈ U+0034_│ ̀ ́ ͂ ̓ ͆ ͇ ͈
U+0035_│ ͑ ͗ ͜ ͝
U+0036_│ ͡
U+0038_│ Ά Έ Ή Ί Ό Ύ Ώ U+0038_│ Ά Έ Ή Ί Ό Ύ Ώ
U+0039_│ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο U+0039_│ΐ Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ Ν Ξ Ο
U+003A_│Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί U+003A_│Π Ρ Σ Τ Υ Φ Χ Ψ Ω Ϊ Ϋ ά έ ή ί
@ -77,7 +79,10 @@ U+0051_│Ԑ ԑ Ԓ ԓ Ԕ ԕ Ԗ ԗ Ԙ ԙ Ԛ ԛ Ԝ ԝ Ԟ ԟ
U+0052_│Ԡ ԡ Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ ԭ Ԯ ԯ U+0052_│Ԡ ԡ Ԣ ԣ Ԥ ԥ Ԧ ԧ Ԩ ԩ Ԫ ԫ Ԭ ԭ Ԯ ԯ
U+00CA_│ಠ U+00CA_│ಠ
U+016A_│ᚠ ᚢ ᚣ ᚤ ᚥ ᚦ ᚨ ᚩ ᚪ ᚫ ᚬ U+016A_│ᚠ ᚢ ᚣ ᚤ ᚥ ᚦ ᚨ ᚩ ᚪ ᚫ ᚬ
U+01D0_│ᴀ ᴇ
U+01D2_│ ᴥ U+01D2_│ ᴥ
U+01D4_│ ᵊ
U+01D9_│ ᶑ
U+01E0_│Ḁ ḁ Ḃ ḃ Ḅ ḅ Ḇ ḇ Ḉ ḉ Ḋ ḋ Ḍ ḍ Ḏ ḏ U+01E0_│Ḁ ḁ Ḃ ḃ Ḅ ḅ Ḇ ḇ Ḉ ḉ Ḋ ḋ Ḍ ḍ Ḏ ḏ
U+01E1_│Ḑ ḑ Ḓ ḓ Ḕ ḕ Ḗ ḗ Ḙ ḙ Ḛ ḛ Ḝ ḝ Ḟ ḟ U+01E1_│Ḑ ḑ Ḓ ḓ Ḕ ḕ Ḗ ḗ Ḙ ḙ Ḛ ḛ Ḝ ḝ Ḟ ḟ
U+01E2_│Ḡ ḡ Ḣ ḣ Ḥ ḥ Ḧ ḧ Ḩ ḩ Ḫ ḫ Ḭ ḭ Ḯ ḯ U+01E2_│Ḡ ḡ Ḣ ḣ Ḥ ḥ Ḧ ḧ Ḩ ḩ Ḫ ḫ Ḭ ḭ Ḯ ḯ
@ -219,10 +224,12 @@ U+02B2_│ ⬢
U+02B5_│⭐ U+02B5_│⭐
U+02B6_│⭠ ⭡ ⭢ ⭣ ⭤ ⭥ ⭦ ⭧ ⭨ ⭩ U+02B6_│⭠ ⭡ ⭢ ⭣ ⭤ ⭥ ⭦ ⭧ ⭨ ⭩
U+02B8_│⮀ ⮁ ⮂ ⮃ U+02B8_│⮀ ⮁ ⮂ ⮃
U+02C7_│ ⱱ
U+02E3_│ ⸽ U+02E3_│ ⸽
U+0300_│ 。 U+0300_│ 。
U+033D_│ ㏑ U+033D_│ ㏑
U+0A7A_│ Ꞩ U+0A7A_│ Ꞩ
U+0AB6_│ ꭥ
U+0E00_│           U+0E00_│          
U+0E0A_│    U+0E0A_│   
U+0E0B_│                U+0E0B_│               
@ -347,6 +354,7 @@ U+0FA7_│ 墳奄奔
U+0FA8_│婢 U+0FA8_│婢
U+0FAA_│ 直睊 U+0FAA_│ 直睊
U+0FAB_│ 襁 謹 U+0FAB_│ 襁 謹
U+0FB0_│ fi
U+0FB6_│ ﭨ U+0FB6_│ ﭨ
U+0FBF_│ ﯱ U+0FBF_│ ﯱ
U+0FC2_│ ﰮ U+0FC2_│ ﰮ

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
img/vim.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB