Hylafax Mailing List Archives

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]

RE: WHFC 1.0.6 and the /page-count variable



Oh, I thought I should include a copy of the WHFC faxcover doc file in case
it would be helpful...
Thanks!
ken

[root@twgrh1 docq]# cat doc137.cover
%!PS-Adobe-2.0 EPSF-2.0
%%Creator: WHFC
%%Title: WHFC Cover Sheet for HylaFAX
%%Creation Date: Fri Mar 31 15:56:01 2000
%%Origin: 0 0
%%BoundingBox: 0 0 609 791
%%Pages: 1 ,1
%%EndComments
%%Begin Prolog
100 dict begin
/to () def
/to-company () def
/to-location () def
/to-voice-number () def
/to-fax-number (7868) def
/pageWidth 0 def
/pageWidth 0 def
/from (Kenneth Abrahamsen) def
/from-fax-number (425-486-7868) def
/from-voice-number (425-806-3369) def
/from-company (The Wright Group) def
/from-location (Bothell, WA 98011  USA) def
/page-count (0) def
/todays-date (Fri Mar 31 15:56:01 2000 ) def
/regarding () def
/comments() def
/comments () def
/comments1()def
/comments2()def
/comments3()def
/comments4()def
/comments5()def
/comments6()def
/comments7()def
/comments8()def
/comments9()def
/comments10()def
/comments11()def
/comments12()def
/comments13()def
/comments14()def
/comments15()def
/comments16()def
/comments17()def
/comments18()def
/comments19()def
%%EndProlog
%%Page 1 +1
/wordbreak ( ) def
/BreakIntoLines
{ /proc exch def
  /linewidth exch def
  /textstring exch def
  /breakwidth wordbreak stringwidth pop def
  /curwidth 0 def
  /lastwordbreak 0 def
  /startchar 0 def
  /restoftext textstring def
  { restoftext wordbreak search
    { /nextword exch def pop
      /restoftext exch def
      /wordwidth nextword stringwidth pop def
      curwidth wordwidth add linewidth gt
      { textstring startchar
        lastwordbreak startchar sub
        getinterval proc
        /startchar lastwordbreak def
        /curwidth wordwidth breakwidth add def }
      { /curwidth curwidth wordwidth add
        breakwidth add def
                 } ifelse
      /lastwordbreak lastwordbreak
      nextword length add 1 add def
    }
    { pop exit }
    ifelse
  } loop
  /lastchar textstring length def
  textstring startchar lastchar startchar sub
  getinterval proc
} def
%!PS-Adobe-2.0 EPSF-2.0
%%BoundingBox: 21 3 588 788
%%Title:
%%CreationDate: 11:05 AM January  4, 1993
%%Pages: 1 +1
%%EndComments
%       $Id: faxcover.ps,v 1.2 1999/01/07 07:01:03 robert Exp $
%
% HylaFAX Facsimile Software
%
% Copyright (c) 1990-1996 Sam Leffler
% Copyright (c) 1991-1996 Silicon Graphics, Inc.
% HylaFAX is a trademark of Silicon Graphics
%
% Permission to use, copy, modify, distribute, and sell this software and
% its documentation for any purpose is hereby granted without fee, provided
% that (i) the above copyright notices and this permission notice appear in
% all copies of the software and related documentation, and (ii) the names
of
% Sam Leffler and Silicon Graphics may not be used in any advertising or
% publicity relating to the software without the specific, prior written
% permission of Sam Leffler and Silicon Graphics.
%
% THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
% EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
% WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
%
% IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
% ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
% OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
% WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
% LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
% OF THIS SOFTWARE.
%
1 setlinejoin
/nullstring () def
/IS {
    dup where {
        pop
        load dup nullstring ne {S} {pop} ifelse
    } {pop} ifelse
} bind def
/M  { moveto } bind def /S { show  } bind def
/R { rmoveto } bind def /L { lineto } bind def
/B { newpath 0 0 M 0 1 L 1 1 L 1 0 L closepath } bind def
/CS { closepath stroke } bind def

