[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Groff] A followup on the Makefile cleanup
From: |
Steffen Nurpmeso |
Subject: |
[Groff] A followup on the Makefile cleanup |
Date: |
Mon, 28 Apr 2014 13:41:57 +0200 |
User-agent: |
s-nail v14.6.4-16-gdcac81f |
Hello,
i would have a followup which removes the GNULib dependency off
groff. I've sent it to Werner a month ago but i think that is not
his direction, yet i want to at least mention it on the list.
The problem: i think currently groff makes false use of
wcwidth(3): if it finds the `unicode' property in a `DESC' file it
uses wcwidth(3) to determine the visual width, not taking into
account the current locale, but which wcwidth(3) depends upon.
Also groff uses UCS4 / UTF-32 code points, but (unfortunately)
neither ISO C nor POSIX specify the character set that wchar_t
uses, and in fact at least the Citrus project (*BSD and
deriviatives) uses some homebrew bit pattern for several (asian)
locales.
Whereas GNULib also offers wcwidth-replacement functions
which are defined to use UCS4 / UTF-32 code points, one of my
personal projects is a Unicode aware library, and, short, i've
sent Werner a patch that implements a `unicode_is_fullwidth()'
functionality, which is what the current code requires to have.
The neat side effect of that is that the entire GNULib can be
unhooked and removed from groff(1).
Note that this also finalizes the Makefile cleanup in that `clean'
and `distclean' targets leave no more garbage behind (i never made
it to get the GNULib part right, so i finally gave up on this).
And of course configuration and compilation are faster.
Remarks:
- as the above conditions imply, it doesn't seem to actually
matter, but unicode_is_fullwidth() could blindly return any
value (it is, however, correct).
- be warned that if there will be no maintainer for groff until
2017, once my Unicode library (in which i have the most keen
interest) has grown a bit and the MUA that Stuart Henderson
(OpenBSD) "has given me the maintership of" is in an acceptable
state, i will ask kindly whether the opportunity to overtake
maintainership of this grown and important program would be
given to me. But for one i had to start from zero, then, and
second, i surely would go for my, then usable, Unicode library
to add Unicode support to groff, instead of using GNULib, and
third, it would have to be a Public Domain contract.
It's just that i think i had to give a note on maintainership.
--steffen
- [Groff] A followup on the Makefile cleanup,
Steffen Nurpmeso <=