************************************************************* * * * CTB Make voor GEM Spooler v2.2 * * * * (c) Steven Van Rossen, Marc Billiet, juli 1992 * * * ************************************************************* Doel van CTBMake: ----------------- CTBMAKE.TTP is een TOS programma dat CTS bestanden (GEM Spooler Character Table Source) omzet in een GEM Spooler 'karaktervertaaltabel', kortweg: Filter (extensie CTB; Character Table). Een CTS is een tekstbestand dat beschrijft hoe de karaktertabel is opgebouwd. De karaktertabel zelf wordt dan door GEM Spooler gebruikt om ASCII karakters voor uw printer verstaanbaar te maken. Een CTS bestand aanmaken: ------------------------- 1. De CTS 'taal': ---------------- Om precies aan te geven hoe de karaktertabel er moet uitzien, maken we gebruik van de CTS 'taal'. De syntax van deze taal is eenvoudig maar krachtig: met een aantal woorden en symbolen kan worden aangegeven hoe elk karakter moet omgezet worden. Daarbij moet men enkel die karakters omzetten die werkelijk vertaald moeten worden ! Om het schrijven van een CTS te vereenvoudigen, biedt CTBMAKE de mogelijkheid om makro's te definiren (C programmeurs kennen dit pricipe wel). Een makro staat symbool voor een reeks printercodes die men vaak nodig heeft. Door met een makro te werken, vermijdt men overdreven tijpwerk. De CTS taal staat toe dat makro's genest worden (een makro roept een reeds bestaande makro op). CTS opdrachten die vaak gebruikt worden mag men onderbrengen in een afzonderlijk 'include' bestand. Dit bestand wordt dan tijdens de omzetting in het hoofdbestand opgenomen. 2. Syntax: ---------- CTS bestanden kunnen de volgende symbolen en sleutelwoorden bevatten (optionele sleutelwoorden worden met rechte haakjes [] weergegeven): - Symbolen: * Geeft het begin van een lijn met commentaar aan, bv. : * Nu volgt mijn CTS: xxx x: 0, 1, ..., 9. Nummers. Bv. : 192, 65, 97, 127 $ Prefix voor hexadecimale nummers, bv. : $ff % Prefix voor binaire nummers, bv. : %10110001 = Is gelijk aan. Bv. : 139 = 105, 8, 22 'x' Enkele aanhalingstekens geven een ASCII teken aan: '' = 'i', 8, 22 "CTS name" De naam van de (te maken) karaktertabel wordt tussen dubbele aanhalingstekens geplaatst. GEM Spooler toont deze naam in de Printer dialoog (Filter). Een naam kan tot 16 tekens lang zijn. Bv. "HP Duits" Sleutelwoorden: #include "myfile" Include opdracht. Deze opdracht vertelt CTBMAKE dat alle informatie in 'myfile' mee moet gecompileerd worden. macro MYMACRO [(myparam)] code1, code2, ... [(myparam)] ... Definieert een macro. Bv.: macro ESCAPE 27 macro HPROMAN8 ESCAPE,40,56,85 macro NORMAL HPROMAN8 macro IBM1 ESCAPE, '7' macro IBM2 ESCAPE, '6' macro INTERNATIONAL ESCAPE, 'R' macro USA INTERNATIONAL, 0 macro GERMAN(char) INTERNATIONAL, 2, char, USA Een macro met parameter wordt steeds uitgevoerd met een waarde. Deze waarde vervangt 'myparam' in de reeks van codes waarvoor de macro sym- bool staat. Macro's kunnen genest worden (in een macro wordt een andere macro opgeroepen), maar niet recursief (een macro die zichzelf oproept, vormt een oneindige lus !). Een geneste macro kan geen parameters be- vatten. Voorbeelden: 126 = GERMAN(126) (met geneste macro INTERNATIONAL, zonder parameters !) Een volledig voorbeeld van een CTS bestand vindt u aan het einde van dit tekstbestand. CTBMAKE opstarten ----------------- CTBMAKE.TTP is een TOS programma dat met parameters moet gestart worden. De syntax luidt: [schijf:pad]bron [[schijf:pad]doel] Als het doelbestand niet wordt opgegeven, neemt CTBMAKE de naam van het bron- bestand en vervangt de extentie door CTB. Voorbeeld: start CTBMAKE.TTP (dubbelklik) vanop de desktop en een commando- lijn verschijnt; geef het pad van het bronbestand en de naam van het bron- bestand (c:\cts\epson.cts) in en druk return (of klik op OK). CTBMAKE conver- teert vervolgens EPSON.CTS naar EPSON.CTB CTBMAKE kan ook vanuit een TOS shell opgestart worden, bv. : ctbmake c:\cts\epson.cts maakt een bestand aan met de naam 'epson.ctb' in c:\cts Lees ook de handleiding van GEM Spooler voor meer informatie over karakter- tabellen. Marc Billiet, Steven Van Rossen, juni 1992 Voorbeeld van een CTS bestand: * ----------------------------------------------- * * GEM Spooler v2.2 Character Table Source * * ----------------------------------------------- * * Filter name: "PC-8 Denmark" * Macro's: macro NORMAL PC8DENM macro HPROMAN8(x) 27,40,56,85,x,NORMAL macro ASCII(ascii) 27,40,48,85,ascii,NORMAL macro ECMA-94(x) 27,40,48,78,x,NORMAL macro PC8(x) 27,40,49,48,85,x,NORMAL macro PC850(x) 27,40,49,50,85,x,NORMAL macro PC8DENM 27,40,49,49,85 macro ISO04(x) 27,40,49,69,x,NORMAL macro ISO11(x) 27,40,48,83,x,NORMAL macro ISO15(x) 27,40,48,73,x,NORMAL macro ISO16(x) 27,40,52,83,x,NORMAL macro ISO17(x) 27,40,50,83,x,NORMAL macro ISO21(x) 27,40,49,71,x,NORMAL macro ISO60(x) 27,40,48,68,x,NORMAL macro ISO69(x) 27,40,49,70,x,NORMAL macro LEGAL(x) 27,40,49,85,x,NORMAL * Character translation data: '' = 128 '' = 129 '' = 130 '' = 131 '' = 132 '' = 133 '' = 134 '' = 135 '' = 136 '' = 137 '' = 138 '' = 139 '' = 140 '' = 141 '' = 142 '' = 143 '' = 144 '' = 145 '' = 146 '' = 147 '' = 148 '' = 149 '' = 150 '' = 151 '' = 152 '' = 153 '' = 154 '' = PC8(155) '' = 156 '' = PC8(157) '' = PC8(225) '' = PC8(159) '' = 160 '' = 161 '' = 162 '' = 163 '' = 164 '' = 165 '' = PC8(166) '' = PC8(167) '' = 168 '' = 218 '' = 191 '' = PC8(171) '' = PC8(172) '' = 173 '' = PC8(174) '' = PC8(175) '' = 169 '' = 166 '' = 157 '' = 155 '' = HPROMAN8(161) '' = 170 '' = 167 '' = HPROMAN8(171) '' = HPROMAN8(168) '' = LEGAL(125) '' = 20 '' = LEGAL(94) '' = LEGAL(92) '' = LEGAL(126) '' = 21 '' = 236 '' = 224 '' = 225 '' = 226 '' = 227 '' = 228 '' = 229 '' = 230 '' = 231 '' = 232 '' = 233 '' = 234 '' = 235 '' = 237 '' = 238 '' = 239 '' = 240 '' = 241 '' = 242 '' = 243 '' = 244 '' = 245 '' = 246 '' = 247 '' = 248 '' = 249 '' = 250 '' = 251 '' = 252 '' = 253 '' = PC-850(252) '' = ECMA-94(175) * End of CTS