groff
[Top][All Lists]
Advanced

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

[Groff] Re: MSVC Port--LaserJet Issues


From: Werner LEMBERG
Subject: [Groff] Re: MSVC Port--LaserJet Issues
Date: Sat, 29 Nov 2003 22:30:26 +0100 (CET)

[Also sent to the groff list]

> > Since I don't have a lj4 printer, I actually can't test by myself.
> > Some time ago I got screen shots how a lj4 renders the groff_char
> > manual page; the only problem I could find was the lozenge glyph
> > (\[lz]): For reasons unknown to me grolj4 apparently handles this
> > glyph having zero-width.
>
> I get the same result, using a LaserJet 2100.  This did not happen
> with a LaserJet 5 (PCL 5) and groff 1.11, although the actual glyph
> was slightly different.  I haven't determined whether the problem is
> with grolj4 or with the printer.

The entry for `lz' in the `S' file of devlj4 hasn't changed between
1.11a and the current CVS.  I think it is a problem with the printer
(or rather the LJ font metrics).

> I've attached a scan of LaserJet 2100 output.  Note that parens,
> braces, and brackets seem fine with the \b escape; eqn appears to be
> the problem.

This bug is present in version 1.11a also.  I've just compared output
from 1.11 and the current CVS: Both yield the same result if you take
rounding errors and the different resolutions (300 vs. 600dpi) into
account.  Have a look at font/devps/generate/symbol.sed: It seems that
a similar fix must be applied to the lj4 metric files to adjust the
glyph height of most bracket, parentheses, and brace pieces.  Can you
help here?  Since LJ4 metric files are in binary format it is probably
best to alter the resulting groff font definition files with such a
script.  Alternatively, a command line option to hpftodit could be
added to read glyph metric corrections from an input file.  I think
that the latter solution is more elegant but the former is simpler to
implement.

BTW, you can't compare this with \b since this escape always separates
glyphs vertically by 1em, completely ignoring the glyph heights.

> This output was produced with groff 1.17.2; with groff 1.19.1,
> parenrightex and parenleftex (S font) seem to be mapped to the wrong
> glyph (same as for brace and bracket extensions; however, the paren
> is slightly thicker).

Hmm, I can't verify this.  The metrics are the same in 1.11a and
current CVS, and I get the same output from the two groff versions.

> The latest grolj4 works fine with my LaserJet 2100 (PCL 6, but no
> PostScript).

This is good news.  Basically it means that grolj4 doesn't become
(completely) obsolete.  I will update the grolj4 man page accordingly.

> I made a few changes to devlj4 when I ported groff 1.11:
>
>  o Added support for several fonts: MT Arial, MT Times New Roman,
>    and Symbol.

Have you patched hbftodit to support TrueType font metric files (which
would be very cool)?  Or how did you do it?

>  o Revised the font file for Coronet.  The file supplied then (and
>    with 1.19) seems to be for a completely different typeface
>    (#4102, monospaced) than the one (#4116, proportional) in the
>    LaserJet 5 and 2100.

It is a typo: It must be 9nb00077.tfm instead of 9nb00070.tfm (which
is already included as font `LGI').  Fixed in the CVS, thanks.  Please
check.

>  o  Added several glyphs to the S font:
>
>      -- integraltp (u2320, MSL 299)
>      -- integralbt (u2321, MSL 300)
>      -- integralcrv (u222E, MSL 588) Integral over a closed path
>      -- integralcrvmid (uEFD4, MSL 603) Integral over a closed path;
>         middle section
>
>     It looks like the latter two are specific to the LaserJet (I may
>     have made the names up).  This former two don't seem to have
>     troff names, though they do have PostScript names.  I've
>     included examples of these glyphs in the attached file.

Right now I'm revising the two files `text.map' and `special.map' in
font/devlj4/generate, adding as much MSL mappings as I can find --
recreating the font definition files will then contain those glyphs
automatically.  Note that the list of groff glyph names is frozen
basically; all glyphs not in this list which can be mapped to Unicode
(either as single glyphs or as composites) get a `uXXXX' name.

Do you have an MSL->Unicode mapping or a complete MSL list?  The PCL 5
specification which I have downloaded from the internet doesn't
contain all MSL glyph names...


   Werner

reply via email to

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