The Coupé's built in font is a bitmapped font for display in any mode and is controlled by the CSIZE command for spacing and scaling.
The font comes from ROM1 and is stored in compressed form (5(columns)x7(rows) per character taking 600bytes vs 1096bytes) this is then decompressed as 8x8 (padded out by adding a two blank columns at the start and one at the end of the character and one blank row at either top or bottom depending on the character) and copied to the CHARS (SVAR 566) & UDGS (SVAR 635) areas upon boot.
The default size is CSIZE 8,9 with an addional pixel space on the bottom for vertical spacing.
In MODE 3 CSIZE 8,8 will give 64 columns, CSIZE 6,8 will display as 85 columns (1 padded column at start and end removed).
CSIZE can double the height of fonts to 8x16, other font sizes are only availiable with MasterBASIC.
The font exists at location 20880 (default) in ASCII order starting with space (32/0x20) and runs for 768 bytes for standard ASCII and 1096 bytes for the extended font.
Fonts can be easily changed by loading the new font data into this location.
The extended font space is controlled by the BLOCKS command to toggle in/out the ZX Spectrum compatible block-UDG's.
The extended font space at startup (BLOCKS 1) contains the ZX Spectrum blocks starting at offset 128 (UDGS area) entering BLOCKS 0 will flip the contents to the alternative space which by default contains the uppercase/lowercase cursors and the 'é' character used on the splash screen for 'Coupé'.
On the SAMDOS disk and MGT Utility Tapes is a font loader program to put additonal foreign characters (É æ Æ ô ö ò û ù ÿ Ö Ü ¢ £ ¥ ₧ ƒ á í ó ú ñ Ñ ª º ¿) into the extended font space, as before the BLOCKS command will swap in-out the ZX Spectrum blocks but retain the addional foreign characters.
Note that with the additonal fonts loaded the cursor UDG's are overwritten.