#ifdef	__cplusplus

enum {
	ROMA_NORMAL = 0, ROMA_ZENHIRA, ROMA_ZENKATA,
	ROMA_HANKATA, ROMA_ZENROMA, ROMA_HANROMA
} ;

class RomaText {
	CHAR	m_szRoma[ 128 ] ;
	CHAR	m_szKana[ 128 ] ;
	BYTE	m_bRomaPos[ 128 ] ;
	BYTE	m_bKanaPos[ 128 ] ;
	DWORD	m_dwNumToken ;

public:
	RomaText() { clear() ; }
	void	clear() ;
	void	addchar( CHAR c ) ;
	void	addromachar( CHAR c ) ;
	void	addstr( LPCSTR str ) ;
	void	backspace() ;
	void	getroma( LPSTR roma ) const ;
	void	getkana( LPSTR kana ) const ;
	void	setkana( LPCSTR kana ) ;
	void	getmuhenkan( DWORD muhenkan, LPSTR buf ) const ;
} ;

extern "C" {
#endif

	void	hira2kata( LPCSTR src, LPSTR dst ) ;
	void	upper2lower( LPCSTR src, LPSTR dst ) ;
	void	zen2han( LPCSTR src, LPSTR dst ) ;
	void	han2zen( LPCSTR src, LPSTR dst ) ;
	void	itaiconv( LPCSTR src, LPSTR dst ) ;
	DWORD	itaiIndex( LPCSTR buf ) ;
	void	hiraNormalize( LPCSTR src, LPSTR dst, BOOL fNoAscii ) ;

#ifdef	__cplusplus
} ;
#endif
