diff options
-rw-r--r-- | fonts/FauxtariScalableMono.ttf | bin | 57224 -> 57168 bytes | |||
-rw-r--r-- | fonts/char0.raw | bin | 0 -> 8 bytes | |||
-rw-r--r-- | fonts/fauxtari-16.bdf | 24 | ||||
-rw-r--r-- | fonts/fauxtari-16.psf | bin | 18035 -> 18035 bytes | |||
-rw-r--r-- | fonts/fauxtari-16.txt | 12 | ||||
-rw-r--r-- | fonts/fauxtari-24.bdf | 36 | ||||
-rw-r--r-- | fonts/fauxtari-24.psf | bin | 38515 -> 38515 bytes | |||
-rw-r--r-- | fonts/fauxtari-24.txt | 12 | ||||
-rw-r--r-- | fonts/fauxtari-8.bdf | 12 | ||||
-rw-r--r-- | fonts/fauxtari-8.psf | bin | 5747 -> 5747 bytes | |||
-rw-r--r-- | fonts/fauxtari-8.txt | 12 | ||||
-rw-r--r-- | fonts/mkpsf.pl | 20 |
12 files changed, 68 insertions, 60 deletions
diff --git a/fonts/FauxtariScalableMono.ttf b/fonts/FauxtariScalableMono.ttf Binary files differindex c8e9d00..3c4fcd4 100644 --- a/fonts/FauxtariScalableMono.ttf +++ b/fonts/FauxtariScalableMono.ttf diff --git a/fonts/char0.raw b/fonts/char0.raw Binary files differnew file mode 100644 index 0000000..a699b13 --- /dev/null +++ b/fonts/char0.raw 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 Binary files differindex ada4280..9921d7e 100644 --- a/fonts/fauxtari-16.psf +++ b/fonts/fauxtari-16.psf 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 Binary files differindex 6b1a315..9ee0a89 100644 --- a/fonts/fauxtari-24.psf +++ b/fonts/fauxtari-24.psf 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 Binary files differindex 1f293f2..0f3c4c5 100644 --- a/fonts/fauxtari-8.psf +++ b/fonts/fauxtari-8.psf 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"; |