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