% Add TWG-specific variables
% These variables are designed to use TWG default values if
% the corresponding normal cover page variables are null
/from-addr () def
/cvr-to {(FAX Recipient) to dup () ne {exch pop} {pop} ifelse} def
/cvr-to-company {(FAX Recipient Company) to-company dup () ne {exch pop}
{pop} ifelse} def
/cvr-to-location {(FAX Recipient Location) to-location dup () ne {exch pop}
{pop} ifelse} def
/cvr-to-voice-number {(FAX Recipient Voice Number) to-voice-number dup () ne
{exch pop} {pop} ifelse} def
/cvr-fax-number {(Unknown FAX Number) fax-number dup () ne {exch pop} {pop}
ifelse} def
/cvr-from {(FAX Sender) from dup () ne {exch pop} {pop} ifelse} def
/cvr-from-fax-number {(425-486-7868) from-fax-number dup () ne {exch pop}
{pop} ifelse} def
/cvr-from-voice-number {(425-486-8011) from-voice-number dup () ne {exch
pop} {pop} ifelse} def
/cvr-from-company {(The Wright Group) from-company dup () ne {exch pop}
{pop} ifelse} def
%
% If cvr-from-company is The Wright Group, Then Use Address Literal
% Otherwise Use null for Address Line
/cvr-from-addr {(19201 120th Avenue NE) from-addr cvr-from-company (The
Wright Group) ne {exch pop} {pop} ifelse} def
%
/cvr-from-location {(Bothell, WA 98011  USA) from-location dup () ne {exch
pop} {pop} ifelse} def
/cvr-todays-date {(Todays Date) todays-date dup () ne {exch pop} {pop}
ifelse} def
/cvr-regarding {(See Comments / Following Pages) regarding dup () ne {exch
pop} {pop} ifelse} def
/cvr-comments {(None) comments dup () ne {exch pop} {pop} ifelse} def

%%%% INSERT HERE - NEW
/linebreak (\n) def
/doLine {
% <line> <width> <height> <x> <y> doLine <width> <height> <x> <y>
    2 copy moveto 5 -1 roll
    wordbreak
    {
        search {
            dup stringwidth pop currentpoint pop add 7 index 6 index add gt
{
                6 3 roll 2 index sub 2 copy moveto 6 3 roll
            } if
            show wordbreak show
        }{
            dup stringwidth pop currentpoint pop add 5 index 4 index add gt
{
                3 1 roll 3 index sub 2 copy moveto 3 -1 roll
            } if
            show exit
        } ifelse
    } loop
    2 index sub 2 copy moveto
} def
/BreakIntoLines {
% <width> <height> <x> <y> <text> BreakIntoLines
    linebreak
    {
         search {
             7 3 roll doLine 6 -2 roll
         }{
             5 1 roll doLine exit
         } ifelse
    } loop
    pop pop pop pop
} def
% End of TWG-specific modifications

/showcaseisoencoding [
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/.notdef /.notdef /.notdef /.notdef
/space /exclam /quotedbl /numbersign
/dollar /percent /ampersand /quoteright
/parenleft /parenright /asterisk /plus
/comma /minus /period /slash
/zero /one /two /three /four /five /six /seven
/eight /nine /colon /semicolon
/less /equal /greater /question
/at /A /B /C /D /E /F /G
/H /I /J /K /L /M /N /O
/P /Q /R /S /T /U /V /W
/X /Y /Z /bracketleft
/backslash /bracketright /asciicircum /underscore
/quoteleft /a /b /c /d /e /f /g
/h /i /j /k /l /m /n /o
/p /q /r /s /t /u /v /w
/x /y /z /braceleft
/bar /braceright /asciitilde /guilsinglright
/fraction /florin /quotesingle /quotedblleft
/guilsinglleft /fi /fl /endash
/dagger /daggerdbl /bullet /quotesinglbase
/quotedblbase /quotedblright /ellipsis /trademark
/dotlessi /grave /acute /circumflex
/tilde /macron /breve /dotaccent
/dieresis /perthousand /ring /cedilla
/Ydieresis /hungarumlaut /ogonek /caron
/emdash /exclamdown /cent /sterling
/currency /yen /brokenbar /section
/dieresis /copyright /ordfeminine /guillemotleft
/logicalnot /hyphen /registered /macron
/degree /plusminus /twosuperior /threesuperior
/acute /mu /paragraph /periodcentered
/cedilla /onesuperior /ordmasculine /guillemotright
/onequarter /onehalf /threequarters /questiondown
/Agrave /Aacute /Acircumflex /Atilde
/Adieresis /Aring /AE /Ccedilla
/Egrave /Eacute /Ecircumflex /Edieresis
/Igrave /Iacute /Icircumflex /Idieresis
/Eth /Ntilde /Ograve /Oacute
/Ocircumflex /Otilde /Odieresis /multiply
/Oslash /Ugrave /Uacute /Ucircumflex
/Udieresis /Yacute /Thorn /germandbls
/agrave /aacute /acircumflex /atilde
/adieresis /aring /ae /ccedilla
/egrave /eacute /ecircumflex /edieresis
/igrave /iacute /icircumflex /idieresis
/eth /ntilde /ograve /oacute
/ocircumflex /otilde /odieresis /divide
/oslash /ugrave /uacute /ucircumflex
/udieresis /yacute /thorn /ydieresis ] def
/Helvetica-Bold findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding showcaseisoencoding def
  currentdict
