#include #include /********************************************************************* * _ismbchira(MSVCRT.@) */ int CDECL _ismbchira(unsigned int c) { if(get_mbcinfo()->mbcodepage == 932) { /* Japanese/Hiragana, CP 932 */ return (c >= 0x829f && c <= 0x82f1); } return 0; } /********************************************************************* * _ismbckata(MSVCRT.@) */ int CDECL _ismbckata(unsigned int c) { if(get_mbcinfo()->mbcodepage == 932) { /* Japanese/Katakana, CP 932 */ return (c >= 0x8340 && c <= 0x8396 && c != 0x837f); } return 0; } /********************************************************************* * _mbctohira (MSVCRT.@) * * Converts a sjis katakana character to hiragana. */ unsigned int CDECL _mbctohira(unsigned int c) { if(_ismbckata(c) && c <= 0x8393) return (c - 0x8340 - (c >= 0x837f ? 1 : 0)) + 0x829f; return c; } /********************************************************************* * _mbctokata (MSVCRT.@) * * Converts a sjis hiragana character to katakana. */ unsigned int CDECL _mbctokata(unsigned int c) { if(_ismbchira(c)) return (c - 0x829f) + 0x8340 + (c >= 0x82de ? 1 : 0); return c; }