#define NUM_POINTS_SIZES 6 // #define NUM_CHAR_SETS 6 #define CHARSET_SIZE 256 #define UPPERCASE_START 65 #define LOWERCASE_START 97 #define ALPHABET_RANGE 26 // Global Variables happily live here TCHAR lpszFont1[LF_FACESIZE+1]; TCHAR lpszFont2[LF_FACESIZE+1]; TCHAR lpszInputFile[MAX_PATH+1]; INT piPointSize[NUM_POINTS_SIZES] = {8, 10, 12, 14, 18, 24}; //BYTE pbCharSet[NUM_CHAR_SETS] = {ANSI_CHARSET, RUSSIAN_CHARSET, GREEK_CHARSET, // TURKISH_CHARSET, BALTIC_CHARSET, EASTEUROPE_CHARSET}; // BYTE pbCharSet[NUM_CHAR_SETS] = {0, RUSSIAN_CHARSET, GREEK_CHARSET, // 162, BALTIC_CHARSET, EASTEUROPE_CHARSET}; TCHAR* lplpszCharSet[] = { TEXT("ANSI_CHARSET"), TEXT("RUSSIAN_CHARSET"), TEXT("GREEK_CHARSET"),TEXT("TURKISH_CHARSET"), TEXT("BALTIC_CHARSET"), TEXT("EASTEUROPE_CHARSET"), TEXT("HEBREW_CHARSET"), TEXT("THAI_CHARSET"), TEXT("ARABIC_CHARSET"), TEXT("VITANAMESE_CHARSET") }; INT lCharSetIndex; BYTE usCurrentCharSet[32]; INT lCharSet; // Function Prototype definitions. BOOL bGetNewShellFont(); BOOL bParseCommandLine(LPTSTR lpszFileName); BOOL bAddFonts(LPTSTR lpszInputFile); VOID VCompareCharWidths(VOID); VOID VDisplayProgramUsage(VOID); VOID VGetCharWidths(HDC hdc, BYTE cs, INT j, CHAR *lpszFont1, INT *piFontWidths, INT *piFontDim, INT *piFontHtDim); VOID VGetRidOfSlashN(LPTSTR lpszFontName); INT GdiGetCharDimensions(HDC hdc,TEXTMETRICW *lptm,LPINT lpcy); BYTE ucGetCharSet(BYTE i);