windows-nt/Source/XPSP1/NT/windows/richedit/re30/_clasfyc.h
2020-09-26 16:20:57 +08:00

60 lines
1.4 KiB
C

/*
* @doc
*
* @module _clasfyc.H -- character classification |
*
* Authors: <nl>
* Jon Matousek
*
* Copyright (c) 1995-1998 Microsoft Corporation. All rights reserved.
*/
#ifndef _CLASFYC_H
#define _CLASFYC_H
extern const INT g_cKinsokuCategories;
void BatchClassify(const WCHAR *ch, INT cch, WORD *pcType3,
INT *kinsokuClassifications, WORD *pwRes);
BOOL CanBreak(INT class1, INT class2);
WORD ClassifyChar(TCHAR ch);
INT GetKinsokuClass(WCHAR ch);
BOOL InitKinsokuClassify();
BOOL IsSameClass(WORD currType1, WORD startType1,
WORD currType3, WORD startType3);
BOOL IsURLDelimiter(WCHAR ch);
void UninitKinsokuClassify();
#define MAX_CLASSIFY_CHARS (256L)
#define brkclsQuote 0
#define brkclsOpen 1
#define brkclsClose 2
#define brkclsGlueA 3
#define brkclsExclaInterr 4
#define brkclsSlash 6
#define brkclsInseparable 7
#define brkclsPrefix 8
#define brkclsPostfix 9
#define brkclsNoStartIdeo 10
#define brkclsIdeographic 11
#define brkclsNumeral 12
#define brkclsSpaceN 14
#define brkclsAlpha 15
// Korean Unicode ranges
#define IsKoreanJamo(ch) IN_RANGE(0x1100, ch, 0x11FF)
#define IsKorean(ch) IN_RANGE(0xAC00, ch, 0xD7FF)
// Thai Unicode range
#define IsThai(ch) IN_RANGE(0x0E00, ch, 0x0E7F)
// -FUTURE- This should be moved to richedit.h
#define WBF_KOREAN 0x0080
#define WBF_WORDBREAKAFTER 0x0400 // Break word after this character (for language such as Thai)
#endif