Skip to content

Commit

Permalink
v.1.23.3 The IPA update
Browse files Browse the repository at this point in the history
  • Loading branch information
slavfox committed May 7, 2024
1 parent 3e75178 commit 00e385f
Show file tree
Hide file tree
Showing 11 changed files with 6,427 additions and 45 deletions.
88 changes: 86 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,89 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog], and this project adheres to
[Semantic Versioning].

## [1.23.3]

The IPA update!

### Added

- ȡ (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]

### Added
Expand Down Expand Up @@ -2458,8 +2541,9 @@ Still broken on Windows.

[keep a changelog]: https://keepachangelog.com/en/1.0.0/
[semantic versioning]: https://semver.org/spec/v2.0.0.html
[unreleased]: https://github.com/slavfox/Cozette/compare/v.1.23.2...HEAD
[1.23.1]: https://github.com/slavfox/Cozette/compare/v.1.23.1...v.1.23.2
[unreleased]: https://github.com/slavfox/Cozette/compare/v.1.23.3...HEAD
[1.23.3]: https://github.com/slavfox/Cozette/compare/v.1.23.2...v.1.23.3
[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.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
Expand Down
42 changes: 21 additions & 21 deletions Cozette/Cozette.sfd
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ FontName: Cozette
FullName: Cozette
FamilyName: Cozette
Weight: Medium
Copyright: (c) 2020-2023 Slavfox
Version: 1.232
Copyright: (c) 2020-2024 Slavfox
Version: 1.233
ItalicAngle: 0
UnderlinePosition: -100
UnderlineWidth: 50
Expand Down Expand Up @@ -28412,7 +28412,7 @@ EndChars
BitmapFont: 13 3208 10 3 1
BDFStartProperties: 42
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"
FAMILY_NAME 16 "Cozette"
WEIGHT_NAME 16 "Medium"
Expand All @@ -28430,8 +28430,8 @@ CHARSET_ENCODING 16 "1"
FONTNAME_REGISTRY 16 ""
FONT_NAME 16 "Cozette"
FACE_NAME 16 "Cozette"
COPYRIGHT 16 "(c) 2020-2023 Slavfox"
FONT_VERSION 16 "1.232"
COPYRIGHT 16 "(c) 2020-2024 Slavfox"
FONT_VERSION 16 "1.233"
FONT_ASCENT 18 10
FONT_DESCENT 18 3
UNDERLINE_POSITION 18 -19
Expand Down Expand Up @@ -30467,22 +30467,22 @@ BDFChar: 1004 9654 6 1 5 -1 7
JAC+4q!d4WJ,fQL
BDFChar: 1005 9664 6 1 5 -1 7
#T,OGpinb8#QOi)
BDFChar: 1006 9776 6 0 6 0 6
rVurt!!)uu
BDFChar: 1007 9777 6 0 6 0 6
mJm7d!!)uu
BDFChar: 1008 9778 6 0 6 0 6
rVurd!!)uu
BDFChar: 1009 9779 6 0 6 0 6
mJm7T!!)uu
BDFChar: 1010 9780 6 0 6 0 6
rVurt!!)Ee
BDFChar: 1011 9781 6 0 6 0 6
mJm7d!!)Ee
BDFChar: 1012 9782 6 0 6 0 6
rVurd!!)Ee
BDFChar: 1013 9783 6 0 6 0 6
mJm7T!!)Ee
BDFChar: 1006 9776 6 1 5 0 6
p](<h!!)co
BDFChar: 1007 9777 6 1 5 0 6
fDkpH!!)co
BDFChar: 1008 9778 6 1 5 0 6
p](<H!!)co
BDFChar: 1009 9779 6 1 5 0 6
fDkp(!!)co
BDFChar: 1010 9780 6 1 5 0 6
p](<h!!(XO
BDFChar: 1011 9781 6 1 5 0 6
fDkpH!!(XO
BDFChar: 1012 9782 6 1 5 0 6
p](<H!!(XO
BDFChar: 1013 9783 6 1 5 0 6
fDkp(!!(XO
BDFChar: 1014 11104 6 1 6 2 4
5l<kI
BDFChar: 1015 11105 6 2 4 1 6
Expand Down
17 changes: 14 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@

A bitmap programming font optimized for coziness.

![Cozette in Nvim](./img/vim.png)

# Contents

- [About Cozette](#about-cozette)
Expand Down Expand Up @@ -177,9 +179,10 @@ implemented:
- [x] Box-drawing (mostly)
- [x] Braille
- [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] [BQN](https://mlochbaum.github.io/BQN/fonts.html) Glyphs!
- [x] [BQN](https://mlochbaum.github.io/BQN/fonts.html) glyphs!
- [ ] Nerdfonts:
- [x] nf-pom-\*
- [x] nf-seti-\*
Expand Down Expand Up @@ -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.

Thanks to [autumn], [cpkio], [yoshiyoshyosh], [klinegareth], and [dariof4] for contributing characters!
Cozette includes contributions from:

- [autumn]
- [cpkio]
- [dariof4]
- [klinegareth]
- [sungodmoth]
- [yoshiyoshyosh]

# License & Acknowledgements

Expand Down Expand Up @@ -289,4 +299,5 @@ Cozette's builds use [bdfscale](https://github.com/philj56/bdfscale) by [philj56
[klinegareth]: https://github.com/klinegareth
[dariof4]: https://github.com/dariof4
[laxul]: https://github.com/laxul
[sungodmoth]: https://github.com/sungodmoth
[port]: https://cgit.freebsd.org/ports/tree/x11-fonts/cozette
12 changes: 7 additions & 5 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,13 @@ def fix_ttf(ttfpath: Path, name: str):
break
with NamedTemporaryFile() as sfd:
subprocess.run(
[f"fontforge -c '"
f"f = open(\"{ttfpath}\"); "
f"f.os2_version = 4; "
f"f.os2_weight_width_slope_only = True; "
f"f.save(\"{sfd.name}\")'"],
[
f"fontforge -c '"
f'f = open("{ttfpath}"); '
f"f.os2_version = 4; "
f"f.os2_weight_width_slope_only = True; "
f'f.save("{sfd.name}")\''
],
cwd=BUILD_DIR,
shell=True,
check=True,
Expand Down
15 changes: 10 additions & 5 deletions cozette_builder/imagegen.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
from pathlib import Path
from shlex import quote
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

Expand Down Expand Up @@ -148,8 +148,10 @@ def make_charmap(sfd: Path) -> List[str]:
for i in range(0, codepoints[-1] + 16, 16):
line = ""
for j in range(16):
if (cp := i + j) > 32 and cp not in (127,) and cp in codepoints:
ch = chr(i + j)
if (cp := i + j) in codepoints and not (
category(chr(cp)).startswith(("Z", "Cc", "Cf"))
):
ch = chr(cp)
else:
ch = " "
# Workaround for combining characters
Expand Down Expand Up @@ -179,12 +181,14 @@ def sfd_codepoints(sfd: Path) -> List[int]:
def make_charlist_text(sfd: Path) -> str:
text = ""
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:
text += f" {chr(c)} "
else:
ch = chr(c)
text += ch if charwidth(ch) in "FW" else f"{ch} "
else:
print("Skipping", c, category(chr(c)))
return text


Expand All @@ -210,6 +214,8 @@ def save_charlist(fnt: str, sfd: Path, output_dir: Path):
text = make_charlist_text(sfd)
sample = wrap_text(text)
sample = Sample(text, sample.width + 1, sample.height)
with (output_dir / "characters.txt").open("w") as f:
f.write(text)
save_sample(
fnt,
sample,
Expand All @@ -218,7 +224,6 @@ def save_charlist(fnt: str, sfd: Path, output_dir: Path):
bgcolor="#ffffff",
)
expand(output_dir / "characters.png", color="#ffffff")
print(sample.text)

charmap = make_charmap(sfd)
with (output_dir / "charmap.txt").open("w") as f:
Expand Down
Binary file modified img/characters.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 00e385f

Please sign in to comment.