home *** CD-ROM | disk | FTP | other *** search
/ ftp.barnyard.co.uk / 2015.02.ftp.barnyard.co.uk.tar / ftp.barnyard.co.uk / cpm / walnut-creek-CDROM / DEMON / AMSTRAD / SETFONT.ARC / SETFONT.DOC < prev   
Text File  |  1994-03-22  |  31KB  |  690 lines

  1. SETFONT v1.02                                          21 March 1994, J. Elliott
  2. ================================================================================
  3.  
  4.  SETFONT.COM is a CP/M program which will run on an Amstrad PCW or CPCº series
  5. computer or on a Sinclair Spectrum +3, under the CP/M operating system in each
  6. case. It is a Character Set Manager and it has been designed to handle many
  7. types of PCW/CPC/Spectrum screen character sets. It will convert between
  8. different types, allowing you to print the characters on the printer, make them
  9. self-loading and even use them in LocoScript. Or you can use it to combine
  10. characters from as many different fonts as you want.
  11.  
  12. º: CPC operation untested.
  13.  
  14.  The command line is:
  15.  
  16. A>SETFONT filename.ext {/option /option ...}
  17.  
  18. or
  19.  
  20. A>SETFONT /H
  21.  
  22. or
  23.  
  24. A>SETFONT
  25.  
  26.   The first command will load or save a character set according to the options
  27. (listed below). The second will print a Help screen explaining the options.
  28. The third variant will enter a multiple command mode (like PIP does).
  29.   You can use the syntax -option instead of /option if you want to.
  30.  
  31.   There are seven main file types:
  32.  
  33. 1. Amstrad CP/M       - holds all PCW/CPC characters, or one of the two
  34.                        Spectrum +3 character sets.
  35. 2. Spectrum +3 CP/M  - holds all Spectrum characters.
  36. 3. Spectrum +3 +3DOS - holds only those characters which can be redefined under
  37.                        +3DOS, nos. 32-127. The file has a +3DOS header record
  38.                        so that it can be loaded without using the COPY...TO
  39.                        SPECTRUM FORMAT command. On the Spectrum, characters
  40.                        are taken from one of the two character sets.
  41. 4. PRINTIT           - holds characters 32-224. See below for a full explanation
  42.                        of the PRINTIT format.
  43. 5. EMS (or EMT)      - the file you boot your computer from contains a
  44.                        character set. This set will either be in format 1 or 2,
  45.                        depending on which computer you have. SETFONT can extract
  46.                        or change this "hidden" character set.
  47. 6. Stop Press        - But only those Stop Press fonts with the right lettering
  48.                        size (eg HITEC-70).
  49. 7. MasterPaint       - But only those MasterPaint fonts with the right lettering
  50.                        size (eg STANDARD, ORLEANS).
  51.  
  52.   Amstrad computers cannot save the Spectrum +3 CP/M format; otherwise, all
  53. formats are usable on all computers.
  54.  
  55. There now follows a detailed guide to the available options.
  56.  
  57. The /B and /E options:
  58. ----------------------
  59.  
  60.   These options specify a range of characters to be changed. The entire file
  61. will still be loaded but only the specified characters will be used.
  62.  
  63.   /B specifies the first character to change. /E specifies the last. Both these
  64. options are inclusive. If a /B or /E option is omitted, the start or the end,
  65. respectively, of the font will be used.
  66.  
  67.   The options are formed /B:n or /B=n (and the same for /E). If a colon is used
  68. in the option, the character chosen is from the "large" set on a Spectrum +3.
  69. If an = sign is used, the "small" character set is the one used. On a PCW, both
  70. of these affect the same character set. The number n after the colon or = sign
  71. is from 0-255 (see your manual for a list of character numbers).
  72.  
  73.   The /B and /E options can only be used when loading. They are ignored when
  74. saving.
  75.  
  76.   Note that while the other options (/F, /Z etc.) control how the font file is
  77. loaded from disc, these options have nothing to do with the type of disc file
  78. loaded; it just specifies how much to use. If you tell it to change characters
  79. outside the range of a particular file, SETFONT will do the best it can. For
  80. example, if you are loading with /F:+ (see below) and you use /B:0 /E:64, only
  81. the characters 32-64 will be changed, since only these were in the disc file.
  82. You cannot load short files like this; /B:32 /E:127 is not a substitute for
  83. /F:+. It may have a similar effect, but the disc file loaded from would have to
  84. be a full 2k/4k one, not a +3DOS one.
  85.  
  86.   If a /B or /E option is used twice, the second option is used. If the number
  87. in a /E option is lower than that in a /B option, the second option is ignored.
  88.  
  89. Examples:
  90.  
  91. 1. /B:32        -Loads from (large) character 32 to end.
  92. 2. /E=64        -Loads from start to (small) character 64.
  93. 3. /B:65 /E:90  -Loads (large) characters 65-90 (A-Z)
  94. 4. /B:65 /E=90  -PCW/CPC: As (3) above. Spectrum: Loads all large characters
  95.                                      from 65 and all small characters before 90.
  96. 5. /E:64 /B:65  -Second option is invalid. (Large) characters 0-64 loaded.
  97. 6. /B:65 /E:64  -Second option is invalid. (Large) character 65-end loaded.
  98.  
  99. The /F option:
  100. --------------
  101.   The /F option selects a different file format. The syntax is /F:x or /F=x
  102. The /F:x is the standard version while /F=x gives extra options on the Spectrum.
  103.  
  104. Option    File format on PCW/CPC          File format on Spectrum
  105. ___________________________________________________________________________
  106. none      All characters in 2048 byte     All characters in 4096 byte
  107.           PCW file.                       Spectrum file.
  108.  
  109. /F:+      Characters 32-127 in a 768      Large characters 32-127 in a
  110.           byte +3DOS type file with       768 byte +3DOS type file with
  111.           a +3DOS header.                 a +3DOS header.
  112.  
  113. /F=+      As /F:+ above                   Small characters 32-127 in a
  114.                                           768 byte +3DOS type file with
  115.                                           a +3DOS header.
  116.  
  117. /F:A      All characters in 2048 byte     All large characters in 2048
  118.           PCW/CPC file.                   byte PCW/CPC file.
  119.  
  120. /F=A      As /F:A above                   All small characters in 2048
  121.                                           byte PCW/CPC file.
  122.  
  123. /F:C      Characters 32-126 in a          Large characters 32-126 in a
  124.           MasterPaint font file.          MasterPaint font file.
  125.  
  126. /F=C      As /F:C above                   Small characters 32-126 in a
  127.                                           MasterPaint font file.
  128.  
  129. /F:E      All characters in a start-      All characters in a start-of-day
  130.           of-day type file.               type file.
  131.  
  132. /F=E      As /F:E above                   *Large characters only in a start-
  133.                                           of-day type file.
  134.  
  135. /F:P      Characters 32-224 in PRINTIT    Large characters 32-224 in
  136.           font file.                      PRINTIT font file.
  137.  
  138. /F=P      As /F:P above                   Small characters 32-224 in
  139.                                           PRINTIT font file.
  140.  
  141. /F:S      Characters 33-125 in a Stop     Large characters 33-125 in
  142.           Press font file. The letters    a Stop Press format file.
  143.           have to be the size of those
  144.           in HITEC-70.
  145.  
  146. /F=S      As /F:S above                   Small characters 33-125 in
  147.                                           a Stop Press format file.
  148.  
  149. /F:?      This option is different. It is only useful when loading, since
  150. /F=?      what it does is to guess the font format from the disc file. It
  151.           is useful if you have a file with a name like MYFONT.BIN and you
  152.           don't know which format you saved it in. It cannot recognise
  153.           EMS type files because they don't have a fixed format.
  154.  
  155. * Note that /F=E above restricts the font to LARGE characters, not small ones.
  156.  
  157.   The references to start-of-day files need some explaining. When you first turn
  158. on, CP/M is booted from a file called ???CPM3.EMS or ???CPM3.EMT. This file
  159. contains a font, the location of which is different for each EMS/EMT file. The
  160. /F:E option is used to discover where this font is, and then load it or save it.
  161. When you are saving in this format, it is ESSENTIAL that the EMS/EMT file:
  162.   a) Exists. Unlike all other options except /F:C, this one modifies rather
  163.     than replaces the destination file when saving.
  164.   b) Contains a recognisable font. Essentially, this means that character no. 0
  165.     must not have been changed if this file has been modified before.
  166.   The /F=E option is so that the Spectrum +3 can use Amstrad PCW/CPC .EMS type
  167. files, which only contain the "large" font. A good rule of thumb is to use /F:E
  168. if you are working with files from your sort of computer and /F=E when you are
  169. dealing with files from different computers.
  170.  
  171.   When you are using MasterPaint (/F:C) fonts, you should be aware that:
  172.   a) When saving, the file being saved to must exist. Like /F:E, this modifies
  173.     the destination file rather than writing a new one.
  174.   b) The supplied MasterPaint fonts are saved in language 1 (French). To
  175.     compensate for this, use the /L=1 option (see /L below).
  176.  
  177. The /H option:
  178. --------------
  179. /H overrides all other options and prints a helpscreen.
  180.  
  181. The /I option:
  182. --------------
  183.   This inverts the font you're loading or saving (if /B or /E is being used
  184. while loading, only the bit being loaded is inverted). Syntax is /I.
  185.  
  186. The /L option:
  187. --------------
  188.   The /L option is formed in two ways:
  189.  
  190. /L:n tells SETFONT which language the computer is currently using.
  191. /L=n tells SETFONT which language the font file should be in.
  192. In both cases n is a number from 0-7. If only one of these options is present,
  193. the other is assumed to be 0. If neither is present, no language changes are
  194. made.
  195.  
  196. Examples:
  197. /L:4      - File in language 0 (USA; assumed); Computer in language 4 (Danish)
  198. /L=6      - File in language 6 (Italian); Computer in language 0 (USA; assumed)
  199. /L:1 /L=3 - File in language 3 (UK); Computer in language 1 (French).
  200.  
  201.   This option can only be used when the computer is using the device CRT as its
  202. output (the main screen). If console output is being diverted (eg ECHO OFF) the
  203. language will not change.
  204.  
  205. The /M option:
  206. --------------
  207.   /M provides Multiple command mode options. They are only valid in multiple
  208. command mode and are ignored otherwise. See the multiple command mode section
  209. for a detailed description.
  210.  
  211. The /S option:
  212. --------------
  213.   If this option is present, the computer will save the font to a disc file
  214. instead of loading from one. The following options behave differently:
  215.  
  216. /B and /E: No effect.
  217. /Z: See /Z below.
  218.  
  219. The /U option:
  220. --------------
  221.   This option tells the computer to use a different user area (PCW users may
  222. know these as "groups") from the current one. The syntax is /U:n - for example,
  223. to use area 12, add /U:12 to the command line.
  224.  
  225. The /Z option:
  226. --------------
  227.   The /Z option is concerned with the "header record" - an extra 128 bytes at
  228. the beginning of the file.
  229.   When loading, /Z informs the computer that such a record is present. This is
  230. used with character set files saved under operating systems which automatically
  231. add a header record, such as +3DOS. If you are using the /F:+ or /F=+ options,
  232. this option is selected automatically. This can also sometimes be used on
  233. self-installing character sets (eg CHARSET.COM) if they were made using the /Z
  234. option above, the obsolete program SELFLOAD (supplied with SETFONT v1.0), and
  235. some other helpful font editors. If they weren't you'll soon find out - you'll
  236. either see a mess or the wrong characters, perhaps with different top and
  237. bottom halves!
  238.  
  239.   When saving, /Z causes the font to be saved with self-load code at the
  240. beginning. The file specified should be a .COM file; then when you type its
  241. name, it will load by itself. You should only set this option with standard or
  242. Amstrad (/F:A) fonts - none of the other special formats.
  243.  
  244.                                   - * -
  245.  
  246. The Multiple Command Mode:
  247. ==========================
  248.  
  249. The multiple command mode is entered by typing SETFONT. You will see:
  250.  
  251. SETFONT v1.02 Multiple Command Mode
  252. Type /H for help
  253.  
  254. SETFONT>
  255.  
  256.  Type your command just as you would from the A> prompt, except that there is
  257. no need to have SETFONT in front of it.
  258.  If the command begins with a : (eg :NEWFONT.FNT /F:S /S) then it is a
  259. "conditional command" and will not be executed if the last SETFONT command
  260. has failed. Eg:
  261.  
  262. SETFONT>NEWFILE.BIN /F:?
  263. Font file not found: NEWFILE.BIN
  264. SETFONT>:NEWFILE.UDG /F:S            (Nothing happens)
  265. SETFONT>
  266.  
  267. but
  268.  
  269. SETFONT>NEWFILE.BIN /F:?
  270. Guess: +3DOS format.
  271. Character set loaded.
  272. SETFONT>:NEWFILE.UDG /F:S            (Loads font)
  273. Character set loaded.
  274. SETFONT>
  275.  
  276. The /M options operate as follows:
  277.  
  278. /M:E has an "Else" action. It reverses the status of the conditional command;
  279.      so if "success" was reported it becomes "failure" and vice versa.
  280. /M:+ tests whether the computer is a PCW/CPC or a Spectrum +3. "Success" is
  281.      reported if the computer is a +3; otherwise "failure".
  282.   Similarly, /M:C reports success if the computer is a CPC and /M:P reports
  283. success if a PCW is being used.
  284.  
  285. A /M option should be treated as a command all by itself:
  286.  
  287. SETFONT>FILE1.UDG
  288. File not found: FILE1   .UDG       (Failure)
  289. SETFONT>/M:E                       (ELSE changes to success)
  290. SETFONT>:M:FILE2.FNT /S /F:P       (Saves font)
  291. SETFONT>
  292.  
  293. SETFONT>/M:+
  294. SETFONT>:PLUS3.BIN /F:+            (If +3)
  295. SETFONT>/M:C
  296. SETFONT>:CPC.UDG                   (If CPC)
  297. SETFONT>/M:P
  298. SETFONT>:PCW.FNT /F:S              (If PCW)
  299. SETFONT>
  300.  
  301. If the command begins with a ; it will be ignored. So:
  302.  
  303. SETFONT>;Hello!
  304.  
  305. will do nothing.
  306.  
  307.                                   - * -
  308.  
  309. Explanation of PRINTIT (/F:P /F=P)
  310. ==================================
  311.   PRINTIT is a PD program which prints text files on Epson-compatible printers
  312. in different fonts. PCW-World supply it in volume U/102. To print a file using
  313. a font saved with SETFONT, use:
  314.  
  315.         A>SETFONT myfont.fnt -S -F:P
  316.         A>PRINTIT -Fmyfont.fnt textfile.asc
  317.  
  318.   "True" PRINTIT fonts have characters designed on a 16x8 grid. When SETFONT
  319. converts them to an 8x8 grid for screen display, detail is lost. This does not
  320. happen with fonts saved in PRINTIT format by SETFONT, because they never had
  321. the extra detail anyway.
  322.   To print LocoScript files with PRINTIT, set them up for 15 pitch and save
  323. them as Page Image ASCII.
  324.   PRINTIT will only work on the Spectrum if (i) you use the RS232 printer socket
  325. or (ii) you cut a wire in the printer lead (see CP/M manual, p64)
  326.  
  327.                                   - * -
  328.  
  329. Possible errors/problems are:
  330. =============================
  331.  
  332. 1. "File ????????.??? exists, delete (Y/N)?"
  333.    -The file you are trying to save to is already on disc. Press Y to delete
  334.     or N to abort.
  335. 2. "Read error : ????????.???"
  336.    -There are several reasons for this:
  337.     1. The file is too short. You may need to use the /F:? option.
  338.     2. There is no diskette in the drive.
  339.     3. The diskette is corrupted (e. g. a bad sector)
  340. 3. Characters are unrecognisable; they all look like random dots.
  341.    -Either:
  342.     1. You are trying to load something that is not a character set. If you have
  343.        saved a RESET.UDG file then type SETFONT RESET.UDG; otherwise reboot or
  344.        try SETFONT xxxCPM3.EMx /F:E to read the font in your boot file (you
  345.        won't be able to see what you're typing, so be careful).
  346.     2. Perhaps you have loaded a Stop Press file without the proper /F:S option,
  347.        or a MasterPaint font withwout /F:C. Try reloading with /F:?.
  348. 4. Characters appear, but they are wrong - eg Prompt reads 1. or QN
  349.    -You are loading a file without the correct /F:+ or /Z options set. Try
  350.     reloading with /F:? to discover what type it is.
  351. 5. "Requires Amstrad PCW/CPC or Spectrum +3."
  352.    -You are trying to use the program on the wrong computer (e. g. an Osborne).
  353. 6. "Write error on file ????????.??? - Disc may be full"
  354.    -There are several reasons for this problem:
  355.     1. The diskette really is full.
  356.     2. The directory is full.
  357.     3. There is no diskette in the drive.
  358.     4. The diskette is corrupted (e.g. a bad sector)
  359. 7. "This file is password protected."
  360.    -You are trying to load, erase or otherwise access a password-protected
  361.     file. Type in the password and press RETURN.
  362. 8. "Cannot erase file:????????.??? - File may be protected."
  363.      -There are two possible reasons for this error:
  364.       1. The diskette is read-only.
  365.       2. The file is read-only.
  366. 9. You get two "squashed" characters in the one space, one above the other.
  367.     -You have loaded a normal font with the /F:P or /F=P option set.
  368. 10. You get the top or bottom halves of double-height characters.
  369.     -You have loaded a PRINTIT font without the /F:P or /F=P option set. You
  370.      will also get this if you have tried to use a self-loading font saved with
  371.      the /F=P or /F:P options; self-loading fonts can't compensate for this the
  372.      way that SETFONT does. See also (13) below.
  373. 11. The characters look faint and/or have lines missing.
  374.     -You have either:
  375.      1. Loaded a "true" PRINTIT printer font (as opposed to those saved by
  376.        SETFONT). These have to be compressed for screen viewing, and detail
  377.        will be lost.
  378.      2. Loaded a font with narrow outlines. Turn the brightness up or go into
  379.        inverse video with PALETTE 63 0.
  380. 12. "Out of memory."
  381.     -You need to have free memory up to D100H in the TPA for this program to
  382.      run. If there is not enough memory (e.g. you are using SID and some
  383.      large RSXs) then you will have to clear some.
  384. 13. You get just the top left-hand corner of a character.
  385.     -You have loaded a Stop Press font which is bigger than 8x8 in size.
  386.      The only Stop Press font which will load with /F:S is HITEC-70 or one you
  387.      saved yourself.
  388.  
  389.  
  390. Examples:
  391. =========
  392.  
  393. 1) A>SETFONT RESET.UDG /S
  394.  
  395. - will preserve the standard character set, so that you can restore it without
  396.   resetting your computer. You are strongly recommended to do this.
  397.  
  398. 2) A>SETFONT
  399.    SETFONT>M:CHARS.BIN /F:+ /S    - Save intermediate +3 font to M:CHARS.BIN
  400.    SETFONT>B:OTHER.UDG            - Load full font B:OTHER.UDG
  401.    SETFONT>M:CHARS.BIN /F:+       - Load M:CHARS.BIN over this.
  402.    SETFONT>B:MYFONT.UDG /S        - Save combined font to B:MYFONT.UDG
  403.    SETFONT>
  404.  
  405. Result: a new file MYFONT.UDG containing the characters SPACE to ~ from those
  406. already in the computer and all others from the file B:OTHER.UDG. Do not
  407. confuse this with (6) below. This one will create an intermediate file on drive
  408. M: containing characters from SPACE to ~ (plus ú and ñ)
  409.  
  410. 3) A>SETFONT C:USA.HED -U:6 -L:1 -Z
  411.  
  412. - will load USA.HED from group 6 of drive C:, remove the +3DOS or self-loader
  413.   header record and select the French language.
  414.  
  415. 4) G>SETFONT D:RUNME.COM /S -Z /F:A
  416.  
  417. - will save a .COM file to drive D: containing only the characters used on the
  418.   PCWs and CPCs. If you then type D:RUNME that character set will load itself.
  419.  
  420. 5) K>SETFONT H:PRINTER.FNT /F=P /S
  421.  
  422. - will save a font suitable for PRINTIT to drive H:. On the Spectrum +3, the
  423.   characters saved will be from the small font.
  424.  
  425. 6) SETFONT
  426.    <M:GRAPHICS.BIN /S             - save current font as M:GRAPHICS.BIN
  427.    <L:SERIF.UDG                   - load L:SERIF.UDG
  428.    <M:GRAPHICS.BIN /B:128 /E:159  - load (large) graphic characters from
  429.    <;Next bit only on +3          - Comment                       M:GRAPHICS.BIN
  430.    </M:+                          - IF the computer is a +3...
  431.    <:M:GRAPHICS.BIN /B=128 /E=159 - THEN load small graphics chars as above.
  432.    <L:SERIF2.UDG /S               - Save the whole lot to L:SERIF2.UDG
  433.    <
  434.  
  435.   This example is part of a .SUB file. It combines fonts as in (2) above,
  436. creating a new file L:SERIF2.UDG containing the graphic characters which were
  437. in the computer at the start and other characters from L:SERIF.UDG. Unlike (2),
  438. the intermediate file on drive M: (GRAPHICS.UDG) contains ALL the characters
  439. formerly in the computer.
  440.  
  441. 7) A>SETFONT B:TINY.FNT /S /F:S
  442.  
  443. - will save the character set between ! and } to disc in a form that can be
  444.   read by Stop Press.
  445.  
  446. 8) O>SETFONT F:UNKNOWN.BIN -F:?
  447.  
  448. - will try to load the file F:UNKNOWN.BIN, guessing which format it is in from
  449.   the size of the disc file.
  450.  
  451. 9) P>SETFONT
  452.    SETFONT>A:J20LOCO.EMS /F=E      - load the LocoScript v1.20 boot file.
  453.    SETFONT>:B:SCRIPT.BIN /F:+      - IF it was OK, load B:SCRIPT.BIN over it.
  454.    SETFONT>:A:J20LOCO.EMS /F=E /S  - IF that was OK, save back to the
  455.    SETFONT>                                                     LocoScript file.
  456.  
  457. Result: This will superimpose the +3 font B:SCRIPT.BIN on the LocoScript 1
  458. start-of-day file A:J20LOCO.EMS. Because character 0 has not been altered, it
  459. will be possible to use the /F=E option on this file again. /F=E is being used
  460. because JnnLOCO.EMS files do not contain the small characters.
  461.  
  462. 10) H>SETFONT
  463.     SETFONT>BOLDFONT.COM -Z -F:A  - Loads selfloading (large) BOLDFONT.COM
  464.     SETFONT>-M:+                  - IF using a +3...
  465.     SETFONT>:MINIBOLD.COM -Z -F=A - THEN load selfloading (small) MINIBOLD.COM
  466.     SETFONT>A:S10CPM3.EMS -F:E -S - Save it all to the +3 CP/M v1.0 boot file.
  467.     SETFONT>
  468.  
  469. Result: Similar to (9) above, but please note:
  470.  
  471.   1. BOLDFONT.COM and MINIBOLD.COM are self-loading character sets. MINIBOLD.COM
  472.     is designed for the Spectrum +3 "small" characters and only loads on the
  473.     Spectrum.
  474.   2. -F:E is used rather than -F=E. This only makes a difference on a Spectrum
  475.     and is being used here because the Spectrum SxxCPM3.EMS files do contain
  476.     small character sets.
  477.  
  478. 11) J>PIP JOINDUP.CAR=STANDARD.CAR[O] - Make a spare .CAR type file ready to
  479.     J>SETFONT                                                 accept a new font.
  480.     SETFONT>JOINDUP.UDG               - Load a normal file JOINDUP.UDG.
  481.     SETFONT>JOINDUP.CAR /F:C /S       - Save this font into the spare .CAR file.
  482.     SETFONT>
  483.  
  484. Result: A new MasterPaint file is created, containing the characters from
  485.        JOINDUP.UDG. Note that it was actually created by the PIP command, and
  486.        the font was then placed in the existing .CAR file.
  487.  
  488. 12) G>SETFONT
  489.     SETFONT>ORLEANS.CAR -L:3 -L=1 -F:C    - Load a (French) MasterPaint font.
  490.     SETFONT>ORLEANS.FNT -L:3 -L=0 -F:S -S - Save as a (USA) Stop Press font.
  491.     SETFONT>
  492.  
  493.  - This example takes place on a PCW configured to use language 3 (UK),
  494.   hence the -L:3 on every line. The example converts the MasterPaint "Orleans"
  495.   font to Stop Press form.
  496.  
  497. 13) C>SETFONT
  498.     SETFONT>HITEC-70.FNT /F:S -U:2        - Loads a Stop Press font in group 2.
  499.     SETFONT>HITEC70.FNT /F:P /S -U:1      - Saves as a PRINTIT font in group 1.
  500.     SETFONT>
  501.  
  502.  Result: Converts the Stop Press "HITEC-70" font to a PRINTIT font.
  503. ________________________________________________________________________________
  504.  
  505. Other programs supplied with SETFONT:
  506. =====================================
  507.  
  508. (ALTER.COM and SCRCHED.COM documented separately)
  509.  
  510. CONVERT.PL3
  511. -----------
  512. A Spectrum +3 program. Run by typing LOAD "CONVERT.PL3" from +3BASIC. It is
  513. menu driven; the menu is like those in ALTER. Its purpose is to convert between
  514. fonts and screen files, in case you prefer using a screen designer to edit your
  515. font rather than ALTER.
  516.  
  517. The three main options are:
  518.  
  519. 1) Screen to headed CP/M.
  520.  
  521.   Will convert a font printed out on the screen to a CP/M type file which should
  522. be loaded using the /Z option.
  523.  
  524. 2) Any CP/M to screen.
  525.  
  526.   Will convert a PCW or Spectrum type character set to a screen file. If you
  527. loaded a PCW type set, the "small" character set will be either blank, or the
  528. one you used last time. The option takes some time to get going but this is
  529. entirely the fault of +3DOS and nothing to do with me.
  530.  
  531. 3) +3DOS to screen.
  532.  
  533.   Will convert a +3DOS font file to a screen file. For compatibility, this uses
  534. the screen printout of the default character set. It asks for RESET.SCR but you
  535. can use any character set as the base for this conversion. If you haven't got a
  536. suitable screen to superimpose the +3DOS character set on, then you are given
  537. the option of converting a CP/M character set to a background screen.
  538.  
  539.   CONVERT.PL3 will only work on the Spectrum +3. To edit a character set as a
  540. screen on a PCW, see note 9 below.
  541.  
  542. FONTSBR.BAS
  543. -----------
  544. A subroutine that runs under MALLARD BASIC. It should be MERGED with your
  545. program - it occupies lines 40000-40200. The POKES that must be made before use
  546. are listed in REM statements inside. It is useful if you only wish to redefine
  547. one or two characters, or convert programs from other computers which use UDGs.
  548. ________________________________________________________________________________
  549.  
  550. Compatibility with other character set programs, and miscellaneous information:
  551. ===============================================================================
  552.  
  553. 1. In general, programs (including ALTER.COM and SCRCHED.COM) don't like files
  554.   with headers, +3DOS type character sets, EMS files, or other unusual formats.
  555.   Load these with SETFONT first, if they are SETFONT formats, or with their own
  556.   program if they aren't, and save them as standard files using SETFONT. Fonts
  557.   in the PRINTIT (/F:P), STOP PRESS (/F:S) and MASTERPAINT (/F:C) formats should
  558.   only be used with their own programs or SETFONT.
  559.  
  560. 2. As far as I know, the SETFONT suite are the only CP/M character set programs
  561.   that run on the Spectrum.
  562.  
  563. 3. If you use character designers which don't save a 'plain' binary file, and
  564.   you want to use a SETFONT option on them (eg convert them to a PRINTIT font)
  565.  load the character set their way and save it with SETFONT.
  566.  
  567. 4. SETFONT v1.0 had two support programs SELFLOAD.COM and PRINTFNT.COM. These
  568.   are now included as part of SETFONT.COM.
  569.  
  570. 5. Some other programs only like fonts with a .UDG filetype.
  571.  
  572. 6. The LocoScript 1 screen characters can be loaded or saved with the /F:E
  573.   option.
  574.  
  575. 7. The LocoScript 2 and 3 screen characters are stored in the file SCRCHAR.JOY.
  576.   Its main character set can be loaded with SETFONT and the /F:+ option, but to
  577.   edit it you should use SCRCHED.COM (supplied with SETFONT v1.01). The
  578.   LocoScript 2/3 start-of-day files (JnnnLOCO.EMS) cannot be used with /F:E.
  579.  
  580. 8. Editing a font as a screen on the PCW:
  581.    a. PCWDRAW (PCW-World G/103) picture files can be loaded by SETFONT.
  582.    b. Newsdesk International format files can be loaded by SETFONT.
  583.    c. .PCP (MasterPaint) or .SPC (Stop Press/MicroDesign) files can be loaded by
  584.      SETFONT but are inverted; load with /I.
  585.    d. .G (Fleet Street Editor) files should be loaded with the /I and /Z options
  586.      set.
  587.     In all of the above cases, the file saved by the program will be longer
  588.    than is required. Load it with SETFONT and resave to save memory.
  589.     Loading fonts into the programs:
  590.    a. PCWDRAW will load a font happily.
  591.    b. Stop Press will load the font as a canvas, but unless you save it from
  592.      SETFONT with /I it will appear in inverse video. The rest of the screen
  593.      will be filled with copies of bits of the font.
  594.    c. I don't know what the other programs mentioned above will do about loading
  595.      PCW fonts. You may have to use "Graphics Transfer" to change the fonts to
  596.      a recognisable format.
  597.  
  598.                                 - * -
  599. Spectrum +3 users:
  600.  
  601.  I have said already that the +3DOS format file contains only those characters
  602. which can be redefined under +3DOS. The Spectrum +3 manual at no point mentions
  603. that it is possible to redefine characters other than the UDGs, although a hint
  604. may be obtained from the description of the CHARS system variable (p195 of the
  605. +3 manual). Some programs (like +3 PAW) come with a selection of fonts in this
  606. format.
  607.  To load a +3DOS font, go to +3BASIC and type:
  608.  
  609.  CLEAR 48383
  610.  LOAD "font.bin" CODE 48384
  611.  POKE 23606,0:POKE 23607,188
  612.  
  613.  This unfortunately puts the top 16k of the computer off limits. This is
  614. necessary since if the font is stored in banked memory, you cannot use the
  615. +3BASIC editor. If you are confident that your program will never need the
  616. attentions of the editor, begin it with:
  617.  
  618. 1 CLEAR 64599
  619. 2 LOAD "font.bin" code 64600
  620. 3 POKE 23606,88
  621. 4 POKE 23607,252
  622.  
  623. To go back to using the standard font, use
  624.  
  625. POKE 23606,0:POKE 23607,60
  626. ________________________________________________________________________________
  627.  
  628. Technical information:
  629. ======================
  630.  
  631.   Standard characters are bitmapped in the following format:
  632.  
  633. Byte 0 = top line.
  634. Byte 1 = second line.
  635.    .
  636.    .
  637.    .
  638. Byte 7 = last line.
  639.  
  640. The Spectrum +3 "small" characters use bits 7..3 only. Set bits 2..0 to 0.
  641.  
  642.   PRINTIT characters have 16 lines, 0..15. When saving, SETFONT converts by
  643. mapping the top line of the screen character onto the top two lines of the
  644. PRINTIT character, the second line of the screen character onto lines 3 and 4
  645. of the PRINTIT character, etc. When loading, SETFONT uses the odd-numbered
  646. lines of the PRINTIT character to make up a screen character.
  647.  STOP PRESS characters are designed on a larger grid; the font is sent to the
  648. top left-hand corner of this grid to create a small font similar in size to the
  649. AMSTRAD or HITEC-70 typefaces.
  650.  MASTERPAINT characters are saved in a strange format. When saving, SETFONT
  651. requires a file to modify (rather than generating a new one). This file should
  652. usually be a copy of STANDARD.CAR.
  653.  
  654.   SETFONT uses the USERF function in the BIOS jumpblock to determine which
  655. computer it is resident in. It conforms to the CP/M 3 conditional batch system;
  656. if there is an error (with 2 exceptions, listed below) it sends the "Failure"
  657. code to the BDOS. If the next CCP line is preceded by a colon (:) it will not
  658. be executed if SETFONT has failed.
  659.  
  660.   The exceptions are:
  661. 1. "Requires Amstrad PCW/CPC or Spectrum +3." Since this could be called under
  662.   lower versions of CP/M, it is best not to use a CP/M 3 only call.
  663. 2. If the "delete (Y/N)?" question has been answered "No." The CCP prompt is
  664.   returned to but no failure code is sent.
  665.  
  666. GETERL users: SETFONT sends the following codes:
  667.  
  668. 0000: OK.
  669. FF01: Can't erase file.
  670. FF02: File not found.
  671. FF03: File too short.
  672. FF04: General read error.
  673. 0005: The "Erase Y/N" question was answered "no."
  674. FF06: General write error.
  675. FF07: Wrong password entered.
  676. FF08: Out of memory.
  677. FF09: Couldn't find a font using the /F:E option.
  678. FF0A: MasterPaint font was the wrong size.
  679.  
  680. Assembly of SETFONT.Z80:
  681. ------------------------
  682.   The program has been written to assemble with the Microsoft M80 assembler
  683. (PCW World supply it on disc L/107). The .REL file produced needs no additional
  684. modules to be linked with it.
  685.  
  686.                                  - * -
  687.  
  688. Documentation by John Elliott, 21 March 1994. All trademarks acknowledged.
  689.  
  690.