We have an application that used the C++ zApp framework for UI (forms, fonts, everything). We have slowly converted it to use the .net framework and recently found that Greek characters are no longer displaying correctly.
In one version of the application I have a C# .net form and a C++ zApp form that both display the same data. The project is compiled with MS Visual Studio 2005 and uses .net 2.0. In the .net form the Greek is not displayed correctly. I can copy the text from the .net form, paste it into the zApp form and it will display correctly in the zApp form. This tells me that the data is being loaded okay and all the correct information is there in the string.
I tried making changes to the font being used in the .net code. The zApp code creates a font using a LOGFONT struct for the control displaying the Greek. I took the exact values that were being used for zApp, created a LOGFONT with those values and set the .net form's font using that structure (this.Font = Font.FromLogFont((object)lFont);). I used the same facename, charset, etc. Everything in the LOGFONT structure is getting set. The Greek was still displayed wrong. I can tell that the font I created is being used because if I set underline it will underline the text and if I look at the properties of the control's font (this.Font) after setting it with the LOGFONT, they are as I'd expect them to be. I did initially have issues with a font that wasn't a true type font, but then switched the zApp font to a true type font and it was still fine so I used that for my tests (Microsoft Sans Serif).
Also, if I type Greek characters from the keyboard they display correctly in both the .net form and the zApp form, however, the characters entered in the .net form and saved to the database will then show as garbage in the zApp forms and are different from the data saved by the zApp form. Again, if I copy the text that looks like garbage from the .net form and paste it into the zApp form then it displays just fine (no loss of data).
Does anyone have any ideas?