groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] groescp update


From: Roger Leigh
Subject: Re: [Groff] groescp update
Date: Sun, 14 Dec 2003 00:26:49 +0000
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.3 (gnu/linux)

Werner LEMBERG <address@hidden> writes:

>> I should receive the copyright assignment paperwork this week, so I
>> should be able to send you a working version of the driver soon.

The FSF should now have all the paperwork.

>> grotty (or just -mandoc?) disables headers and footers except for
>> the first header and last footer.  I need to re-enable them, if
>> possible.
>
> This is a feature of both the man and the mdoc macros: If the .nroff
> request has been called, pretend to print to a single, very long page.

OK.  I have a question about this below.

>> I was using the extended character set of the printer, but this
>> isn't portable across printer models: I'll need to use tty-char.tmac
>> to provide them, and only use plain ASCII :-( I can't even rely on
>> the standard codepages 437 and 850, since these aren't supported on
>> every printer (and ISO Latin 1 is very rare).  An escp.tmac which
>> includes tty-char.tmac should sort this out.
>
> Using tty-char.tmac is really a last resort since many glyph shapes
> are really ugly.  If possible, let the user select the character set.
> For example, you could provide an `escp.cfg' configuration file which
> is loaded by escp.tmac:
>
>   .\" escp.cfg
>   .\"
>   .\" Select the character set for the ESCP model.
>   .\" Possible values for `escp-charset' are `ascii', `latin1',
>   .\" `cp437', ...
>   .\"
>   .ds escp-charset cp437
>   .\"
>   .\" Don't let blank line creep in here.
>
> Then (ab)use groff's family feature to select the proper character set
> in escp.tmac (details can be found in groff's info pages).
>
>   .fam \*[escp-charset]
>   .\" make sure noone actually uses the .fam request
>   .rm fam
>
> If the user selects font `R', the font really used is `latin1R'.
> Consequently, you have to set up the ESCP fonts like that:
>
>   ascii: asciiR, asciiB, asciiI, asciiBI
>   latin1: latin1R, latin1B, latin1I, latin1BI
>   ...
>
> To activate this mechanism it is only necessary to add the line
>
>   family ascii
>
> to the escp's DESC file, providing `ascii' as the default.

This does look very interesting.  I won't do this for the first
version though!

Presumably if I abuse .fam in this way, I won't be able to support
selectable fonts (though the low end printers don't tend to support
more than one typeface).


I've attached the current version of the patch.  It's nearly suitable
for inclusion, I believe.  My only real issue is page breaks: the page
length (nlines) is  set to 60, but I get >60 (65) lines in the
output.  If I look at the groescp manpage with

cat man/man1/groescp.1 | bin/groff -man -Tescp

there are 3 blank lines at the top of each page (and I get page
headers and footers), but when I do the same for groff_char, I get no
leading spaces, but no headers and footers apart from the start and
end.  Is the header and footer control in the man page?  With the
latter, line breaks are on line 66...  Why is this happening?


Regards,
Roger

-- 
Roger Leigh

                Printing on GNU/Linux?  http://gimp-print.sourceforge.net/
                GPG Public Key: 0x25BFB848.  Please sign and encrypt your mail.

Attachment: groff-escp-pre2.diff.bz2
Description: groff ESC/P patch


reply via email to

[Prev in Thread] Current Thread [Next in Thread]