aboutsummaryrefslogtreecommitdiff
path: root/fonts/mkpsf.pl
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2024-08-01 16:15:00 -0400
committerB. Watson <urchlay@slackware.uk>2024-08-01 16:15:00 -0400
commita464da6bb2caf93d68b4377c9dac10906f59669f (patch)
treedd5d179190ae7bda4ad71b7e8762aa64de417672 /fonts/mkpsf.pl
parent2bb3841195194f479a3adeb16f60f3d4497edebb (diff)
downloadbw-atari8-tools-master.tar.gz
fonts: fix psf fonts. setfont complained that position 32 wasn't blank, and we got ? in place of spaces. Ugh.HEADmaster
Diffstat (limited to 'fonts/mkpsf.pl')
-rw-r--r--fonts/mkpsf.pl24
1 files changed, 16 insertions, 8 deletions
diff --git a/fonts/mkpsf.pl b/fonts/mkpsf.pl
index 134340c..8a349f1 100644
--- a/fonts/mkpsf.pl
+++ b/fonts/mkpsf.pl
@@ -109,7 +109,6 @@ sub read_rom {
# and 0x241b aka SYMBOL FOR ESCAPE).
sub setup_map {
our @map = (
- 0x0000, # dotted-box (from char0.raw)
0x2665, # 0x00
0x2523, # 0x01
0x2503, # 0x02
@@ -433,12 +432,6 @@ setup_map();
@scale2 = ();
@scale3 = ();
-# 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);
@@ -446,13 +439,16 @@ $raw .= read_rom("atarixl.rom", 0x2300, 32);
$raw .= read_rom("atarixl.rom", 0xe00, 26);
$raw .= read_rom("atarixl.rom", 0xf00, 1);
$raw .= read_rom("atarixl.rom", 0xfd8, 1);
+
$raw .= read_rom("xl_hebrew.rom", 0xf00, 27);
+
$raw .= read_rom("xl_polish.rom", 0xe00, 6);
$raw .= read_rom("xl_polish.rom", 0xe50, 5);
$raw .= read_rom("xl_polish.rom", 0xe80, 1);
$raw .= read_rom("xl_polish.rom", 0xe98, 1);
$raw .= read_rom("xl_polish.rom", 0xeb0, 3);
$raw .= read_rom("xl_polish.rom", 0xed0, 1);
+
$raw .= read_rom("xe_arabic.rom", 0x2000+8*15, 10);
$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x3c, 1);
$raw .= read_rom("xe_arabic.rom", 0x2000+8*0x41, 13);
@@ -528,7 +524,7 @@ sub mkfonts {
my $scaled_data = shift;
my $scale = shift;
- open $fh, '|-', "perl sorttxtfont.pl > $fontname-$px.txt" or die $!;
+ open $fh, '>', "$fontname-$px.txt" or die $!;
print $fh psf2txt_header($cnt, $scale);
print $fh $_ for(@$scaled_data);
close $fh;
@@ -545,6 +541,18 @@ exit 0;
__DATA__
%
+// dotted-box (no such glyph)
+Unicode: [0000];
+Bitmap: \
+ -------- \
+ -##-###- \
+ -#------ \
+ ------#- \
+ -#------ \
+ ------#- \
+ -###-##- \
+ --------
+%
// backtick
Unicode: [0060];
Bitmap: \