Running VBLM on non-Latin Windows

When VBLM is first run after installation, it executes the GetACP API call to determine the default ANSI code page of the system on which it is running. If the result is not 1252 (Latin 1), the user is warned that certain default settings may need to be changed for VBLM to operate correctly, and is directed to this topic.

Many if not most users who get this message will not need to make changes; for example, VBLM seems to run fine with the default settings on Korean and Chinese versions of Windows. However, it does not run fine with the default settings on Japanese Windows (and in fact it was the helpful folks at XLSoft (, our Japanese reseller, who brought the problem to my attention).

In any case, when you are running VBLM on non-Latin windows, and particularly when you are using multibyte character sets, you may encounter improperly rendered characters in the language table editor, and in the names of fonts as displayed by the dropdown listboxes used to select fonts for the LTE. If you encounter problems of this sort, here are the steps you can take to make them go away.

Enable Unicode Encoding

VBLM's Unicode encoding capabilities improve its ability to work with non-Unicode multibyte fonts (I'm not exactly sure why, but it does). To enable Unicode, select General Options from the main options menu, select the Help Etc tab, and check the Enable Unicode Encoding box. You must then exit and restart VBLM for the change to take affect. After VBLM restarts, select Encoding Method from the main file menu and click on Unicode Encoding.

Select Appropriate Fonts to Display Strings That Use Non-Latin Characters

VBLM's default font selections do not support the display of non-Latin characters. If you will be working with non-Latin characters, therefore, the default fonts need to be changed. The fonts in question include:

image\DIAMOND.gif The Main Window Font, used to display project information on the main window. If your projects' paths and/or file names use non-Latin characters, select an appropriate font by selecting General from the main options menu, then clicking the Set Main Window Font button on the Interface tab.

image\DIAMOND.gif The Interface Font, used throughout VBLM to display font names and other strings, including user input, that could possibly contain non-Latin characters. To find out if you need to change the interface font, select Language Table Editor from the main options menu, then scroll down either of the font selection listboxes on the Display tab. If any of the font names are garbled, change the interface font by clicking the Set Interface Font button on the Interface tab of the general options window.

image\DIAMOND.gif If the language you are translating from uses non-Latin characters, you need to change the fonts VBLM's language table editor (LTE) uses to display and print the design language strings. To do so, select Language Table Editor on the main options menu, then reset the Main Font on both the Display and Printing tabs of the LTE config window.

image\DIAMOND.gif If the language you are translating to uses non-Latin characters, select the appropriate screen and printer fonts when you first create the language table. See LTE Fonts for more information.

On Windows 2000 and XP, Manually Set the Character sets for these fonts

For reasons that elude me (it sure seems like a bug, but maybe it's a Unicode related lack of backwards compatibility), when you select a font on W2K or XP, the character set property doesn't update automatically, even if the new font only supports a single character set! For example, if you set the interface font to MS PGothic, Japanese characters display correctly when VBLM is running on W9x or NT, but are still gibberish when VBLM is running on W2K. To get them to display properly, you have to a) change the font, and then b) manually set the character set to Shift-JIS, 128.

See Setting Font Character Sets for more info and instructions on how to manually set these character sets.

Modify Runtime Switching Support Files as needed

If you are going to have VBLM build runtime switched versions of your VB apps, and if one or more of the language names that the user will select from uses non-Latin characters, you need to change the font that the language selection form uses to display them. Do so by loading the form file into VB and changing the listbox font to one that supports the required character set. You can either edit the master form (the one copied during the build from VBLM's Support Files subdirectory), or edit the copy. If you edit the master copy (VBLM_RT5.FRM for VB5 and VB6 apps), you only have to do it once, whereas if you edit the copy, you will need to do it after every build. See Runtime Switching Support Files for more info.


Once you have made these adjustments, VBLM should operate correctly on any version of Windows.

See Also

Translating Across Character Sets

VB, VBLM & Unicode