home *** CD-ROM | disk | FTP | other *** search
- SETFONT v1.02 21 March 1994, J. Elliott
- ================================================================================
-
- SETFONT.COM is a CP/M program which will run on an Amstrad PCW or CPCº series
- computer or on a Sinclair Spectrum +3, under the CP/M operating system in each
- case. It is a Character Set Manager and it has been designed to handle many
- types of PCW/CPC/Spectrum screen character sets. It will convert between
- different types, allowing you to print the characters on the printer, make them
- self-loading and even use them in LocoScript. Or you can use it to combine
- characters from as many different fonts as you want.
-
- º: CPC operation untested.
-
- The command line is:
-
- A>SETFONT filename.ext {/option /option ...}
-
- or
-
- A>SETFONT /H
-
- or
-
- A>SETFONT
-
- The first command will load or save a character set according to the options
- (listed below). The second will print a Help screen explaining the options.
- The third variant will enter a multiple command mode (like PIP does).
- You can use the syntax -option instead of /option if you want to.
-
- There are seven main file types:
-
- 1. Amstrad CP/M - holds all PCW/CPC characters, or one of the two
- Spectrum +3 character sets.
- 2. Spectrum +3 CP/M - holds all Spectrum characters.
- 3. Spectrum +3 +3DOS - holds only those characters which can be redefined under
- +3DOS, nos. 32-127. The file has a +3DOS header record
- so that it can be loaded without using the COPY...TO
- SPECTRUM FORMAT command. On the Spectrum, characters
- are taken from one of the two character sets.
- 4. PRINTIT - holds characters 32-224. See below for a full explanation
- of the PRINTIT format.
- 5. EMS (or EMT) - the file you boot your computer from contains a
- character set. This set will either be in format 1 or 2,
- depending on which computer you have. SETFONT can extract
- or change this "hidden" character set.
- 6. Stop Press - But only those Stop Press fonts with the right lettering
- size (eg HITEC-70).
- 7. MasterPaint - But only those MasterPaint fonts with the right lettering
- size (eg STANDARD, ORLEANS).
-
- Amstrad computers cannot save the Spectrum +3 CP/M format; otherwise, all
- formats are usable on all computers.
-
- There now follows a detailed guide to the available options.
-
- The /B and /E options:
- ----------------------
-
- These options specify a range of characters to be changed. The entire file
- will still be loaded but only the specified characters will be used.
-
- /B specifies the first character to change. /E specifies the last. Both these
- options are inclusive. If a /B or /E option is omitted, the start or the end,
- respectively, of the font will be used.
-
- The options are formed /B:n or /B=n (and the same for /E). If a colon is used
- in the option, the character chosen is from the "large" set on a Spectrum +3.
- If an = sign is used, the "small" character set is the one used. On a PCW, both
- of these affect the same character set. The number n after the colon or = sign
- is from 0-255 (see your manual for a list of character numbers).
-
- The /B and /E options can only be used when loading. They are ignored when
- saving.
-
- Note that while the other options (/F, /Z etc.) control how the font file is
- loaded from disc, these options have nothing to do with the type of disc file
- loaded; it just specifies how much to use. If you tell it to change characters
- outside the range of a particular file, SETFONT will do the best it can. For
- example, if you are loading with /F:+ (see below) and you use /B:0 /E:64, only
- the characters 32-64 will be changed, since only these were in the disc file.
- You cannot load short files like this; /B:32 /E:127 is not a substitute for
- /F:+. It may have a similar effect, but the disc file loaded from would have to
- be a full 2k/4k one, not a +3DOS one.
-
- If a /B or /E option is used twice, the second option is used. If the number
- in a /E option is lower than that in a /B option, the second option is ignored.
-
- Examples:
-
- 1. /B:32 -Loads from (large) character 32 to end.
- 2. /E=64 -Loads from start to (small) character 64.
- 3. /B:65 /E:90 -Loads (large) characters 65-90 (A-Z)
- 4. /B:65 /E=90 -PCW/CPC: As (3) above. Spectrum: Loads all large characters
- from 65 and all small characters before 90.
- 5. /E:64 /B:65 -Second option is invalid. (Large) characters 0-64 loaded.
- 6. /B:65 /E:64 -Second option is invalid. (Large) character 65-end loaded.
-
- The /F option:
- --------------
- The /F option selects a different file format. The syntax is /F:x or /F=x
- The /F:x is the standard version while /F=x gives extra options on the Spectrum.
-
- Option File format on PCW/CPC File format on Spectrum
- ___________________________________________________________________________
- none All characters in 2048 byte All characters in 4096 byte
- PCW file. Spectrum file.
-
- /F:+ Characters 32-127 in a 768 Large characters 32-127 in a
- byte +3DOS type file with 768 byte +3DOS type file with
- a +3DOS header. a +3DOS header.
-
- /F=+ As /F:+ above Small characters 32-127 in a
- 768 byte +3DOS type file with
- a +3DOS header.
-
- /F:A All characters in 2048 byte All large characters in 2048
- PCW/CPC file. byte PCW/CPC file.
-
- /F=A As /F:A above All small characters in 2048
- byte PCW/CPC file.
-
- /F:C Characters 32-126 in a Large characters 32-126 in a
- MasterPaint font file. MasterPaint font file.
-
- /F=C As /F:C above Small characters 32-126 in a
- MasterPaint font file.
-
- /F:E All characters in a start- All characters in a start-of-day
- of-day type file. type file.
-
- /F=E As /F:E above *Large characters only in a start-
- of-day type file.
-
- /F:P Characters 32-224 in PRINTIT Large characters 32-224 in
- font file. PRINTIT font file.
-
- /F=P As /F:P above Small characters 32-224 in
- PRINTIT font file.
-
- /F:S Characters 33-125 in a Stop Large characters 33-125 in
- Press font file. The letters a Stop Press format file.
- have to be the size of those
- in HITEC-70.
-
- /F=S As /F:S above Small characters 33-125 in
- a Stop Press format file.
-
- /F:? This option is different. It is only useful when loading, since
- /F=? what it does is to guess the font format from the disc file. It
- is useful if you have a file with a name like MYFONT.BIN and you
- don't know which format you saved it in. It cannot recognise
- EMS type files because they don't have a fixed format.
-
- * Note that /F=E above restricts the font to LARGE characters, not small ones.
-
- The references to start-of-day files need some explaining. When you first turn
- on, CP/M is booted from a file called ???CPM3.EMS or ???CPM3.EMT. This file
- contains a font, the location of which is different for each EMS/EMT file. The
- /F:E option is used to discover where this font is, and then load it or save it.
- When you are saving in this format, it is ESSENTIAL that the EMS/EMT file:
- a) Exists. Unlike all other options except /F:C, this one modifies rather
- than replaces the destination file when saving.
- b) Contains a recognisable font. Essentially, this means that character no. 0
- must not have been changed if this file has been modified before.
- The /F=E option is so that the Spectrum +3 can use Amstrad PCW/CPC .EMS type
- files, which only contain the "large" font. A good rule of thumb is to use /F:E
- if you are working with files from your sort of computer and /F=E when you are
- dealing with files from different computers.
-
- When you are using MasterPaint (/F:C) fonts, you should be aware that:
- a) When saving, the file being saved to must exist. Like /F:E, this modifies
- the destination file rather than writing a new one.
- b) The supplied MasterPaint fonts are saved in language 1 (French). To
- compensate for this, use the /L=1 option (see /L below).
-
- The /H option:
- --------------
- /H overrides all other options and prints a helpscreen.
-
- The /I option:
- --------------
- This inverts the font you're loading or saving (if /B or /E is being used
- while loading, only the bit being loaded is inverted). Syntax is /I.
-
- The /L option:
- --------------
- The /L option is formed in two ways:
-
- /L:n tells SETFONT which language the computer is currently using.
- /L=n tells SETFONT which language the font file should be in.
- In both cases n is a number from 0-7. If only one of these options is present,
- the other is assumed to be 0. If neither is present, no language changes are
- made.
-
- Examples:
- /L:4 - File in language 0 (USA; assumed); Computer in language 4 (Danish)
- /L=6 - File in language 6 (Italian); Computer in language 0 (USA; assumed)
- /L:1 /L=3 - File in language 3 (UK); Computer in language 1 (French).
-
- This option can only be used when the computer is using the device CRT as its
- output (the main screen). If console output is being diverted (eg ECHO OFF) the
- language will not change.
-
- The /M option:
- --------------
- /M provides Multiple command mode options. They are only valid in multiple
- command mode and are ignored otherwise. See the multiple command mode section
- for a detailed description.
-
- The /S option:
- --------------
- If this option is present, the computer will save the font to a disc file
- instead of loading from one. The following options behave differently:
-
- /B and /E: No effect.
- /Z: See /Z below.
-
- The /U option:
- --------------
- This option tells the computer to use a different user area (PCW users may
- know these as "groups") from the current one. The syntax is /U:n - for example,
- to use area 12, add /U:12 to the command line.
-
- The /Z option:
- --------------
- The /Z option is concerned with the "header record" - an extra 128 bytes at
- the beginning of the file.
- When loading, /Z informs the computer that such a record is present. This is
- used with character set files saved under operating systems which automatically
- add a header record, such as +3DOS. If you are using the /F:+ or /F=+ options,
- this option is selected automatically. This can also sometimes be used on
- self-installing character sets (eg CHARSET.COM) if they were made using the /Z
- option above, the obsolete program SELFLOAD (supplied with SETFONT v1.0), and
- some other helpful font editors. If they weren't you'll soon find out - you'll
- either see a mess or the wrong characters, perhaps with different top and
- bottom halves!
-
- When saving, /Z causes the font to be saved with self-load code at the
- beginning. The file specified should be a .COM file; then when you type its
- name, it will load by itself. You should only set this option with standard or
- Amstrad (/F:A) fonts - none of the other special formats.
-
- - * -
-
- The Multiple Command Mode:
- ==========================
-
- The multiple command mode is entered by typing SETFONT. You will see:
-
- SETFONT v1.02 Multiple Command Mode
- Type /H for help
-
- SETFONT>
-
- Type your command just as you would from the A> prompt, except that there is
- no need to have SETFONT in front of it.
- If the command begins with a : (eg :NEWFONT.FNT /F:S /S) then it is a
- "conditional command" and will not be executed if the last SETFONT command
- has failed. Eg:
-
- SETFONT>NEWFILE.BIN /F:?
- Font file not found: NEWFILE.BIN
- SETFONT>:NEWFILE.UDG /F:S (Nothing happens)
- SETFONT>
-
- but
-
- SETFONT>NEWFILE.BIN /F:?
- Guess: +3DOS format.
- Character set loaded.
- SETFONT>:NEWFILE.UDG /F:S (Loads font)
- Character set loaded.
- SETFONT>
-
- The /M options operate as follows:
-
- /M:E has an "Else" action. It reverses the status of the conditional command;
- so if "success" was reported it becomes "failure" and vice versa.
- /M:+ tests whether the computer is a PCW/CPC or a Spectrum +3. "Success" is
- reported if the computer is a +3; otherwise "failure".
- Similarly, /M:C reports success if the computer is a CPC and /M:P reports
- success if a PCW is being used.
-
- A /M option should be treated as a command all by itself:
-
- SETFONT>FILE1.UDG
- File not found: FILE1 .UDG (Failure)
- SETFONT>/M:E (ELSE changes to success)
- SETFONT>:M:FILE2.FNT /S /F:P (Saves font)
- SETFONT>
-
- SETFONT>/M:+
- SETFONT>:PLUS3.BIN /F:+ (If +3)
- SETFONT>/M:C
- SETFONT>:CPC.UDG (If CPC)
- SETFONT>/M:P
- SETFONT>:PCW.FNT /F:S (If PCW)
- SETFONT>
-
- If the command begins with a ; it will be ignored. So:
-
- SETFONT>;Hello!
-
- will do nothing.
-
- - * -
-
- Explanation of PRINTIT (/F:P /F=P)
- ==================================
- PRINTIT is a PD program which prints text files on Epson-compatible printers
- in different fonts. PCW-World supply it in volume U/102. To print a file using
- a font saved with SETFONT, use:
-
- A>SETFONT myfont.fnt -S -F:P
- A>PRINTIT -Fmyfont.fnt textfile.asc
-
- "True" PRINTIT fonts have characters designed on a 16x8 grid. When SETFONT
- converts them to an 8x8 grid for screen display, detail is lost. This does not
- happen with fonts saved in PRINTIT format by SETFONT, because they never had
- the extra detail anyway.
- To print LocoScript files with PRINTIT, set them up for 15 pitch and save
- them as Page Image ASCII.
- PRINTIT will only work on the Spectrum if (i) you use the RS232 printer socket
- or (ii) you cut a wire in the printer lead (see CP/M manual, p64)
-
- - * -
-
- Possible errors/problems are:
- =============================
-
- 1. "File ????????.??? exists, delete (Y/N)?"
- -The file you are trying to save to is already on disc. Press Y to delete
- or N to abort.
- 2. "Read error : ????????.???"
- -There are several reasons for this:
- 1. The file is too short. You may need to use the /F:? option.
- 2. There is no diskette in the drive.
- 3. The diskette is corrupted (e. g. a bad sector)
- 3. Characters are unrecognisable; they all look like random dots.
- -Either:
- 1. You are trying to load something that is not a character set. If you have
- saved a RESET.UDG file then type SETFONT RESET.UDG; otherwise reboot or
- try SETFONT xxxCPM3.EMx /F:E to read the font in your boot file (you
- won't be able to see what you're typing, so be careful).
- 2. Perhaps you have loaded a Stop Press file without the proper /F:S option,
- or a MasterPaint font withwout /F:C. Try reloading with /F:?.
- 4. Characters appear, but they are wrong - eg Prompt reads 1. or QN
- -You are loading a file without the correct /F:+ or /Z options set. Try
- reloading with /F:? to discover what type it is.
- 5. "Requires Amstrad PCW/CPC or Spectrum +3."
- -You are trying to use the program on the wrong computer (e. g. an Osborne).
- 6. "Write error on file ????????.??? - Disc may be full"
- -There are several reasons for this problem:
- 1. The diskette really is full.
- 2. The directory is full.
- 3. There is no diskette in the drive.
- 4. The diskette is corrupted (e.g. a bad sector)
- 7. "This file is password protected."
- -You are trying to load, erase or otherwise access a password-protected
- file. Type in the password and press RETURN.
- 8. "Cannot erase file:????????.??? - File may be protected."
- -There are two possible reasons for this error:
- 1. The diskette is read-only.
- 2. The file is read-only.
- 9. You get two "squashed" characters in the one space, one above the other.
- -You have loaded a normal font with the /F:P or /F=P option set.
- 10. You get the top or bottom halves of double-height characters.
- -You have loaded a PRINTIT font without the /F:P or /F=P option set. You
- will also get this if you have tried to use a self-loading font saved with
- the /F=P or /F:P options; self-loading fonts can't compensate for this the
- way that SETFONT does. See also (13) below.
- 11. The characters look faint and/or have lines missing.
- -You have either:
- 1. Loaded a "true" PRINTIT printer font (as opposed to those saved by
- SETFONT). These have to be compressed for screen viewing, and detail
- will be lost.
- 2. Loaded a font with narrow outlines. Turn the brightness up or go into
- inverse video with PALETTE 63 0.
- 12. "Out of memory."
- -You need to have free memory up to D100H in the TPA for this program to
- run. If there is not enough memory (e.g. you are using SID and some
- large RSXs) then you will have to clear some.
- 13. You get just the top left-hand corner of a character.
- -You have loaded a Stop Press font which is bigger than 8x8 in size.
- The only Stop Press font which will load with /F:S is HITEC-70 or one you
- saved yourself.
-
-
- Examples:
- =========
-
- 1) A>SETFONT RESET.UDG /S
-
- - will preserve the standard character set, so that you can restore it without
- resetting your computer. You are strongly recommended to do this.
-
- 2) A>SETFONT
- SETFONT>M:CHARS.BIN /F:+ /S - Save intermediate +3 font to M:CHARS.BIN
- SETFONT>B:OTHER.UDG - Load full font B:OTHER.UDG
- SETFONT>M:CHARS.BIN /F:+ - Load M:CHARS.BIN over this.
- SETFONT>B:MYFONT.UDG /S - Save combined font to B:MYFONT.UDG
- SETFONT>
-
- Result: a new file MYFONT.UDG containing the characters SPACE to ~ from those
- already in the computer and all others from the file B:OTHER.UDG. Do not
- confuse this with (6) below. This one will create an intermediate file on drive
- M: containing characters from SPACE to ~ (plus ú and ñ)
-
- 3) A>SETFONT C:USA.HED -U:6 -L:1 -Z
-
- - will load USA.HED from group 6 of drive C:, remove the +3DOS or self-loader
- header record and select the French language.
-
- 4) G>SETFONT D:RUNME.COM /S -Z /F:A
-
- - will save a .COM file to drive D: containing only the characters used on the
- PCWs and CPCs. If you then type D:RUNME that character set will load itself.
-
- 5) K>SETFONT H:PRINTER.FNT /F=P /S
-
- - will save a font suitable for PRINTIT to drive H:. On the Spectrum +3, the
- characters saved will be from the small font.
-
- 6) SETFONT
- <M:GRAPHICS.BIN /S - save current font as M:GRAPHICS.BIN
- <L:SERIF.UDG - load L:SERIF.UDG
- <M:GRAPHICS.BIN /B:128 /E:159 - load (large) graphic characters from
- <;Next bit only on +3 - Comment M:GRAPHICS.BIN
- </M:+ - IF the computer is a +3...
- <:M:GRAPHICS.BIN /B=128 /E=159 - THEN load small graphics chars as above.
- <L:SERIF2.UDG /S - Save the whole lot to L:SERIF2.UDG
- <
-
- This example is part of a .SUB file. It combines fonts as in (2) above,
- creating a new file L:SERIF2.UDG containing the graphic characters which were
- in the computer at the start and other characters from L:SERIF.UDG. Unlike (2),
- the intermediate file on drive M: (GRAPHICS.UDG) contains ALL the characters
- formerly in the computer.
-
- 7) A>SETFONT B:TINY.FNT /S /F:S
-
- - will save the character set between ! and } to disc in a form that can be
- read by Stop Press.
-
- 8) O>SETFONT F:UNKNOWN.BIN -F:?
-
- - will try to load the file F:UNKNOWN.BIN, guessing which format it is in from
- the size of the disc file.
-
- 9) P>SETFONT
- SETFONT>A:J20LOCO.EMS /F=E - load the LocoScript v1.20 boot file.
- SETFONT>:B:SCRIPT.BIN /F:+ - IF it was OK, load B:SCRIPT.BIN over it.
- SETFONT>:A:J20LOCO.EMS /F=E /S - IF that was OK, save back to the
- SETFONT> LocoScript file.
-
- Result: This will superimpose the +3 font B:SCRIPT.BIN on the LocoScript 1
- start-of-day file A:J20LOCO.EMS. Because character 0 has not been altered, it
- will be possible to use the /F=E option on this file again. /F=E is being used
- because JnnLOCO.EMS files do not contain the small characters.
-
- 10) H>SETFONT
- SETFONT>BOLDFONT.COM -Z -F:A - Loads selfloading (large) BOLDFONT.COM
- SETFONT>-M:+ - IF using a +3...
- SETFONT>:MINIBOLD.COM -Z -F=A - THEN load selfloading (small) MINIBOLD.COM
- SETFONT>A:S10CPM3.EMS -F:E -S - Save it all to the +3 CP/M v1.0 boot file.
- SETFONT>
-
- Result: Similar to (9) above, but please note:
-
- 1. BOLDFONT.COM and MINIBOLD.COM are self-loading character sets. MINIBOLD.COM
- is designed for the Spectrum +3 "small" characters and only loads on the
- Spectrum.
- 2. -F:E is used rather than -F=E. This only makes a difference on a Spectrum
- and is being used here because the Spectrum SxxCPM3.EMS files do contain
- small character sets.
-
- 11) J>PIP JOINDUP.CAR=STANDARD.CAR[O] - Make a spare .CAR type file ready to
- J>SETFONT accept a new font.
- SETFONT>JOINDUP.UDG - Load a normal file JOINDUP.UDG.
- SETFONT>JOINDUP.CAR /F:C /S - Save this font into the spare .CAR file.
- SETFONT>
-
- Result: A new MasterPaint file is created, containing the characters from
- JOINDUP.UDG. Note that it was actually created by the PIP command, and
- the font was then placed in the existing .CAR file.
-
- 12) G>SETFONT
- SETFONT>ORLEANS.CAR -L:3 -L=1 -F:C - Load a (French) MasterPaint font.
- SETFONT>ORLEANS.FNT -L:3 -L=0 -F:S -S - Save as a (USA) Stop Press font.
- SETFONT>
-
- - This example takes place on a PCW configured to use language 3 (UK),
- hence the -L:3 on every line. The example converts the MasterPaint "Orleans"
- font to Stop Press form.
-
- 13) C>SETFONT
- SETFONT>HITEC-70.FNT /F:S -U:2 - Loads a Stop Press font in group 2.
- SETFONT>HITEC70.FNT /F:P /S -U:1 - Saves as a PRINTIT font in group 1.
- SETFONT>
-
- Result: Converts the Stop Press "HITEC-70" font to a PRINTIT font.
- ________________________________________________________________________________
-
- Other programs supplied with SETFONT:
- =====================================
-
- (ALTER.COM and SCRCHED.COM documented separately)
-
- CONVERT.PL3
- -----------
- A Spectrum +3 program. Run by typing LOAD "CONVERT.PL3" from +3BASIC. It is
- menu driven; the menu is like those in ALTER. Its purpose is to convert between
- fonts and screen files, in case you prefer using a screen designer to edit your
- font rather than ALTER.
-
- The three main options are:
-
- 1) Screen to headed CP/M.
-
- Will convert a font printed out on the screen to a CP/M type file which should
- be loaded using the /Z option.
-
- 2) Any CP/M to screen.
-
- Will convert a PCW or Spectrum type character set to a screen file. If you
- loaded a PCW type set, the "small" character set will be either blank, or the
- one you used last time. The option takes some time to get going but this is
- entirely the fault of +3DOS and nothing to do with me.
-
- 3) +3DOS to screen.
-
- Will convert a +3DOS font file to a screen file. For compatibility, this uses
- the screen printout of the default character set. It asks for RESET.SCR but you
- can use any character set as the base for this conversion. If you haven't got a
- suitable screen to superimpose the +3DOS character set on, then you are given
- the option of converting a CP/M character set to a background screen.
-
- CONVERT.PL3 will only work on the Spectrum +3. To edit a character set as a
- screen on a PCW, see note 9 below.
-
- FONTSBR.BAS
- -----------
- A subroutine that runs under MALLARD BASIC. It should be MERGED with your
- program - it occupies lines 40000-40200. The POKES that must be made before use
- are listed in REM statements inside. It is useful if you only wish to redefine
- one or two characters, or convert programs from other computers which use UDGs.
- ________________________________________________________________________________
-
- Compatibility with other character set programs, and miscellaneous information:
- ===============================================================================
-
- 1. In general, programs (including ALTER.COM and SCRCHED.COM) don't like files
- with headers, +3DOS type character sets, EMS files, or other unusual formats.
- Load these with SETFONT first, if they are SETFONT formats, or with their own
- program if they aren't, and save them as standard files using SETFONT. Fonts
- in the PRINTIT (/F:P), STOP PRESS (/F:S) and MASTERPAINT (/F:C) formats should
- only be used with their own programs or SETFONT.
-
- 2. As far as I know, the SETFONT suite are the only CP/M character set programs
- that run on the Spectrum.
-
- 3. If you use character designers which don't save a 'plain' binary file, and
- you want to use a SETFONT option on them (eg convert them to a PRINTIT font)
- load the character set their way and save it with SETFONT.
-
- 4. SETFONT v1.0 had two support programs SELFLOAD.COM and PRINTFNT.COM. These
- are now included as part of SETFONT.COM.
-
- 5. Some other programs only like fonts with a .UDG filetype.
-
- 6. The LocoScript 1 screen characters can be loaded or saved with the /F:E
- option.
-
- 7. The LocoScript 2 and 3 screen characters are stored in the file SCRCHAR.JOY.
- Its main character set can be loaded with SETFONT and the /F:+ option, but to
- edit it you should use SCRCHED.COM (supplied with SETFONT v1.01). The
- LocoScript 2/3 start-of-day files (JnnnLOCO.EMS) cannot be used with /F:E.
-
- 8. Editing a font as a screen on the PCW:
- a. PCWDRAW (PCW-World G/103) picture files can be loaded by SETFONT.
- b. Newsdesk International format files can be loaded by SETFONT.
- c. .PCP (MasterPaint) or .SPC (Stop Press/MicroDesign) files can be loaded by
- SETFONT but are inverted; load with /I.
- d. .G (Fleet Street Editor) files should be loaded with the /I and /Z options
- set.
- In all of the above cases, the file saved by the program will be longer
- than is required. Load it with SETFONT and resave to save memory.
- Loading fonts into the programs:
- a. PCWDRAW will load a font happily.
- b. Stop Press will load the font as a canvas, but unless you save it from
- SETFONT with /I it will appear in inverse video. The rest of the screen
- will be filled with copies of bits of the font.
- c. I don't know what the other programs mentioned above will do about loading
- PCW fonts. You may have to use "Graphics Transfer" to change the fonts to
- a recognisable format.
-
- - * -
- Spectrum +3 users:
-
- I have said already that the +3DOS format file contains only those characters
- which can be redefined under +3DOS. The Spectrum +3 manual at no point mentions
- that it is possible to redefine characters other than the UDGs, although a hint
- may be obtained from the description of the CHARS system variable (p195 of the
- +3 manual). Some programs (like +3 PAW) come with a selection of fonts in this
- format.
- To load a +3DOS font, go to +3BASIC and type:
-
- CLEAR 48383
- LOAD "font.bin" CODE 48384
- POKE 23606,0:POKE 23607,188
-
- This unfortunately puts the top 16k of the computer off limits. This is
- necessary since if the font is stored in banked memory, you cannot use the
- +3BASIC editor. If you are confident that your program will never need the
- attentions of the editor, begin it with:
-
- 1 CLEAR 64599
- 2 LOAD "font.bin" code 64600
- 3 POKE 23606,88
- 4 POKE 23607,252
-
- To go back to using the standard font, use
-
- POKE 23606,0:POKE 23607,60
- ________________________________________________________________________________
-
- Technical information:
- ======================
-
- Standard characters are bitmapped in the following format:
-
- Byte 0 = top line.
- Byte 1 = second line.
- .
- .
- .
- Byte 7 = last line.
-
- The Spectrum +3 "small" characters use bits 7..3 only. Set bits 2..0 to 0.
-
- PRINTIT characters have 16 lines, 0..15. When saving, SETFONT converts by
- mapping the top line of the screen character onto the top two lines of the
- PRINTIT character, the second line of the screen character onto lines 3 and 4
- of the PRINTIT character, etc. When loading, SETFONT uses the odd-numbered
- lines of the PRINTIT character to make up a screen character.
- STOP PRESS characters are designed on a larger grid; the font is sent to the
- top left-hand corner of this grid to create a small font similar in size to the
- AMSTRAD or HITEC-70 typefaces.
- MASTERPAINT characters are saved in a strange format. When saving, SETFONT
- requires a file to modify (rather than generating a new one). This file should
- usually be a copy of STANDARD.CAR.
-
- SETFONT uses the USERF function in the BIOS jumpblock to determine which
- computer it is resident in. It conforms to the CP/M 3 conditional batch system;
- if there is an error (with 2 exceptions, listed below) it sends the "Failure"
- code to the BDOS. If the next CCP line is preceded by a colon (:) it will not
- be executed if SETFONT has failed.
-
- The exceptions are:
- 1. "Requires Amstrad PCW/CPC or Spectrum +3." Since this could be called under
- lower versions of CP/M, it is best not to use a CP/M 3 only call.
- 2. If the "delete (Y/N)?" question has been answered "No." The CCP prompt is
- returned to but no failure code is sent.
-
- GETERL users: SETFONT sends the following codes:
-
- 0000: OK.
- FF01: Can't erase file.
- FF02: File not found.
- FF03: File too short.
- FF04: General read error.
- 0005: The "Erase Y/N" question was answered "no."
- FF06: General write error.
- FF07: Wrong password entered.
- FF08: Out of memory.
- FF09: Couldn't find a font using the /F:E option.
- FF0A: MasterPaint font was the wrong size.
-
- Assembly of SETFONT.Z80:
- ------------------------
- The program has been written to assemble with the Microsoft M80 assembler
- (PCW World supply it on disc L/107). The .REL file produced needs no additional
- modules to be linked with it.
-
- - * -
-
- Documentation by John Elliott, 21 March 1994. All trademarks acknowledged.
-