Re: pcl2fax: setting of 'PCLFONTSOURCE'

Aidan Van Dyk <[email protected]> Wed, 11 Sep 2013 09:11:01 -0400
Newsgroups gmane.comp.telephony.fax.hylafax.devel
Message-ID <CAC_2qU_9rqPnnvfRP42EHLXRGMDfNs3V=iQoUncbyFtBD7Wckg@mail.gmail.com>
--047d7b3a914c5eaae504e61b5ab3
Content-Type: text/plain; charset=UTF-8

If all you need is to change : to ; for PCLFONTSOURCE if it's set form
FONTPATH, does this work for you?

PCLFONTSOURCE=${FONTPATH//:/;}


On Wed, Sep 11, 2013 at 8:06 AM, Bram <[email protected]> wrote:

> Hi,
>
> [I'm cross-posting this to both '[email protected]' and '
> hylafax-devel@lists.**sourceforge.net<[email protected]>'
> since I'm unsure how they related to each other - apologies if this is not
> appropriate]
>
>
> There exists a problem with the setting of the 'PCLFONTSOURCE' variable in
> the 'pcl2fax' script.
> This script sets 'PCLFONTSOURCE' to the value of 'FONTPATH' as set in the
> 'setup.cache' file.
>
> Code from 'pcl2fax':
>         if [ ! "$PCLFONTSOURCE" -a -n "$FONTPATH" ] ; then
>             PCLFONTSOURCE=$FONTPATH
>         fi
>         if [ -n "$PCLFONTSOURCE" ] ; then
>             export PCLFONTSOURCE
>         fi
>
> It then runs the '$PCL6CMD'.
>
> The problem however is that FONTPATH appears to be separated by ':' while
> pcl6 *seems to* expect the 'PCLFONTSOURCE' to be separated by ';' [note:
> this is determined by looking at the source of pcl6].
> This causes an error when multiple paths are set in FONTPATH: it fails to
> find fonts.
>
> The easiest way to see this is by using strace:
>
> Separated by using ':'
>         $ export PCLFONTSOURCE='/tmp/aa/:/tmp/**bb/:/tmp/cc/:/tmp/dd/' ;
>   strace -f /usr/bin/pcl6  -sOutputFile="output" input 2>&1 | grep
> '/tmp/[abcd]'
>         openat(AT_FDCWD, "/tmp/aa/:/tmp/bb/:/tmp/cc/:/**tmp/dd",
> O_RDONLY|O_NONBLOCK|O_**LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = -1 ENOENT
> (No such file or directory)
>         openat(AT_FDCWD, "/tmp/aa/:/tmp/bb/:/tmp/cc/:/**tmp/dd",
> O_RDONLY|O_NONBLOCK|O_**LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = -1 ENOENT
> (No such file or directory)
>
> Separated by using ';'
>         export PCLFONTSOURCE='/tmp/aa/;/tmp/**bb/;/tmp/cc/;/tmp/dd/' ;
> strace -f /usr/bin/pcl6  -sOutputFile="output" input 2>&1 | grep
> '/tmp/[abcd]'
>         openat(AT_FDCWD, "/tmp/aa", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 3
>         openat(AT_FDCWD, "/tmp/bb", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 3
>         openat(AT_FDCWD, "/tmp/cc", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 3
>         openat(AT_FDCWD, "/tmp/dd", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 3
>         openat(AT_FDCWD, "/tmp/aa", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 4
>         openat(AT_FDCWD, "/tmp/bb", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 4
>         openat(AT_FDCWD, "/tmp/cc", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 4
>         openat(AT_FDCWD, "/tmp/dd", O_RDONLY|O_NONBLOCK|O_**
> LARGEFILE|O_DIRECTORY|O_**CLOEXEC) = 4
>
>
> I'm not entirely sure how many ways there exists in the 'faxsetup' script
> to set the 'FONTPATH' variable.
> One method at least - and the method that appears to be used in our case -
> is the 'getGSFonts()' function:
>         getGSFonts()
>         {
>                 $PATH_GSRIP -h 2>/dev/null | $AWK -F '[ ]' '
>                         BEGIN { start = 0; }
>                         /Search path:/ { start = 1 }
>                         {
>                                 if (start == 1) {
>                                                 if ($1 == "") {
>                                                 gsub(" ","")
>                                                 gsub("^[.]","")
>                                                 gsub("^:","")
>                                                 printf "%s", $0
>                                         } else if ($1 != "Search") start =
> 0
>                                 }
>                         }
>                 '
>         }
>
> PATH_GSRIP is set to /usr/bin/gs.
> Running the command:
>         $ /usr/bin/gs -h
>         GNU Ghostscript 7.07 (2003-05-17)
>         ...
>         Search path:
>            /usr/share/ghostscript/7.07/**lib :
> /usr/share/ghostscript/fonts :
>            /usr/share/ghostpcl/fonts
>
>
> (Note: this is an older version of gs but I don't think the output changed)
>
>
> Looking at the source of ghostpcl/ghostpdl shows that it at one point did
> use ':' to separate paths.
>
> http://git.ghostscript.com/?p=**ghostpdl.git;a=commit;f=pl/**pjparse.c;h=*
> *64a01c3a07371098ac4eecab0df660**81f638b0a4<http://git.ghostscript.com/?p=ghostpdl.git;a=commit;f=pl/pjparse.c;h=64a01c3a07371098ac4eecab0df66081f638b0a4>
>         author  Henry Stiles <[email protected]>
>                 Sun, 3 Sep 2000 20:42:24 +0200 (18:42 +0000)
>         committer       Henry Stiles <[email protected]>
>                 Sun, 3 Sep 2000 20:42:24 +0200 (18:42 +0000)
>         commit  64a01c3a07371098ac4eecab0df660**81f638b0a4
>
>         Change to use `;' instead of ':' as a separator for the font path.
>
>         git-svn-id: http://svn.ghostscript.com/**
> ghostpcl/trunk/ghostpcl@1189<http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@1189>06663e23-700e-0410-b217-
> **a244a6096597
>
>
> Best regards,
>
> Bram
>
>
> ------------------------------**------------------------------**----
> This message was sent using IMP, the Internet Messaging Program.
>
>
> ____________________ HylaFAX(tm) Developers Mailing List
> ____________________
>  To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-**
> bin/lsg2.cgi <http://lists.hylafax.org/cgi-bin/lsg2.cgi>
> On UNIX: mail -s unsubscribe hylafax-devel-request@hylafax.**org<[email protected]>< /dev/null
>
>


-- 
Aidan Van Dyk                                             Create like a god,
[email protected]                                       command like a king,
http://www.highrise.ca/                                   work like a
slave.

--047d7b3a914c5eaae504e61b5ab3
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">If all you need is to change : to ; for PCLFONTSOURCE if i=
t&#39;s set form FONTPATH, does this work for you?<div><br></div><div>PCLFO=
NTSOURCE=3D${FONTPATH//:/;}<br></div></div><div class=3D"gmail_extra"><br><=
br>
<div class=3D"gmail_quote">On Wed, Sep 11, 2013 at 8:06 AM, Bram <span dir=
=3D"ltr">&lt;<a href=3D"mailto:[email protected]" target=3D"_blan=
k">[email protected]</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex">
Hi,<br>
<br>
[I&#39;m cross-posting this to both &#39;<a href=3D"mailto:hylafax-devel@hy=
lafax.org" target=3D"_blank">[email protected]</a>&#39; and &#39;<a=
 href=3D"mailto:[email protected]" target=3D"_blank">hyla=
fax-devel@lists.<u></u>sourceforge.net</a>&#39; since I&#39;m unsure how th=
ey related to each other - apologies if this is not appropriate]<br>

<br>
<br>
There exists a problem with the setting of the &#39;PCLFONTSOURCE&#39; vari=
able in the &#39;pcl2fax&#39; script.<br>
This script sets &#39;PCLFONTSOURCE&#39; to the value of &#39;FONTPATH&#39;=
 as set in the &#39;setup.cache&#39; file.<br>
<br>
Code from &#39;pcl2fax&#39;:<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if [ ! &quot;$PCLFONTSOURCE&quot; -a -n &quot;$=
FONTPATH&quot; ] ; then<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 PCLFONTSOURCE=3D$FONTPATH<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fi<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 if [ -n &quot;$PCLFONTSOURCE&quot; ] ; then<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 export PCLFONTSOURCE<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 fi<br>
<br>
It then runs the &#39;$PCL6CMD&#39;.<br>
<br>
The problem however is that FONTPATH appears to be separated by &#39;:&#39;=
 while pcl6 *seems to* expect the &#39;PCLFONTSOURCE&#39; to be separated b=
y &#39;;&#39; [note: this is determined by looking at the source of pcl6].<=
br>

This causes an error when multiple paths are set in FONTPATH: it fails to f=
ind fonts.<br>
<br>
The easiest way to see this is by using strace:<br>
<br>
Separated by using &#39;:&#39;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 $ export PCLFONTSOURCE=3D&#39;/tmp/aa/:/tmp/<u>=
</u>bb/:/tmp/cc/:/tmp/dd/&#39; ; =C2=A0 strace -f /usr/bin/pcl6 =C2=A0-sOut=
putFile=3D&quot;output&quot; input 2&gt;&amp;1 | grep &#39;/tmp/[abcd]&#39;=
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/aa/:/tmp/bb/:/tmp/c=
c/:/<u></u>tmp/dd&quot;, O_RDONLY|O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY=
|O_<u></u>CLOEXEC) =3D -1 ENOENT (No such file or directory)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/aa/:/tmp/bb/:/tmp/c=
c/:/<u></u>tmp/dd&quot;, O_RDONLY|O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY=
|O_<u></u>CLOEXEC) =3D -1 ENOENT (No such file or directory)<br>
<br>
Separated by using &#39;;&#39;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 export PCLFONTSOURCE=3D&#39;/tmp/aa/;/tmp/<u></=
u>bb/;/tmp/cc/;/tmp/dd/&#39; ; =C2=A0 strace -f /usr/bin/pcl6 =C2=A0-sOutpu=
tFile=3D&quot;output&quot; input 2&gt;&amp;1 | grep &#39;/tmp/[abcd]&#39;<b=
r>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/aa&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 3<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/bb&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 3<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/cc&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 3<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/dd&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 3<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/aa&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 4<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/bb&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 4<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/cc&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 4<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 openat(AT_FDCWD, &quot;/tmp/dd&quot;, O_RDONLY|=
O_NONBLOCK|O_<u></u>LARGEFILE|O_DIRECTORY|O_<u></u>CLOEXEC) =3D 4<br>
<br>
<br>
I&#39;m not entirely sure how many ways there exists in the &#39;faxsetup&#=
39; script to set the &#39;FONTPATH&#39; variable.<br>
One method at least - and the method that appears to be used in our case - =
is the &#39;getGSFonts()&#39; function:<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 getGSFonts()<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 $PATH_GSRIP -h 2&gt=
;/dev/null | $AWK -F &#39;[ ]&#39; &#39;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 BEGIN { start =3D 0; }<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 /Search path:/ { start =3D 1 }<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 if (start =3D=3D 1) {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 if ($1 =3D=3D &quot;&quot;) {<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 gsub(&quot; &quot;,&quot;&quot;)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 gsub(&quot;^[.]&quot;,&quot;&quot;)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 gsub(&quot;^:&quot;,&quot;&quot;)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 printf &quot;%s&quot;, $0<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 } else i=
f ($1 !=3D &quot;Search&quot;) start =3D 0<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 }<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 &#39;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 }<br>
<br>
PATH_GSRIP is set to /usr/bin/gs.<br>
Running the command:<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 $ /usr/bin/gs -h<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 GNU Ghostscript 7.07 (2003-05-17)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 ...<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Search path:<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/usr/share/ghostscript/7.07/<u></u=
>lib : /usr/share/ghostscript/fonts :<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0/usr/share/ghostpcl/fonts<br>
<br>
<br>
(Note: this is an older version of gs but I don&#39;t think the output chan=
ged)<br>
<br>
<br>
Looking at the source of ghostpcl/ghostpdl shows that it at one point did u=
se &#39;:&#39; to separate paths.<br>
<br>
<a href=3D"http://git.ghostscript.com/?p=3Dghostpdl.git;a=3Dcommit;f=3Dpl/p=
jparse.c;h=3D64a01c3a07371098ac4eecab0df66081f638b0a4" target=3D"_blank">ht=
tp://git.ghostscript.com/?p=3D<u></u>ghostpdl.git;a=3Dcommit;f=3Dpl/<u></u>=
pjparse.c;h=3D<u></u>64a01c3a07371098ac4eecab0df660<u></u>81f638b0a4</a><br=
>

=C2=A0 =C2=A0 =C2=A0 =C2=A0 author =C2=A0Henry Stiles &lt;<a href=3D"mailto=
:[email protected]" target=3D"_blank">[email protected]</a>&g=
t;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Sun, 3 Sep 2000 20:=
42:24 +0200 (18:42 +0000)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 committer =C2=A0 =C2=A0 =C2=A0 Henry Stiles &lt=
;<a href=3D"mailto:[email protected]" target=3D"_blank">henry.stiles=
@artifex.com</a>&gt;<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Sun, 3 Sep 2000 20:=
42:24 +0200 (18:42 +0000)<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 commit =C2=A064a01c3a07371098ac4eecab0df660<u><=
/u>81f638b0a4<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Change to use `;&#39; instead of &#39;:&#39; as=
 a separator for the font path.<br>
<br>
=C2=A0 =C2=A0 =C2=A0 =C2=A0 git-svn-id: <a href=3D"http://svn.ghostscript.c=
om/ghostpcl/trunk/ghostpcl@1189" target=3D"_blank">http://svn.ghostscript.c=
om/<u></u>ghostpcl/trunk/ghostpcl@1189</a> 06663e23-700e-0410-b217-<u></u>a=
244a6096597<br>
<br>
<br>
Best regards,<br>
<br>
Bram<br>
<br>
<br>
------------------------------<u></u>------------------------------<u></u>-=
---<br>
This message was sent using IMP, the Internet Messaging Program.<br>
<br>
<br>
____________________ HylaFAX(tm) Developers Mailing List __________________=
__<br>
=C2=A0To subscribe/unsubscribe, click <a href=3D"http://lists.hylafax.org/c=
gi-bin/lsg2.cgi" target=3D"_blank">http://lists.hylafax.org/cgi-<u></u>bin/=
lsg2.cgi</a><br>
On UNIX: mail -s unsubscribe <a href=3D"mailto:hylafax-devel-request@hylafa=
x.org" target=3D"_blank">hylafax-devel-request@hylafax.<u></u>org</a> &lt; =
/dev/null<br>
<br>
</blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Aidan Van Dy=
k =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 Create like a god,<br><a href=3D"mailto:[email protected]" target=3D=
"_blank">[email protected]</a> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 command like a king,<br>
<a href=3D"http://www.highrise.ca/" target=3D"_blank">http://www.highrise.c=
a/</a> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 work like a slave.
</div>

--047d7b3a914c5eaae504e61b5ab3--


____________________ HylaFAX(tm) Developers Mailing List ____________________
  To subscribe/unsubscribe, click http://lists.hylafax.org/cgi-bin/lsg2.cgi
On UNIX: mail -s unsubscribe [email protected] < /dev/null