#ifndef __FONT_VALIDATION_STATUS_CODES_H #define __FONT_VALIDATION_STATUS_CODES_H // // Detailed status codes for function CheckInfWithStatusA(). // These codes were added after the initial creation of the T1 installer library. // CheckInfA() returns TRUE/FALSE. However, a FALSE return value was // not sufficiently descriptive for a user interface to respond appropriately. // The function CheckInfWithStatusA() was added to provide detailed status info. // No new return points were added to T1 installer functions. These codes merely // replace the original TRUE/FALSE return values. // // These codes are also used in the font folder font validation functions. // // The code is designed to return information that identifies: // a) What happened. // b) What file the status applies to (if applicable). // // // bit-> 15 7 0 // +-+----------------+-----------------+ // |S| Status Code | File Type Code | // +-+----------------+-----------------+ // | // +--- Severity bit. // // 1 = Error. A true error like file i/o, mem alloc etc. // 0 = No error. But status may indicate invalid font file. // // >>>>>>> NOTE <<<<<<<< // // This file contains codes that are generated by the // T1 installer function CheckType1A and by related font folder functions. // Since both the T1 installer and the font folder must understand // these codes, the font folder must include this file. I apologize for // this added coupling between the T1 installer and the font folder but // it is necessary for detailed status reporting [brianau]. // #define FVS_FILE_UNK 0x00 // File unknown or "doesn't matter". #define FVS_FILE_PFM 0x01 // PFM file #define FVS_FILE_PFB 0x02 // PFB file #define FVS_FILE_AFM 0x03 // AFM file #define FVS_FILE_INF 0x04 // INF file #define FVS_FILE_TTF 0x05 // TTF file #define FVS_FILE_FOT 0x06 // FOT file // // Status codes. // #define FVS_SUCCESS 0x00 // No problem! #define FVS_INVALID_FONTFILE 0x01 // Invalid font file or file name. #define FVS_BAD_VERSION 0x02 // File version not supported. #define FVS_FILE_BUILD_ERR 0x03 // Error building a font file. #define FVS_FILE_EXISTS 0x04 // File already exists. #define FVS_FILE_OPEN_ERR 0x05 // Couldn't find/open existing file. // // These codes indicate true system errors. Note use of high bit // to indicate severity. // #define FVS_FILE_CREATE_ERR 0x80 // Couldn't create new file. #define FVS_FILE_IO_ERR 0x81 // General file I/O error. #define FVS_INVALID_ARG 0x82 // Invalid arg passed to function. #define FVS_EXCEPTION 0x83 // Exception caught. #define FVS_INSUFFICIENT_BUF 0x84 // Destination buf too small. #define FVS_MEM_ALLOC_ERR 0x85 // Error allocating memory. #define FVS_INVALID_STATUS 0x86 // For ensuring status was set. // // Macros for creating and parsing status codes. // #define FVS_MAKE_CODE(c,f) ((WORD)(((BYTE)(c) << 8) | (BYTE)(f))) // Build code #define FVS_STATUS(c) (((c) >> 8) & 0x00FF) // Get status part #define FVS_FILE(c) ((c) & 0x00FF) // Get file part #define FVS_ISERROR(c) (((c) & 0x8000) != 0) // Severity bit == 1 ? #endif