Fortran: 04.02.03.01/P11
This is Fortran source code, based on the
abstract design
for this program. You may return to the
documentation
for the module containing this program, or to the
entire hierarchical table of
topics covered by the PVT.
C *********************************************************
C * *
C * TEST NUMBER: 04.02.03.01/11 *
C * TEST TITLE : Geometric interaction of text *
C * attributes *
C * *
C * PHIGS Validation Tests, produced by NIST *
C * *
C *********************************************************
COMMON /GLOBNU/ CTLHND, ERRSIG, ERRFIL, IERRCT, UNERR,
1 TESTCT, IFLERR, PASSSW, ERRSW, MAXLIN,
2 CONID, MEMUN, WKID, WTYPE, GLBLUN, INDLUN,
3 DUMINT, DUMRL
INTEGER CTLHND, ERRSIG, ERRFIL, IERRCT, UNERR,
1 TESTCT, IFLERR, PASSSW, ERRSW, MAXLIN,
2 CONID, MEMUN, WKID, WTYPE, GLBLUN, INDLUN,
3 DUMINT(20), ERRIND
REAL DUMRL(20)
COMMON /GLOBCH/ PIDENT, GLBERR, TSTMSG, FUNCID,
1 DUMCH
CHARACTER PIDENT*40, GLBERR*60, TSTMSG*900, FUNCID*80,
1 DUMCH(20)*20
COMMON /DIALOG/ DOUTYP, DINTYP, DSTDNR, DSTRID, PSTRID, DTCLIM,
1 SCRMOD, DTXCI, SPECWT,
2 DSIZE, EFRAC, DYXRAT, SYXRAT, MTRPDC, WCPDC, QVIS
INTEGER DOUTYP, DINTYP, DSTDNR, DSTRID, PSTRID, DTCLIM,
1 SCRMOD, DTXCI, SPECWT
REAL DSIZE, EFRAC, DYXRAT, SYXRAT, MTRPDC, WCPDC, QVIS
C aspect source
C bundled individual
INTEGER PBUNDL, PINDIV
PARAMETER (PBUNDL = 0, PINDIV = 1)
C text precision
INTEGER PSTRP, PCHARP, PSTRKP
PARAMETER (PSTRP = 0, PCHARP = 1, PSTRKP = 2)
C linetype
INTEGER PLSOLI, PLDASH, PLDOT, PLDASD
PARAMETER (PLSOLI = 1, PLDASH = 2, PLDOT = 3, PLDASD = 4)
INTEGER PICSTR, TXCI, NGLINE, IDUM1, NUMLIN
CALL INITGL ('04.02.03.01/11')
C open PHIGS
CALL XPOPPH (ERRFIL, MEMUN)
C set-up of workstation and dialogue area
PICSTR = 101
TXCI = 1
CALL SETDLG (PICSTR, 801,TXCI)
CALL POPST (PICSTR)
C by convention, view #1 is for picture
CALL PSVWI (1)
C use individual attributes
CALL SETASF (PINDIV)
C Throughout, use font#1 (monospaced), STROKE precision.
CALL PSTXFN (1)
CALL PSTXPR (PSTRKP)
C use color #1 for text, color #2 and dashed lines for outline
CALL DISCOL (2, WKID, IDUM1)
CALL PSTXCI (1)
CALL PSPLCI (2)
CALL PSLN (PLDASH)
CALL PEXST (102)
CALL PCLST
NUMLIN = 5
C call routine to set up nominal expected outlines
CALL INOUTL ()
C leave #102 open
CALL POPST (102)
CALL SETMSG ('1 2 11 27 28 31 35 36 41 42 58 59 60 66 67 68 ' //
1 '69 74 75 80 81',
2 'The transformation effects of text path, text ' //
3 'alignment, and character up vector and of ' //
4 'various positive values for character expansion ' //
5 'factor, character spacing, and character height ' //
6 'should work correctly in conjunction with the ' //
7 'text direction vectors for a 3D test primitive.')
C GEOTXT generates display in structure #102
CALL GEOTXT (.FALSE., NUMLIN, NGLINE)
CALL DCHPFV ('GEOMETRY OF TEXT ATTRIBUTES: Which text ' //
1 'primitive is NOT similar in size, position, ' //
2 'and orientation to the dashed outline?',
3 NUMLIN, NGLINE)
CALL SETMSG ('1 2 11 27 28 31 35 36 41 42 58 59 60 66 67 68 ' //
1 '69 74 75 80 81',
2 'The transformation effects of text path, text ' //
3 'alignment, and character up vector and of ' //
4 'various negative values for character expansion ' //
5 'factor, character spacing, and character height ' //
6 'should work correctly in conjunction with the ' //
7 'text direction vectors for a 3D test primitive.')
C GEOTXT generates display in structure #102
CALL GEOTXT (.TRUE., NUMLIN, NGLINE)
CALL DCHPFV ('GEOMETRY OF NEGATIVE TEXT ATTRIBUTES: Which ' //
1 'text primitive is NOT similar in size, ' //
2 'position, and orientation to the dashed outline?',
3 NUMLIN, NGLINE)
666 CONTINUE
C wrap it up.
CALL ENDIT
END