end
/Helvetica-Bold-SHOWISO exch definefont pop
/Helvetica findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding showcaseisoencoding def
  currentdict
end
/Helvetica-SHOWISO exch definefont pop
/Courier findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding showcaseisoencoding def
  currentdict
end
/Courier-SHOWISO exch definefont pop
/Times-Bold findfont
dup length dict begin
  {1 index /FID ne {def} {pop pop} ifelse} forall
  /Encoding showcaseisoencoding def
  currentdict
end
/Times-Bold-SHOWISO exch definefont pop
%%EndProlog
%%Page: label 1
newpath clippath pathbbox
/URy exch def
/URx exch def
/LLy exch def
/LLx exch def
/Width  URx LLx sub 0.005 sub def
/Height URy LLy sub 0.005 sub def
LLx LLy translate
Width 612 div Height 792 div gt
    { /Y_size Height def
      /X_size 612 792 div Y_size mul def
      /Scale Height 792 div def }
    { /X_size Width def
      /Y_size 792 612 div X_size mul def
      /Scale Width 612 div def } ifelse
Width  X_size sub 2 div
Height Y_size sub 2 div translate
Scale Scale scale
gsave
0 0 0 setrgbcolor
gsave
newpath
11.9999 3.00039 M -8.00007 787 L 618 787 L 618 3.00039 L
closepath clip newpath
/Helvetica-SHOWISO findfont 14 scalefont setfont

% tom-baby's logo stuff:

/inch {72 mul} def
/width {.375 inch} def
/r {.3 inch} def
/d {r 30 cos mul neg} def
/R {2 inch} def
%1 setlinejoin

%/pnta { r 30 cos mul r 30 sin mul } def
%/pntb { R 90 cos mul d 90 sin mul sub R 90 sin mul d 90 cos mul add } def
%/pntc { R 30 cos mul d 30 sin mul add R 30 sin mul d 30 cos mul sub } def
%/pntd { r 90 cos mul r 90 sin mul } def
%/pnte { R 150 cos mul d 150 sin mul sub R 150 sin mul d 150 cos mul add }
def
%/pntf { R 90 cos mul d 90 sin mul add R 90 sin mul d 90 cos mul sub } def
%/pntg { r 150 cos mul r 150 sin mul } def
%/pnth { R 210 cos mul d 210 sin mul sub R 210 sin mul d 210 cos mul add }
def
%/pnti { R 150 cos mul d 150 sin mul add R 150 sin mul d 150 cos mul sub }
def
%/pntj { r 210 cos mul r 210 sin mul } def
%/pntk { R 270 cos mul d 270 sin mul sub R 270 sin mul d 270 cos mul add }
def
%/pntl { R 210 cos mul d 210 sin mul add R 210 sin mul d 210 cos mul sub }
def
%/pntm { r 270 cos mul r 270 sin mul } def
%/pntn { R 330 cos mul d 330 sin mul sub R 330 sin mul d 330 cos mul add }
def
%/pnto { R 270 cos mul d 270 sin mul add R 270 sin mul d 270 cos mul sub }
def
%/pntp { r 330 cos mul r 330 sin mul } def
%/pntq { R 30 cos mul d 30 sin mul sub R 30 sin mul d 30 cos mul add } def
%/pntr { R 330 cos mul d 330 sin mul add R 330 sin mul d 330 cos mul sub }
def
%
%/logo { newpath
%     pnta moveto pntb lineto pntc lineto pntd lineto pnte lineto
%     pntf lineto pntg lineto pnth lineto pnti lineto pntj lineto
%     pntk lineto pntl lineto pntm lineto pntn lineto pnto lineto
%     pntp lineto pntq lineto pntr lineto
%     closepath
%} def
%
%/drawlogo {
%gsave
% .8 inch 10.2 inch translate
% .2 .2 scale
% width setlinewidth
%
% logo stroke
%
% width 1.13 mul setlinewidth
% 1 setgray
% newpath
% pntc moveto pntd lineto pnte lineto stroke
% newpath
% pnti moveto pntj lineto pntk lineto stroke
% newpath
% pnto moveto pntp lineto pntq lineto stroke
%
% width setlinewidth
% 0 setgray
% newpath
% pntb moveto pntc lineto pntd lineto pnte lineto pntf lineto stroke
% newpath
% pnth moveto pnti lineto pntj lineto pntk lineto pntl lineto stroke
% newpath
% pntn moveto pnto lineto pntp lineto pntq lineto pntr lineto stroke
%
%grestore
%} def

