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

iconv patch for improved charset translation(incl. UTF-8) updated to 4.56



Hello,

I've updated the iconv patch for pine originally from Jungshik Shin to
Pine 4.56. For information about added functionality, fixes and status,
look at the forwarded text below which I announced at pine-info.

As always, any corrections or tips(I'm rather new to i18n) are welcome.

Many Thanks,
Bernhard

---------- Forwarded message ----------

I've updated the iconv patch for pine which allows to convert between many
charsets, including UTF-8 (everything your implementation of iconv() supports)
to Pine 4.56.

At this opportunity I also want to thank the pine maintainers and developers
for two new additions to pine 4.56, the environment variable support and the
improved display of the character set warning, the latter already allowed me
to shrink the size of the patch a little because it introduced changes which
I could use a the base for a merge of one of my functions into the existing
infrastructure!

Since my last mail here, Jungshik Shin, the original author, added support for
a new config option called send-charset which allows to set a charset to which
outgoing mail(send, reply, forward) which is not US-ASCII(pine's default, if
only 7-bit chars are used) should be converted.

I also fixed some bugs which were present in previous versions which
were not very visible. The bug most visible to me was the messed-up
mailinglist information editoral when assumed-charset was set.

The fix for this bug removed some wrong changes done in previous versions
and implemented a new, specialized function for this job which, like
other cleanups, improves readability of the big functions by outsourcing
repeated jobs into specialized functions.

The new patch is online in this directory:
http://www.suse.de/~bk/pine/iconv/4.56/

If you have any questions about the diff, please ask me, I've touched
most of these 40k of unified diff with my own fingers and can forward
things which I don't know to Jungshik. Some parts of the patch are
actually band-aids, because some parts, like an control char filter
which supports the utf-8 encoding scheme are not implemented yet.

Also missing is an implementation of wcwidth() to tell how many columns
on the screen are used a certain sequence if utf-8 characters. The
whole character width issue is a wide field for pine which is not
yet done, but it can be worked around by making the terminal which
pines uses wider so it displays more characters without cutting or
wraping.

Besides in glibc, is also at least another, free implementation of
wcwith(), so the groundwork is there, now only the formatting
functions need to be adapted to not fill buffers based on bytes
but based on character widths.

The same must be done for the autowrap emulation which is at least
available in termout.unx. I think for a start, it could be
possible to disable it and rely on other platform-independent
line wrap wcwidth fixes for UTF-8 which would be needed in the
gf_wrap filter for example.

Bernhard Kaindl
--
Pine UTF-8 Patches and RPMs/SuSE 8.1+ at: http://www.suse.de/~bk/pine/FAQ.html

RPM for SuSE 8.1 and equivalents (glibc-2.2 or newer required)
http://www.suse.de/~bk/pine/iconv/4.56/RPMS/pine-4.56-0.i586.rpm
Source RPM:
http://www.suse.de/~bk/pine/iconv/4.56/RPMS/SRPMS/pine-4.56-0.src.rpm
--
Linux-UTF8:   i18n of Linux on all levels
Archive:      http://mail.nl.linux.org/linux-utf8/