groff
[Top][All Lists]
Advanced

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

Re: [Groff] Broken chars


From: Jan Engelhardt
Subject: Re: [Groff] Broken chars
Date: Sun, 20 Mar 2005 10:47:03 +0100 (MET)

Hi,


>In
>  usr/[local/]share/groff/<version>/font/devutf8/R
>you can see which output codes are used for which input characters.
>Looking into perlcheat.1, you can find this (converted on my platform
>with Pod::Man v 1.37):
>
>  .tr \(*W-|\(bv\*(Tr
>
>The .tr request translates characters.  In this particular case, it
>translates `|' to `\(bv'.  `bv' is equivalent to `braceex' in PS

Hm, here's a suse'd perlcheat.1.gz, which when viewed with a plain text 
editor, contains $|, and not \(bv.
(http://jengelh.hopto.org/f/perlcheat.1.gz)

In the "devutf8/R" file is:
ba      24      0       0x007C
or      "
|       "
rC      24      0       0x007D
...
br      24      0       0x2502
bv      "
rk      24      0       0x251D

>Regarding the grave accent mapped to U+0x2018, here is the comment
>from groff_char(7):
>
>   `  the ISO Latin-1 `Grave Accent' (code 96) prints as <U+2018>,
>      a left single quotation mark; the original character can be
>      obtained with `\`'.

Obviously, noone uses \`.

>   '  the ISO Latin-1 `Apostrophe' (code 39) prints as <U+2019>, a
>      right single quotation mark; the original character can be
>      obtained with `\(aq'.
>For typesetting this is the right choice, since those two character
>are used this way normally, similar to TeX.
>
>Distributions can overwrite this.  For example, in my SuSE 9.1, I have
>this in /usr/share/groff/site-tmac/tmac.andocdb:
>
>  .if '\*[.T]'utf8' \{\
>  .  char \- \N'45'
>  .  char  - \N'45'
>  .  char  ' \N'39'
>  .\}

Yes the andocdb is a hack, really. But adding all hacks, including the | 
mentioned above, would be an overkill.

>To summarize:
>
>  . Mapping `|' to the `bv' entity is strange.  If you use a plain `|'
>    in a troff input file, you actually get a plain `|'!  This looks
>    like a bug in Pod::Man.

See my posted perlcheat.1.gz (a SUSE 9.2 "original ;). It has a plain |, but 
still gets a vertical bar.


>PS: Why the heck is `perlcheat.man' and all other non-program man
>    pages of perl in man section 1?

All manpages of "core perl" are in section 1.
All *Perl module* manpages are in section 3pm.
Well, I do not know why they are, I guess because they don't fit in any other 
category-
2-syscalls and stuff            3-libc functions
4-block and char devices        5-config files
6-games                         7-protocols
8-sysadmin                      9-kernel



Jan Engelhardt
-- 




reply via email to

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