groff
[Top][All Lists]
Advanced

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

Re: [Groff] PDFPIC macro


From: Steffen Nurpmeso
Subject: Re: [Groff] PDFPIC macro
Date: Thu, 18 Sep 2014 13:30:28 +0200
User-agent: s-nail v14.7.6-22-gc64e2ad

Keith Marshall <address@hidden> wrote:
 |On 17/09/14 22:22, Peter Schaffter wrote:
 |> On Wed, Sep 17, 2014, Steffen Nurpmeso wrote:
 |>> I'm not in the position to say something to PDFPIC today (direct
 |>> support would be pretty cool!), but there should be general tools
 |>> for sh(1) (perl(1)...) that can be included in a defined way and
 |>> used.  I.e., roff "libraries".
 |>>
 |>> And the very same is true for generic use of external commands, as
 |>> is used by you, and what came to my mind immediately when reading:
 |>>
 |>>   .  sy pdfinfo @$1 | \
 |>>   grep "Page *size" | \
 |>>   sed -e 's/Page *size: *\\([[:digit:].]*\\) *x *\\([[:digit:].]*\\).*$/\
 |>>   .nr pdf-wid (p;\\1)\\n\
 |>>   .nr pdf-ht  (p;\\2)/' \
 |>>> /tmp/pdfpic\n[$$]
 |>>
 |>> For example here.  There should be a way to safely generate
 |>> temporary file names in the temporary directory that is currently
 |>> used, whatever this is (most likely $TMPDIR).
 |> 
 |> Yes.  The way groff stands now, I'm uneasy relying on external tools
 |> and .sy for anything but local, user-written macros.  There's precedent,
 |> though, in www.tmac (PIMG), and this seems to be the best solution
 |> for PDF images.
 |
 |Do note, however, that this will compromise portability; e.g. pdfinfo is
 |unlikely to be supported on MS-Windows hosts.  Also, since .sy is an
 |intrinsically unsafe request, any macro which relies on it *must* be
 |invoked in unsafe mode, and users should rightly be wary of enabling
 |that, for untrusted sources.

I think in the end the best would also be a new command, say,
`.imgconvert {TARGETFORMAT->EPS} SOURCEFILE [WIDTH [HEIGHT]]', or
`.img2eps', or similar, that works in the C++ machinery on safely
managed temporary files.  And maybe `.imgbb'.  But the latter
could be more or less useless if the converted image file is
accessible via some string.

--steffen



reply via email to

[Prev in Thread] Current Thread [Next in Thread]