From: Dom Lachowicz (domlachowicz@yahoo.com)
Date: Sun Mar 02 2003 - 13:27:23 EST
Thanks, I've applied this patch minus the #if 0 part.
That's what CVS versioning is for. It still works for
de_DE and en_US.
Any patch that removes usage of the Encoding Manager
is a good patch.
Dom
--- Anthony Fok <anthony@thizlinux.com> wrote:
> Dear all,
>
> As mentioned in my previous post, AbiWord 1.1.x
> (GTK2 on GNU/Linux)
> would fail to display the text in some dialog boxes
> when started under
> a non-UTF8 locale (say zh_TW.Big5, zh_CN.GB2312).
> All is normal in
> zh_TW.UTF-8 locale.
>
> I was perplexed as to why some Chinese strings
> display properly, and some
> don't, with the error:
>
> WARNING **: Invalid UTF8 string passed to
> pango_layout_set_text()
>
> After some investigation, it turns out to be a
> difference in the call to
> wctomb_conv() between XAP_DiskStringSet::setValue()
> and
> AP_DiskStringSet::setValue().
>
> Tomas Frydrych's commit to xap_Strings.cpp in
> January 2002 (to fix Bug 2570):
>
>
>
http://www.abisource.com/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&root=/cvsroot&subdir=abi/src/af/xap/xp&command=DIFF_FRAMESET&file=xap_Strings.cpp&rev2=1.23&rev1=1.22
>
> Christian Biesel's commit to ap_Strings.cpp in
> October 2002
>
>
>
http://www.abisource.com/bonsai/cvsview2.cgi?diff_mode=context&whitespace_mode=show&root=/cvsroot&subdir=abi/src/wp/ap/xp&command=DIFF_FRAMESET&file=ap_Strings.cpp&rev2=1.14&rev1=1.13
>
> So, XAP_DiskStringSet::setValue() was storing the
> strings in the current
> system encoding, e.g. when LANG=zh_TW.Big5, it
> stores the strings in Big5
> encoding; whereas AP_DiskStringSet::setValue() does
> the right thing by
> storing the text in UTF-8 encoding. (Or something
> like that; I don't fully
> understand the details.)
>
> So, I changed xap_Strings.cpp to use the line in
> ap_Strings.cpp, and
> voila, it works! :-) Patch is attached. I hope the
> change won't break
> things on other platforms.
>
> Cheers,
>
> Anthony
>
> --
> Anthony Fok Tung-Ling
> ThizLinux Laboratory <anthony@thizlinux.com>
> http://www.thizlinux.com/
> Debian Chinese Project <foka@debian.org>
> http://www.debian.org/intl/zh/
> Come visit Our Lady of Victory Camp!
> http://www.olvc.ab.ca/
> > ---
>
abiword-1.1.3+cvs.2003.03.02.orig/abi/src/af/xap/xp/xap_Strings.cpp
> +++
>
abiword-1.1.3+cvs.2003.03.02/abi/src/af/xap/xp/xap_Strings.cpp
> @@ -250,11 +250,15 @@
> }
> }
>
> +#if 0
> const char * encoding =
>
(XAP_EncodingManager::get_instance()->getNativeSystemEncodingName())
> ?
>
>
XAP_EncodingManager::get_instance()->getNativeSystemEncodingName()
> :
>
>
XAP_EncodingManager::get_instance()->getNativeEncodingName();
>
> UT_Wctomb wctomb_conv(encoding);
> +#else
> + UT_Wctomb
>
wctomb_conv(XAP_App::getApp()->getDefaultEncoding());
> +#endif
> char letter_buf[20];
> int length;
> for (int k=0; k<kLimit; k++)
>
__________________________________________________
Do you Yahoo!?
Yahoo! Tax Center - forms, calculators, tips, more
http://taxes.yahoo.com/
This archive was generated by hypermail 2.1.4 : Sun Mar 02 2003 - 13:33:23 EST