Skip to content

Guide:East Asian language support in DOSBox‐X

Wengier edited this page Dec 10, 2021 · 37 revisions

East Asian language and system support

DOSBox-X is designed to be complete DOS emulator and provides official support for East Asian languages and systems, including (Simplified and Traditional) Chinese, Japanese, and Korean languages in different emulation modes. These languages use double-byte character set (DBCS) to render text instead of using standard ASCII characters. All of these languages are well-supported in DOS/V modes or the TrueType font (TTF) output with CJK code pages (932, 936, 949, and 950), with additional support for the Japanese language in the J-3100 DCGA, PC-98, and AX (JEGA) modes. There are also translation files for almost all of these languages available for use with DOSBox-X so that the user interfaces will be displayed in these languages:

Japanese language file: ja_JP.lng

Simplified Chinese language file: zh_CN.lng

Traditional Chinese language file: zh_TW.lng

Inputting Chinese/Japanese/Korean characters is also supported via Windows or Linux system IMEs in these code pages, which can be controlled via the ime option in [dosbox] section of the DOSBox-X configuration (dosbox-x.conf). They are supported on Windows and Linux systems and allow users to enter CJK characters as in other applications (such as Notepad) of these operating systems.

TrueType font output with CJK support

As a general DOS emulation environment, you can enable CJK support using the TrueType font (TTF) output with a CJK code page (932 for Japanese, 936 for Simplified Chinese, 949 for Korean, and 950 for Traditional Chinese). General information about DOSBox-X’s TrueType font output is available from the TrueType font output guide page. Set the code page with either the country option in [config] section of the config file, or using CHCP command, such as country=81,932 or CHCP 932 for Japanese. The default TTF font bundled with DOSBox-X does not support Chinese/Japanese/Korean characters, but there are many TTF fonts (or TTC/OTF fonts) available containing support for CJK characters, and you can load them for the TTF output via the font config option in [ttf] section of the config file. Some of these fonts (such as GNU Unifont and Sarasa Gothic) are intended to cover all CJK languages, whereas other TTF fonts (e.g. MigMix or M+ fonts) are intended to cover only characters of a specific CJK language. TTF or TTC fonts like simkai.ttf, simhei.ttf, and mingliu.ttc are included in some versions of Windows, so you need to only specify a setting like font=simkai or font=mingliu.ttc to load them in such cases. Otherwise you will need to download TTF fonts and load them accordingly. The SarasaGothicFixed.ttf and UnifontFullMediumMono.ttf font files are also available in the DOSBox-X repository for download:

As of DOSBox-X version 0.83.16, the SarasaGothicFixed.ttf font file is also included in the Windows installer, and DOSBox-X will try to automatically load it if you start DOSBox-X with a CJK code page and no other TTF font is specified.

A screenshot of the TrueType font output with the Simplified Chinese code page (936) using the SarasaGothicFixed.ttf font file:

Truetype font output with the Simplified Chinese code page

For the Simplified Chinese, the GB2312 charset is supported by default, but you can optionally enable the GBK extension with the gbk config option. Similar for the Traditional Chinese, where the ChinaSea (中國海字集) and Big5-2003 extension for the original Big5-1984 charset can be optionally enabled with the chinasea config option. You can also enable either the GBK or ChinaSea extension from the drop-down menu (inside "Video" ⇒ "TTF options" menu group). Below is a screenshot showing the TrueType font output running Hyper Editor 5.03 (漢書5) with the Traditional Chinese code page (950) and ChinaSea extension enabled:

Truetype font output running Hyper Editor 5 with the Traditional Chinese code page and ChinaSea extension

There are also other config options for the TrueType font relating to CJK support, such as automatic box-drawing recognition and SBCS <⇒ DBCS mode switch, as found in the [ttf] section of the config file (such as autodbcs and autoboxdraw options). These can also be toggled dynamically from the drop-down menu (inside "Video" ⇒ "TTF options" menu group). Moreover, as of DOSBox-X 0.83.21 there is a UTF8 command which allows to convert text encoded in UTF-8 to view in the current code page.

Apart from the code page 950 for the Traditional Chinese, there is also a "hidden" code page 951 which enables the Big5-HKSCS charset (or Big5-UAO charset with the option uao set to true) instead of the Big5-1984 or the Big5-2003 charset. They are however not fully compatible with the ChinaSea extension. If you set chinasea to true, then a subset of either the Big5-HKSCS charset or the Big5-UAO charset will be replaced with ChinaSea characters.

DOSBox-X additionally allows to run (Simplified or Traditional) Chinese DOS systems such as CCDOS 97, PDOS, or TechWay SCS (天汇汉字系统) to run when in the TTF output. DOSBox-X will automatically switch to a graphical output to let Chinese DOS systems to render correctly in this case. For the ETen Chinese DOS system (倚天中文系統) and running ET16V (飛碟五號) or ET24VA (飛碟24) it is strongly recommended to set the option vga fill active memory=true (in [video] section, supported since DOSBox-X 0.83.19), and for the latter (ET24VA), also the option machine=svga_et4000 (in [dosbox] section) of the DOSBox-X configuration so that it will run properly.

