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.
|
|
#ifndef _CPDETECT_H_
#define _CPDETECT_H_
#define MAX_CONFIDENCE 100
#define MIN_CONFIDENCE 86
#define MIN_DOCPERCENT 60
#define MIN_TEXT_SIZE 200
#define HIGHEST_ASCII 127
#define MIN_ACCEPTABLE_CONFIDENCE 60
#define DEFAULT_CPMRU_INIT_HITS 100
#define DEFAULT_CPMRU_FACTOR 20
#define CP_AUTO_MRU_NUM 6
#define DEFAULT_CPMRU_NUM 10
#define MAX_CPMRU_NUM 20
#define MAX_ENTITY_LENTH 10
#define IsNoise(c) ((unsigned)(c) <= 0x20 && (c) != 0 && (c) != 0x1B)
#define IS_ENCODED_ENCODING(cp) ((cp) == CP_ISO_2022_JP || (cp) == CP_CHN_HZ || (cp) == CP_UTF_7 || (cp) == CP_UTF_8 || (cp) == CP_ISO_2022_KR)
typedef struct _CODEPAGE_MRU { DWORD dwEncoding; DWORD dwHistoryHits; } CODEPAGE_MRU, *PCODEPAGE_MRU;
typedef struct tagCpPatch { UINT srcEncoding; UINT destEncoding; UINT nSize; unsigned char *pszUch; } CPPATCH;
// Dump everything under
// HKCU\\Software\\Microsoft\\Internet Explorer\\International
#define REGSTR_PATH_CPMRU TSZMICROSOFTPATH TEXT("\\Internet Explorer\\International\\CpMRU")
#define REG_KEY_CPMRU TEXT("Cache")
#define REG_KEY_CPMRU_ENABLE TEXT("Enable")
#define REG_KEY_CPMRU_NUM TEXT("Size")
#define REG_KEY_CPMRU_INIT_HITS TEXT("InitHits")
#define REG_KEY_CPMRU_PERCENTAGE_FACTOR TEXT("Factor")
// CCpMRU
class CCpMRU { PCODEPAGE_MRU _pCpMRU;
DWORD dwCpMRUNum; DWORD dwCpMRUInitHits; DWORD dwCpMRUFactor;
public: DWORD dwCpMRUEnable; BOOL bCpUpdated;
CCpMRU::CCpMRU(void) { // No update at initial time
bCpUpdated = FALSE; _pCpMRU = NULL; }
~CCpMRU(void); HRESULT Init(void); HRESULT GetCpMRU(PCODEPAGE_MRU pCpMRU, UINT *puiCpNum); void UpdateCPMRU(DWORD dwEncoding);
}; void RemoveHtmlTags (LPSTR pIn, UINT *pnBytes); UINT PatchCodePage(UINT uiEncoding, unsigned char *pStr, int nSize); extern class CCpMRU * g_pCpMRU;
#endif // _CPDETECT_H_
|