Re: [xsl] XSL:FO approach for facing-page translation

Subject: Re: [xsl] XSL:FO approach for facing-page translation
From: Graydon <graydon@xxxxxxxxx>
Date: Fri, 7 Feb 2014 14:20:28 -0500
On Fri, Feb 07, 2014 at 10:43:22AM -0800, Martin Holmes scripsit:
[recto-verso text and translation
> Has anyone every done anything like this, and if so, do you have any
> advice? I can imagine that it might be done in a horribly manual
> fashion by trial and error, working page-by-page, but I really don't
> want to get into that. I'm happy to pre-process the text multiple
> times before it goes to the XSL:FO stage., Perhaps there are ways to
> measure (for instance) how much space a paragraph will take, and
> then adjust page-margins or spacing by small increments to preserve
> alignment between the two texts, but I haven't seen examples of such
> an approach.

The usual approach for keeping translations together is to use 

<fo:list-item>
  <fo:list-item-label>
    <fo:block>ORIGINAL TEXT</fo:block>
  </fo:list-item-label>
  <fo:list-item-body>
    <fo:block>TRANSLATION</fo:block>
  </fo:list-item-body>
</fo:list-item>

and set list-related parameters so you get the spacing you want, since
lists allow full blocks at the label and item level while keeping things
together at the top, so the units of text always start side by side.

So far as I know, there isn't a mechanism to directly synchronize
separate recto and verso flows; flow-maps can give you assignment of
flows to regions, but that wouldn't give you synchronization between
(across?) regions.

It's possible there's a formatter extension that does what you want?
That's almost got to be easier than figuring out how to multi-pass
adjust separate flows, since straight XSL-FO won't tell you how full the
page is, you're not supposed to want to know that. :)

-- Graydon

Current Thread