[comp.sys.apple] Font File Headers

delaney@wnre.aecl.CDN (Grant Delaney) (02/21/88)

Below is a short program in basic which will show you what is in a font file 
file header such as that used by the GS and the new time out series

==================

NEW
10?CHR$(4);"PR#3"
12?
25HOME
30?"Hit <return> or Enter the Directory"
31?"Name Desired.";:INPUTNM$
40IFNM$=""THEN100
50ONERRGOTO90
60?CHR$(4);"PREFIX ";NM$
70GOTO100
90CALL-3288:?"Try Again Fella!!!":HOME:GOTO30
100?CHR$(4);"CAT ";NM$;",T$C8
110?"Enter Name of Font to Be Examined "
111?"or <return> to Quit."
112INPUTF$
113IFF$=""THEN1600
998TEXT:HOME:?:HOME
999ONERRGOTO90
1000?CHR$(4);"BLOAD ";F$;",T$C8,A$2000"
1010NL=PEEK(8192):rem font name length in characters
1015NA$=""
1020FORJ=1TONL:NA$=NA$+(CHR$(PEEK(8192+J))):NEXTJ:Rem Get name in ascII
1030PV=8192+J:Rem offset for name
1040ID=(PEEK(PV+3)*256)+PEEK(PV+2):Rem Id no.
1050ST=(PEEK(PV+5)*256)+PEEK(PV+4):
1060SI=(PEEK(PV+7)*256)+PEEK(PV+6)
1070VE=PEEK(PV+9)+(PEEK(PV+8)*.01)
1080FB=(PEEK(PV+11)*256)+PEEK(PV+10)
1090TY=(PEEK(PV+13)*256)+PEEK(PV+12)
1100FC=(PEEK(PV+15)*256)+PEEK(PV+14)
1110LC=(PEEK(PV+17)*256)+PEEK(PV+16)
1120WM=(PEEK(PV+19)*256)+PEEK(PV+18)
1130KH=(PEEK(PV+21)*256)+PEEK(PV+20)
1140ND=(PEEK(PV+23)*256)+PEEK(PV+22)
1150RW=(PEEK(PV+25)*256)+PEEK(PV+24)
1160FH=(PEEK(PV+27)*256)+PEEK(PV+26)
1170TL=(PEEK(PV+29)*256)+PEEK(PV+28)
1180AS=(PEEK(PV+31)*256)+PEEK(PV+30)
1190DS=(PEEK(PV+33)*256)+PEEK(PV+32)
1200LE=(PEEK(PV+35)*256)+PEEK(PV+34)
1210RW=(PEEK(PV+37)*256)+PEEK(PV+36)
1220IFKH<>0THENKH=KH-65536
1230IFND<>0THENND=ND-65536
1300?"File Name                             ";F$
1310?"Font Name                             ";NA$
1320?"Offset Word                           ";NL+1
1330?"FontID                                ";ID
1340?"Style                                 ";ST
1350?"Size                                  ";SI
1360?"Version                               ";VE
1370?"Font Bounds Rectangle Extent          ";FB
1380?"Font Type (Ignored)                   ";FT
1390?"ASCII Code of First Character         ";FC
1410?"ASCII Code of Last Character          ";LC
1450?"Widest Character Width                ";WM
1460?"Maximum Leftward Kern                 ";KH
1470?"Negative of Descent                   ";ND
1480?"Width of Font Rectangle               ";RW
1490?"Height of Font Rectangle              ";FH
1500?"Offset in Words to Offset/Width Table ";TL
1510?"Font Ascent                           ";AS
1520?"Font Descent                          ";DS
1530?"Leading                               ";LE
1540?"Width of Font Strike in Words         ";RW
1550TEXT
1560?"               Would You Like Another? (Y/N)  ";:GETQ$
1570IFQ$="Y"THEN1580
1571IFQ$="y"THEN1580
1572GOTO1600
1580HOME
1590POKE216,0:GOTO25
1600POKE216,0:END
SAVE FONT.INFO