> So if the entire buffer uses just a single font, like TUTORIAL.he > does, you do the test only once, at the first character of the buffer > text? But that could produce incorrect results, because the text > further into the buffer could have both RTL and LTR paragraphs > intermixed, and the correct display will show each of these at their > correct base direction. For example, most of the paragraphs in > TUTORIAL.he have right-to-left base direction, but the last paragraph, > with the Local Variables, is left-to-right, so its display starts at > the left edge of the window. > Intermixed paragraphs are fine though mixed text is slightly problematic (see attachment). The window positioning information can only be obtained for the part > of the buffer text actually visible in a window; for buffer positions > outside of the viewport posn-at-point will give you nil. How do you > work around this limitation to allow printing text of the entire > buffer? You are correct with your doubts. And unfortunately, I don't have all the answers. That's why in all my communication I've always maintained "Basic" WYSIWYG. Maybe somebody else can improve upon the algorithm.