Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// Copyright (c) 1995 Microsoft Corpration
//
// File Name : fechrcnv.h
// Owner : Tetsuhide Akaishi
// Revision : 1.00 07/20/'95 Tetsuhide Akaishi
//
#include "festrcnv.h"
// Shift JIS Kanji Code Check
#define SJISISKANJI(c) ( ( (UCHAR)(c) >= 0x81 && (UCHAR)(c) <= 0x9f ) || \
( (UCHAR)(c) >= 0xe0 && (UCHAR)(c) <= 0xfc ) )
// Shift JIS Kana Code Check
#define SJISISKANA(c) ( (UCHAR)(c) >= 0xa1 && (UCHAR)(c) <= 0xdf )
#define ESC 0x1b
#define SO 0x0e
#define SI 0x0f
// Define for JIS Code Kanji and Kana IN/OUT characters
#define KANJI_IN_1ST_CHAR '$'
#define KANJI_IN_2ND_CHAR1 'B'
#define KANJI_IN_2ND_CHAR2 '@'
#define KANJI_IN_STR "$B"
#define KANJI_IN_LEN 3
#define KANJI_OUT_1ST_CHAR '('
#define KANJI_OUT_2ND_CHAR1 'J'
#define KANJI_OUT_2ND_CHAR2 'B'
#define KANJI_OUT_LEN 3
#define KANJI_OUT_STR "(J"
#ifdef DBCS_DIVIDE
typedef struct _dbcs_status { int nCodeSet; UCHAR cSavedByte; BOOL fESC; } DBCS_STATUS; #endif
//--------------------------------
// Internal Functions for Japanese
//--------------------------------
// Detect Japanese Code
int DetectJPNCode ( UCHAR *string, int len );
// Convert from Shift JIS to JIS
int ShiftJIS_to_JIS ( UCHAR *pShiftJIS, int ShiftJIS_len, UCHAR *pJIS, int JIS_len );
// Convert from Shift JIS to EUC
int ShiftJIS_to_EUC ( UCHAR *pShiftJIS, int ShiftJIS_len, UCHAR *pJIS, int JIS_len );
// Convert from JIS to EUC
int JIS_to_EUC ( UCHAR *pJIS, int JIS_len, UCHAR *pEUC, int EUC_len );
// Convert from JIS to Shift JIS
int JIS_to_ShiftJIS ( UCHAR *pShiftJIS, int ShiftJIS_len, UCHAR *pJIS, int JIS_len );
// Convert from EUC to JIS
int EUC_to_JIS ( UCHAR *pJIS, int JIS_len, UCHAR *pEUC, int EUC_len );
// Convert from EUC to Shift JIS
int EUC_to_ShiftJIS ( UCHAR *pEUC, int EUC_len, UCHAR *pShiftJIS, int ShiftJIS_len );
#ifdef IEXPLORE
void FCC_Init( void ); int FCC_GetCurrentEncodingMode( void ); #endif // IEXPLORE
#ifdef INETSERVER
UCHAR SJISCheckLastChar( UCHAR *pShiftJIS, int len ); #endif // INETSERVER
|