Before you write your own commands try to use what is available.
Right, but in many cases I am just not aware of what is available, to be honest, though I quite often use the wikigarden. I tried to change your example into arabic-german, seems to work, except only the first translation-pair is shown (see attachment). Why? \usemodule [database] \startbuffer[sample] "قال","sagte (Es)" "رسول","Gesandte (der)" "الله","Gottes" \stopbuffer \define[2]\InterlinearText {\setupalign[r2l]\definedfont[file:arial*arabic at 16 pt] \ruby{{\setupalign[r2l]#1}}{\setupalign[l2r]\definedfont[name:arial at 10pt]#2}} \definedatabase [interlineartext] [quotechar={"}, command=\InterlinearText] \setupinterlinespace[line=8ex] \setupruby[voffset=-3ex] \starttext \definedfont[file:arial*arabic at 16 pt] \processdatabasebuffer[interlineartext][sample] \stoptext And second: Of course it would be best readable, if one could write instead \startbuffer[sample] "قال","(Es) sagte" \stopbuffer but with same output, s.t. the order of the words in the second database-element is inverted. Is that possible? Huseyin Özoguz E-Mail: h.oezoguz@mmnetz.de Am 03.12.2018 um 13:36 schrieb Wolfgang Schuster:
Huseyin Özoguz schrieb am 03.12.18 um 12:51:
Thanks and I may have questions to the actual question about interlinear typesetting later, will try to define some nice macros with arabic-german interlinear texts.
Before you write your own commands try to use what is available.
If there is something missing existing commands can be extended and Hans is in many cases open to add new function to ConTeXt.
\usemodule [database]
% Source for the sample text: % https://interlinearbooks.com/blog/german-interlinear-translation-of-franz-ka...
\startbuffer[sample] "Als","As" "Gregor","Gregor" "Samsa","Samsa" "eines","one" "Morgens","morning" "aus","from" "unruhigen","uneasy" "Träumen","dreams" "erwachte,","woke up," "fand","found" "er","he" "sich","himself" "in","in" "seinem","his" "Bett","bed" "zu","in" "einem","an" "ungeheuren","enormous" "Ungeziefer","kind of monstrous vermin" "verwandelt.","transformed." \stopbuffer
\define[2]\InterlinearText {\ruby{#1}{#2} }
\definedatabase [interlineartext] [quotechar={"}, command=\InterlinearText]
\setupinterlinespace[line=6ex]
\setupruby[voffset=-2.5ex]
\starttext \processdatabasebuffer[interlineartext][sample] \stoptext
Wolfgang