Project

General

Profile

Actions

Bug #132

open

Font$ is messed up in Amiga mode (several problems, but all related)

Added by Brian Flanagan almost 5 years ago. Updated over 3 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
02/05/2020
Due date:
% Done:

0%

Estimated time:
2:00 h
Affected version:

Description

Font$(x) should contain:
Chars 1-30: Font name (left justified, spaces padded right)
Chars 31-34: Font size (left justified, spaces padded right)
Chars 35-38: Font type (left justified, spaces padded right)

Problems:

  1. Len(Font$(x)) should always be 38, but it's 39. (I'm guessing that the name has an extra space padded.)
  2. There are 2 spaces at the beginning of the font size.
  3. There are 2 spaces at the beginning of the font type.
  4. The '.font' is not included in the font name.
  5. The first letter of "rom" should be capitalized. (Rom)
  6. There should be a space padded after Rom, like so: "Rom ".
  7. The wrong fonts are coming up in the wrong order, with the wrong pixel heights.

Example:

#manifest: "amiga"
Screen Open 0,640,200,32,Hires
Get Fonts
For f=1 To 9
    F$=Font$(f)
    FontName$=Mid$(F$,1,30) : Rem 1st 30 characters should be the font name
    FontSize$=Mid$(F$,31,4) : Rem Characters 31-34 should be the font size
    FontType$=Mid$(F$,35,4) : Rem Characters 35-38 should be the font type
    Print "Font$(";Right$(Str$(f),Len(Str$(f))-1);"):[";F$;"] (len: ";Len(F$);") should be 38."
    Print "Font: [";FontName$;"] ";
    Print "Size: [";FontSize$;"] ";
    Print "Type: [";FontType$;"] "
Next f

There should be 9 ROM fonts (1-9), in the following order, with the pixel heights shown below:

1: topaz.font, 8
2: topaz.font, 9
3: 2001.font, 8
4: broadway.font, 16
5: lines.font, 21
6: mFast.font, 20
7: News.font, 23
8: Peridot.font, 7
9: Pica.font, 32

Instead, now we're getting:

1. broadway, 16
2. lines, 16
3. mFast, 16
4. News, 16
5. peridot, 16
6. Pica, 16
7. sapphire, 16
8. n/a
9. n/a
Actions #1

Updated by Brian Flanagan over 4 years ago

  • Affected version changed from 0.9.4 to 0.9.5.1

Problems still exist in 0.9.5.1.

Actions #2

Updated by Brian Flanagan over 4 years ago

  • Affected version changed from 0.9.5.1 to 0.9.9.3

Problem still exists in 0.9.9.3
In addition, now Get Fonts, Get ROM Fonts, Get Disk Fonts all fail.

Actions #3

Updated by Brian Flanagan over 4 years ago

  • Affected version changed from 0.9.9.3 to 0.9.9.4

Problems still exist. (0.9.9.4 rel1)

Actions #4

Updated by Brian Flanagan about 4 years ago

  • Estimated time set to 2:00 h
  • Affected version changed from 0.9.9.4 to Beta RC3

We're now getting 9 fonts showing in the Amiga manifest, but they're still the wrong face & name.

0 2001     16 rom
1 broadway 16 rom
2 lines    16 rom 
3 mFast    16 rom 
4 News     16 rom
5 peridot  16 rom
6 Pica     16 rom
7 sapphire 16 rom
8 topaz    16 rom
Actions #5

Updated by Brian Flanagan about 4 years ago

that last comment should have read "wrong face & size"

Actions #6

Updated by Brian Flanagan over 3 years ago

  • Affected version changed from Beta RC3 to 1.0.0 (B3)

Font$ is still pretty messed up in Amiga mode. The above problems still exist.

Summary:

The default font is wrong.
The fonts faces and sizes are wrong.
Referencing Font$(n) where n is > # of fonts -1 causes an Internal error.
Font$(0) should be an empty string.
The string returned by Font$ is incorrectly formatted. It should be:
Bytes 1-30: Font Name ( left justified, spaces padded right)
Bytes 31-34: Font Size ( left justified, spaces padded right)
Bytes 35-38: Font Type ( left justified, spaces padded right) Contains "Rom " or "Disc"
The Length of Font$(n) should ALWAYS be 38 (with format specified as above)

Actions

Also available in: Atom PDF