/drawtext {
gsave
 % Heading Line 1
 1.4 inch 10.2 inch moveto
 /Helvetica-BoldOblique findfont 23 scalefont setfont
 (The Wright Group) S
 %cvr-from-company IS

 % Heading Line 2
 1.42 inch 9.95 inch moveto
 /Helvetica-Bold findfont 14 scalefont setfont
 (19201 120th Avenue NE) S
 %/cvr-from-addr IS

 % Heading Line 3
 1.42 inch 9.70 inch moveto
 (Bothell, WA 98011  USA) S
 %/cvr-from-location IS

 % Heading Line 4
 1.42 inch 9.45 inch moveto
 (Voice: 425-486-8011 ; FAX 425-486-7868) S
 %(Voice: ) S /cvr-from-voice-number IS
 %( ; FAX: ) S /cvr-from-fax-number IS

grestore
} def

%drawlogo
drawtext

0 0 0 setrgbcolor
/Helvetica-Bold-SHOWISO findfont 24 scalefont setfont
%164.063 644 M 168.356 644 M (Applications Consulting) S
%gsave 164.063 642 M 442 642 L stroke grestore
210.875 586 M (Fax Cover Sheet) S
176.222 499 M (To:) S
226.744 499 M (________________________) S 226.744 499 M /to IS
%226.744 499 M (________________________) S 226.744 499 M /cvr-to IS
58.3641 457 M (Fax Number:) S
%108.837 457 M (Number:) S
225.744 457 M (________________________) S 225.744 457 M /to-fax-number IS
%225.744 457 M (________________________) S 225.744 457 M /cvr-to-fax-number
IS
/Times-Bold-SHOWISO findfont 10 scalefont setfont
/Helvetica-Bold-SHOWISO findfont 24 scalefont setfont
95.5068 415 M (Company:) S
225.744 415 M (________________________) S 225.744 415 M /to-company IS
%225.744 415 M (________________________) S 225.744 415 M /cvr-to-company IS
146.199 373 M (From:) S
227.744 373 M (________________________) S 227.744 373 M /from IS
%227.744 373 M (________________________) S 227.744 373 M /cvr-from IS
176.823 331 M (Re:) S
228.744 331 M (________________________) S 228.744 331 M /regarding IS
%228.744 331 M (________________________) S 228.744 331 M /cvr-regarding IS
59.3601 289 M (Today's Date:) S
231.744 289 M (________________________) S 231.744 289 M /todays-date IS
%231.744 289 M (________________________) S 231.744 289 M /cvr-todays-date
IS
31 247 M (# of pages to follow this sheet:) S
403.216 247 M (___________) S 403.216 247 M /page-count IS
/Helvetica-Bold-SHOWISO findfont 14 scalefont setfont
31 189 M (Comments:) S
/Helvetica-Bold-SHOWISO findfont 24 scalefont setfont
/rule (_______________________________) def
/y 189 def /x 141.336 def
y -29 73 { x exch M rule S } for
rule stringwidth pop 29 x y comments BreakIntoLines
%rule stringwidth pop 29 x y cvr-comments BreakIntoLines
grestore
grestore
showpage

% TWG Modification to set page-count
%pages: 1
%end
[root@twgrh1 docq]#

-----Original Message-----
From: Abrahamsen, Ken 
Sent: Friday, March 31, 2000 3:52 PM
To: 'Ulrich.Eckhardt@transcom.de'; 'flexfax@sgi.com'
Subject: WHFC 1.0.6 and the /page-count variable


My Config:
RH 6.1 (no Updates Applied)
220 twgrh1 server (HylaFAX (tm) Version 4.1beta1) ready.
WHFC Client 1.0.6
WHFC printer driver is Apple Laser Writer 16/1600 PS

When I use sendfax, the /page-count variable for the cover page
(faxcover.ps) is calculated correctly as '1' when there's a cover page and
one subsequent page being faxed.

When I use WHFC 1.0.6, the /page-count variable for the cover page
(faxcover.ps) is one too few (ie; the correct /page-count should be '1' when
there's a cover page and one subsequent page being faxed, when in reality
the /page-count variable gets defined as '0').

Does anyone know what or when the /page-count variable gets defined with
WHFC processing and how the value is determined for this variable? Sendfax
works fine with this same faxcover.ps.

TIA.
ken 



Home
Report any problems to webmaster@hylafax.org

HylaFAX is a trademark of Silicon Graphics Corporation.
Internet connectivity for hylafax.org is provided by:
VirtuALL Private Host Services