aboutsummaryrefslogtreecommitdiff
path: root/fonts
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2024-07-27 05:30:54 -0400
committerB. Watson <urchlay@slackware.uk>2024-07-27 05:30:54 -0400
commita11d325471be7ba147309f42148a9e16a6e82078 (patch)
tree6d5307486f798f663692e4697b170314ab84e171 /fonts
parent1b5a2ec3a06abc75539d3f6e4b7ce9560567215f (diff)
downloadbw-atari8-tools-a11d325471be7ba147309f42148a9e16a6e82078.tar.gz
fonts: dotted box WIP. still not working.
Diffstat (limited to 'fonts')
-rw-r--r--fonts/FauxtariScalableMono.ttfbin57224 -> 57168 bytes
-rw-r--r--fonts/char0.rawbin0 -> 8 bytes
-rw-r--r--fonts/fauxtari-16.bdf24
-rw-r--r--fonts/fauxtari-16.psfbin18035 -> 18035 bytes
-rw-r--r--fonts/fauxtari-16.txt12
-rw-r--r--fonts/fauxtari-24.bdf36
-rw-r--r--fonts/fauxtari-24.psfbin38515 -> 38515 bytes
-rw-r--r--fonts/fauxtari-24.txt12
-rw-r--r--fonts/fauxtari-8.bdf12
-rw-r--r--fonts/fauxtari-8.psfbin5747 -> 5747 bytes
-rw-r--r--fonts/fauxtari-8.txt12
-rw-r--r--fonts/mkpsf.pl20
12 files changed, 68 insertions, 60 deletions
diff --git a/fonts/FauxtariScalableMono.ttf b/fonts/FauxtariScalableMono.ttf
index c8e9d00..3c4fcd4 100644
--- a/fonts/FauxtariScalableMono.ttf
+++ b/fonts/FauxtariScalableMono.ttf
Binary files differ
diff --git a/fonts/char0.raw b/fonts/char0.raw
new file mode 100644
index 0000000..a699b13
--- /dev/null
+++ b/fonts/char0.raw
Binary files differ
diff --git a/fonts/fauxtari-16.bdf b/fonts/fauxtari-16.bdf
index ab9f2ea..b6a9977 100644
--- a/fonts/fauxtari-16.bdf
+++ b/fonts/fauxtari-16.bdf
@@ -28,20 +28,20 @@ SWIDTH 666 0
DWIDTH 16 0
BBX 16 16 0 -4
BITMAP
-0ff0
-0ff0
-3c3c
-3c3c
-33cc
-33cc
-3f3c
-3f3c
-3ffc
-3ffc
+0000
+0000
+3cfc
+3cfc
+3000
+3000
+000c
+000c
+3000
+3000
+000c
+000c
3f3c
3f3c
-0ff0
-0ff0
0000
0000
ENDCHAR
diff --git a/fonts/fauxtari-16.psf b/fonts/fauxtari-16.psf
index ada4280..9921d7e 100644
--- a/fonts/fauxtari-16.psf
+++ b/fonts/fauxtari-16.psf
Binary files differ
diff --git a/fonts/fauxtari-16.txt b/fonts/fauxtari-16.txt
index 59761e4..5158baa 100644
--- a/fonts/fauxtari-16.txt
+++ b/fonts/fauxtari-16.txt
@@ -7,13 +7,13 @@ Height: 16
%
Unicode: [0000];
Bitmap: \
-----########--------########---- \
---####----####----####----####-- \
---##--####--##----##--####--##-- \
---######--####----######--####-- \
---############----############-- \
+-------------------------------- \
+--####--######----####--######-- \
+--##--------------##------------ \
+------------##--------------##-- \
+--##--------------##------------ \
+------------##--------------##-- \
--######--####----######--####-- \
-----########--------########---- \
--------------------------------
%
Unicode: [2665];
diff --git a/fonts/fauxtari-24.bdf b/fonts/fauxtari-24.bdf
index dbe9024..8a70f2b 100644
--- a/fonts/fauxtari-24.bdf
+++ b/fonts/fauxtari-24.bdf
@@ -28,27 +28,27 @@ SWIDTH 666 0
DWIDTH 24 0
BBX 24 24 0 -6
BITMAP
-03ffc0
-03ffc0
-03ffc0
-1f81f8
-1f81f8
-1f81f8
-1c7e38
-1c7e38
-1c7e38
-1ff1f8
-1ff1f8
-1ff1f8
-1ffff8
-1ffff8
-1ffff8
+000000
+000000
+000000
+1f8ff8
+1f8ff8
+1f8ff8
+1c0000
+1c0000
+1c0000
+000038
+000038
+000038
+1c0000
+1c0000
+1c0000
+000038
+000038
+000038
1ff1f8
1ff1f8
1ff1f8
-03ffc0
-03ffc0
-03ffc0
000000
000000
000000
diff --git a/fonts/fauxtari-24.psf b/fonts/fauxtari-24.psf
index 6b1a315..9ee0a89 100644
--- a/fonts/fauxtari-24.psf
+++ b/fonts/fauxtari-24.psf
Binary files differ
diff --git a/fonts/fauxtari-24.txt b/fonts/fauxtari-24.txt
index 4211f89..a1f9646 100644
--- a/fonts/fauxtari-24.txt
+++ b/fonts/fauxtari-24.txt
@@ -7,13 +7,13 @@ Height: 24
%
Unicode: [0000];
Bitmap: \
-------############------------############------------############------ \
----######------######------######------######------######------######--- \
----###---######---###------###---######---###------###---######---###--- \
----#########---######------#########---######------#########---######--- \
----##################------##################------##################--- \
+------------------------------------------------------------------------ \
+---######---#########------######---#########------######---#########--- \
+---###---------------------###---------------------###------------------ \
+------------------###---------------------###---------------------###--- \
+---###---------------------###---------------------###------------------ \
+------------------###---------------------###---------------------###--- \
---#########---######------#########---######------#########---######--- \
-------############------------############------------############------ \
------------------------------------------------------------------------
%
Unicode: [2665];
diff --git a/fonts/fauxtari-8.bdf b/fonts/fauxtari-8.bdf
index 1669365..d81f032 100644
--- a/fonts/fauxtari-8.bdf
+++ b/fonts/fauxtari-8.bdf
@@ -28,13 +28,13 @@ SWIDTH 666 0
DWIDTH 8 0
BBX 8 8 0 -2
BITMAP
-3c
-66
-5a
-76
-7e
+00
+6e
+40
+02
+40
+02
76
-3c
00
ENDCHAR
STARTCHAR C0001
diff --git a/fonts/fauxtari-8.psf b/fonts/fauxtari-8.psf
index 1f293f2..0f3c4c5 100644
--- a/fonts/fauxtari-8.psf
+++ b/fonts/fauxtari-8.psf
Binary files differ
diff --git a/fonts/fauxtari-8.txt b/fonts/fauxtari-8.txt
index c0bc61c..118311d 100644
--- a/fonts/fauxtari-8.txt
+++ b/fonts/fauxtari-8.txt
@@ -7,13 +7,13 @@ Height: 8
%
Unicode: [0000];
Bitmap: \
---####-- \
--##--##- \
--#-##-#- \
--###-##- \
--######- \
+-------- \
+-##-###- \
+-#------ \
+------#- \
+-#------ \
+------#- \
-###-##- \
---####-- \
--------
%
Unicode: [2665];
diff --git a/fonts/mkpsf.pl b/fonts/mkpsf.pl
index 8166c8a..b6c5532 100644
--- a/fonts/mkpsf.pl
+++ b/fonts/mkpsf.pl
@@ -109,7 +109,7 @@ sub read_rom {
# and 0x241b aka SYMBOL FOR ESCAPE).
sub setup_map {
our @map = (
- 0x0000,
+ 0x0000, # dotted-box (from char0.raw)
0x2665, # 0x00
0x2523, # 0x01
0x2503, # 0x02
@@ -434,8 +434,12 @@ setup_map();
@scale2 = ();
@scale3 = ();
-#$raw = read_rom("atarixl.rom", 0x2000, 128);
+# the dotted-box character has to come first in the BDF
+# font. or at least, the BDF has to say, up front, which
+# index (not unicode codepoint!) is the "default char", and
+# most fonts seem to use index 0 for this.
$raw = read_rom("char0.raw", 0, 1);
+
$raw .= read_rom("atarixl.rom", 0x2200, 32);
$raw .= read_rom("atarixl.rom", 0x2000, 32);
$raw .= read_rom("atarixl.rom", 0x2100, 32);
@@ -456,9 +460,7 @@ $raw .= read_rom("xe_arabic.rom", 0x2000+8*0x4f, 9);
$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x59, 2);
$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x60, 27);
$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x7f, 1);
-#warn length($raw) / 8;
-##$raw = read_rom("arabicxe.rom", 0x2000, 128);
-#$cnt = 0x9a;
+
$cnt = 0;
while($raw =~ /(.{8})/gc) {
my @bytes;
@@ -489,10 +491,16 @@ while(<DATA>) {
#warn "(padding to 256 characters)\n" unless $cnt >= 256;
#warn "(padding to 512 characters)\n" unless $cnt >= 512;
+# 512 glyphs is the max for a PSF font. There can be more
+# *codepoints*, because the Unicode directory allows the same
+# glyph to represent multiple codepoints (e.g. space and
+# non-breaking space).
if($cnt > 512) {
- die "$0: too many characters ($cnt > 512)";
+ die "$0: too many glyphs ($cnt > 512)";
}
+# The kernel refuses to load a font that isn't exactly
+# 256 or 512 glyphs, so we have to pad with junk glyphs.
while($cnt < 512) {
my $fake = "%\nUnicode: [0000];\nBitmap: ";
push @scale1, $fake . (("-" x 8) x 8) . "\n";