Hi Khaled, On Thu, 2 Jul 2009, Khaled Hosny wrote:
PDF annotations are not placed correctly in TRT directions (and I guess other directions as well), I tried to track this issue and apparently directions are not taken into account when doing do_annot() in pdflistout.c.
checked your test file. i guess it's looking wrong since you did not set width, height, or depth of the \pdfannot. Then by default it takes as annotation rectangle dimensions and position the width from the current point to the end of the surrounding box (as pdftex does). And in TRT mode the end of the box is left from the current point, as the surrounding \hbox goes across the full \hsize. The viewer then places the annotation text flush left into this rectangle, so it ends up rather left on the paper. I guess one does not have good control over this other than stating width, height, and depth as arguments to \pdfannot. Seems to be also rather implementation dependent. Just set width to some value (e. g. 20mm, see also samplepdf.tex from pdftex) and you will hopefully see that the annotation will be about where you want it. And have a look at the /Rect [] array in the PDF file. The directions _are_ taken care of (in a correct way i hope); the coordinate transform to the page system happens within the set_rect_dimens() function called from do_annot(). Even for the vertical *B* and *T* directions it should be ok, but it stretches the width/height/depth concept, as annotations seem to be generally TLT text. Well, one could start philosophize whether the rectangle should be mounted better always to the right from the current point, independent from direction. One could state dimensions (x,y), and maybe (x,y) offset strictly in page coordinates, and forget about w/h/d as the rectangle has anyway not much to do with the classical width/height/depth TeX parameters, particularly when they are transformed. But then one has to guarantee that the annotation does not fall off the page... Regards, Hartmut