DOS/V support

Native DOS/V services are also supported by DOSBox-X, with options for Simplified and Traditional Chinese, Japanese, and Korean language modes. There is a [dosv] section in the config file, and you can enable different DOS/V modes with the dosv config option, i.e. chs (cn) for Simplified Chinese DOS/V, cht (tw) for Traditional Chinese DOS/V, jp for Japanese DOS/V, and ko for Korean DOS/V. DOSBox-X will try to get or use the fonts for these languages in the DOS/V mode, but you can also specify your own font files (in FONTX2 formats for Japanese, or HZK16 for Simplified Chinese, or STDFONT.15 from ETen Chinese DOS system for Traditional Chinese) via config options starting with fontx (such as fontxsbcs and fontxdbcs options) in the [dosv] section of the config file. Note that this mode is mainly designed to run DOS/V compatible programs or games, along with some normal DOS software; for a general DOS CJK environment it is recommended to use the TrueType font output with CJK support (described in the previous section) instead.

A screenshot of the Japanese DOS/V mode:

Japanese DOS/V emulation

In addition, there is a fontxdbcs14 option which is useful for displaying CJK characters in the Configuration Tool and Mapper Editor (if you use a language file). It is similar to the fontdbcs option, but it accepts 14-pixel DBCS fonts rather than 16-pixel ones. Use HZK14 for Simplified Chinese, and STDFONT.15 (from ETen Chinese DOS system) for Traditional Chinese.

24-pixel fonts are also supported as of DOSBox-X version 0.83.19. You need to use the V-text function of DOS/V in order to enable it. There are 2 V-text modes available, namely vtext1 and vtext2. You can use either (or both) of them for different DOS/V screen modes. It is recommended to set machine=svga_et4000 in [dosbox] section in order to use all its screen modes. For example, you can set vtext1=xga24 (in addition to machine=svga_et4000 and the dosv option) in the configuration, and use the command VTEXT 1 to enter vtext1. In such case you can set the fontxdbcs24 option which is useful for displaying CJK characters in this screen mode. Similar to the above fontxdbcs14 and fontxdbcs16 options, you can also use any of the HZK24? fonts (available in this link) for Simplified Chinese, and STDFONT.24 from ETen Chinese DOS system for Traditional Chinese for the fontxdbcs24 option.

J-3100 mode

Emulation modes for the Toshiba J-3100 are supported as of DOSBox-X 0.83.20. The J-3100 is the Japanese version of the Toshiba T3100, which was once popular as a Japanese-capable IBM AT-compatible machine. The J-3100 system in DOSBox-X can be activated by enabling support for both the Japanese DOS/V and the J-3100 machine for the DCGA emulation. In this case set the config option j3100 to a value other than off along with dosv=jp in [dosv] section. If you set j3100=on or j3100=auto (apart from dosv=jp and a VGA machine type), then J-3100 support will be enabled automatically when DOSBox-X starts. On the other hand, if you set j3100=manual (apart from dosv=jp and a VGA machine type), then you will be in the Japanese DOS/V mode when DOSBox-X starts, but the J-3100 DCGA mode will be entered with DCGA command. In either case you can return to the Japanese DOS/V mode with VGA command, or re-enter the J-3100 DCGA mode with DCGA command. There is also the j3100type option to set the J-3100 machine type. With a different machine type the J-3100 color palette will be different. The following are the supported J-3100 machine types (other than default) for the j3100type option: gt, sgt, gx, gl, sl, sgx, ss, gs, sx, sxb, sxw, sxp, ez, zs, zx

PC-98 mode

DOSBox-X provides emulation for the Japanese NEC PC-98 mode, a platform that established NEC’s dominance in the Japanese PC market. With this support you can play PC-98 games or run PC-98 programs in DOSBox-X, such as the early Touhou (東方) games. The PC-98 mode can be started with the setting machine=pc98, and it may also work in combination with the TrueType font output. See the PC‐98 emulation guide page for detailed information about PC-98 emulation in DOSBox-X.

AX (JEGA) mode

DOSBox-X also provides emulation for the Japanese AX (JEGA) mode, a Japanese computing initiative starting in around 1986 to allow PCs to handle double-byte (DBCS) Japanese text via special hardware chips. The AX (JEGA) mode may be started with the setting machine=jega, and it can also work in combination with the TrueType font output. In this mode you can press the right Ctrl key to toggle between romaji and kana input modes. Several config options related to DOS/V (see [dosv] section) can also be used for the JEGA mode.

Clone this wiki locally