#ifndef __NINTL_H
#define __NINTL_H

#include "device.h"

enum _LanguageEncoding {
	LANG_ENCODING_WESTERN      = 0,
	LANG_ENCODING_SIMP_CHINESE = 1,
	LANG_ENCODING_TRAD_CHINESE = 2,
	LANG_ENCODING_JAPANESE     = 3,
	LANG_ENCODING_KOREAN       = 4,
        LANG_ENCODING_GBK          = 5,
	LANG_ENCODING_UNKNOWN      = 6
};
typedef enum _LanguageEncoding LanguageEncoding;

#define INVALID_LANG_ENCODING -1

#define LOCALE_WESTERN      "en_US"
#define LOCALE_SIMP_CHINESE "zh_CN.GB2312"
#define LOCALE_GBK          "zh_CN.GBK"
#define LOCALE_TRAD_CHINESE "zh_TW.Big5"
#define LOCALE_JAPANESE     "ja"
#define LOCALE_KOREAN       "ko"
#define LOCALE_UNKNOWN      "*"

#define CHARSET_WESTERN      "iso8859"
#define CHARSET_SIMP_CHINESE "gb2312"
#define CHARSET_GBK          "iso10646"
#define CHARSET_TRAD_CHINESE "big5"
#define CHARSET_JAPANESE     "iso-2022-jp"
#define CHARSET_KOREAN       "ks"
#define CHARSET_UNKNOWN      "*"

#define INTL_DEFAULT_FONT \
        "-adobe-helvetica-medium-r-normal--12-120-75-75-P-67-iso8859-1"
#define INTL_DEFAULT_WESTERN_FONT \
	"+"  LOCALE_WESTERN       ""  INTL_DEFAULT_FONT
#define INTL_DEFAULT_SIMP_CHINESE_FONT \
	"+"  LOCALE_SIMP_CHINESE  ""  INTL_DEFAULT_FONT
#define INTL_DEFAULT_GBK_FONT \
	"+"  LOCALE_GBK  ""  INTL_DEFAULT_FONT
#define INTL_DEFAULT_TRAD_CHINESE_FONT \
	"+"  LOCALE_TRAD_CHINESE  ""  INTL_DEFAULT_FONT
#define INTL_DEFAULT_JAPANESE_FONT \
	"+"  LOCALE_JAPANESE      ""  INTL_DEFAULT_FONT
#define INTL_DEFAULT_KOREAN_FONT \
	"+"  LOCALE_KOREAN        ""  INTL_DEFAULT_FONT

typedef MWBOOL (LanguageFunc) (unsigned char c1, unsigned char c2);

MWBOOL is_simp_chinese_char	(unsigned char c1, unsigned char c2);
MWBOOL is_gbk_char	        (unsigned char c1, unsigned char c2);
MWBOOL is_trad_chinese_char	(unsigned char c1, unsigned char c2);
MWBOOL is_japanese_char		(unsigned char c1, unsigned char c2);
MWBOOL is_korean_char		(unsigned char c1, unsigned char c2);

#endif /* !__NINTL_H */
