1. | Adding horizontal space in line |
| Paul Grosso
> I am working from design specifications which require 12pt of space
> between 2 parts of a line.
>I want something like
>Page number, 12pt of space, "Chapter " followed by chapter number, etc.
>
<fo:leader leader-length="12pt"/>
|
2. | fo:wrapper vs fo:inline |
| J.Pietschmann
> I'm wondering about (what may be) a fine point of FO semantics.
>
> Is there something about fo:inline that prevents them from breaking
> across lines?
>
No. Inlines can flow across several lines.
> I'm prepared to use fo:wrapper to instigate momentary changes, say, into
> an italic face -- but had supposed fo:inline was the right way.
The difference between fo:inline and fo:wrapper is that the
wrapper only holds inheritable properties for the areas
within, while the fo:inline generates areas. This means a
fo:inline can have a border, background, space-start and
space-end and padding and a few other bits, while a
fo:wrapper cannot. If you just want to change the font-style
to italic, it doesn't matter whether you use fo:wrapper or
fo:inline. The latter is more commonly used though. |
3. | Superscript and line separation |
| David Tolpin
> I often use terms like "n^2"; then the line of text in which the
> superscript "2" appears is set with a distance to the preceding line 1.5
> times bigger than lines without a superscript.
line-height-shift-adjustment is 'consider-shifts ' by default,
you want it to be 'ignore-shifts ' if sub/super-scripts must
not affect line leadings. |
4. | White space treatment to separate content |
| Victor Vishnyakov
> 2. I'm trying to append some spaces into a string but the spaces
> don't show properly.. eg.. I want.. Is there any fo item that will
> create an empty space?
> "Blah: Blah01"
> Comes out
> "Blah:Blah01"
Solutions: 1. use 7.15.8 "white-space-treatment" with value "preserve" | 2. use fo:leader | 3. use fo:character |
|
5. | text-altitude |
| David Tolpin
> Would you use text-altitude="1em" to then lift it to the right position?
> (I got an error on text-altitude='100%')
the example was just to show how one could overlay two characters.
To do that, I looked up the characters width in the corresponding
font metrics table and set character-spacing to -1em*character_width The author will not have to displace vertically diacritics since they
are normally already positioned at the correct height from the baseline.
If for some purposes you want to specify text-altitude, then it's correct
value is 1em. 100% offends the parser because it contains '%', the percent
sign has to be escaped. |
6. | Drop caps. |
| W. Eliot Kimber
I've always done drop caps with side floats: <fo:block
font-size="12pt"
font-family="sans-serif"
line-height="1em"
>
<fo:float float="start">
<fo:block
font-size="72pt"
font-family="serif"
line-height="1em"
padding-end="24pt"
>H</fo:block>
</fo:float>
<fo:inline>ere is the start of the paragraph.
And this is more content in the paragraph.
And more. And more. And this is more content in the paragraph.
And more. And more. And this is more content in the paragraph.
And more. And more. And this is more content in the paragraph.
And more. And more. </fo:inline>
</fo:block>
This may require jiggering of the details of edge margins, padding, etc., as
different implementations are likely to vary in their behavior at the level
of precise character placement.
Side floats are the only construct that provide any form of runaround in
XSL-FO 1.0. |
7. | inlines with combining characters |
| Unknown
<fo:block>Some standard inline text to test umlaut. </fo:block>
<fo:block> <fo:inline>This uses the combining character value 0308,
the diaresis.<fo:character
character="o"/><fo:character
character="̈"
font-family="'Arial' 'Garamond' Serif"/> </fo:inline>
</fo:block>
<fo:block>
<fo:inline>Some more standard inline text to test a different way.
 <fo:character
character="o"
letter-spacing="-1.5em" /><fo:character character="-"
font-family="'Arial' 'Garamond' Serif"
vertical-align="30%"/> </fo:inline></fo:block>
|
8. | Strike through |
| Eliot Kimber
> My question is I think very easy but how to strike a text line in an
> fo:block?
<fo:inline text-decoration="line-through">...</fo:inline> |
9. | inline alignment |
| Eliot Kimber
> Now i am trying to align 2 pieces of info, on 1 line, at the bottom
> of static content without putting each piece in its own
> block, but it does not work...
This is a little fo trick:
- set text-align-last="justify" on your block
- put an auto-length space leader between the two parts: <fo:block text-align-last="justify">
<fo:inline>This is on the left</fo:inline>
<fo:leader leader-length="auto" leader-pattern="space"/>
<fo:inline>This is on the right</fo:inline>
</fo:block> |