This work should be valuable to both the GTK+ and QNX ports, and probably others still. All strings files now have an additional 'encoding' attribute in the <AbiStrings> section. If not specified, it assumes that the strings are in UTF-8. Two new useful methods are:
UT_String getValue(id, encoding) UT_String getValueUTF8(id) getValueUTF8() is seriously under-optimized right now, as it always calls getValue(id, "UTF-8") instead of caching an iconv descriptor(getEncoding(), "UTF-8"). This will be worked on in the future. The getValue() call that we currently use is and will remain unchanged, so things should still work ok on win32, qnx, and gtk+. GTK+2 requires that all text-related widgets accept only UTF-8 strings and export UTF-8. So this means that I'll have to change all pSS->getValue() calls in the GTK+ frontend to pSS->getValueUTF8(). I'll also have to properly encode our outputs from GTK+ to UCS4 in certain circumstances. IIRC, QNX has similar requirements to GTK+2. All .strings files in CVS have been updated to include the "encoding" attribute. Dom CVS: ---------------------------------------------------------------------- CVS: Enter Log. Lines beginning with `CVS:' are removed automatically CVS: CVS: Committing in . CVS: CVS: Modified Files: CVS: src/af/xap/xp/xap_Strings.cpp src/af/xap/xp/xap_Strings.h CVS: src/wp/ap/unix/ap_UnixDialog_MetaData.cpp CVS: user/wp/strings/am-ET.strings CVS: user/wp/strings/art-lojban.strings CVS: user/wp/strings/bg-BG.strings user/wp/strings/ca-ES.strings CVS: user/wp/strings/cs-CZ.strings user/wp/strings/cy-GB.strings CVS: user/wp/strings/da-DK.strings user/wp/strings/de-CH.strings CVS: user/wp/strings/de-DE.strings user/wp/strings/el-GR.strings CVS: user/wp/strings/en-AU.strings user/wp/strings/en-GB.strings CVS: user/wp/strings/en-IE.strings user/wp/strings/es-ES.strings CVS: user/wp/strings/eu-ES.strings user/wp/strings/fi-FI.strings CVS: user/wp/strings/fr-FR.strings user/wp/strings/ga-IE.strings CVS: user/wp/strings/gl-ES.strings user/wp/strings/hu-HU.strings CVS: user/wp/strings/id-ID.strings user/wp/strings/it-IT.strings CVS: user/wp/strings/ja-JP.strings user/wp/strings/lt-LT.strings CVS: user/wp/strings/mh-MH.strings user/wp/strings/nb-NO.strings CVS: user/wp/strings/nl-NL.strings user/wp/strings/nn-NO.strings CVS: user/wp/strings/pl-PL.strings user/wp/strings/pt-BR.strings CVS: user/wp/strings/pt-PT.strings user/wp/strings/ro-RO.strings CVS: user/wp/strings/ru-RU.strings user/wp/strings/sk-SK.strings CVS: user/wp/strings/sl-SI.strings user/wp/strings/sv-SE.strings CVS: user/wp/strings/tr-TR.strings user/wp/strings/uk-UA.strings CVS: user/wp/strings/zh-CN.strings user/wp/strings/zh-HK.strings CVS: user/wp/strings/zh-TW.strings CVS: ----------------------------------------------------------------------
