summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Schweikhardt <schweikh@schweikhardt.net>2025-09-01 23:30:53 +0200
committerJens Schweikhardt <schweikh@schweikhardt.net>2025-09-01 23:30:53 +0200
commitb6820a81f394c3a4fc86f70ecb4db3535bbc4ae8 (patch)
treef4b5452150aa968c9642c4ce84d7af9c09787e22
parent275e732d08441e5180ae8ef17da0f684106e60d6 (diff)
Add 6 Hiragana glyphs, see if Windows can be tricked.
-rw-r--r--README.md66
-rw-r--r--gallant.bdf176
-rw-r--r--gallant.fntbin194868 -> 194964 bytes
-rw-r--r--gallant.hex6
-rw-r--r--gallant.pcfbin640888 -> 641556 bytes
-rw-r--r--gallant.src144
-rw-r--r--gallant.ttfbin219424 -> 219700 bytes
7 files changed, 385 insertions, 7 deletions
diff --git a/README.md b/README.md
index 819f687..d748262 100644
--- a/README.md
+++ b/README.md
@@ -25,7 +25,7 @@ additions:
* Currency symbols
* More punctuation
* Just enough Katakana to say コンニチハ
-* Powerline glyphs in the *Private Use Area* at U+e0a0
+* [Powerline](https://github.com/powerline/powerline) glyphs in the *Private Use Area* at U+e0a0
I have tried hard to keep the look of the font for Greek and Cyrillic
glyphs, but not for symbols like arrows and mathematical operators where
@@ -193,6 +193,15 @@ drawing characters, where there will be vertical gaps. The same applies
to all glyphs that connect to glyphs above and below, such as large
parentheses, braces, brackets, integrals, etc.
+Due to a Windows quirk, I have added six fake Hiraga glyphs that Windows
+tests the existence of (and would otherwise reject as a font). I'd be
+extremely delighted if someone contributed the full set of Hiragana
+glyphs.
+
+### Is there a gallant.fon for Windows?
+
+No. The `fon` file format, dated as it is, does not support Unicode and
+would only contain 256 glyphs.
## Who are you?
@@ -204,6 +213,51 @@ university with the 3/60 and the SPARCstations. It was then and there
that the gallant font and the Trinitron CRT raster were burnt in my
retina.
+## How did you edit the glyphs?
+
+With a text editor (vim). I wrote the [`hextosrc`](hextosrc.c) utility
+which turns `gallant.hex` into a human readable file with 1 character
+cell per pixel, a row count from 22 down to 1 so I know where the
+baseline (06) is and each pixel row between `|` characters (12 or 24,
+space for pixel not set, full block `█` for set). My
+[`srctohex`](srctohex.c) utility converts in the opposite direction.
+
+This is what the glyph for A looks like:
+
+```
+STARTCHAR U0041 LATIN CAPITAL LETTER A
+22 | |
+21 | |
+20 | |
+19 | ██ |
+18 | ██ |
+17 | █ ██ |
+16 | █ ██ |
+15 | █ █ |
+14 | █ ██ |
+13 | █ ██ |
+12 | █ █ |
+11 | ████████ |
+10 | █ ██ |
+09 | █ █ |
+08 | █ ██ |
+07 | █ ██ |
+06 |███ ████|
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+```
+
+The row numbers and Unicode names are ignored by `srctohex`, and
+inserted/restored by `hextosrc`. This allows to freely add and delete
+pixel rows without tedious row renumbering or knowing the Unicode name.
+
+The utilites are complemented by [`hextobdf`](hextobdf.c) to generate
+`gallant.bdf`. From there, other tools can create additional font formats.
+
## History
The oldest reference to the Gallant font I could find at first was in a
@@ -228,10 +282,11 @@ In private conversation with the author, Jef said he guessed that the
gallant font was designed by someone at Sun Microsystems before it made
its way to Berkeley.
-The Unix history site [v6sh.org](https://v6sh.org/) has a list of the
-[4.4BSD-Alpha src directory
+Further research examining the Unix history site
+[v6sh.org](https://v6sh.org/) revealed a list of the [4.4BSD-Alpha src
+directory
contents](https://tuhs.v6sh.org/UnixArchiveMirror/Distributions/UCB/4.4BSD-Alpha/src.lst)
-which contains an `rcons` directory with
+which contains an `rcons` directory with these files:
```
rwxrwxr-x 3/9 0 Jul 25 07:58 1992 usr/src/sys/sparc/rcons/
@@ -245,7 +300,7 @@ r--r--r-- 3/9 7756 Jul 22 09:50 1992 usr/src/sys/sparc/rcons/rcons_kern.c
r--r--r-- 3/9 15437 Jul 22 09:50 1992 usr/src/sys/sparc/rcons/rcons_subr.c
```
-The relevant C language header file is in
+Gallant's relevant C language header file is in
[History/rcons/gallant19.h](History/rcons/gallant19.h).
The
@@ -302,4 +357,3 @@ need to render them. This is the mapping:
## TODO
* Describe how to contribute
-* Describe the helper programs
diff --git a/gallant.bdf b/gallant.bdf
index b9bcce1..6052cd7 100644
--- a/gallant.bdf
+++ b/gallant.bdf
@@ -22,7 +22,7 @@ FONT_ASCENT 17
FONT_DESCENT 5
DEFAULT_CHAR 65533
ENDPROPERTIES
-CHARS 4585
+CHARS 4591
STARTCHAR U0000
ENCODING 0
SWIDTH 500 0
@@ -131190,6 +131190,180 @@ BITMAP
0000
0000
ENDCHAR
+STARTCHAR U3044
+ENCODING 12356
+SWIDTH 1000 0
+DWIDTH 24 0
+BBX 24 22 0 -5
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR U3046
+ENCODING 12358
+SWIDTH 1000 0
+DWIDTH 24 0
+BBX 24 22 0 -5
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR U304b
+ENCODING 12363
+SWIDTH 1000 0
+DWIDTH 24 0
+BBX 24 22 0 -5
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR U3057
+ENCODING 12375
+SWIDTH 1000 0
+DWIDTH 24 0
+BBX 24 22 0 -5
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR U306e
+ENCODING 12398
+SWIDTH 1000 0
+DWIDTH 24 0
+BBX 24 22 0 -5
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
+STARTCHAR U3093
+ENCODING 12435
+SWIDTH 1000 0
+DWIDTH 24 0
+BBX 24 22 0 -5
+BITMAP
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+3ffffc
+3ffffc
+000000
+000000
+000000
+000000
+000000
+000000
+000000
+ENDCHAR
STARTCHAR U30a0
ENCODING 12448
SWIDTH 1000 0
diff --git a/gallant.fnt b/gallant.fnt
index 0123da2..da239ab 100644
--- a/gallant.fnt
+++ b/gallant.fnt
Binary files differ
diff --git a/gallant.hex b/gallant.hex
index 57a6315..aba3926 100644
--- a/gallant.hex
+++ b/gallant.hex
@@ -4523,6 +4523,12 @@
2bfd:000000000000000004000e001f003f8004000400040004000e001100110011000e0000000000000000000000
2bfe:000000000000000000000030003000300030003000300030003000300030fff0fff000000000000000000000
2bff:00000000000000007fe07fe07fe00600060007e007e007e0060006007fe07fe07fe000000000000000000000
+3044:0000000000000000000000000000000000000000000000000000003ffffc3ffffc0000000000003ffffc3ffffc000000000000000000000000000000000000000000
+3046:0000000000000000000000000000000000000000000000000000003ffffc3ffffc0000000000003ffffc3ffffc000000000000000000000000000000000000000000
+304b:0000000000000000000000000000000000000000000000000000003ffffc3ffffc0000000000003ffffc3ffffc000000000000000000000000000000000000000000
+3057:0000000000000000000000000000000000000000000000000000003ffffc3ffffc0000000000003ffffc3ffffc000000000000000000000000000000000000000000
+306e:0000000000000000000000000000000000000000000000000000003ffffc3ffffc0000000000003ffffc3ffffc000000000000000000000000000000000000000000
+3093:0000000000000000000000000000000000000000000000000000003ffffc3ffffc0000000000003ffffc3ffffc000000000000000000000000000000000000000000
30a0:0000000000000000000000000000000000000000000000000000003ffffc3ffffc0000000000003ffffc3ffffc000000000000000000000000000000000000000000
30b3:00000000000000000000000007ffe007ffe000006000006000006000006000006000006000006000006007ffe007ffe0000060000000000000000000000000000000
30c1:0000000000000000000003e003ffe003fc00000c00000c000ffff80ffff8000c0000180000180000300000300000600000c000000000000000000000000000000000
diff --git a/gallant.pcf b/gallant.pcf
index 2a9a0bd..af68c5c 100644
--- a/gallant.pcf
+++ b/gallant.pcf
Binary files differ
diff --git a/gallant.src b/gallant.src
index 538eb92..4cca0dc 100644
--- a/gallant.src
+++ b/gallant.src
@@ -108550,6 +108550,150 @@ STARTCHAR U2bff HELLSCHREIBER PAUSE SYMBOL
02 | |
01 | |
ENDCHAR
+STARTCHAR U3044
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | |
+14 | |
+13 | ████████████████████ |
+12 | ████████████████████ |
+11 | |
+10 | |
+09 | ████████████████████ |
+08 | ████████████████████ |
+07 | |
+06 | |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U3046
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | |
+14 | |
+13 | ████████████████████ |
+12 | ████████████████████ |
+11 | |
+10 | |
+09 | ████████████████████ |
+08 | ████████████████████ |
+07 | |
+06 | |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U304b
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | |
+14 | |
+13 | ████████████████████ |
+12 | ████████████████████ |
+11 | |
+10 | |
+09 | ████████████████████ |
+08 | ████████████████████ |
+07 | |
+06 | |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U3057
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | |
+14 | |
+13 | ████████████████████ |
+12 | ████████████████████ |
+11 | |
+10 | |
+09 | ████████████████████ |
+08 | ████████████████████ |
+07 | |
+06 | |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U306e
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | |
+14 | |
+13 | ████████████████████ |
+12 | ████████████████████ |
+11 | |
+10 | |
+09 | ████████████████████ |
+08 | ████████████████████ |
+07 | |
+06 | |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
+STARTCHAR U3093
+22 | |
+21 | |
+20 | |
+19 | |
+18 | |
+17 | |
+16 | |
+15 | |
+14 | |
+13 | ████████████████████ |
+12 | ████████████████████ |
+11 | |
+10 | |
+09 | ████████████████████ |
+08 | ████████████████████ |
+07 | |
+06 | |
+05 | |
+04 | |
+03 | |
+02 | |
+01 | |
+ENDCHAR
STARTCHAR U30a0 KATAKANA-HIRAGANA DOUBLE HYPHEN
22 | |
21 | |
diff --git a/gallant.ttf b/gallant.ttf
index 61fde51..b9f4dbf 100644
--- a/gallant.ttf
+++ b/gallant.ttf
Binary files differ