------------------------------------------------------------------------ r1759 | hhenkel | 2009-01-10 22:55:50 +0100 (Sat, 10 Jan 2009) | 36 lines Changed paths: M /trunk/src/texk/web2c/luatexdir/luatex.web M /trunk/src/texk/web2c/luatexdir/nodes.h DVI: The goal is to make dvi_h & dvi_v in DVI mode running similar to pdf_h & pdf_v in PDF mode, to have backends working in page coordinates with similar calculations and positioning: DVI: cur_h/v --(synch_page_coordinates)--> page_h/v --> dvi_h/v PDF: cur_h/v --(synch_page_coordinates)--> page_h/v --> pdf_h/v * cur_h & cur_v are in a local box coordinate system, from there the transform into global page coordinates page_h & page_v goes by macro synch_page_coordinates. This uses the current box origin in page coordinates, which is stored in box_pg_h and box_pg_v. * dvi_h & dvi_v are now in global page coordinates, measured from the lower left page corner (pdf_h & pdf_v will be in the same coordinate system). * From page_h & page_v, dvi_h & dvi_v are synchronized by macros synch_h & synch_v, simultaneously DVI commands are written to the DVI file, so that dvi_h & dvi_v keep track of the global position in the DVI file. * Commands outputting DVI movement codes now also update dvi_h & dvi_v. * Explicit DVI movements _after_ outputting rules or glyphs have been removed; they are done automatically with the next item that is output (sometimes this slightly reduces the DVI file size). * Procedure movement() has been simplified, as the synch_page_coordinates macro does the transform now. * @