741 lines
25 KiB
C
741 lines
25 KiB
C
/******************************Module*Header*******************************\
|
|
* Module Name: fonttest.h
|
|
*
|
|
* Created: 08-Jun-1993 07:39:00
|
|
* Author: Kirk Olynyk [kirko]
|
|
*
|
|
\**************************************************************************/
|
|
|
|
#define IDM_FONTTESTMENU 1
|
|
#define IDI_FONTTESTICON 1
|
|
|
|
//-------------- File ---------------
|
|
|
|
#define IDM_DEBUG 100
|
|
#define IDM_OPENLOG 101
|
|
#define IDM_CLOSELOG 102
|
|
|
|
#define IDM_CLEARSTRING 110
|
|
#define IDM_CLEARDEBUG 111
|
|
#define IDM_EDITSTRING 112
|
|
|
|
#define IDM_EDITGLYPHINDEX 115
|
|
|
|
#define IDM_PRINT 120
|
|
#define IDM_PRINTERSETUP 121
|
|
|
|
|
|
//---------- Program Mode -----------
|
|
|
|
#define IDM_GLYPHMODE 200
|
|
#define IDM_NATIVEMODE 201
|
|
#define IDM_BEZIERMODE 202
|
|
#define IDM_RINGSMODE 203
|
|
#define IDM_STRINGMODE 204
|
|
#define IDM_WATERFALLMODE 205
|
|
#define IDM_WHIRLMODE 206
|
|
#define IDM_ANSISETMODE 207
|
|
#define IDM_GLYPHSETMODE 208
|
|
#define IDM_WIDTHSMODE 209
|
|
|
|
#define IDM_GGOMATRIX 210
|
|
|
|
#define IDM_WRITEGLYPH 211
|
|
#define IDM_USEGLYPHINDEX 215
|
|
|
|
#define IDM_USEPRINTERDC 220
|
|
|
|
|
|
//---------- Mapping Mode -----------
|
|
|
|
#define IDM_MMHIENGLISH 300
|
|
#define IDM_MMLOENGLISH 301
|
|
#define IDM_MMHIMETRIC 302
|
|
#define IDM_MMLOMETRIC 303
|
|
#define IDM_MMTEXT 304
|
|
#define IDM_MMTWIPS 305
|
|
#define IDM_MMANISOTROPIC 310
|
|
#define IDM_MMISOTROPIC 311
|
|
|
|
|
|
//---------- New Stuff --------------
|
|
|
|
#define IDM_COMPATIBLE_MODE 312
|
|
#define IDM_ADVANCED_MODE 313
|
|
#define IDM_WORLD_TRANSFORM 314
|
|
#define IDM_EM11 315
|
|
#define IDM_EM12 316
|
|
#define IDM_EM21 317
|
|
#define IDM_EM22 318
|
|
#define IDM_EDX 319
|
|
#define IDM_EDY 320
|
|
|
|
|
|
//---------- Clipping Mode ----------
|
|
|
|
#define IDM_CLIPELLIPSE 351
|
|
#define IDM_CLIPPOLYGON 352
|
|
#define IDM_CLIPRECTANGLE 353
|
|
|
|
|
|
//--------------- APIs --------------
|
|
|
|
#define IDM_ENUMFONTS 400
|
|
#define IDM_ENUMFONTFAMILIES 401
|
|
#define IDM_ENUMFONTFAMILIESEX 402
|
|
|
|
#define IDM_GETOUTLINETEXTMETRICS 411
|
|
#define IDM_GETRASTERIZERCAPS 412
|
|
#define IDM_GETTEXTEXTENT 413
|
|
#define IDM_GETTEXTFACE 414
|
|
#define IDM_GETTEXTMETRICS 415
|
|
#define IDM_GETTEXTCHARSETINFO 416
|
|
#define IDM_GETFONTLANGUAGEINFO 417
|
|
|
|
#define IDM_GETCHARWIDTHINFO 440
|
|
#define IDM_GETWVTPERF 441
|
|
#define IDM_TEXTOUTPERF 442
|
|
#define IDM_CHARWIDTHTEST 443
|
|
#define IDM_CHARWIDTHTESTALL 444
|
|
#define IDM_CLEARTYPEPERF 445
|
|
|
|
#define IDM_GETFONTDATA 420
|
|
#define IDM_CREATESCALABLEFONTRESOURCE 421
|
|
#define IDM_ADDFONTRESOURCE 422
|
|
#define IDM_ADDFONTRESOURCEEX 424
|
|
#define IDM_REMOVEFONTRESOURCE 423
|
|
#define IDM_REMOVEFONTRESOURCEEX 425
|
|
#define IDM_ADDFONTMEMRESOURCEEX 426
|
|
#define IDM_REMOVEFONTMEMRESOURCEEX 427
|
|
|
|
#define IDM_GCP 430
|
|
#define IDM_GTEEXT 431
|
|
#define IDM_SETXTCHAR 432
|
|
#define IDM_SETXTJUST 433
|
|
|
|
// Font Escapes
|
|
|
|
#define IDM_GETEXTENDEDTEXTMETRICS 460
|
|
#define IDM_GETPAIRKERNTABLE 461
|
|
|
|
// index apis and other new apis for 5.0
|
|
|
|
#define IDM_GETUNICODERANGES 462
|
|
#define IDM_GETTEXTEXTENTI 463
|
|
#define IDM_GETCHARWIDTHI 464
|
|
|
|
// eudc apis
|
|
|
|
#define IDM_ENABLEEUDC 465
|
|
#define IDM_EUDCLOADLINKW 466
|
|
#define IDM_EUDCUNLOADLINKW 467
|
|
#define IDM_GETEUDCTIMESTAMP 468
|
|
#define IDM_GETEUDCTIMESTAMPEXW 469
|
|
#define IDM_GETSTRINGBITMAPA 470
|
|
#define IDM_GETSTRINGBITMAPW 471
|
|
#define IDM_GETFONTASSOCSTATUS 472
|
|
|
|
|
|
|
|
//----------- Create Font -----------
|
|
|
|
#define IDM_CHOOSEFONTDIALOG 500
|
|
#define IDM_CREATEFONTDIALOG 501
|
|
#define IDM_USESTOCKFONT 502
|
|
#define IDM_CHOOSEFONTDIALOGEX 503
|
|
|
|
#define IDM_ANSIFIXEDFONT 5001
|
|
#define IDM_ANSIVARFONT 5002
|
|
#define IDM_DEVICEDEFAULTFONT 5003
|
|
#define IDM_OEMFIXEDFONT 5004
|
|
#define IDM_SYSTEMFONT 5005
|
|
#define IDM_SYSTEMFIXEDFONT 5006
|
|
#define IDM_DEFAULTGUIFONT 5007
|
|
|
|
#define IDM_SETTEXTCOLOR 510
|
|
#define IDM_SETBACKGROUNDCOLOR 511
|
|
#define IDM_SETTEXTOUTOPTIONS 512
|
|
#define IDM_UPDATECP 513
|
|
|
|
#define IDM_USEDEFAULTSPACING 520
|
|
#define IDM_USEWIDTHSPACING 521
|
|
#define IDM_USEABCSPACING 522
|
|
#define IDM_PDX 523
|
|
#define IDM_PDXPDY 524
|
|
#define IDM_RANDOMPDXPDY 525
|
|
|
|
#define IDM_NOKERNING 530
|
|
#define IDM_APIKERNING 531
|
|
#define IDM_ESCAPEKERNING 532
|
|
|
|
#define IDM_SHOWLOGFONT 540
|
|
|
|
|
|
//----------- Text Mode -----------
|
|
|
|
#define IDM_CHARCODING_MBCS 601
|
|
#define IDM_CHARCODING_UNICODE 602
|
|
|
|
//----------- Background ----------
|
|
|
|
#define IDM_SETSOLIDBACKGROUND 701
|
|
#define IDM_SETSOLIDBACKGROUNDCOLOR 702
|
|
#define IDM_SETGRADIENTBACKGROUND 703
|
|
#define IDM_SETLEFTGRADIENTCOLOR 704
|
|
#define IDM_SETRIGHTGRADIENTCOLOR 705
|
|
|
|
|
|
#define IDM_ABOUT 900
|
|
#define IDB_ABOUT 910
|
|
|
|
|
|
|
|
|
|
HANDLE hInst;
|
|
|
|
HWND hwndMain;
|
|
HWND hwndDebug;
|
|
HWND hwndGlyph;
|
|
HWND hwndRings;
|
|
HWND hwndString;
|
|
HWND hwndWaterfall;
|
|
HWND hwndWhirl;
|
|
HWND hwndAnsiSet;
|
|
HWND hwndGlyphSet;
|
|
HWND hwndWidths;
|
|
|
|
int cxScreen, cyScreen;
|
|
int Margin;
|
|
|
|
int cxDC, cyDC;
|
|
int xDC,yDC;
|
|
int cxDevice, cyDevice;
|
|
|
|
int cxBorder;
|
|
|
|
#define MAX_TEXT 128
|
|
int aDx[2*MAX_TEXT]; // allow space for both pdx,pdy
|
|
|
|
//char szString[MAX_TEXT];
|
|
char szStringA[MAX_TEXT];
|
|
WCHAR szStringW[MAX_TEXT];
|
|
|
|
WORD wszStringGlyphIndex[MAX_TEXT];
|
|
int SizewszStringGlyph;
|
|
INT intdx[2*MAX_TEXT];
|
|
LPINT lpintdx;
|
|
int sizePdx;
|
|
|
|
WORD wTextAlign;
|
|
int iBkMode;
|
|
DWORD wETO;
|
|
int nCharExtra;
|
|
int nBreakExtra, nBreakCount;
|
|
|
|
BOOL bStrokePath;
|
|
BOOL bFillPath;
|
|
BOOL bGCP;
|
|
BOOL bGTEExt;
|
|
BOOL bPdxPdy;
|
|
|
|
int xWE, yWE, xWO, yWO;
|
|
int xVE, yVE, xVO, yVO;
|
|
|
|
int bAdvanced;
|
|
extern XFORM xf;
|
|
|
|
UINT wMode;
|
|
|
|
ENUMLOGFONTEXDVA elfdvA;
|
|
ENUMLOGFONTEXDVW elfdvW;
|
|
DWORD dwRGB;
|
|
DWORD dwRGBText;
|
|
// DWORD dwRGBTextExt;
|
|
DWORD dwRGBBackground;
|
|
|
|
// Drawing area background control
|
|
BOOL isGradientBackground;
|
|
DWORD dwRGBSolidBackgroundColor;
|
|
DWORD dwRGBLeftBackgroundColor;
|
|
DWORD dwRGBRightBackgroundColor;
|
|
|
|
DWORD dwxFlags;
|
|
WORD wRotate;
|
|
|
|
|
|
UINT wMappingMode;
|
|
UINT wSpacing;
|
|
UINT wKerning;
|
|
WORD wUpdateCP;
|
|
UINT wUseGlyphIndex;
|
|
WORD wUsePrinterDC;
|
|
|
|
UINT wCharCoding;
|
|
BOOL isCharCodingUnicode;
|
|
|
|
|
|
INT_PTR ShowDialogBox(DLGPROC, int, VOID*);
|
|
int dprintf( char *fmt, ... );
|
|
int dwprintf( wchar_t *fmt, ... );
|
|
void ClearDebug( void );
|
|
|
|
void HandleChar( HWND hwnd, WPARAM wParam );
|
|
|
|
LPINT GetSpacing( HDC hdc, LPVOID lpszString );
|
|
void MyExtTextOut( HDC hdc, int x, int y, DWORD wFlags, LPRECT lpRect, LPVOID lpszString, int cbString, LPINT lpdx );
|
|
BOOL GenExtTextOut( HDC hdc, int x, int y, DWORD wFlags, LPRECT lpRect, LPVOID lpszString, int cbString, LPINT lpdx );
|
|
|
|
HDC hdcCachedPrinter; //return value from CreatePrinterDC
|
|
HDC CreatePrinterDC( void );
|
|
void SetDCMapMode( HDC hdc, UINT wMode );
|
|
void DrawDCAxis( HWND hwnd, HDC hdc , BOOL bAxis );
|
|
HDC CreateTestIC( void );
|
|
void DeleteTestIC( HDC hdc );
|
|
void CleanUpDC( HDC hdc );
|
|
void ChangeMapMode( HWND hwnd, WPARAM wParam );
|
|
BOOL fReadDesignVector (HWND hdlg, LPDESIGNVECTOR lpdv);
|
|
|
|
BOOL SyncszStringWith (int mode);
|
|
BOOL SyncStringAtoW (LPWSTR lpszStringW, LPSTR lpszStringA, int cch);
|
|
BOOL SyncStringWtoA (LPSTR lpszStringA, LPWSTR lpszStringW, int cch);
|
|
BOOL SyncElfdvAtoW (ENUMLOGFONTEXDVW *elfdv1, ENUMLOGFONTEXDVA *elfdv2);
|
|
BOOL SyncElfdvWtoA (ENUMLOGFONTEXDVA *elfdv1, ENUMLOGFONTEXDVW *elfdv2);
|
|
|
|
BOOL (WINAPI *lpfnCreateScalableFontResource)(DWORD, LPCSTR, LPCSTR, LPCSTR);
|
|
int (WINAPI *lpfnEnumFontFamilies )(HDC, LPCSTR, FONTENUMPROC, LPSTR);
|
|
int (WINAPI *lpfnEnumFontFamiliesEx) (HDC, LPLOGFONT, FONTENUMPROC, LPSTR, DWORD);
|
|
BOOL (WINAPI *lpfnGetCharABCWidthsA)(HDC, UINT, UINT, LPABC);
|
|
DWORD (WINAPI *lpfnGetFontData )(HDC, DWORD, DWORD, void FAR*, DWORD);
|
|
DWORD (WINAPI *lpfnGetGlyphOutlineA )(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, LPMAT2);
|
|
//DWORD (WINAPI *lpfnGetOutlineTextMetrics)(HDC, UINT, LPOUTLINETEXTMETRIC);
|
|
DWORD (WINAPI *lpfnGetOutlineTextMetricsA)(HDC, UINT, LPVOID);
|
|
BOOL (WINAPI *lpfnGetRasterizerCaps)(LPRASTERIZER_STATUS, int );
|
|
int (WINAPI *lpfnGetTextCharsetInfo)(HDC, LPFONTSIGNATURE, DWORD);
|
|
|
|
// UNICODE
|
|
BOOL (WINAPI *lpfnGetCharABCWidthsW)(HDC, UINT, UINT, LPABC);
|
|
DWORD (WINAPI *lpfnGetGlyphOutlineW )(HDC, UINT, UINT, LPGLYPHMETRICS, DWORD, LPVOID, LPMAT2);
|
|
DWORD (WINAPI *lpfnGetOutlineTextMetricsW)(HDC, UINT, LPVOID);
|
|
|
|
// END UNICODE
|
|
|
|
#define IDE_CHARSET 3899
|
|
#define IDB_ENUMFONTFAMILIES 100
|
|
#define IDD_LPSZFAMILY 101
|
|
#define IDD_ENUMERATE 103
|
|
#define IDB_CREATEFONT 200
|
|
#define IDD_NHEIGHT 202
|
|
#define IDD_NWIDTH 204
|
|
#define IDD_NESCAPEMENT 206
|
|
#define IDD_NORIENTATION 208
|
|
#define IDD_NWEIGHT 210
|
|
#define IDD_ITALIC 211
|
|
#define IDD_UNDERLINE 212
|
|
#define IDD_STRIKEOUT 213
|
|
#define IDD_CHARSET 214
|
|
#define IDD_PRECISION 217
|
|
#define IDD_QUALITY 221
|
|
#define IDD_CLIPPRECISION 219
|
|
#define IDD_PITCH 223
|
|
#define IDD_FAMILY 225
|
|
#define IDD_OUTPUTPRECISION 226
|
|
#define IDD_OK 229
|
|
#define IDD_CANCEL 230
|
|
#define IDD_LPFAMILY 228
|
|
#define IDD_PITCHANDFAMILY 232
|
|
#define IDB_ENUMFONTS 300
|
|
#define IDD_LPSZFACENAME 302
|
|
#define IDD_SCREENDC 303
|
|
#define IDD_PRINTERDC 304
|
|
#define IDB_FONTS 307
|
|
#define IDD_LFHEIGHT 311
|
|
#define IDD_LFWIDTH 313
|
|
#define IDD_LFESCAPAEMENT 315
|
|
#define IDD_LFORIENTATION 317
|
|
#define IDD_LFESCAPEMENT 318
|
|
#define IDD_LFWEIGHT 320
|
|
#define IDD_LFITALIC 322
|
|
#define IDD_LFUNDERLINE 324
|
|
#define IDD_LFSTRIKEOUT 326
|
|
#define IDD_LFCHARSET 328
|
|
#define IDD_LFOUTPRECISION 330
|
|
#define IDD_LFCLIPPRECISION 332
|
|
#define IDD_LFQUALITY 334
|
|
#define IDD_LFPITCHANDFAMILY 336
|
|
#define IDD_LFFACENAME 338
|
|
#define IDD_ELFFULLNAME 442
|
|
#define IDD_ELFSTYLE 444
|
|
#define IDD_ELFSCRIPT 446
|
|
#define IDD_FONTS 339
|
|
#define IDD_TMHEIGHT 341
|
|
#define IDD_TMASCENT 343
|
|
#define IDD_TMDESCENT 345
|
|
#define IDD_TMINTERNALLEADING 347
|
|
#define IDD_TMEXTERNALLEADING 349
|
|
#define IDD_TMAVECHARWIDTH 351
|
|
#define IDD_TMMAXCHARWIDTH 353
|
|
#define IDD_TMWIDTH 355
|
|
#define IDD_TMITALIC 357
|
|
#define IDD_TMUNDERLINED 359
|
|
#define IDD_TMSTRUCKOUT 361
|
|
#define IDD_TMFIRSTCHAR 363
|
|
#define IDD_TMLASTCHAR 365
|
|
#define IDD_TMDEFAULTCHAR 367
|
|
#define IDD_TMBREAKCHAR 369
|
|
#define IDD_TMPITCHANDFAMILY 371
|
|
#define IDD_TMCHARSET 373
|
|
#define IDD_TMOVERHANG 375
|
|
#define IDD_TMDIGITIZEDASPECTX 377
|
|
#define IDD_TMDIGITIZEDASPECTY 379
|
|
#define IDD_NFONTTYPE 381
|
|
#define IDD_TMWEIGHT 382
|
|
|
|
#define IDD_NTMFLAGS 390
|
|
#define IDD_NTMSIZEEM 392
|
|
#define IDD_NTMCELLHEIGHT 394
|
|
#define IDD_NTMAVGWIDTH 396
|
|
|
|
#define IDD_USB0 8390
|
|
#define IDD_USB1 8392
|
|
#define IDD_USB2 8394
|
|
#define IDD_USB3 8396
|
|
#define IDD_CSB0 8338
|
|
#define IDD_CSB1 8340
|
|
|
|
#define IDD_TATOP 402
|
|
#define IDD_TABASELINE 403
|
|
#define IDD_TABOTTOM 404
|
|
#define IDD_TALEFT 406
|
|
#define IDD_TACENTER 407
|
|
#define IDD_TARIGHT 408
|
|
#define IDD_STROKEPATH 416
|
|
#define IDD_FILLPATH 417
|
|
#define IDD_WINDINGFILL 418
|
|
#define IDD_ALTERNATEFILL 419
|
|
#define IDB_SETTEXTALIGN 400
|
|
#define IDD_CREATEFONT 383
|
|
#define IDB_MMANISOTROPIC 500
|
|
#define IDD_XWE 503
|
|
#define IDD_YWE 505
|
|
#define IDD_XWO 507
|
|
#define IDD_YWO 509
|
|
#define IDD_XVE 513
|
|
#define IDD_YVE 515
|
|
#define IDD_XVO 517
|
|
#define IDD_YVO 519
|
|
#define IDD_TRANSPARENT 411
|
|
#define IDD_OPAQUE 412
|
|
#define IDB_TEXTOUTOPTIONS 600
|
|
#define IDD_M11 702
|
|
#define IDD_EM21 703
|
|
#define IDD_M21 704
|
|
#define IDD_M12 707
|
|
#define IDD_M22 709
|
|
#define IDD_WCHAR 710
|
|
#define IDB_GGOMATRIX 700
|
|
|
|
#define IDC_WVT_FILE_PATH 442
|
|
#define IDC_WVT_FILE_HANDLE 443
|
|
#define IDC_WVT_MEM_PTR 444
|
|
#define IDC_FONT_HINT 445
|
|
#define IDC_IS_CHECK_PERFORMED 446
|
|
#define IDC_CRYPTHASHDATA_ONLY 447
|
|
#define IDC_WVT_ONLY 448
|
|
#define IDC_EVERYTHING 449
|
|
#define IDC_WVT_ITERATIONS 450
|
|
#define IDC_STATIC2 -2
|
|
|
|
#define IDB_CREATESCALABLEFONTRESOURCE 800
|
|
#define IDD_FHIDDEN 802
|
|
#define IDD_LPSZRESOURCEFILE 804
|
|
#define IDD_LPSZFONTFILE 806
|
|
#define IDD_LPSZCURRENTPATH 808
|
|
|
|
#define IDB_ADDFONTRESOURCE 900
|
|
#define IDB_ADDFONTRESOURCEEX 1002
|
|
#define IDB_ADDFONTMEMRESOURCEEX 1010
|
|
#define IDD_LPSZFILE 902
|
|
|
|
#define IDB_REMOVEFONTRESOURCE 1000
|
|
#define IDD_REMOVEFONTRESOURCE 1100
|
|
#define IDB_REMOVEFONTMEMRESOURCEEX 1140
|
|
#define IDD_HMMFONT 1141
|
|
#define IDD_CLIP_ENCAPSULATE 231
|
|
#define IDD_CLIP_LH_ANGLES 233
|
|
#define IDD_CLIP_TT_ALWAYS 234
|
|
#define IDD_PITCH_TT 235
|
|
|
|
#define IDB_GETFONTDATA 1200
|
|
#define IDD_DWTABLE 1202
|
|
#define IDD_DWOFFSET 1204
|
|
#define IDD_DWCHUNK 1206
|
|
#define IDD_DWSIZE 1208
|
|
#define IDD_ETO_CLIPPED 602
|
|
#define IDD_ETO_OPAQUE 603
|
|
|
|
#define IDD_GGO_GLYPHINDEX 604
|
|
#define IDD_GGO_UNHINTED 605
|
|
|
|
#define IDB_SETWORLDTRANSFORM 1300
|
|
#define IDD_TEXT_EM11 1301
|
|
#define IDD_TEXT_EM12 1302
|
|
#define IDD_TEXT_EM21 1303
|
|
#define IDD_TEXT_EM22 1304
|
|
#define IDD_TEXT_EDX 1305
|
|
#define IDD_TEXT_EDY 1306
|
|
#define IDD_VALUE_EM11 1307
|
|
#define IDD_VALUE_EM12 1308
|
|
#define IDD_VALUE_EM21 1309
|
|
#define IDD_VALUE_EM22 1300
|
|
#define IDD_VALUE_EDX 1311
|
|
#define IDD_VALUE_EDY 1312
|
|
|
|
#define IDM_GCPCARET 1314
|
|
|
|
//flags used in FONTSIGNATURE structure
|
|
#define CPB_LATIN1_ANSI 0X00000001
|
|
#define CPB_LATIN2_EASTEU 0X00000002
|
|
#define CPB_CYRILLIC_ANSI 0X00000004
|
|
#define CPB_GREEK_ANSI 0X00000008
|
|
#define CPB_TURKISH_ANSI 0X00000010
|
|
#define CPB_HEBREW_ANSI 0X00000020
|
|
#define CPB_ARABIC_ANSI 0X00000040
|
|
#define CPB_BALTIC_ANSI 0X00000080
|
|
|
|
#define CPB_THAI 0X00010000
|
|
#define CPB_JIS_JAPAN 0X00020000
|
|
#define CPB_CHINESE_SIMP 0X00040000
|
|
#define CPB_KOREAN_WANSUNG 0X00080000
|
|
#define CPB_CHINESE_TRAD 0X00100000
|
|
#define CPB_KOREAN_JOHAB 0X00200000
|
|
|
|
#define CPB_MACINTOSH_CHARSET 0X20000000
|
|
#define CPB_OEM_CHARSET 0X40000000
|
|
#define CPB_SYMBOL_CHARSET 0X80000000
|
|
|
|
#define CPB_IBM_GREEK 0X00010000
|
|
#define CPB_MSDOS_RUSSIAN 0X00020000
|
|
#define CPB_MSDOS_NORDIC 0X00040000
|
|
#define CPB_ARABIC_OEM 0X00080000
|
|
#define CPB_MSDOS_CANADIANFRE 0X00100000
|
|
#define CPB_HEBREW_OEM 0X00200000
|
|
#define CPB_MSDOS_ICELANDIC 0X00400000
|
|
#define CPB_MSDOS_PORTUGUESE 0X00800000
|
|
#define CPB_IBM_TURKISH 0X01000000
|
|
#define CPB_IBM_CYRILLIC 0X02000000
|
|
#define CPB_LATIN2_OEM 0X04000000
|
|
#define CPB_BALTIC_OEM 0X08000000
|
|
#define CPB_GREEK_OEM 0X10000000
|
|
#define CPB_WE_LATIN1 0X40000000
|
|
#define CPB_US_OEM 0X80000000
|
|
|
|
//flag used in FONTSIGNATURE
|
|
#define USB_BASIC_LATIN 0X00000001
|
|
#define USB_LATIN1_SUPPLEMENT 0X00000002
|
|
#define USB_LATIN_EXTENDEDA 0X00000004
|
|
#define USB_LATIN_EXTENDEDB 0X00000008
|
|
#define USB_IPA_EXTENSIONS 0X00000010
|
|
#define USB_SPACE_MODIF_LETTER 0X00000020
|
|
#define USB_COMB_DIACR_MARKS 0X00000040
|
|
#define USB_BASIC_GREEK 0X00000080
|
|
#define USB_GREEK_SYM_COPTIC 0X00000100
|
|
#define USB_CYRILLIC 0X00000200
|
|
#define USB_ARMENIAN 0X00000400
|
|
#define USB_BASIC_HEBREW 0X00000800
|
|
#define USB_HEBREW_EXTENDED 0X00001000
|
|
#define USB_BASIC_ARABIC 0X00002000
|
|
#define USB_ARABIC_EXTENDED 0X00004000
|
|
#define USB_DEVANAGARI 0X00008000
|
|
#define USB_BENGALI 0X00010000
|
|
#define USB_GURMUKHI 0X00020000
|
|
#define USB_GUJARATI 0X00040000
|
|
#define USB_ORIYA 0X00080000
|
|
#define USB_TAMIL 0X00100000
|
|
#define USB_TELUGU 0X00200000
|
|
#define USB_KANNADA 0X00400000
|
|
#define USB_MALAYALAM 0X00800000
|
|
#define USB_THAI 0X01000000
|
|
#define USB_LAO 0X02000000
|
|
#define USB_BASIC_GEORGIAN 0X04000000
|
|
#define USB_GEORGIAN_EXTENDED 0X08000000
|
|
#define USB_HANGUL_JAMO 0X10000000
|
|
#define USB_LATIN_EXT_ADD 0X20000000
|
|
#define USB_GREEK_EXTENDED 0X40000000
|
|
#define USB_GEN_PUNCTUATION 0X80000000
|
|
|
|
|
|
#define USB_SUPER_SUBSCRIPTS 0X00000001
|
|
#define USB_CURRENCY_SYMBOLS 0X00000002
|
|
#define USB_COMB_DIACR_MARK_SYM 0X00000004
|
|
#define USB_LETTERLIKE_SYMBOL 0X00000008
|
|
#define USB_NUMBER_FORMS 0X00000010
|
|
#define USB_ARROWS 0X00000020
|
|
#define USB_MATH_OPERATORS 0X00000040
|
|
#define USB_MISC_TECHNICAL 0X00000080
|
|
#define USB_CONTROL_PICTURE 0X00000100
|
|
#define USB_OPT_CHAR_RECOGNITION 0X00000200
|
|
#define USB_ENCLOSED_ALPHANUMERIC 0X00000400
|
|
#define USB_BOX_DRAWING 0X00000800
|
|
#define USB_BLOCK_ELEMENTS 0X00001000
|
|
#define USB_GEOMETRIC_SHAPE 0X00002000
|
|
#define USB_MISC_SYMBOLS 0X00004000
|
|
#define USB_DINGBATS 0X00008000
|
|
#define USB_CJK_SYM_PUNCTUATION 0X00010000
|
|
#define USB_HIRAGANA 0X00020000
|
|
#define USB_KATAKANA 0X00040000
|
|
#define USB_BOPOMOFO 0X00080000
|
|
#define USB_HANGUL_COMP_JAMO 0X00100000
|
|
#define USB_CJK_MISCELLANEOUS 0X00200000
|
|
#define USB_EN_CJK_LETTER_MONTH 0X00400000
|
|
#define USB_CJK_COMPATIBILITY 0X00800000
|
|
#define USB_HANGUL 0X01000000
|
|
|
|
#define USB_CJK_UNIFY_IDEOGRAPH 0X08000000
|
|
#define USB_PRIVATE_USE_AREA 0X10000000
|
|
#define USB_CJK_COMP_IDEOGRAPH 0X20000000
|
|
#define USB_ALPHA_PRES_FORMS 0X40000000
|
|
#define USB_ARABIC_PRES_FORMA 0X80000000
|
|
|
|
|
|
#define USB_COMB_HALF_MARK 0X00000001
|
|
#define USB_CJK_COMP_FORMS 0X00000002
|
|
#define USB_SMALL_FORM_VARIANTS 0X00000004
|
|
#define USB_ARABIC_PRES_FORMB 0X00000008
|
|
#define USB_HALF_FULLWIDTH_FORM 0X00000010
|
|
#define USB_SPECIALS 0X00000020
|
|
|
|
|
|
#define MoveTo(x,y,z) MoveToEx(x,y,z,NULL)
|
|
|
|
#define SetViewportExt(x,y,z) SetViewportExtEx(x,y,z,NULL)
|
|
#define SetViewportExt(x,y,z) SetViewportExtEx(x,y,z,NULL)
|
|
#define SetViewportOrg(x,y,z) SetViewportOrgEx(x,y,z,NULL)
|
|
#define SetViewportOrg(x,y,z) SetViewportOrgEx(x,y,z,NULL)
|
|
#define SetWindowExt(x,y,z) SetWindowExtEx(x,y,z,NULL)
|
|
#define SetWindowExt(x,y,z) SetWindowExtEx(x,y,z,NULL)
|
|
#define SetWindowOrg(x,y,z) SetWindowOrgEx(x,y,z,NULL)
|
|
#define SetWindowOrg(x,y,z) SetWindowOrgEx(x,y,z,NULL)
|
|
|
|
#define IDM_GETKERNINGPAIRS 450
|
|
|
|
#define IDC_GGO_BITMAP 1002
|
|
#define IDC_GGO_NATIVE 1003
|
|
#define IDC_GGO_BEZIER 1009
|
|
#define IDC_GGO_METRICS 1004
|
|
#define IDC_GGO_GRAY2_BITMAP 1005
|
|
#define IDC_GGO_GRAY4_BITMAP 1006
|
|
#define IDC_GGO_GRAY8_BITMAP 1007
|
|
#define IDC_GGO_GLYPH_INDEX 1008
|
|
#define IDC_GGO_UNHINTED 1009
|
|
#define IDC_STATIC -1
|
|
|
|
#define MAX_AXES 6
|
|
|
|
#define IDD_DESIGNVEC 6200
|
|
#define IDD_TEXT_DVRESERVED 6201
|
|
#define IDD_DVRESERVED 6202
|
|
#define IDD_TEXT_DVNUMAXES 6203
|
|
#define IDD_DVNUMAXES 6204
|
|
#define IDD_TAG 6205
|
|
#define IDD_VALUE 6206
|
|
#define IDD_TAG0 6207
|
|
#define IDD_VALUE0 6208
|
|
#define IDD_TAG1 6209
|
|
#define IDD_VALUE1 6210
|
|
#define IDD_TAG2 6211
|
|
#define IDD_VALUE2 6212
|
|
#define IDD_TAG3 6213
|
|
#define IDD_VALUE3 6214
|
|
#define IDD_TAG4 6215
|
|
#define IDD_VALUE4 6216
|
|
#define IDD_TAG5 6217
|
|
#define IDD_VALUE5 6218
|
|
|
|
|
|
#define IDD_AXESLIST 6300
|
|
#define IDD_TEXT_AXLRESERVED 6301
|
|
#define IDD_AXLRESERVED 6302
|
|
#define IDD_TEXT_AXLNUMAXES 6304
|
|
#define IDD_AXLNUMAXES 6305
|
|
#define IDD_AXTAG 6306
|
|
#define IDD_AXMINVAL 6307
|
|
#define IDD_AXMAXVAL 6308
|
|
#define IDD_AXDEFVAL 6309
|
|
#define IDD_AXNAME 6310
|
|
|
|
#define IDD_AXTAG0 6315
|
|
#define IDD_AXMINVAL0 6316
|
|
#define IDD_AXMAXVAL0 6317
|
|
#define IDD_AXDEFVAL0 6318
|
|
#define IDD_AXNAME0 6319
|
|
|
|
#define IDD_AXTAG1 6320
|
|
#define IDD_AXMINVAL1 6321
|
|
#define IDD_AXMAXVAL1 6322
|
|
#define IDD_AXDEFVAL1 6323
|
|
#define IDD_AXNAME1 6324
|
|
|
|
#define IDD_AXTAG2 6325
|
|
#define IDD_AXMINVAL2 6326
|
|
#define IDD_AXMAXVAL2 6327
|
|
#define IDD_AXDEFVAL2 6328
|
|
#define IDD_AXNAME2 6329
|
|
|
|
#define IDD_AXTAG3 6330
|
|
#define IDD_AXMINVAL3 6331
|
|
#define IDD_AXMAXVAL3 6332
|
|
#define IDD_AXDEFVAL3 6333
|
|
#define IDD_AXNAME3 6334
|
|
|
|
#define IDD_AXTAG4 6335
|
|
#define IDD_AXMINVAL4 6336
|
|
#define IDD_AXMAXVAL4 6337
|
|
#define IDD_AXDEFVAL4 6338
|
|
#define IDD_AXNAME4 6339
|
|
|
|
#define IDD_AXTAG5 6340
|
|
#define IDD_AXMINVAL5 6341
|
|
#define IDD_AXMAXVAL5 6342
|
|
#define IDD_AXDEFVAL5 6343
|
|
#define IDD_AXNAME5 6344
|
|
|
|
|
|
// New GUID for font files -- dchinn
|
|
// SIP v2.0 OTF Image == {6D875CC1-EF35-11d0-9438-00C04FD42C3B}
|
|
#define CRYPT_SUBJTYPE_FONT_IMAGE \
|
|
{ 0x6d875cc1, \
|
|
0xef35, \
|
|
0x11d0, \
|
|
{ 0x94, 0x38, 0x0, 0xc0, 0x4f, 0xd4, 0x2c, 0x3b } \
|
|
}
|
|
|
|
|
|
// Function prototypes for the GlyphSet functions.
|
|
|
|
void DrawGlyphSet( HWND hwnd, HDC hdc );
|
|
LRESULT CALLBACK GlyphSetWndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );
|
|
void VDisplayGlyphs( HWND hwnd, HDC hdc, WORD wNumGlyphs);
|
|
|
|
HFONT CreateFontIndirectWrapperA(ENUMLOGFONTEXDVA * pelfdv );
|
|
HFONT CreateFontIndirectWrapperW(ENUMLOGFONTEXDVW * pelfdv );
|
|
|
|
#define IS_ANY_DBCS_CHARSET( CharSet ) \
|
|
(((CharSet) == SHIFTJIS_CHARSET) ? TRUE : \
|
|
((CharSet) == HANGEUL_CHARSET) ? TRUE : \
|
|
((CharSet) == CHINESEBIG5_CHARSET) ? TRUE : \
|
|
((CharSet) == GB2312_CHARSET) ? TRUE : FALSE )
|
|
|
|
|
|
// comment out this if you want to compile the app so as to run on win95
|
|
|
|
#define GI_API 1
|
|
#define EUDC_API 1
|
|
#define USERGETWVTPERF
|
|
//#define USERGETCHARWIDTH
|
|
|
|
//!!! to be removed when wingdi.w is checked in.
|
|
|
|
#ifndef CLEARTYPE_QUALITY
|
|
#define CLEARTYPE_QUALITY 5
|
|
#endif
|