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 ====*/ /*========================================================================*/