[net.micro.amiga] printer driver character mapping question

crum@utah-cs.UUCP (Gary L. Crum) (06/09/86)

I'm posting this article for u-rlcarl%utah-ug@utah-cs.{UUCP,ARPA} .

    I am writing an Amiga device dependent printer driver, but am having a
problem sending plain text to the printer.  The device Independent printer
code seems to assume that it can pass all printable characters directly to
the printer, without consulting the device dependent code.  This is fine
for the standard ASCII character set (codes from $20 to $7E), but doesn't
work at all when printing the Amiga's extended set of foreign and other
characters which have codes $A0 to $FF.  Most printers, including
IBM-compatible ones, have defined a completely different set of characters
in this range, and so an Amiga character usually has no resemblance at all
to its symbol printed by the printer.

    My printer has the capability of printing most of the Amiga's extended
characters, but I need some way to convert an Amiga printable character
into an equivalent character on my printer. Can the device dependent
printer code include a lookup table for translating printable characters
before they are sent to the printer?  Or is there a way to force the device
independent code to call some routine in the device dependent driver
whenever a printable character is to be sent to the printer?  I don't want
to have to run all of my text files through a separate filter before I send
them out to the printer!

    Thanks.
    Richard Carlson

andy@amiga.UUCP (Andy Finkel) (06/09/86)

In article <3816@utah-cs.UUCP> crum@utah-cs.UUCP (Gary L. Crum) writes:
>I'm posting this article for u-rlcarl%utah-ug@utah-cs.{UUCP,ARPA} .
>
>    I am writing an Amiga device dependent printer driver, but am having a
>problem sending plain text to the printer.  The device Independent printer
>code seems to assume that it can pass all printable characters directly to
>the printer, without consulting the device dependent code.  This is fine
>for the standard ASCII character set (codes from $20 to $7E), but doesn't
>work at all when printing the Amiga's extended set of foreign and other
>characters which have codes $A0 to $FF.  Most printers, including
>IBM-compatible ones, have defined a completely different set of characters
>in this range, and so an Amiga character usually has no resemblance at all
>to its symbol printed by the printer.
>
>    My printer has the capability of printing most of the Amiga's extended
>characters, but I need some way to convert an Amiga printable character
>into an equivalent character on my printer. Can the device dependent
>printer code include a lookup table for translating printable characters
>before they are sent to the printer?  Or is there a way to force the device
>independent code to call some routine in the device dependent driver
>whenever a printable character is to be sent to the printer?  I don't want
>to have to run all of my text files through a separate filter before I send
>them out to the printer!
>
>    Thanks.
>    Richard Carlson


This was one of the features we added for 1.2...a mapping table to
allow you to choose the character(s) send to the printer for each
of the codes in the Amiga extended character set.  This character
mapping table is part of the printer dependent code, so can be
entirely different for each printer.  (We just got finished defining
tables for our current crop of printers).  As an added bonus, there's
a default table with halfway reasonable values for use in the general
case, or when you don't feel like defining a table of your own.

Anyway, it will be along with 1.2....

			andy

-- 

			andy finkel
			Commodore(Amiga)
			{ihnp4|seismo|allegra}!cbmvax!andy
		or	 pyramid!amiga!andy

Any expressed opinions are mine; but feel free to share.

I disclaim all responsibilities, all shapes, all sizes, all colors.

"Remember, no matter where you grow, there you are." - Buckaroo Bonsai.

eric@amiga.UUCP (Eric Cotton) (06/09/86)

In article <3816@utah-cs.UUCP> crum@utah-cs.UUCP (Gary L. Crum) writes:
>I'm posting this article for u-rlcarl%utah-ug@utah-cs.{UUCP,ARPA} .
>
>    I am writing an Amiga device dependent printer driver, but am having a
>problem sending plain text to the printer.  The device Independent printer
>code seems to assume that it can pass all printable characters directly to
>the printer, without consulting the device dependent code.  This is fine
>for the standard ASCII character set (codes from $20 to $7E), but doesn't
>work at all when printing the Amiga's extended set of foreign and other
>characters which have codes $A0 to $FF.  Most printers, including
>IBM-compatible ones, have defined a completely different set of characters
>in this range, and so an Amiga character usually has no resemblance at all
>to its symbol printed by the printer.
>
>    My printer has the capability of printing most of the Amiga's extended
>characters, but I need some way to convert an Amiga printable character
>into an equivalent character on my printer. Can the device dependent
>printer code include a lookup table for translating printable characters
>before they are sent to the printer?  Or is there a way to force the device
>independent code to call some routine in the device dependent driver
>whenever a printable character is to be sent to the printer?  I don't want
>to have to run all of my text files through a separate filter before I send
>them out to the printer!
>

Actually, characters $A0 to $FF are defined by a lookup table in each 
printer's dependent code.  In 1.1, however, a default ExtendedCharTable is
used by all the drivers.  This table uses characters in the standard ASCII
set to to mimic those in the extended set (ie. 'L' is used in place of the
English pound sign).  In a forthcoming 1.2 release, each printer will
have its own table specifying how to print one these characters.  Where
supported (by each printer) the actual character is used.  In those instances
where a character (ISO $A0 - $FF) is not supported by a printer, an attempt
was made to use the printer's resources to produce a character as close as
possible to the ISO counterpart.

	Eric Cotton

-- 

"My hovercraft is full of eels."

/*========================================================================*/
/*====    UUCP: {ihnp4 | allegra | seismo}!cbmvax!eric                ====*/
/*====      or: pyramid!amiga!eric                                    ====*/
/*====    ARPA: cbmvax!eric@seismo                                    ====*/
/*==== US mail: Commodore Technology                                  ====*/
/*====          1200 Wilson Drive                                     ====*/
/*====          West Chester, PA 19380                                ====*/
/*====   phone: (215) 431-9180                                        ====*/
/*========================================================================*/