238 lines
8.3 KiB
C
238 lines
8.3 KiB
C
|
/************************************************************/
|
|||
|
/* Windows Write, Copyright 1985-1992 Microsoft Corporation */
|
|||
|
/************************************************************/
|
|||
|
|
|||
|
/* propdefs.h - MW defsfor char/para properties */
|
|||
|
|
|||
|
#define hpsNegMin 128
|
|||
|
/* NOTE - "hpsNormal" is used for incremental encoding/decoding of chps in doc
|
|||
|
files, hpsDefault is the size the guy starts typing into a new doc with */
|
|||
|
#define hpsNormal 24
|
|||
|
|
|||
|
#ifdef KOREA
|
|||
|
#define hpsDefault 24
|
|||
|
#else
|
|||
|
#ifdef JAPAN
|
|||
|
#define hpsDefault 24 //T-HIROYN Win3.1
|
|||
|
#else
|
|||
|
#define hpsDefault 20
|
|||
|
#endif
|
|||
|
#endif
|
|||
|
|
|||
|
struct TBD /* Tab Descriptor */
|
|||
|
{
|
|||
|
unsigned dxa; /* distance from left margin of tab stop */
|
|||
|
unsigned char jc : 3; /* justification code */
|
|||
|
unsigned char tlc : 3; /* leader dot code */
|
|||
|
unsigned char opcode : 2; /* operation code for Format Tabs */
|
|||
|
CHAR chAlign; /* ASCII code of char to align on
|
|||
|
if jcTab=3, or 0 to align on '.' */
|
|||
|
};
|
|||
|
|
|||
|
#define cchTBD (sizeof (struct TBD))
|
|||
|
#define cwTBD (sizeof (struct TBD) / sizeof (int))
|
|||
|
#define itbdMax 13
|
|||
|
#define itbdMaxWord 20
|
|||
|
#define cchMaxNum 10
|
|||
|
|
|||
|
struct CHP /* Character properties */
|
|||
|
{
|
|||
|
unsigned fStyled : 1; /* BYTE 0 */
|
|||
|
unsigned stc : 7; /* style */
|
|||
|
unsigned fBold : 1; /* BYTE 1 */
|
|||
|
unsigned fItalic : 1;
|
|||
|
unsigned ftc : 6; /* Font code */
|
|||
|
unsigned hps : 8; /* Size in half pts */ /* BYTE 2 */
|
|||
|
unsigned fUline : 1; /* BYTE 3 */
|
|||
|
unsigned fStrike : 1;
|
|||
|
unsigned fDline: 1;
|
|||
|
unsigned fOverset : 1;
|
|||
|
unsigned csm : 2; /* Case modifier */
|
|||
|
unsigned fSpecial : 1;
|
|||
|
unsigned : 1;
|
|||
|
unsigned ftcXtra : 3; /* BYTE 4 */
|
|||
|
unsigned fOutline : 1;
|
|||
|
unsigned fShadow : 1;
|
|||
|
unsigned : 3;
|
|||
|
unsigned hpsPos : 8; /* BYTE 5 */
|
|||
|
unsigned fFixedPitch : 1; /* used internally only */
|
|||
|
unsigned psWidth : 7;
|
|||
|
unsigned chLeader : 8;
|
|||
|
unsigned ichRun : 8;
|
|||
|
unsigned cchRun : 8;
|
|||
|
};
|
|||
|
|
|||
|
#define cchCHP (sizeof (struct CHP))
|
|||
|
#define cwCHP (cchCHP / sizeof (int))
|
|||
|
#define cchCHPUsed (cchCHP - 3)
|
|||
|
|
|||
|
|
|||
|
#define csmNormal 0
|
|||
|
#define csmUpper 1
|
|||
|
#define csmSmallCaps 3
|
|||
|
|
|||
|
|
|||
|
/* Justification codes: must agree with menu.mod */
|
|||
|
#define jcLeft 0
|
|||
|
#define jcCenter 1
|
|||
|
#define jcRight 2
|
|||
|
#define jcBoth 3
|
|||
|
|
|||
|
#define jcTabMin 4
|
|||
|
#define jcTabLeft 4
|
|||
|
#define jcTabCenter 5
|
|||
|
#define jcTabRight 6
|
|||
|
#define jcTabDecimal 7
|
|||
|
/* nice, safe invalid jc value */
|
|||
|
#define jcNil -1
|
|||
|
|
|||
|
/* Tab leader codes: must agree with menu.mod */
|
|||
|
#define tlcWhite 0
|
|||
|
#define tlcDot 1
|
|||
|
#define tlcHyphen 2
|
|||
|
#define tlcUline 3
|
|||
|
|
|||
|
|
|||
|
struct PAP /* Paragraph properties */
|
|||
|
{
|
|||
|
unsigned fStyled : 1; /* BYTE 0 */
|
|||
|
unsigned stc : 7;
|
|||
|
unsigned jc : 2; /* BYTE 1 */
|
|||
|
unsigned fKeep : 1;
|
|||
|
unsigned fKeepFollow : 1;
|
|||
|
unsigned : 4;
|
|||
|
unsigned stcNormChp : 7; /* BYTE 2 */
|
|||
|
unsigned : 9; /* BYTE 3 */
|
|||
|
unsigned dxaRight; /* BYTE 4-5 */
|
|||
|
unsigned dxaLeft; /* BYTE 6-7 */
|
|||
|
unsigned dxaLeft1; /* BYTE 8-9 */
|
|||
|
unsigned dyaLine; /* 10-11 */
|
|||
|
unsigned dyaBefore; /* 12-13 */
|
|||
|
unsigned dyaAfter; /* 14-15 */
|
|||
|
unsigned rhc : 4; /* Running hd code */
|
|||
|
unsigned fGraphics : 1; /* Graphics bit */
|
|||
|
unsigned wUnused1 : 11;
|
|||
|
int wUnused2;
|
|||
|
int wUnused3;
|
|||
|
struct TBD rgtbd[itbdMaxWord];
|
|||
|
};
|
|||
|
|
|||
|
#define cchPAP (sizeof (struct PAP))
|
|||
|
#define cwPAP (cchPAP / sizeof (int))
|
|||
|
#define cwPAPBase (cwPAP - cwTBD * itbdMaxWord)
|
|||
|
|
|||
|
struct SEP
|
|||
|
{ /* Section properties */
|
|||
|
unsigned fStyled : 1; /* BYTE 0 */
|
|||
|
unsigned stc : 7;
|
|||
|
unsigned bkc : 3; /* Break code */ /* BYTE 1 */
|
|||
|
unsigned nfcPgn : 3; /* Pgn format code */
|
|||
|
unsigned :2;
|
|||
|
unsigned yaMac; /* Page height */ /* BYTE 2-3 */
|
|||
|
unsigned xaMac; /* Page width */ /* BYTE 4-5 */
|
|||
|
unsigned pgnStart; /* Starting pgn */ /* BYTE 6-7 */
|
|||
|
unsigned yaTop; /* Start of text */ /* BYTE 8-9 */
|
|||
|
unsigned dyaText; /* Height of text */ /* 10-11 */
|
|||
|
unsigned xaLeft; /* Left text margin */ /* 12-13 */
|
|||
|
unsigned dxaText; /* Width of text */ /* 14-15 */
|
|||
|
unsigned rhc : 4; /* *** RESERVED *** */ /* 16 */
|
|||
|
/* (Must be same as PAP) */
|
|||
|
unsigned : 2;
|
|||
|
unsigned fAutoPgn : 1; /* Print pgns without hdr */
|
|||
|
unsigned fEndFtns : 1; /* Footnotes at end of doc */
|
|||
|
unsigned cColumns : 8; /* # of columns */ /* BYTE 17 */
|
|||
|
unsigned yaRH1; /* Pos of top hdr */ /* 18-19 */
|
|||
|
unsigned yaRH2; /* Pos of bottom hdr */ /* 20-21 */
|
|||
|
unsigned dxaColumns; /* Intercolumn gap */ /* 22-23 */
|
|||
|
unsigned dxaGutter; /* Gutter width */ /* 24-25 */
|
|||
|
unsigned yaPgn; /* Y pos of page nos */ /* 26-27 */
|
|||
|
unsigned xaPgn; /* X pos of page nos */ /* 28-29 */
|
|||
|
CHAR rgbJunk[cchPAP - 30]; /* Pad to cchPAP */
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
#define cchSEP (sizeof (struct SEP))
|
|||
|
#define cwSEP (cchSEP / sizeof (int))
|
|||
|
|
|||
|
|
|||
|
struct PROP
|
|||
|
{ /* A CHP, PAP, or SEP. */
|
|||
|
unsigned char fStyled : 1;
|
|||
|
unsigned char stc : 7;
|
|||
|
CHAR rgb[cchPAP - 1]; /* Variable size */
|
|||
|
};
|
|||
|
|
|||
|
|
|||
|
#define cchPROP (sizeof (struct PROP))
|
|||
|
|
|||
|
typedef struct
|
|||
|
{ /* tri-state value for character/paragraph properties */
|
|||
|
unsigned wTsv; /* 16 bit value */
|
|||
|
unsigned char fGray;
|
|||
|
}TSV;
|
|||
|
|
|||
|
|
|||
|
#define cchTSV (sizeof (TSV))
|
|||
|
#define itsvMax 6
|
|||
|
#define itsvchMax 6
|
|||
|
#define itsvparaMax 5
|
|||
|
|
|||
|
/* character index values */
|
|||
|
#define itsvBold 0
|
|||
|
#define itsvItalic 1
|
|||
|
#define itsvUline 2
|
|||
|
#define itsvPosition 3 /* 0 = normal; >0 = superscript; <0 = subscript */
|
|||
|
#define itsvFfn 4 /* font name and family */
|
|||
|
#define itsvSize 5 /* font size */
|
|||
|
/* paragraph index values */
|
|||
|
#define itsvJust 0 /* justification (left, center, right, both) */
|
|||
|
#define itsvSpacing 1
|
|||
|
#define itsvLIndent 2 /* left indent */
|
|||
|
#define itsvFIndent 3 /* first line indent */
|
|||
|
#define itsvRIndent 4 /* right indent */
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#define cyaInch czaInch
|
|||
|
#define cxaInch czaInch
|
|||
|
#define cyaTl czaLine
|
|||
|
#define dxaNest 720
|
|||
|
|
|||
|
extern int cxaTc;
|
|||
|
|
|||
|
#define yaNil 0xffff
|
|||
|
#define xaNil 0xffff
|
|||
|
|
|||
|
#define ypNil 0xffff
|
|||
|
#define xpNil 0xffff
|
|||
|
|
|||
|
#define dyaMinUseful cyaInch
|
|||
|
#define dxaMinUseful (cxaInch / 2)
|
|||
|
#define cColumnsMax (10)
|
|||
|
|
|||
|
#define bkcLine 0
|
|||
|
#define bkcColumn 1
|
|||
|
#define bkcPage 2
|
|||
|
#define bkcRecto 3
|
|||
|
#define bkcVerso 4
|
|||
|
|
|||
|
#define nfcArabic 0
|
|||
|
#define nfcUCRoman 1
|
|||
|
#define nfcLCRoman 2
|
|||
|
#define nfcUCLetter 3
|
|||
|
#define nfcLCLetter 4
|
|||
|
|
|||
|
#define pgnNil (-1)
|
|||
|
|
|||
|
struct PROP *PpropXlate();
|
|||
|
|
|||
|
/* Running head codes */
|
|||
|
#define RHC_fBottom 1
|
|||
|
#define RHC_fOdd 2
|
|||
|
#define RHC_fEven 4
|
|||
|
#define RHC_fFirst 8
|
|||
|
|
|||
|
#define rhcDefault (RHC_fOdd + RHC_fEven)
|
|||
|
|