/************************************************* * abcdsp.h * * * * Copyright (C) 1995-1999 Microsoft Inc. * * * *************************************************/ #define IDM_ABOUT 100 #define IDM_HOTKEY 999 /* #define MyIcon 888 */ #define WM_FONTLOAD WM_USER+0x100 int PASCAL WinMain(HANDLE, HANDLE, LPSTR, int); BOOL InitApplication(HANDLE); BOOL FAR PASCAL About(HWND, unsigned, WORD, LONG); int FAR PASCAL EnumFunc(LPLOGFONT, LPTEXTMETRIC, short, LPSTR); int FAR PASCAL EditAdjust(HWND,HFONT); LONG FAR PASCAL CEditWndProc(HWND,unsigned,WORD,LONG); PASCAL RedrawScr(int,HWND); int PASCAL EditPrevChar(int); #define WM_IMCHANGE WM_USER+0x200 #define WM_CODE WM_USER+0x201 #define WM_IMRESET WM_USER+0x202 #define WM_BACKSPACE WM_USER+0x203 #define WM_CCREPEAT WM_USER+0x204 #define DLL_PROLOG 3 #define DBCS_MIN 0xa1 #define SIGN_MASK 0x8000 #define szGDI "GDI" #define szKBD "KEYBOARD" #define szThisModule "ABCDSP" /* It must be the name listed in .def file LIBRARY statement. */ #define MAXFONTSIZE 128 #define BITFONT 1 #define NOTRUETYPE 4 #define JMP_FAR (BYTE)0xea /* Machine code of far jmp */ typedef LONG (FAR PASCAL *LFARPROC) (); typedef DWORD (WINAPI *DFARPROC)(); typedef struct tagProCode { BYTE OneByte; DWORD FourByte; } PROCODE, FAR* LPPROCODE; typedef struct tagCodeInfo { HANDLE hCode; LPPROCODE CodeAddr; PROCODE OldCode; PROCODE NewCode; } CODEINFO, FAR* LPCODEINFO; typedef struct tagDBCFontInfo { TEXTMETRIC tm; int fBold; int fItalicOffset; /* Use in doing Italic style */ double fta; } DBCFONTINFO, FAR* LPDBCFONTINFO; typedef struct tagDispDBCInfo { HDC hDC; HDC hMemDC; int x; int y; WORD DBCode; int FrameWidth; int FrameHeight; int FontSize; } DISPDBCINFO, FAR* LPDISPDBCINFO; /* Functions called by CWIN.EXE */ BOOL WINAPI InitChdisp(HWND); BOOL WINAPI QuitChdisp(); void WINAPI CwinNotify(BOOL, UINT); /* Substitution functions */ BOOL WINAPI NewExtTextOut(HDC, int, int, UINT, LPRECT, LPSTR, UINT, LPINT); DWORD WINAPI NewGetTextExtent(HDC, LPSTR, int); BOOL WINAPI NewGetCharWidth(HDC, UINT, UINT, LPINT); void WINAPI NewXlat(char _huge*, char _huge*); void WINAPI NewXlatBuff(LPSTR, LPSTR, UINT); /* Now, character set is not changed. ZHX 1-6-1993 HFONT WINAPI B7(int,int,int,int,int,BYTE,BYTE,BYTE, BYTE,BYTE,BYTE,BYTE,BYTE,LPSTR); HFONT WINAPI B8(LPLOGFONT); */ void ChangeCode(HANDLE, HANDLE, LPCODEINFO, char*, char*); void ChangeProcCode(FARPROC,LPBYTE,FARPROC); //int ChangeProcCode2(FARPROC,LPBYTE,FARPROC); BOOL OldExtTextOut(HDC, int, int, WORD, LPRECT, LPSTR, WORD, LPINT); BOOL OldGetCharWidth(HDC, WORD, WORD, LPINT); DWORD OldGetTextExtent(HDC, LPSTR, WORD); void BitBltChineseChar(void); int DoFontStyle(int, int, LPDBCFONTINFO); void GetFontStyle(HDC, LPDBCFONTINFO); BOOL RestoreProcCode(FARPROC, LPBYTE); //int JudgeFont(HDC); //int IsPrintDC(HDC); void GetChnFace(HDC); WORD WINAPI AllocCSToDSAlias(WORD); //short WINAPI GET_HZ(short,short,short,short,short,LPSTR); short WINAPI GET_HZ(short,short,short,short,short,char _huge*);