Wolfgang Schuster wrote:
Am 07.12.2009 um 10:11 schrieb Hans Hagen:

hm, doesn't that kind of functionality demands a bit more 'thinking'? what 
exactly is needed? how does it relate to linebreaks? other content? etc .. 
actually, such a mechanism should be implemented a bit differently (maybe 
attributes and delayed processing) or maybe dictionary driven ..

there is no linebreak in the text because it's a boxed content, a simple 
version of my macro is

\def\pdfactualtext#1#2%
 {\pdfliteral direct{/Span <</ActualText \ctxlua{tex.write(lpdf.tosixteen("#2"))} 
>> BDC}#1\pdfliteral direct{EMC}}

\def\ruby#1#2%
  {\dontleavehmode\bgroup
   \setbox\scratchboxone\hbox{#1}%
   \setbox\scratchboxtwo\hbox{#2}%
   \scratchdimen\wd\scratchboxone
   \setbox\scratchbox\vbox
     {\hbox to \scratchdimen{\hss\box\scratchboxtwo\hss}
      \hbox to \scratchdimen{\hss\box\scratchboxone\hss}}%
   \pdfactualtext{\box\scratchbox}{#1 (#2)}%
   \egroup}

\starttext

text \ruby{base text}{ruby text} text

\stoptext

detail ...

\def\ruby#1#2%
  {\dontleavehmode\bgroup
   \setbox\scratchboxone\hbox{#1}%
   \setbox\scratchboxtwo\hbox{#2}%

\scratchdimen\wd\ifdim\wd\scratchboxone>\wd\scratchboxtwo\scratchboxone\else\scratchboxtwo\fi
   \setbox\scratchbox\vbox
     {\hbox to \scratchdimen{\hss\box\scratchboxtwo\hss}
      \hbox to \scratchdimen{\hss\box\scratchboxone\hss}}%
   \pdfactualtext{\box\scratchbox}{#1 (#2)}%
   \egroup}

\starttext
    text \ruby{lua text}{ruby or perl text which is more blabla} text
\stoptext



-----------------------------------------------------------------
                                          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
___________________________________________________________________________________

Reply via email to