ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* What is the luatex version of \pdfescapehex
@ 2010-01-06  1:33 Zhichu Chen
  2010-01-06  8:38 ` Hans Hagen
  0 siblings, 1 reply; 4+ messages in thread
From: Zhichu Chen @ 2010-01-06  1:33 UTC (permalink / raw)
  To: mailing list for ConTeXt users

Hi,

I've written a very old module which used a lot of pdf primitives like
\pdfescapehex
and \pdfescapename etc. and it turns out not they don't work in mkiv.
So I just want
to know are there any alternatives?

TIA

-- 
Best Regards
Chen
----------------------------------------------------------------

          Zhi-chu Chen | Shanghai Synchrotron Radiation Facility
         No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China
             tel: 086 21 5955 3405 | zhichu.chen.googlepages.com
                                               | www.sinap.ac.cn
----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: What is the luatex version of \pdfescapehex
  2010-01-06  1:33 What is the luatex version of \pdfescapehex Zhichu Chen
@ 2010-01-06  8:38 ` Hans Hagen
  2010-01-06 10:52   ` Zhichu Chen
  0 siblings, 1 reply; 4+ messages in thread
From: Hans Hagen @ 2010-01-06  8:38 UTC (permalink / raw)
  To: mailing list for ConTeXt users; +Cc: Zhichu Chen

On 6-1-2010 2:33, Zhichu Chen wrote:
> Hi,
>
> I've written a very old module which used a lot of pdf primitives like
> \pdfescapehex
> and \pdfescapename etc. and it turns out not they don't work in mkiv.
> So I just want
> to know are there any alternatives?

just lua code as placeholders for primitives will not show up in context 
mkiv

\startluacode
     local texsprint, ctxcatcodes = tex.sprint, tex.ctxcatcodes
     local gsub, format, byte = string.gsub, string.format, string.byte
     function commands.hexify(str)
         texsprint(ctxcatcodes,(gsub(str,".",function(s) return 
format("%0X",byte(s)) end)))
     end
\stopluacode

\long\def\hexify#1{\ctxlua{commands.hexify([[#1]])}}


\hexify{I wonder why this is needed.}


btw, if your old module produces pdf and uses other \pdf... primitives 
it's unlikely to work with mkiv anyway so you'd better check if it's 
still needed

Hans

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
      tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
                                              | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: What is the luatex version of \pdfescapehex
  2010-01-06  8:38 ` Hans Hagen
@ 2010-01-06 10:52   ` Zhichu Chen
  2010-01-06 16:36     ` Zhichu Chen
  0 siblings, 1 reply; 4+ messages in thread
From: Zhichu Chen @ 2010-01-06 10:52 UTC (permalink / raw)
  To: Hans Hagen; +Cc: mailing list for ConTeXt users

Thank you Hans,

On Wed, Jan 6, 2010 at 4:38 PM, Hans Hagen <pragma@wxs.nl> wrote:
> On 6-1-2010 2:33, Zhichu Chen wrote:
>>
>> Hi,
>>
>> I've written a very old module which used a lot of pdf primitives like
>> \pdfescapehex
>> and \pdfescapename etc. and it turns out not they don't work in mkiv.
>> So I just want
>> to know are there any alternatives?
>
> just lua code as placeholders for primitives will not show up in context
> mkiv
>
> \startluacode
>    local texsprint, ctxcatcodes = tex.sprint, tex.ctxcatcodes
>    local gsub, format, byte = string.gsub, string.format, string.byte
>    function commands.hexify(str)
>        texsprint(ctxcatcodes,(gsub(str,".",function(s) return
> format("%0X",byte(s)) end)))
>    end
> \stopluacode
>
> \long\def\hexify#1{\ctxlua{commands.hexify([[#1]])}}
>
>
> \hexify{I wonder why this is needed.}
>
>
> btw, if your old module produces pdf and uses other \pdf... primitives it's
> unlikely to work with mkiv anyway so you'd better check if it's still needed
Yes, \pdffilemoddate, \pdffilesize, \pdfmdfivesum are kind of disabled as well,
I'm not familiar with lua at all, so I don't know how to replace them with the
lua version. I did change your code format("%0X",byte(s)) with
format("%s",byte(s))
and it worked as \pdfescapename. I hope I'm not too wrong.

Anyway, my ancient module just write directly with pdfobj, I just commented
the /ModDate parameters and seems just fine now.

I think I really need to learn some lua. Thank you again for your time.

>
> Hans
>
> -----------------------------------------------------------------
>                                          Hans Hagen | PRAGMA ADE
>              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
>     tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
>                                             | www.pragma-pod.nl
> -----------------------------------------------------------------
>



-- 
Best Regards
Chen
----------------------------------------------------------------

          Zhi-chu Chen | Shanghai Synchrotron Radiation Facility
         No. 2019 | Jialuo Rd. | Jiading | Shanghai | P.R. China
             tel: 086 21 5955 3405 | zhichu.chen.googlepages.com
                                               | www.sinap.ac.cn
----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: What is the luatex version of \pdfescapehex
  2010-01-06 10:52   ` Zhichu Chen
@ 2010-01-06 16:36     ` Zhichu Chen
  0 siblings, 0 replies; 4+ messages in thread
From: Zhichu Chen @ 2010-01-06 16:36 UTC (permalink / raw)
  To: Hans Hagen; +Cc: mailing list for ConTeXt users

Sorry to my previous posts. I found a LaTeX package named pdftexcmds
and the lua script works just fine.
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-01-06 16:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-06  1:33 What is the luatex version of \pdfescapehex Zhichu Chen
2010-01-06  8:38 ` Hans Hagen
2010-01-06 10:52   ` Zhichu Chen
2010-01-06 16:36     ` Zhichu Chen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).