groff
[Top][All Lists]
Advanced

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

Re: [Groff] Bullets in manual pages and -K groff option


From: Bruno Haible
Subject: Re: [Groff] Bullets in manual pages and -K groff option
Date: Thu, 26 Jan 2006 14:53:16 +0100
User-agent: KMail/1.5

Alexander E. Patrakov wrote:
> >Why should they complain? They can use GNU libiconv. It transliterates the
> >bullet to 'o', like you wish.
>
> The "iconv" program from libiconv transliterates the bullet to ".",
> which is also acceptable.

libiconv converts the MIDDLE DOT to '.' and the BULLET and BULLET OPERATOR
to 'o'.

> As for the "iconv" program from glibc, the situation is worse. I have
> prepared a patch against Glibc-2.3.6 (attached) that transliterates the
> offending characters produced by Groff into their ASCII equivalents if
> there is no any other suitable fallback. You can try it without
> rebuilding glibc by applying it to the installed copy of the
> "translit_neutral" file (in /usr/share/i18n/locales) and rebuilding all
> locales with localedef. The patch works in all locales except "C" (see
> below) ... Is this patch a right solution?

The BULLET, PRIME and DOT/ELLIPSIS parts are probably acceptable.

The ACUTE ACCENT part looks wrong.
  1. An acute accent is not a quoting character. Anyone using an acute
     accent for quoting is abusing this character.
  2. U+0027 is an apostrophe, a small vertical line, that doesn't change
     when mirrored left<->right.

When you submit a patch for "translit_neutral", you also need to make
the corresponding changes to locale/C-translit.h.in.

> As for the "C" locale, the problem is that "iconv" from Glibc uses
> transliteration data from the current locale (e.g., in order to
> substitute รค with ae in German locales), and such locale-specific
> transliteration table is missing for the "C" locale (which IMHO is a
> Glibc bug).

It is not missing, it is contained it the locale/C-translit.h.in file.

> In contrast to that, libiconv bases its decisions only upon
> the source and destination character sets.

This is true, and is actually a problem with libiconv. Because for example
transliteration from Cyrillic to Latin scripts has to be locale dependent.

> Bug2.
> Subject: Transliterate quotes and bullets in all locales.
> Component: localedata
> Description:
> The iconv function from libiconv performs some useful transliterations
> (e.g., replacing the quotes with their ASCII equivalents and the middle
> dot with ASCII dot) in all locales. Iconv implementation from Glibc
> doesn't always do this. Such deficiency is going to hurt future Groff
> users, as described in [link to this thread]. Attached is a patch that
> implements the needed transliteration rules. See also [Bug 1] for the
> related issue with the "C" locale.

I would split this into two different patches, simply to increase the
chances of having at least one of them accepted. - As I said above,
transliterating ACUTE ACCENT to APOSTROPHE is simply wrong.

Bruno





reply via email to

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