"Shachar Shemesh" wine-devel@shemesh.biz wrote:
Please explain:
- What kind of a resource should I use, in your opinion?
String resources.
- How should I select which resource to load, given a specific locale?
Font charsets doesn't depend on the current user locale. So, just create LANG_NEUTRAL resource with strings for each charset you want and IDs something like:
#define CHARSET_BASE 1000
STRINGTABLE { ANSI_CHARSET+CHARSET_BASE "AaBbYyZz" DEFAULT_CHARSET+CHARSET_BASE "AaBbYyZz" SYMBOL_CHARSET+CHARSET_BASE "Symbol" ... }
and load them when you need to display sample text:
char sample[256];
hfont = CreateFontIndirectA(...) SelectObject(hdc, hfont); charset = GetTextCharset(hdc); LoadStringW(hinst_comdlg32, CHARSET_BASE + charset, sample, 256); DrawTextW(hdc, sample);
Make that: "How should I select which resource to load, given a specific charset?"
- What is the advantage of this mechanism?
I mentioned at least one already: make it easily available for translators.
You could always have a look at the traces produced by native comdlg32, since it uses an approach described above, and learn how it's done there.