Andriy Palamarchuk wrote:
Sachar, this is a great explanation, but as I understand the processing you mentioned should be done in the controls (e.g. edit field) window procedures. Can you submit a bug for this? You can give better information than I and add dependencies on othe bugs about MBCS, BiDi, etc. (I guess this bug will be assigned to you as the component owner ;-) Can you also make it depend on bug 791?
Ok, I think I am lacking context here. I will have a look at the actual source you were referring sometime during the coming day or two.
Just one clarification. The very fact that the same person who is doing the BiDi support also happens to have experience with MBCS does not mean the two are in any way related. One is centered around west Asia and north Africa (a.k.a. - the middle east), while the other is at east Asia (a.k.a - the far east).
I don't mind receiving ownership over all non-western languages, as I speak a BiDi language, and have experience in programming for an MBCS language (and between the two you are almost cover the entire range of problematic languages), but that does not mean that the two are, in any way, related.
BTW, bringing us to the "ownership" issue. Is wine going to have a "Credits" file, sorted by lines of code submitted or similar criteria? It would be nice to have my name there in case I am ever fired for answering WINE emails while at work ;-).
To my rather limited knowlege the problem with returning double size lays in different area - when a chain of window procedures has in some cases W, in others A procedures. If an A procedure gets results from W procedure it has to map returned results from Unicode to ASCII. The problem is that there is no way of knowing if the returned number of Unicode characters corresponds to length of MBCS which has 2-byte characters or plain 1-byte character string. The current code accounts on the worst possible result
- for all the Unicode characters corresponding to
2-byte MBCS characters.
Like I said before - I'll have a look at the actual context and voice my opinion.
I submitted a bug for this: http://bugs.winehq.com/show_bug.cgi?id=791
Andriy
Shachar