Skip to content

Commit

Permalink
Expand character set and rework as kbitx
Browse files Browse the repository at this point in the history
  • Loading branch information
mirnovov committed Feb 15, 2024
1 parent da76ec0 commit c80f002
Show file tree
Hide file tree
Showing 20 changed files with 4,829 additions and 4 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
out
.nova
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Copyright (c) 2020, Novov (https://novov.neocities.org),
Copyright (c) 2020-2024 novov (https://novov.me),

This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
Expand Down
9 changes: 6 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@

![Sample of Northrup's variants](sample.svg)

Northrup is a pixel font inspired by classic video games such as the <i>Earthbound</i> series. It boasts eight different variants, each representing one of five different optical sizes and two widths, and either a serif or sans-serif subset.
Northrup is a pixel font family inspired by classic video games such as the <i>Earthbound</i> series. It boasts eight different variants, each representing one of five different optical sizes and two widths, and either a serif or sans-serif subset. It supports a wide range of languages, covering the Latin, Greek, and Cyrillic alphabets.

The main size, <i>Northrup Extended</i>, has a diverse set of features. It supports a wide range of languages, including the Latin, Greek, Cyrillic, and Inuit Syllabic scripts, and a diverse set of special characters, amounting to 1027 total glyphs.
The main size, <i>Northrup Extended</i>, includes a diverse set of additional special characters. This includes the Inuit Syllabic script, alchemical systems, and digital control symbols, amounting to over 1100 total glyphs.

It was developed for a long-abandoned game project of mine - but feel free to use it for whatever you want.
</h2>

## Building

To build the font files from their sources, run `build.py`. This font requires Python 3, [FontTools](https://github.com/fonttools/fonttools), and [Bits N' Picas](https://github.com/kreativekorp/bitsnpicas) (as a JAR located in the parent directory) to build.
34 changes: 34 additions & 0 deletions build.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
import glob, os, shutil
from fontTools import ttLib

ZIP_NAME = "Northrup"

OUT_PATH = "./out/files"
JAR_PATH = "../BitsNPicas.jar"

UNITS_PER_EM = 1024
PX_SIZE = 64

os.makedirs(OUT_PATH, exist_ok = True)

for kbitx in glob.iglob("./src/*.kbitx"):
name = os.path.basename(os.path.splitext(kbitx)[0])
dest = f"{OUT_PATH}/{name}.ttf"

if os.path.exists(dest):
os.remove(dest)

os.system(
f"java -jar {JAR_PATH} " +
f"convertbitmap -f ttf -w {PX_SIZE} -h {PX_SIZE} -o {dest} {kbitx}"
)

with ttLib.TTFont(dest) as font:
font["head"].unitsPerEm = UNITS_PER_EM
font.save(dest)

os.system(f"woff2_compress {dest}")
shutil.copyfile(kbitx, f"{OUT_PATH}/{name}.kbitx")

os.chdir(OUT_PATH)
shutil.make_archive(f"../{ZIP_NAME}", "zip")
Binary file removed files/northrup-extended.ttf
Binary file not shown.
Binary file removed files/northrup-large-wide.ttf
Binary file not shown.
Binary file removed files/northrup-large.ttf
Binary file not shown.
Binary file removed files/northrup-mega.ttf
Binary file not shown.
Binary file removed files/northrup-regular.ttf
Binary file not shown.
Binary file removed files/northrup-serif-large.ttf
Binary file not shown.
Binary file removed files/northrup-serif.ttf
Binary file not shown.
Binary file removed files/northrup-tiny.ttf
Binary file not shown.
1,167 changes: 1,167 additions & 0 deletions src/NorthrupExtended.kbitx

Large diffs are not rendered by default.

517 changes: 517 additions & 0 deletions src/NorthrupLarge.kbitx

Large diffs are not rendered by default.

517 changes: 517 additions & 0 deletions src/NorthrupLargeWide.kbitx

Large diffs are not rendered by default.

517 changes: 517 additions & 0 deletions src/NorthrupMega.kbitx

Large diffs are not rendered by default.

517 changes: 517 additions & 0 deletions src/NorthrupRegular.kbitx

Large diffs are not rendered by default.

517 changes: 517 additions & 0 deletions src/NorthrupSerif.kbitx

Large diffs are not rendered by default.

517 changes: 517 additions & 0 deletions src/NorthrupSerifLarge.kbitx

Large diffs are not rendered by default.

517 changes: 517 additions & 0 deletions src/NorthrupTiny.kbitx

Large diffs are not rendered by default.

0 comments on commit c80f002

Please sign in to comment.