UnicodeCharMapWideChar.cpp
上传用户:hell82222
上传日期:2013-12-19
资源大小:1872k
文件大小:2k
源码类别:
CAD
开发平台:
Visual C++
- // UnicodeCharMapWideChar.cpp: implementation of the CUnicodeCharMapWideChar class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "UnicodeCharMapWideChar.h"
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- CUnicodeCharMapWideChar g_UnicodeCharMapWideChar;
- CUnicodeCharMapWideChar::CUnicodeCharMapWideChar()
- {
- /*
- CStdioFile file;
- //取得默认配置文件的路径
- TCHAR szFileName[MAX_PATH];
- ::GetModuleFileName(::GetModuleHandle(_T("CMN.dll")),szFileName,MAX_PATH);
- (*_tcsrchr(szFileName,'\'))=' ';
- _tcscat(szFileName,_T("\Support\switchunicode.txt"));
- if(file.Open(szFileName,CFile::modeRead))
- {
- CString strText;
- while(file.ReadString(strText))
- {
- if(strText.GetLength()==6||strText.GetLength()==7)
- {
- if(strText.GetAt(5)=='=')
- {
- unsigned short ch;
- if(strText[3]>=0x61)
- {
- ch=strText[3]-0x61+10;
- }
- else if(strText[3]>=0x41)
- {
- ch=strText[3]-0x41+10;
- }
- else
- {
- ch=strText[3]-0x30;
- }
- if(strText[4]>=0x61)
- {
- ch=ch*16+strText[4]-0x61+10;
- }
- else if(strText[4]>=0x41)
- {
- ch=ch*16+strText[4]-0x41+10;
- }
- else
- {
- ch=ch*16+strText[4]-0x30;
- }
- if(strText[5]>=0x61)
- {
- ch=ch*16+strText[5]-0x61+10;
- }
- else if(strText[5]>=0x41)
- {
- ch=ch*16+strText[5]-0x41+10;
- }
- else
- {
- ch=ch*16+strText[5]-0x30;
- }
- if(strText[6]>=0x61)
- {
- ch=ch*16+strText[6]-0x61+10;
- }
- else if(strText[6]>=0x41)
- {
- ch=ch*16+strText[6]-0x41+10;
- }
- else
- {
- ch=ch*16+strText[6]-0x30;
- }
- if(strText.GetLength()==6)
- {
- m_aUnicodeChar.Add(ch);
- m_aWideChar.Add(strText.Right(1));
- }
- else
- {
- m_aUnicodeChar.Add(ch);
- m_aWideChar.Add(strText.Right(2));
- }
- }
- }
- }
- file.Close();
- }
- */
- m_aUnicodeChar.Add(0x00d8);
- m_aWideChar.Add("%%c");
- }
- CUnicodeCharMapWideChar::~CUnicodeCharMapWideChar()
- {
- }
- BOOL CUnicodeCharMapWideChar::GetWideChar(char ch,CString &str)
- {
- ASSERT(m_aUnicodeChar.GetSize()==m_aWideChar.GetSize());
- for(int i=0;i<m_aUnicodeChar.GetSize();i++)
- {
- if(m_aUnicodeChar[i]==ch)
- {
- str=m_aWideChar[i];
- return TRUE;
- }
- }
- return FALSE;
- }