1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91
|
/************************************************************************/
/* */
/* Postscript printing and formatting related data structures. */
/* */
/************************************************************************/
# include <psFont.h>
# include "appPs.h"
typedef struct ParticuleData
{
int pdX0;
int pdWidth;
int pdVisibleWidth;
int pdTabNumber;
int pdTabKind;
int pdTabPosition;
const AfmFontInfo * pdAfi;
int pdVisiblePixels;
int pdWhiteUnits;
int pdCorrectBy;
} ParticuleData;
typedef struct LineBox
{
int lbSpaceAboveLine;
int lbTableMarginAboveLine;
const BorderProperties * lbBorderAboveLine;
int lbSpaceBelowLine;
int lbTableMarginBelowLine;
const BorderProperties * lbBorderBelowLine;
int lbLineAscent;
int lbLineHeight;
int lbLeading;
int lbLineDistance;
int lbX0Twips;
int lbVisibleX1Twips;
int lbStringX1Twips;
} LineBox;
# define BETWEEN_MARGINS( dg ) \
((dg)->dgPaperHighTwips- \
(dg)->dgTopMarginTwips- \
(dg)->dgBottomMarginTwips )
/************************************************************************/
/* */
/* Routine declarations. */
/* */
/************************************************************************/
extern int psPrintDocument( FILE * f,
EditDocument * ed );
extern int docPsLineBox( LineBox * lb,
const BufferItem * bi,
int part,
int atTop,
const int paraAscent,
const int paraDescent,
const DocumentGeometry * dg,
int tabInterval,
const DocumentFontList * dfl,
AppPhysicalFontList * apfl,
const TextParticule * tp,
ParticuleData * pd,
int x0,
const FormattingFrame * ff );
extern AfmFontInfo * docPsPrintGetAfi( const AppPhysicalFontList * apfl,
int physf );
extern int docPsClaimParticuleData( const BufferItem * bi,
ParticuleData ** pData );
extern int docPsParagraphLineExtents( int * pParaAscent,
int * pParaDescent,
const AppPhysicalFontList * apfl,
const BufferItem * bi );
extern void docPsInitLineBox( LineBox * lb );
extern int docPsPrintGetItemFonts( const BufferItem * bi,
DocumentFontList * dfl,
const AppPhysicalFontList * apfl,
PostScriptFont ** pFntLst,
int * pCount );
|