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
___________________________________________________________________________________