Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Running VFP under Japanese Windows
Message
From
06/04/2000 04:07:20
 
 
To
30/03/2000 13:30:17
Jill Derickson
Software Specialties
Saipan, CNMI
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00352847
Message ID:
00356144
Views:
14
Not directly - will Korean do? ;-)

I had a problem recently trying to get the program to work correctly. Its now fine.

There were 4 reasons it didn't work correctly:

1. You have to use the correct font - I got this code from Microsoft

Create a program and paste this into it. It determines which font to use from looking at the system info. It then sets the FontName to use:

#define DEFAULT_CHARSET 1
#define SYMBOL_CHARSET 2
#define SHIFTJIS_CHARSET 128
#define HANGEUL_CHARSET 129
#define CHINESEBIG5_CHARSET 136
#define CHINESESIMPLIFIED_CHARSET 134

define class LocalInfo as custom

Charset = 0
fontname = ""
fontsize = 0

proc init

declare integer GetUserDefaultLCID in "kernel32"

lnLCID = GetUserDefaultLCID()

do case
case lnLCID = 1028 && Traditional Chinese
this.Charset = CHINESEBIG5_CHARSET
*this.FontName = ChrW(&H65B0) + ChrW(&H7D30) + ChrW(&H660E) + ChrW(&H9AD4) 'New Ming-Li
* New Ming-Li
this.fontname = chr( 101 ) + chr( 176 ) + chr( 125 ) + chr( 48 ) + chr( 102 ) + chr( 14 ) + chr( 154 ) + chr( 212 )
this.fontsize = 9

case lnLCID = 1041 && Japan
this.Charset = SHIFTJIS_CHARSET
*this.FontName = ChrW(&HFF2D) + ChrW(&HFF33) + ChrW(&H20) + ChrW(&HFF30) + ChrW(&H30B4) + ChrW(&H30B7) + ChrW(&H30C3) + ChrW(&H30AF)
this.fontname = chr( 255 ) + chr( 45 ) + chr( 255 ) + chr( 51 ) + chr( 0 ) + chr( 32 ) +;
chr( 255 ) + chr( 48 ) + chr( 48 ) + chr( 180 ) + chr( 48 ) + chr( 183 ) + ;
chr( 48 ) + chr( 195 ) + chr( 48 ) + chr( 175 )
this.fontsize = 9

case lnLCID = 1042 &&Korea UserLCID
this.Charset = HANGEUL_CHARSET
*this.FontName = ChrW(&HAD74) + ChrW(&HB9BC)
this.fontname = chr( 173 ) + chr( 116 ) + chr( 185 ) + chr( 188 )
this.fontsize = 9

case lnLCID = 2052 && Simplified Chinese
this.Charset = CHINESESIMPLIFIED_CHARSET
*this.FontName = ChrW(&H5B8B) + ChrW(&H4F53)
this.fontname = chr( 91 ) + chr( 139 ) + chr( 79 ) + chr( 83 )
this.fontsize = 9

otherwise && The other countries
this.Charset = DEFAULT_CHARSET
this.fontname = "Arial" && Get the default UI font.
this.fontsize = 9

endcase

endproc

enddefine

...then place the following in your start up code.

public oLocalMnger
set proc to Korean additive
oLocalMnger = create( "LocalInfo" )

* PUBLIC! *
Well it has to be available anywhere and everywhere through your system. An alternative is use _screen.AddObject.

Then in the init of all your base classes, use:

this.FontName = oLocalMnger.FontName

Job Done!

2. The software will support DoubleByte characters as long as you use the supporting functions. These are ATC, LEFTC, RIGHTC, RATC, etc. They will all need changing. I have the code to run through the project and correct it, if you would like.

3. SQL statements no longer perform joins. The collaction sequence is set to local - it must be machine for the SQL to work.

4. Finally, watch out for special symbols, such as the 'degree circle'. These can not be displayed, and must be substituted with alternative abbrieviations.

Hope this helps ;-)

Give us a shout if I can be of any further help

Jason



>Does anyone have any experience doing this? or have any input on what I need to do?
>
>TIA, J
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform