basically it concerns multilangual and unicode conversion issues on Win32 targets. windres does not allow to build unicode resources in normal way. for example, when you try to build app which has english, russian and, for example, japanese menu items and strings, the result is pretty funny... you won't see russian & japanese, though LANGUARE prop is correctly defined. i've reworked winduni.c & other source files to produce results depending on current resource language defined by LANGUAGE property. there's some work that still should be done: define default codepages for other languages (there's only russian and japanese in the patch), but that should be easy to do. patch url: http://www.dark-across.info/binutils-2.16.1-windres-multilang.patch thanks. hope that'll help.
Created attachment 960 [details] a patch for windres to make multilingual resources possible
Thanks for the patch. Please see also: http://sources.redhat.com/bugzilla/show_bug.cgi?id=576 Do you have a copyright-assignment on file for binutils. If no you will need to complete some paperwork. Also, wouldn't this be a better way to get codepage for langid on windows? #ifdef _WIN32 #include <windows.h> static unsigned int codepage_from_langid (unsigned short langid) { const int buf_len = 6; char cp_string [buf_len]; int c; memset (cp_string, 0, buf_len); c = GetLocaleInfoA (MAKELCID (langid, SORT_DEFAULT), LOCALE_IDEFAULTANSICODEPAGE, cp_string, buf_len); /* If codepage data for an LCID is not installed on users's system, GetLocaleInfo returns an empty string. Fall back to system ANSI default. */ if ( c == 0 ) return CP_ACP; return strtoul (cp_string, 0, 10); } #endif Danny