In our look at GEM so far we've covered most of the file types and last month we investigated the screen drivers, so now we'll move on to screen and printer fonts.
Six screen font files are provided in the GEMSYS directory on issue disc 2, 'GEM Applications'. These are in two groups, with the names 'IBMLSS??.FNT' and 'IBMLTR??.FNT, where ?? in each case is a number: 10, 14 or 18. The number refers to the font point size, and the 'SS' files are 'Swiss Style' fonts, while 'TR' files are the 'Dutch'. Any ideas what 'TR' means?
You can see these fonts in GEM Paint in text mode, because the system's fonts in the menus are built into the screen driver. The Paint typeface menu will list which other screen fonts are installed. By the way, GEM Write doesn't use the screen font files, so if you only want to use Write you can ignore them.
You may not be familiar with font point sizes, but if you look in the front of most books (though not usually manuals or magazines) on the publishers page, along with publishing history and the ISBN it will usually say something like "Set in 11 point Times Roman" or something similar. The point size is the overall size of the printed characters (both height and width) while the name that follows it is the type style used. You don't really need to know much about point sizes, except to remember that larger point numbers indicate larger characters.
The range of fonts in GEMSYS on disc 2 therefore provides 10, 14 and 18 point sizes directly, though these can be doubled in size in GEM by software manipulation. For example, 36 point is a doubling of the character definitions in the 18 point font file. As you'll have seen if you've used GEM already, this software manipulation of character sizes is far from satisfactory, producing very unconvincing results. The bigger they are the worse they look.
As usual on disc 4 Acorn has provided additional screen font files. Although the 10, 14 and 18 point sizes are duplicates of the names on disc 2, the files are more recent and are slightly larger. Use the newer ones, which give slightly better results. You'll also see there is a real 36 point size for each of the two styles and these should be copied to your GEMSYS directory to give a much better 36 point font than doubled 18 point. For a rough comparison of the quality of the resulting characters compare the file sizes. Four times the 18 point Dutch font file size is larger than the real 36 point Dutch file, but think of the compromises in expanding the area a character covers by four.
The 36 point data also can be doubled to provide a quite reasonable 72 point font. If you do this you might think you can have text in every possible point size up to 72, but wait a bit before getting carried away.
If the above screen font list isn't enough for you, you can also try any of the other 37 font files on disc 3 or those on disc 4 as screen font files for use in GEM Paint. The other files are actually printer font definitions, but they'll work quite well on the screen, although they won't produce text of the same size as screen fonts of the same point size. So long as you remember this they are useful additions and will extend your range of screen fonts considerably, but once again delay any decisions for the moment.
If you do want to try this, however, you'll also need to know that the system will only recognise and use one file in each style of a given point size. If you wanted to use, say 'EPSHSS10.FNT' at the same time as 'IBMLSS10.FNT', both 'Swiss Style' 10 point fonts, there's a bit more work to do, though it's only editing again.
Each of the styles and point sizes is indicated to the system by the first few bytes of each font file, so both the screen and the printer 10 point Swiss font files look the same to the system even though there are two different files. In effect the second 'same type' font you've defined in ASSIGN.SYS replaces the first, unless you change it to make it appear to be from a different font set.
EDBIN is the easiest way to do it, and each of the extra (duplicate type/size) font files will need to be changed. At the start of every font file the first two bytes are the font style number, and the next two are the point size. These are followed by the font name. All the fonts in each style must have the same style number and the same name, but these must be different for each style. If you therefore change the style and name in one set of the files the system will accept them as different and will use all of them.
For example, to use all the 'EPSLSSxx' printer fonts as well as the 'IBMLSSxx' screen fonts would obviously cause a clash as things stand. However, if you change the first byte of the style number in all the printer font files to say, 4, (the original was 2) and change the name, which can be up to 15 characters to say, 'Epsonswiss', everything will be OK.
Of course, you'll also have to make sure you copy all the appropriate files to your GEMSYS directory, as well as including the definitions in your ASSIGN.SYS file under the screen driver definition, otherwise they'll be ignored.
As we've already mentioned printer fonts, though not for the purposes of printing, let's take a look at printer fonts next.
The first and perhaps not too surprising point to make is that the printer font files are all 'printer graphics' font definitions, so they're not used by text applications such as GEM Write. However, what may be surprising is that they're not used by GEM Paint either. You might therefore be forgiven for wondering just what they are provided for, since neither of the supplied applications needs them.
If I were being completely cynical I might say something like, "Well they make the contents of the discs look a lot more impressive.". Of course, what I'm actually going to say is that they're supplied on the GEM discs in case you want to use additional applications of your own that run under GEM, but which don't provide their own printer font files.
If you do need to use any of these printer fonts you must include the appropriate font filename under the printer driver definition line in your ASSIGN.SYS file. The meanings are pretty obvious, 'EPS' means Epson, the next character is either an 'L', for low resolution (the minimum 9 pin capability), or an 'H', for high resolution. The next two characters are either 'SS' for Swiss or 'TR' for Dutch type-style, as we've already seen, while the final two digits are the point size. All of these files, naturally, have the extension 'FNT'.
Although the font files it might use are optional, the printer driver itself isn't. You must always declare a printer driver in your ASSIGN.SYS file if you want to print anything at all from GEM. The default driver supplied on disc 2 is 'EPSMONL6.SYS', which translated means Epson, monochrome, low resolution. It's basically for all Epson FX compatible 9-pin printers. If you have an Epson LQ compatible 24 pin printer you might prefer to replace the low resolution driver by 'EPSMONH6.SYS', which is the high resolution monochrome printer driver, not surprisingly located on disc 4. The printer driver used has no effect on text output, it only affects graphics mode printing. Printed text characters are, as usual, defined entirely by the printer's internal character definitions as all text output is sent as simple characters, so it's left for the printer's software to decide how to produce them. The GEM printer driver affects only the quality of graphics output from GEM Paint (and the resolution of printed characters if any application does use the printer font files). If you wish to use only Write you can therefore forget about changing the printer driver.
Basically the low resolution driver outputs graphics at 60 by 72 dots per inch, the lowest common denominator for 9 pin printers, though 24 pin models will handle this output perfectly well if you don't want the best quality your printer can provide. The high resolution driver outputs 24 bit graphics, probably in triple density which is 180 by 180 dots per inch, though I'm not sure because I haven't tried it.
If you don't have an Epson compatible printer all may not be lost. A few other printer drivers are included on disc 4, though the range is limited. The included drivers are:
|EPSCOLH6.SYS||–||Epson JX80 colour|
|HPLASRL6.SYS||–||Hewlett Packard Laserjet|
|HPLASRH6.SYS||–||Hewlett Packard Laserjet+|
|DIBCOLH6.SYS||–||Diablo C150 Colour ink-jet|
|DIBL6306.SYS||–||Diablo 630 daisy-wheel|
Of these, of course, the last one doesn't use font files under any circumstances. As for the rest, I can only echo David Harper's words more or less exactly. These printer drivers are very complex, as you can see they vary between 25K and 35K each. If none of them suits your printer and you're desperate to use GEM it's probably more sensible to change your printer than to attempt to produce a customised printer driver!
Anyone who is following all this really closely may have spotted that one driver file on disc 4 isn't in the list above. It's called 'IBMHP746.SYS' and it's not in the list above because it's a plotter driver. In theory it should suit a number of Hewlett Packard plotters, but I can't comment much beyond that because I don't own such a device. Naturally there are no font files because plotter output is in the form of 'move x,y' and 'draw x,y' instructions, very much like screen drawing commands in Basic.
Clearly a plotter is not the right sort of output device for GEM Paint or Write, but it might be just what you need for GEM Draw or GEM Graph.
There's one other '.SYS' file in GEMSYS on disc 2 which wasn't mentioned last month. It's called METAFIL6.SYS and you probably noticed that it was included in the original ASSIGN.SYS file, so what's it for?
Here's a chance to introduce a bit of culture into the Forum. Meta (pl. metae) is the Latin noun for a pillar or column, and in ancient Rome a stone column was used at each end of the circus in chariot racing to mark the turning point. In time 'meta' came to be used in colloquial speech as a general term, meaning any turning point or point of change.
Someone was being a bit subtle in naming the metafile therefore, since it's the file that allows one GEM application to read files created by another which stores data in a different format. It literally provides a sort of interapplication file exchange, permitting data files from one application, such as GEM Graph or Draw, to be read by another, such as Write. Each application stores its own data in the most efficient format for its own purposes, but for export to a different application files are converted to '.GEM' files, the translation instructions for which are in the metafile. GEM Paint doesn't need a metafile, the conversion is built into the program, and of course neither does GEM Write, so I can only suppose that the reason the metafile is supplied is the same as for the font files.
We'll round off our look at GEM with some general pointers on how to set up the system for your particular needs, concentrating on memory usage. Including everything is impossible, especially in a standard memory 512, and GEM has one more trick up its sleeve to trap the unwary. To find out about that though, you'll have to wait for next month's Forum.