/* fonts.c generated from fonts.psw by unix pswrap V1.009 Wed Apr 19 17:50:24 PDT 1989 */ #include #include #include "fonts.h" #line 1 "fonts.psw" /* fonts.psw Support functions to determine the installed fonts. Copyright (C) 1996 Free Software Foundation, Inc. Author: Ovidiu Predescu Date: February 1997 This file is part of the GNUstep GUI X/DPS Library. This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* * PSWShowSampleString added by Masatake YAMATO. * This functions for fontpanel widget of gtkDPS. */ #include /* PSWFontNames() puts on the PS stack a sequence of two elements pairs and returns the number of the total elements. Each pair of elements consists from the name of the font and either the filename where the font is defined or the name of the font whose alias is. To get each pair of elements call the PSWGetNextFont() function. Note: This procedure depends on DGS. The function to be used on a DPS system conforming to red book should use the following statements to find out the font names: /fonts [ (%font%*) {100 string copy} 100 string filenameforall ] def The mapping between font names and file name is DPS dependent. On NeXTSTEP for example (and on systems conforming to red book), you can find out the filename where a font is defined like below: /Font /Category findresource begin /Times-Roman 1024 string ResourceFileName end This pushes on the stack %font%Times-Roman. The program should search in the standard places a directory called `Times-Roman.font' to determine the definition of the font. Maybe we should place in Postscript all the DPS dependencies and present to the program the same interface. */ #line 75 "fonts.c" void PSWFontNames(DPSContext ctxt, int *noOfFonts) { typedef struct { unsigned char tokenType; unsigned char topLevelCount; unsigned short nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; DPSBinObjGeneric obj8; DPSBinObjGeneric obj9; DPSBinObjGeneric obj10; DPSBinObjGeneric obj11; DPSBinObjGeneric obj12; DPSBinObjGeneric obj13; DPSBinObjGeneric obj14; DPSBinObjGeneric obj15; DPSBinObjGeneric obj16; DPSBinObjGeneric obj17; DPSBinObjGeneric obj18; DPSBinObjGeneric obj19; DPSBinObjGeneric obj20; DPSBinObjGeneric obj21; DPSBinObjGeneric obj22; DPSBinObjGeneric obj23; DPSBinObjGeneric obj24; DPSBinObjGeneric obj25; DPSBinObjGeneric obj26; DPSBinObjGeneric obj27; DPSBinObjGeneric obj28; DPSBinObjGeneric obj29; DPSBinObjGeneric obj30; DPSBinObjGeneric obj31; DPSBinObjGeneric obj32; DPSBinObjGeneric obj33; DPSBinObjGeneric obj34; DPSBinObjGeneric obj35; DPSBinObjGeneric obj36; DPSBinObjGeneric obj37; DPSBinObjGeneric obj38; DPSBinObjGeneric obj39; DPSBinObjGeneric obj40; DPSBinObjGeneric obj41; DPSBinObjGeneric obj42; DPSBinObjGeneric obj43; DPSBinObjGeneric obj44; DPSBinObjGeneric obj45; DPSBinObjGeneric obj46; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 19, 380, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 318}, /* mark */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* temp */ {DPS_LITERAL|DPS_INT, 0, 0, 1024}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 165}, /* string */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51}, /* def */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 182}, /* userdict */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* Fontmap */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_EXEC|DPS_ARRAY, 0, 26, 152}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 73}, /* forall */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 27}, /* counttomark */ {DPS_LITERAL|DPS_INT, 0, 0, 2}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 82}, /* idiv */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* filename */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56}, /* dup */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 175}, /* type */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* arraytype */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 61}, /* eq */ {DPS_EXEC|DPS_ARRAY, 0, 2, 360}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 84}, /* if */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* temp */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 49}, /* cvs */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56}, /* dup */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 98}, /* length */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 165}, /* string */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 25}, /* copy */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51}, /* def */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* fontname */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* temp */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 49}, /* cvs */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56}, /* dup */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 98}, /* length */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 165}, /* string */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 25}, /* copy */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 51}, /* def */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* fontname */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* filename */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 2}, /* aload */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117}, /* pop */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; static int _dpsCodes[9] = {-1}; DPSResultsRec _dpsR[1]; static const DPSResultsRec _dpsRstat[] = { { dps_tInt, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].value = (char *)noOfFonts; { if (_dpsCodes[0] < 0) { static const char * const _dps_names[] = { "temp", (char *) 0 , (char *) 0 , "Fontmap", "filename", (char *) 0 , "arraytype", "fontname", (char *) 0 }; int *_dps_nameVals[9]; _dps_nameVals[0] = &_dpsCodes[0]; _dps_nameVals[1] = &_dpsCodes[1]; _dps_nameVals[2] = &_dpsCodes[2]; _dps_nameVals[3] = &_dpsCodes[3]; _dps_nameVals[4] = &_dpsCodes[4]; _dps_nameVals[5] = &_dpsCodes[5]; _dps_nameVals[6] = &_dpsCodes[6]; _dps_nameVals[7] = &_dpsCodes[7]; _dps_nameVals[8] = &_dpsCodes[8]; DPSMapNames(ctxt, 9, (char **) _dps_names, _dps_nameVals); } } _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[1].val.nameVal = _dpsCodes[0]; _dpsP[36].val.nameVal = _dpsCodes[1]; _dpsP[27].val.nameVal = _dpsCodes[2]; _dpsP[6].val.nameVal = _dpsCodes[3]; _dpsP[19].val.nameVal = _dpsCodes[4]; _dpsP[44].val.nameVal = _dpsCodes[5]; _dpsP[23].val.nameVal = _dpsCodes[6]; _dpsP[34].val.nameVal = _dpsCodes[7]; _dpsP[43].val.nameVal = _dpsCodes[8]; DPSSetResultTable(ctxt, _dpsR, 1); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,380); DPSAwaitReturnValues(ctxt); } #line 81 "fonts.psw" #line 235 "fonts.c" void PSWGetFontsArray(DPSContext ctxt, char *fontname, char *fileOrFont) { typedef struct { unsigned char tokenType; unsigned char topLevelCount; unsigned short nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; } _dpsQ; static const _dpsQ _dpsF = { DPS_DEF_TOKENTYPE, 8, 68, {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 2}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ }; /* _dpsQ */ DPSResultsRec _dpsR[2]; static const DPSResultsRec _dpsRstat[] = { { dps_tChar, -1 }, { dps_tChar, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].count = -1; _dpsR[0].value = (char *)fontname; _dpsR[1] = _dpsRstat[1]; _dpsR[1].count = -1; _dpsR[1].value = (char *)fileOrFont; DPSSetResultTable(ctxt, _dpsR, 2); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,68); DPSAwaitReturnValues(ctxt); } #line 85 "fonts.psw" /* PSWCompleteFilename() returns the complete path to the filename passed as argument. The file is searched in the standard DGS places. */ #line 285 "fonts.c" void PSWCompleteFilename(DPSContext ctxt, const char *filename, int *found, char *completePath) { typedef struct { unsigned char tokenType; unsigned char sizeFlag; unsigned short topLevelCount; unsigned int nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; DPSBinObjGeneric obj8; DPSBinObjGeneric obj9; DPSBinObjGeneric obj10; DPSBinObjGeneric obj11; DPSBinObjGeneric obj12; DPSBinObjGeneric obj13; DPSBinObjGeneric obj14; DPSBinObjGeneric obj15; DPSBinObjGeneric obj16; DPSBinObjGeneric obj17; DPSBinObjGeneric obj18; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 0, 9, 160, {DPS_LITERAL|DPS_STRING, 0, 0, 152}, /* param filename */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* findlibfile */ {DPS_EXEC|DPS_ARRAY, 0, 6, 104}, {DPS_EXEC|DPS_ARRAY, 0, 4, 72}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 85}, /* ifelse */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 2}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ {DPS_LITERAL|DPS_BOOL, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117}, /* pop */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 266}, /* closefile */ {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_BOOL, 0, 0, 1}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; static int _dpsCodes[1] = {-1}; register int _dps_offset = 152; DPSResultsRec _dpsR[2]; static const DPSResultsRec _dpsRstat[] = { { dps_tBoolean, -1 }, { dps_tChar, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].value = (char *)found; _dpsR[1] = _dpsRstat[1]; _dpsR[1].count = -1; _dpsR[1].value = (char *)completePath; { if (_dpsCodes[0] < 0) { static const char * const _dps_names[] = { "findlibfile"}; int *_dps_nameVals[1]; _dps_nameVals[0] = &_dpsCodes[0]; DPSMapNames(ctxt, 1, (char **) _dps_names, _dps_nameVals); } } _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[0].length = strlen(filename); _dpsP[1].val.nameVal = _dpsCodes[0]; _dpsP[0].val.stringVal = _dps_offset; _dps_offset += _dpsP[0].length; _dpsF.nBytes = _dps_offset+8; DPSSetResultTable(ctxt, _dpsR, 2); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,160); DPSWriteStringChars(ctxt, (char *)filename, _dpsP[0].length); DPSAwaitReturnValues(ctxt); } #line 93 "fonts.psw" #line 377 "fonts.c" void PSWGetFontAndType(DPSContext ctxt, char *fontname, int *fonttype) { typedef struct { unsigned char tokenType; unsigned char topLevelCount; unsigned short nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; } _dpsQ; static const _dpsQ _dpsF = { DPS_DEF_TOKENTYPE, 8, 68, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 2}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ }; /* _dpsQ */ DPSResultsRec _dpsR[2]; static const DPSResultsRec _dpsRstat[] = { { dps_tChar, -1 }, { dps_tInt, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].count = -1; _dpsR[0].value = (char *)fontname; _dpsR[1] = _dpsRstat[1]; _dpsR[1].value = (char *)fonttype; DPSSetResultTable(ctxt, _dpsR, 2); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,68); DPSAwaitReturnValues(ctxt); } #line 97 "fonts.psw" /* Set the current font */ #line 425 "fonts.c" void PSWSetFont(DPSContext ctxt, const char *font, const float fontMatrix[]) { typedef struct { unsigned char tokenType; unsigned char sizeFlag; unsigned short topLevelCount; unsigned int nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 0, 5, 96, {DPS_LITERAL|DPS_STRING, 0, 0, 88}, /* param font */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 67}, /* findfont */ {DPS_LITERAL|DPS_ARRAY, 0, 6, 40}, /* param[const]: fontMatrix */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 103}, /* makefont */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 149}, /* setfont */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; register int _dps_offset = 40; _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[0].length = strlen(font); _dpsP[2].val.arrayVal = _dps_offset; _dps_offset += 6 * sizeof(DPSBinObjGeneric); _dpsP[0].val.stringVal = _dps_offset; _dps_offset += _dpsP[0].length; _dpsF.nBytes = _dps_offset+8; DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,48); DPSWriteTypedObjectArray(ctxt, dps_tFloat, (char *)fontMatrix, 6); DPSWriteStringChars(ctxt, (char *)font, _dpsP[0].length); DPSSYNCHOOK(ctxt) } #line 103 "fonts.psw" /* Get the font type */ #line 470 "fonts.c" void PSWGetFontType(DPSContext ctxt, const char *font, int *fontType) { typedef struct { unsigned char tokenType; unsigned char sizeFlag; unsigned short topLevelCount; unsigned int nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; DPSBinObjGeneric obj8; DPSBinObjGeneric obj9; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 0, 10, 88, {DPS_LITERAL|DPS_STRING, 0, 0, 80}, /* param font */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 67}, /* findfont */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* FontType */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; static int _dpsCodes[1] = {-1}; register int _dps_offset = 80; DPSResultsRec _dpsR[1]; static const DPSResultsRec _dpsRstat[] = { { dps_tInt, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].value = (char *)fontType; { if (_dpsCodes[0] < 0) { static const char * const _dps_names[] = { "FontType"}; int *_dps_nameVals[1]; _dps_nameVals[0] = &_dpsCodes[0]; DPSMapNames(ctxt, 1, (char **) _dps_names, _dps_nameVals); } } _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[0].length = strlen(font); _dpsP[2].val.nameVal = _dpsCodes[0]; _dpsP[0].val.stringVal = _dps_offset; _dps_offset += _dpsP[0].length; _dpsF.nBytes = _dps_offset+8; DPSSetResultTable(ctxt, _dpsR, 1); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,88); DPSWriteStringChars(ctxt, (char *)font, _dpsP[0].length); DPSAwaitReturnValues(ctxt); } #line 109 "fonts.psw" /* Draw sample string */ #line 542 "fonts.c" void PSWShowSampleString(DPSContext ctxt, const char *font, int size, const char *sample) { typedef struct { unsigned char tokenType; unsigned char sizeFlag; unsigned short topLevelCount; unsigned int nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; DPSBinObjGeneric obj8; DPSBinObjGeneric obj9; DPSBinObjGeneric obj10; DPSBinObjGeneric obj11; DPSBinObjGeneric obj12; DPSBinObjGeneric obj13; DPSBinObjGeneric obj14; DPSBinObjGeneric obj15; DPSBinObjGeneric obj16; DPSBinObjGeneric obj17; DPSBinObjGeneric obj18; DPSBinObjReal obj19; DPSBinObjGeneric obj20; DPSBinObjGeneric obj21; DPSBinObjGeneric obj22; DPSBinObjGeneric obj23; DPSBinObjGeneric obj24; DPSBinObjGeneric obj25; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 0, 26, 216, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 78}, /* gsave */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 296}, /* erasepage */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 157}, /* setrgbcolor */ {DPS_LITERAL|DPS_NAME, 0, 0, 208}, /* param font */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 67}, /* findfont */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: size */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 140}, /* scalefont */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 149}, /* setfont */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 32}, /* currentfont */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* FontBBox */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: size */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 108}, /* mul */ {DPS_LITERAL|DPS_REAL, 0, 0, 1000.0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 54}, /* div */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 0}, /* abs */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107}, /* moveto */ {DPS_LITERAL|DPS_STRING, 0, 0, 208}, /* param sample */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 160}, /* show */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 77}, /* grestore */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; static int _dpsCodes[1] = {-1}; register int _dps_offset = 208; { if (_dpsCodes[0] < 0) { static const char * const _dps_names[] = { "FontBBox"}; int *_dps_nameVals[1]; _dps_nameVals[0] = &_dpsCodes[0]; DPSMapNames(ctxt, 1, (char **) _dps_names, _dps_nameVals); } } _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[6].length = strlen(font); _dpsP[8].val.integerVal = _dpsP[17].val.integerVal = size; _dpsP[23].length = strlen(sample); _dpsP[13].val.nameVal = _dpsCodes[0]; _dpsP[23].val.stringVal = _dps_offset; _dps_offset += _dpsP[23].length; _dpsP[6].val.stringVal = _dps_offset; _dps_offset += _dpsP[6].length; _dpsF.nBytes = _dps_offset+8; DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,216); DPSWriteStringChars(ctxt, (char *)sample, _dpsP[23].length); DPSWriteStringChars(ctxt, (char *)font, _dpsP[6].length); DPSSYNCHOOK(ctxt) } #line 123 "fonts.psw" /* Draw sample string safely*/ #line 644 "fonts.c" void PSWShowSampleSafely(DPSContext ctxt, const char *font, int size, const char *sample, int *err_count) { typedef struct { unsigned char tokenType; unsigned char sizeFlag; unsigned short topLevelCount; unsigned int nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; DPSBinObjGeneric obj8; DPSBinObjGeneric obj9; DPSBinObjGeneric obj10; DPSBinObjGeneric obj11; DPSBinObjGeneric obj12; DPSBinObjGeneric obj13; DPSBinObjGeneric obj14; DPSBinObjGeneric obj15; DPSBinObjGeneric obj16; DPSBinObjGeneric obj17; DPSBinObjGeneric obj18; DPSBinObjGeneric obj19; DPSBinObjGeneric obj20; DPSBinObjGeneric obj21; DPSBinObjGeneric obj22; DPSBinObjGeneric obj23; DPSBinObjGeneric obj24; DPSBinObjGeneric obj25; DPSBinObjGeneric obj26; DPSBinObjGeneric obj27; DPSBinObjGeneric obj28; DPSBinObjGeneric obj29; DPSBinObjGeneric obj30; DPSBinObjGeneric obj31; DPSBinObjGeneric obj32; DPSBinObjGeneric obj33; DPSBinObjGeneric obj34; DPSBinObjGeneric obj35; DPSBinObjGeneric obj36; DPSBinObjGeneric obj37; DPSBinObjGeneric obj38; DPSBinObjGeneric obj39; DPSBinObjGeneric obj40; DPSBinObjGeneric obj41; DPSBinObjGeneric obj42; DPSBinObjGeneric obj43; DPSBinObjGeneric obj44; DPSBinObjGeneric obj45; DPSBinObjGeneric obj46; DPSBinObjGeneric obj47; DPSBinObjGeneric obj48; DPSBinObjGeneric obj49; DPSBinObjGeneric obj50; DPSBinObjGeneric obj51; DPSBinObjGeneric obj52; DPSBinObjGeneric obj53; DPSBinObjGeneric obj54; DPSBinObjGeneric obj55; DPSBinObjGeneric obj56; DPSBinObjGeneric obj57; DPSBinObjGeneric obj58; DPSBinObjReal obj59; DPSBinObjGeneric obj60; DPSBinObjGeneric obj61; DPSBinObjGeneric obj62; DPSBinObjGeneric obj63; DPSBinObjGeneric obj64; DPSBinObjGeneric obj65; DPSBinObjGeneric obj66; DPSBinObjGeneric obj67; DPSBinObjGeneric obj68; DPSBinObjGeneric obj69; DPSBinObjGeneric obj70; DPSBinObjGeneric obj71; DPSBinObjGeneric obj72; DPSBinObjGeneric obj73; DPSBinObjGeneric obj74; DPSBinObjGeneric obj75; DPSBinObjGeneric obj76; DPSBinObjGeneric obj77; DPSBinObjGeneric obj78; DPSBinObjGeneric obj79; DPSBinObjGeneric obj80; DPSBinObjGeneric obj81; DPSBinObjGeneric obj82; DPSBinObjGeneric obj83; DPSBinObjGeneric obj84; DPSBinObjGeneric obj85; DPSBinObjGeneric obj86; DPSBinObjGeneric obj87; DPSBinObjGeneric obj88; DPSBinObjGeneric obj89; DPSBinObjGeneric obj90; DPSBinObjGeneric obj91; DPSBinObjGeneric obj92; DPSBinObjGeneric obj93; DPSBinObjGeneric obj94; DPSBinObjGeneric obj95; DPSBinObjGeneric obj96; char obj97[17]; char obj98[12]; char obj99[32]; char obj100[15]; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 0, 26, 860, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 78}, /* gsave */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 318}, /* mark */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 296}, /* erasepage */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 157}, /* setrgbcolor */ {DPS_EXEC|DPS_ARRAY, 0, 2, 760}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 163}, /* stopped */ {DPS_EXEC|DPS_ARRAY, 0, 12, 664}, {DPS_EXEC|DPS_ARRAY, 0, 10, 208}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 85}, /* ifelse */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 27}, /* counttomark */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 27}, /* counttomark */ {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 1}, /* add */ {DPS_LITERAL|DPS_INT, 0, 0, -1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 135}, /* roll */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117}, /* pop */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 77}, /* grestore */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ {DPS_EXEC|DPS_ARRAY, 0, 6, 616}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 163}, /* stopped */ {DPS_EXEC|DPS_ARRAY, 0, 13, 512}, {DPS_EXEC|DPS_ARRAY, 0, 9, 440}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 85}, /* ifelse */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 107}, /* moveto */ {DPS_EXEC|DPS_ARRAY, 0, 2, 424}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 163}, /* stopped */ {DPS_EXEC|DPS_ARRAY, 0, 12, 288}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 84}, /* if */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* $error */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* errorname */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_LITERAL|DPS_INT, 0, 0, 100}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 165}, /* string */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 49}, /* cvs */ {DPS_EXEC|DPS_ARRAY, 0, 1, 416}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 163}, /* stopped */ {DPS_EXEC|DPS_ARRAY, 0, 3, 392}, {DPS_EXEC|DPS_ARRAY, 0, 1, 384}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 85}, /* ifelse */ {DPS_LITERAL|DPS_STRING, 0, 15, 837}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117}, /* pop */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 318}, /* mark */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_LITERAL|DPS_STRING, 0, 32, 805}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 27}, /* counttomark */ {DPS_LITERAL|DPS_STRING, 0, 0, 852}, /* param sample */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 160}, /* show */ {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: size */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 108}, /* mul */ {DPS_LITERAL|DPS_REAL, 0, 0, 1000.0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 54}, /* div */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 0}, /* abs */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* $error */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* errorname */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_LITERAL|DPS_INT, 0, 0, 100}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 165}, /* string */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 49}, /* cvs */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117}, /* pop */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 62}, /* exch */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 117}, /* pop */ {DPS_LITERAL|DPS_STRING, 0, 12, 793}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: size */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 140}, /* scalefont */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 149}, /* setfont */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 32}, /* currentfont */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* FontBBox */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_EXEC|DPS_NAME, 0, 0, 0}, /* $error */ {DPS_LITERAL|DPS_NAME, 0, 0, 0}, /* errorname */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 75}, /* get */ {DPS_LITERAL|DPS_INT, 0, 0, 100}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 165}, /* string */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 49}, /* cvs */ {DPS_LITERAL|DPS_STRING, 0, 17, 776}, {DPS_LITERAL|DPS_NAME, 0, DPSSYSNAME, 199}, /* Courier */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 67}, /* findfont */ {DPS_LITERAL|DPS_INT, 0, 0, 12}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 140}, /* scalefont */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 149}, /* setfont */ {DPS_LITERAL|DPS_NAME, 0, 0, 852}, /* param font */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 67}, /* findfont */ {'C','a','n','n','o','t','_','l','o','a','d','_','f','o','n','t',' '}, {'N','o','_','F','o','n','t','B','B','o','x',' '}, {'s','t','a','c','k','_','d','e','s','t','r','o','y','e','d','_','d','u','e','_','t','o','_','C','I','D','_','e','r','r','o','r'}, {'I','n','v','a','l','i','d','_','s','t','r','i','n','g',' '}, }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; static int _dpsCodes[7] = {-1}; register int _dps_offset = 852; DPSResultsRec _dpsR[1]; static const DPSResultsRec _dpsRstat[] = { { dps_tInt, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].value = (char *)err_count; { if (_dpsCodes[0] < 0) { static const char * const _dps_names[] = { "$error", (char *) 0 , (char *) 0 , "errorname", (char *) 0 , (char *) 0 , "FontBBox"}; int *_dps_nameVals[7]; _dps_nameVals[0] = &_dpsCodes[0]; _dps_nameVals[1] = &_dpsCodes[1]; _dps_nameVals[2] = &_dpsCodes[2]; _dps_nameVals[3] = &_dpsCodes[3]; _dps_nameVals[4] = &_dpsCodes[4]; _dps_nameVals[5] = &_dpsCodes[5]; _dps_nameVals[6] = &_dpsCodes[6]; DPSMapNames(ctxt, 7, (char **) _dps_names, _dps_nameVals); } } _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[95].length = strlen(font); _dpsP[77].val.integerVal = _dpsP[57].val.integerVal = size; _dpsP[53].length = strlen(sample); _dpsP[36].val.nameVal = _dpsCodes[0]; _dpsP[83].val.nameVal = _dpsCodes[1]; _dpsP[64].val.nameVal = _dpsCodes[2]; _dpsP[37].val.nameVal = _dpsCodes[3]; _dpsP[84].val.nameVal = _dpsCodes[4]; _dpsP[65].val.nameVal = _dpsCodes[5]; _dpsP[81].val.nameVal = _dpsCodes[6]; _dpsP[95].val.stringVal = _dps_offset; _dps_offset += _dpsP[95].length; _dpsP[53].val.stringVal = _dps_offset; _dps_offset += _dpsP[53].length; _dpsF.nBytes = _dps_offset+8; DPSSetResultTable(ctxt, _dpsR, 1); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,860); DPSWriteStringChars(ctxt, (char *)font, _dpsP[95].length); DPSWriteStringChars(ctxt, (char *)sample, _dpsP[53].length); DPSAwaitReturnValues(ctxt); } #line 170 "fonts.psw" /* get strlen on Top of Stack */ #line 922 "fonts.c" void PSWStrLenTopOfStack(DPSContext ctxt, int *len) { typedef struct { unsigned char tokenType; unsigned char topLevelCount; unsigned short nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; } _dpsQ; static const _dpsQ _dpsF = { DPS_DEF_TOKENTYPE, 8, 68, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56}, /* dup */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 98}, /* length */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ }; /* _dpsQ */ DPSResultsRec _dpsR[1]; static const DPSResultsRec _dpsRstat[] = { { dps_tInt, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].value = (char *)len; DPSSetResultTable(ctxt, _dpsR, 1); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,68); DPSAwaitReturnValues(ctxt); } #line 175 "fonts.psw" /* get string on Top of Stack, for UNLIMITED buffer */ #line 965 "fonts.c" void PSWStrCpyTopOfStack(DPSContext ctxt, char *str) { typedef struct { unsigned char tokenType; unsigned char topLevelCount; unsigned short nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; } _dpsQ; static const _dpsQ _dpsF = { DPS_DEF_TOKENTYPE, 6, 52, {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ }; /* _dpsQ */ DPSResultsRec _dpsR[1]; static const DPSResultsRec _dpsRstat[] = { { dps_tChar, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].count = -1; _dpsR[0].value = (char *)str; DPSSetResultTable(ctxt, _dpsR, 1); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,52); DPSAwaitReturnValues(ctxt); } #line 180 "fonts.psw" /* get string on Top of Stack, for LIMITED buffer */ #line 1005 "fonts.c" void PSWStrNCpyTopOfStack(DPSContext ctxt, int len, char *str) { typedef struct { unsigned char tokenType; unsigned char topLevelCount; unsigned short nBytes; DPSBinObjGeneric obj0; DPSBinObjGeneric obj1; DPSBinObjGeneric obj2; DPSBinObjGeneric obj3; DPSBinObjGeneric obj4; DPSBinObjGeneric obj5; DPSBinObjGeneric obj6; DPSBinObjGeneric obj7; DPSBinObjGeneric obj8; DPSBinObjGeneric obj9; DPSBinObjGeneric obj10; DPSBinObjGeneric obj11; DPSBinObjGeneric obj12; DPSBinObjGeneric obj13; DPSBinObjGeneric obj14; } _dpsQ; static const _dpsQ _dpsStat = { DPS_DEF_TOKENTYPE, 12, 124, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 56}, /* dup */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 98}, /* length */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: len */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 80}, /* gt */ {DPS_EXEC|DPS_ARRAY, 0, 3, 96}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 84}, /* if */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 1}, {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 119}, /* printobject */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 70}, /* flush */ {DPS_LITERAL|DPS_INT, 0, 0, 0}, {DPS_LITERAL|DPS_INT, 0, 0, 0}, /* param: len */ {DPS_EXEC|DPS_NAME, 0, DPSSYSNAME, 76}, /* getinterval */ }; /* _dpsQ */ _dpsQ _dpsF; /* local copy */ register DPSBinObjRec *_dpsP = (DPSBinObjRec *)&_dpsF.obj0; DPSResultsRec _dpsR[1]; static const DPSResultsRec _dpsRstat[] = { { dps_tChar, -1 }, }; _dpsR[0] = _dpsRstat[0]; _dpsR[0].count = -1; _dpsR[0].value = (char *)str; _dpsF = _dpsStat; /* assign automatic variable */ _dpsP[2].val.integerVal = _dpsP[13].val.integerVal = len; DPSSetResultTable(ctxt, _dpsR, 1); DPSBinObjSeqWrite(ctxt,(char *) &_dpsF,124); DPSAwaitReturnValues(ctxt); } #line 188 "fonts.psw"