Hi Jim,
Are you sure that the syntax is SET CODEPAGE? Is not listed on the MSDN and SET('CODEPAGE') complains that is an invalid option.
But, anyway, codepages are a diferent think. The font's 'charset' is a BYTE (see the LOGFONT structure in Win32 API), while the codepage can have values wich are clearly not single bytes, like 437 or 1252.
I tried playing arround with STRCONV() and CPCONVERT() and none of them seems to do the job. They're all changing the string, but the converted strings are still displaying wrong. Even if I change the FontName property to "Arial Greek" or "Arial CYR", VFP still display them using the Western script!
And, even if I manage to do something using the codepage with something similar to SET CODEPAGE, like changing the CODEPAGE in CONFIG.FPW, still is not enough. I have to set the locale on individual controls! Some of them are Western script, some of them russian. Globally setting the codepage wouldn't be a solution.
I remeber I red an article in VFP Advisor some time ago, about an application developped for guiding users at a big exhibition wich could change the user interface to various locales, including Katakana and Hiragana, but unfortunately I don't have that article available. I feel somewhat frustrated that it can be done for such exotic character, but not for european diacritics or cyrilics :-)
Or should that be :-( ?
Regards,
Remus
>>Hi,
>>VFP controls don't have something like a 'FontScript' property fer setting the font's charset property. What to do if I need support for this fonts? If the user selects an local input keyboard layout (like russian, or greek) the textbox controls displays all sort for funny characters, because VFP uses the default Western script.
>>Anyone has a solution for this?
>>TIA,Remus
>
>Remus,
>
>Read up on the SET CODEPAGE command in the help file.
Précédent
Suivant
Répondre
Voir le fil de ce thread
Voir le fil de ce thread à partir de ce message seulement
Voir tous les messages de ce thread
Voir tous les messages de ce thread à partir de ce message seulement