You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
180 lines
4.6 KiB
180 lines
4.6 KiB
///////////////////////////////////////////////////////////////
|
|
// fmlbp.h
|
|
//
|
|
// September.3,1997 H.Ishida (FPL)
|
|
//
|
|
// COPYRIGHT(C) FUJITSU LIMITED 1997
|
|
|
|
// NTRAID#NTBUG9-553888-2002/03/22-yasuho-: mandatory changes (strsafe.h)
|
|
|
|
#include <minidrv.h>
|
|
#include <stdio.h>
|
|
#include <prcomoem.h>
|
|
#include <strsafe.h>
|
|
|
|
#define FUFM_OEM_SIGNATURE 'FUFM'
|
|
#define FUFM_OEM_VERSION 0x00010000L
|
|
|
|
|
|
typedef const BYTE FAR* LPCBYTE;
|
|
|
|
|
|
typedef struct tag_FUFM_OEM_EXTRADATA {
|
|
OEM_DMEXTRAHEADER dmExtraHdr;
|
|
} FUFM_OEM_EXTRADATA, *PFUFM_OEM_EXTRADATA;
|
|
|
|
|
|
|
|
|
|
#define WRITESPOOLBUF(pdevobj, s, n) \
|
|
((pdevobj)->pDrvProcs->DrvWriteSpoolBuf((pdevobj), s, n))
|
|
|
|
#define IS_VALID_FUFMPDEV(p) \
|
|
((p) != NULL && (p)->dwSignature == FUFM_OEM_SIGNATURE)
|
|
|
|
|
|
#define FUFM_MASTER_TO_DEVICE(p,d) \
|
|
((p)->devData.dwResolution * (d) / FUFM_RESOLUTION_MASTER_UNIT)
|
|
|
|
|
|
// FUFMDATA.dwSizeReduction
|
|
#define FUFM_SIZE_REDUCTION_100 0
|
|
#define FUFM_SIZE_REDUCTION_75 1
|
|
#define FUFM_SIZE_REDUCTION_70 2
|
|
#define FUFM_SIZE_REDUCTION_UNKNOWN ((DWORD)-1)
|
|
|
|
|
|
// FUFMDATA.dwResolution
|
|
#define FUFM_RESOLUTION_MASTER_UNIT 1200
|
|
#define FUFM_RESOLUTION_240 240
|
|
#define FUFM_RESOLUTION_400 400
|
|
#define FUFM_RESOLUTION_UNKNOWN ((DWORD)-1)
|
|
|
|
|
|
// FUFMDATA.dwPaperSize
|
|
#define FUFM_PAPERSIZE_A3 0x00000003
|
|
#define FUFM_PAPERSIZE_A4 0x00000004
|
|
#define FUFM_PAPERSIZE_A5 0x00000005
|
|
#define FUFM_PAPERSIZE_B4 0x00010004
|
|
#define FUFM_PAPERSIZE_B5 0x00010005
|
|
#define FUFM_PAPERSIZE_LETTER 0x00030000
|
|
#define FUFM_PAPERSIZE_LEGAL 0x00020000
|
|
#define FUFM_PAPERSIZE_JAPANESE_POSTCARD 0x00040000
|
|
#define FUFM_PAPERSIZE_CUSTOM_SIZE 0x00090000
|
|
#define FUFM_PAPERSIZE_UNKNOWN ((DWORD)-1)
|
|
|
|
|
|
// FUFMDATA.dwPaperSource
|
|
#define FUFM_PAPERSOURCE_AUTO 0x00010000
|
|
#define FUFM_PAPERSOURCE_MANUAL 0x00000002
|
|
#define FUFM_PAPERSOURCE_BIN1 0x00000000
|
|
#define FUFM_PAPERSOURCE_BIN2 0x00000001
|
|
#define FUFM_PAPERSOURCE_BIN3 0x00000003
|
|
#define FUFM_PAPERSOURCE_UNKNOWN ((DWORD)-1)
|
|
|
|
|
|
// FUFMDATA.dwPaperOrientation
|
|
#define FUFM_PAPERORIENTATION_PORTRAIT 0
|
|
#define FUFM_PAPERORIENTATION_LANDSCAPE 1
|
|
#define FUFM_PAPERORIENTATION_UNKNOWN ((DWORD)-1)
|
|
|
|
|
|
// FUFMDATA.dwFontAttributes
|
|
#define FUFM_FONTATTR_BOLD 0x00000001
|
|
#define FUFM_FONTATTR_ITALIC 0x00000002
|
|
#define FUFM_FONTATTR_UNDERLINE 0x00000004
|
|
#define FUFM_FONTATTR_STRIKEOUT 0x00000008
|
|
|
|
|
|
typedef struct tag_FUFMDATA {
|
|
DWORD dwSizeReduction;
|
|
DWORD dwResolution;
|
|
DWORD dwPaperSize;
|
|
DWORD dwPaperSource;
|
|
DWORD dwPaperOrientation;
|
|
DWORD dwCopies;
|
|
DWORD dwFontAttributes;
|
|
} FUFMDATA;
|
|
|
|
|
|
typedef FUFMDATA* PFUFMDATA;
|
|
typedef const FUFMDATA* PCFUFMDATA;
|
|
|
|
|
|
|
|
|
|
// FUFMPDEV.dwEmMode
|
|
enum tag_FUFM_EMMODE {
|
|
FUFM_EMMODE_FM,
|
|
FUFM_EMMODE_ESCP
|
|
};
|
|
|
|
typedef enum tag_FUFM_EMMODE FUFM_EMMODE;
|
|
|
|
|
|
// FUFMPDEV.dwFlags
|
|
#define FUFM_FLAG_SCALABLEFONT 0x0001
|
|
#define FUFM_FLAG_QUICKRESET 0x0002
|
|
#define FUFM_FLAG_PAPER3 0x0004
|
|
|
|
#define FUFM_FLAG_START_JOB_0 0
|
|
#define FUFM_FLAG_START_JOB_1 FUFM_FLAG_SCALABLEFONT
|
|
#define FUFM_FLAG_START_JOB_2 (FUFM_FLAG_SCALABLEFONT | FUFM_FLAG_QUICKRESET)
|
|
#define FUFM_FLAG_START_JOB_3 (FUFM_FLAG_SCALABLEFONT | FUFM_FLAG_QUICKRESET | FUFM_FLAG_PAPER3)
|
|
#define FUFM_FLAG_START_JOB_4 FUFM_FLAG_PAPER3
|
|
// #251047: overlaps SBCS on vert mode
|
|
#define FUFM_FLAG_VERTICALFONT 0x0008
|
|
// #284409: SBCS rotated on vert mode
|
|
#define FUFM_FLAG_FONTROTATED 0x0010
|
|
|
|
|
|
|
|
// FUFMPDEV.dwPosChanged
|
|
#define FUFM_X_POSCHANGED 0x0001
|
|
#define FUFM_Y_POSCHANGED 0x0002
|
|
|
|
|
|
typedef struct tag_FUFMPDEV {
|
|
DWORD dwSignature;
|
|
FUFM_EMMODE emMode;
|
|
DWORD dwFlags;
|
|
|
|
DWORD dwPosChanged;
|
|
int x;
|
|
int y;
|
|
int iLinefeedSpacing;
|
|
int cxfont; //#144637
|
|
|
|
DWORD dwPaperWidth;
|
|
DWORD dwPaperLength;
|
|
int cyPage;
|
|
|
|
FUFMDATA devData;
|
|
FUFMDATA reqData;
|
|
} FUFMPDEV, *PFUFMPDEV;
|
|
|
|
|
|
// @Aug/31/98 ->
|
|
#define MAX_COPIES_VALUE 999
|
|
// @Aug/31/98 <-
|
|
|
|
// Device font height and font width values calculated
|
|
// form the IFIMETRICS field values. Must be the same way
|
|
// what Unidrv is doing to calculate stdandard variables.
|
|
// (Please check.)
|
|
|
|
#define FH_IFI(p) ((p)->fwdUnitsPerEm)
|
|
#define FW_IFI(p) ((p)->fwdAveCharWidth)
|
|
|
|
// NTRAID#NTBUG9-587382-2002/03/27-v-sueyas-: Error handling
|
|
// New interface functions with Unidrv callbacks.
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
BOOL APIENTRY bOEMSendFontCmd(PDEVOBJ pdevobj, PUNIFONTOBJ pUFObj, PFINVOCATION pFInv);
|
|
BOOL APIENTRY bOEMOutputCharStr(PDEVOBJ pdevobj, PUNIFONTOBJ pUFObj, DWORD dwType, DWORD dwCount, PVOID pGlyph);
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
// end of fmlbp.h
|