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 _______________________________________________ Groff mailing list Groff@gnu.org http://lists.gnu.org/mailman/listinfo/groff