Petter Reinholdtsen <pere@td.org.uit.no>
1996-10-15
Internt notat for Data Consult AS

Utkast til design av printer-filter

Jeg foreslår et program som basert på printernavn slår opp printer-typen i en tabulatorseparert fil sf, og basert på denne leser inn alle printer-spesifikke variabler (esc-sekvenser) fra en annen fil <type>.cap. I tillegg leser den inn printer-spesifikke overstyringer fra et felt i sf. Til slutt overstyres variablene av miljøvariabelen PRINTERCAP.

Dette muliggjør utsending av standardoppsett for skriverne, lokale tilpassinger og endringer i oppsett fra utskrift til utskrift.

For videre tilpassing kan det lages en utskriftsmal der det er markert i hvilken rekkefølge de forskjellige skriverkodene/variablene skal skrives ut. Denne tilpasses så den enkelte skrivertype.

Variablene har form av nøkkelord med en byte-sekvens som skal sendes til skriveren for å utføre de ønskede kommandoer. Elementene i variabellistene skilles med kolon. Byte-sekvensene kan inneholde vanlige UNIX esc-sekvenser (\r=[return], etc). Det hele skal legges tett opp til innholdet i UNIX termcap.

Programmet programmeres i ANSI C for mest mulig portabilitet, men kan også kodes i ANSI C++ som kan enkle vedlikehold av koden.

Programmet bør ta hensyn til tegnsett/enkoding, og om nødvendig konvertere mellom tegnsett.

Filformater

sf

<name><type><vars/cap>
...

<type>.cap

[ <nøkkelord>=<innhold>: .. ]

Aktuelle nøkkelord

Fra det framviste C-programmet ser jeg at i allefall følgende type sekvenser må kunne settes:
reset
sett skuff
sett skrifttype
sett skriftstørrelse
tegnsett