You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

leader.fo 30KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- examples for the use of the fo leader -->
  3. <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="sans-serif">
  4. <fo:layout-master-set>
  5. <!-- page layout -->
  6. <fo:simple-page-master master-name="first"
  7. page-height="29.7cm"
  8. page-width="21cm"
  9. margin-top="2.5cm"
  10. margin-bottom="2cm"
  11. margin-left="2.5cm"
  12. margin-right="2.5cm">
  13. <fo:region-body/>
  14. </fo:simple-page-master>
  15. </fo:layout-master-set>
  16. <!-- end: defines page layout -->
  17. <!-- actual layout -->
  18. <fo:page-sequence master-reference="first">
  19. <fo:flow flow-name="xsl-region-body">
  20. <!-- Normal text -->
  21. <fo:block font-size="16pt"
  22. font-family="sans-serif"
  23. line-height="15pt"
  24. space-after.optimum="3pt"
  25. text-align="start"
  26. background-color="blue"
  27. color="white"
  28. >
  29. Leader examples
  30. </fo:block>
  31. <fo:block font-size="12pt"
  32. font-family="sans-serif"
  33. line-height="15pt"
  34. space-before.optimum="5pt"
  35. space-after.optimum="3pt"
  36. text-align="start">
  37. fo:leader is mainly used a) in table-of-contents to generate sequences of "." glyphs that separate titles from page numbers
  38. b) to create entry fields in fill-in-the-blank forms c) to create horizontal rules for use as separators. You
  39. define the look and use of fo:leader with the property "leader-pattern". It can have the following values: a) space. This
  40. just creates an space. b) dots. This creates a sequence of "." c) rule. This creates a line. d) use-content. This creates a
  41. repeating pattern of the content of fo:leader.
  42. </fo:block>
  43. <fo:block font-size="12pt"
  44. font-family="sans-serif"
  45. line-height="15pt"
  46. space-before.optimum="5pt"
  47. space-after.optimum="3pt"
  48. text-align="start">
  49. The dimensions of fo:leader are determined by the compound property leader-length. It consists of the
  50. 3 sub values: leader-length.minimum (default = 0), leader-length.optimum (default = 12pt), leader-length.maximum
  51. (default = 100%). If you want to make sure, that leader-length has a fixed size, you should use the compound
  52. property (p.e. leader-length="5cm"). If you want to fill the rest of the remaining space with dots in a table of
  53. content, you can use the default values.
  54. </fo:block>
  55. <fo:block font-size="14pt"
  56. font-family="sans-serif"
  57. line-height="17pt"
  58. space-before.optimum="5pt"
  59. space-after.optimum="3pt"
  60. text-align="start"
  61. background-color="blue"
  62. color="white">
  63. leader with leader-pattern="space"
  64. </fo:block>
  65. <!-- Inserts a leader (space) -->
  66. <fo:block text-align="start">Entry 1
  67. <fo:leader leader-pattern="space"
  68. leader-length="6cm"/>p. 12
  69. </fo:block>
  70. <!-- Inserts a leader (space) -->
  71. <fo:block text-align="start">Entry 2
  72. <fo:leader leader-pattern="space"
  73. leader-length="6cm"/>p. 24
  74. </fo:block>
  75. <!-- Inserts a leader (space) -->
  76. <fo:block text-align="start">Left side
  77. <fo:leader leader-pattern="space"
  78. leader-length="5.5cm"/>middle
  79. <fo:leader leader-pattern="space"
  80. leader-length="5.5cm"/>right side
  81. </fo:block>
  82. <fo:block font-size="14pt"
  83. font-family="sans-serif"
  84. line-height="17pt"
  85. space-before.optimum="5pt"
  86. space-after.optimum="3pt"
  87. text-align="start"
  88. background-color="blue"
  89. color="white"
  90. >
  91. Using fo:leader with leader-pattern="dots"
  92. </fo:block>
  93. <fo:block font-size="12pt"
  94. font-family="sans-serif"
  95. line-height="15pt"
  96. space-before.optimum="5pt"
  97. space-after.optimum="3pt"
  98. text-align="start">
  99. There are two properties which allow you to specify the looks of the dotted line. First
  100. "leader-pattern-width". It specifies the length of one dot and the space up to the next dot.
  101. Second leader-alignment. It can be used to make sure, the dots in different lines are parallel (only value "reference-area"
  102. is supported).
  103. </fo:block>
  104. <!-- Inserts a leader (dots) -->
  105. <fo:block text-align="start">Entry 1
  106. <fo:leader leader-pattern="dots"
  107. leader-length="6cm"/>p. 12
  108. </fo:block>
  109. <!-- Inserts a leader (dots) -->
  110. <fo:block text-align="start">Entry 2
  111. <fo:leader leader-pattern="dots"
  112. leader-length="6cm"/>p. 24
  113. </fo:block>
  114. <fo:block font-size="12pt"
  115. font-family="sans-serif"
  116. line-height="15pt"
  117. space-before.optimum="5pt"
  118. space-after.optimum="3pt"
  119. text-align="start">
  120. Using fo:leader with leader-pattern="dots" and leader-pattern-width="5pt" and "8pt"
  121. </fo:block>
  122. <!-- Inserts a leader (dots) -->
  123. <fo:block text-align="start">Entry 1
  124. <fo:leader leader-pattern="dots"
  125. leader-pattern-width="5pt"
  126. leader-length="6cm"/>p. 12
  127. </fo:block>
  128. <!-- Inserts a leader (dots) -->
  129. <fo:block text-align="start">Entry 2
  130. <fo:leader leader-pattern="dots"
  131. leader-pattern-width="5pt"
  132. leader-length="6cm"/>p. 24
  133. </fo:block>
  134. <!-- Inserts a leader (dots) -->
  135. <fo:block text-align="start">Entry 1
  136. <fo:leader leader-pattern="dots"
  137. leader-pattern-width="8pt"
  138. leader-length="6cm"/>p. 12
  139. </fo:block>
  140. <!-- Inserts a leader (dots) -->
  141. <fo:block text-align="start">Entry 2
  142. <fo:leader leader-pattern="dots"
  143. leader-pattern-width="8pt"
  144. leader-length="6cm"/>p. 24
  145. </fo:block>
  146. <fo:block font-size="12pt"
  147. font-family="sans-serif"
  148. line-height="15pt"
  149. space-before.optimum="5pt"
  150. space-after.optimum="3pt"
  151. text-align="start">
  152. Using fo:leader with leader-pattern="dots" in a list
  153. </fo:block>
  154. <fo:block text-align="start"
  155. space-before.optimum="12pt"
  156. space-after.optimum="12pt">
  157. Using fo:leader with leader-pattern="dots", leader-pattern-width="5pt" and "8pt", leader-alignment="reference-area"
  158. </fo:block>
  159. <!-- Inserts a leader (dots) -->
  160. <fo:block text-align="start">Entry 1
  161. <fo:leader leader-pattern="dots"
  162. leader-pattern-width="5pt"
  163. leader-alignment="reference-area"
  164. leader-length="6cm"/>p. 12
  165. </fo:block>
  166. <!-- Inserts a leader (dots) -->
  167. <fo:block text-align="start">Entry 2
  168. <fo:leader leader-pattern="dots"
  169. leader-pattern-width="5pt"
  170. leader-alignment="reference-area"
  171. leader-length="6cm"/>p. 24
  172. </fo:block>
  173. <!-- Inserts a leader (dots) -->
  174. <fo:block text-align="start">Entry 3 is longer
  175. <fo:leader leader-pattern="dots"
  176. leader-pattern-width="5pt"
  177. leader-alignment="reference-area"
  178. leader-length="6cm"/>p. 36
  179. </fo:block>
  180. <!-- Inserts a leader (dots) -->
  181. <fo:block text-align="start">Entry 4 is even longer
  182. <fo:leader leader-pattern="dots"
  183. leader-alignment="reference-area"
  184. leader-pattern-width="5pt"
  185. leader-length="6cm"/>p. 48
  186. </fo:block>
  187. <!-- Inserts a leader (dots) -->
  188. <fo:block text-align="start">1
  189. <fo:leader leader-pattern="dots"
  190. leader-pattern-width="8pt"
  191. leader-length="6cm"
  192. leader-alignment="reference-area"/>p. 12
  193. </fo:block>
  194. <!-- Inserts a leader (dots) -->
  195. <fo:block text-align="start">Entry 2
  196. <fo:leader leader-pattern="dots"
  197. leader-pattern-width="8pt"
  198. leader-length="6cm"
  199. leader-alignment="reference-area"/>p. 24
  200. </fo:block>
  201. <!-- Inserts a leader (dots) -->
  202. <fo:block text-align="start">Entry 3 is longer
  203. <fo:leader leader-pattern="dots"
  204. leader-pattern-width="8pt"
  205. leader-length="6cm"
  206. leader-alignment="reference-area"/>p. 36
  207. </fo:block>
  208. <!-- Inserts a leader (dots) -->
  209. <fo:block text-align="start">Entry 4 is even longer
  210. <fo:leader leader-pattern="dots"
  211. leader-pattern-width="8pt"
  212. leader-length="6cm"
  213. leader-alignment="reference-area"/>p. 48
  214. </fo:block>
  215. <!-- list start -->
  216. <!-- use provisional-distance-between-starts to define
  217. the distance between the start of the label and the item text
  218. use provisional-label-separation to define the distance between
  219. the end of the item label and the start of item text
  220. -->
  221. <fo:list-block provisional-distance-between-starts="0.3cm"
  222. provisional-label-separation="0.15cm">
  223. <!-- list item -->
  224. <fo:list-item>
  225. <!-- insert a bullet -->
  226. <fo:list-item-label end-indent="label-end()">
  227. <fo:block><fo:inline font-size="10pt">&#183;</fo:inline></fo:block>
  228. </fo:list-item-label>
  229. <!-- list text -->
  230. <fo:list-item-body start-indent="body-start()">
  231. <fo:block>
  232. <!-- Inserts a leader (dots) -->
  233. <fo:block text-align="start">Entry 1
  234. <fo:leader leader-pattern="dots"
  235. leader-pattern-width="5pt"
  236. leader-length="6cm"/>p. 12
  237. </fo:block>
  238. </fo:block>
  239. </fo:list-item-body>
  240. </fo:list-item>
  241. <!-- list item -->
  242. <fo:list-item>
  243. <!-- insert a bullet -->
  244. <fo:list-item-label end-indent="label-end()">
  245. <fo:block><fo:inline font-size="10pt">&#183;</fo:inline></fo:block>
  246. </fo:list-item-label>
  247. <!-- list text -->
  248. <fo:list-item-body start-indent="body-start()">
  249. <fo:block>
  250. <!-- Inserts a leader (dots) -->
  251. <fo:block text-align="start">Entry 2
  252. <fo:leader leader-pattern="dots"
  253. leader-pattern-width="5pt"
  254. leader-length="6cm"/>p. 24
  255. </fo:block>
  256. </fo:block>
  257. </fo:list-item-body>
  258. </fo:list-item>
  259. </fo:list-block>
  260. <!-- list end -->
  261. <fo:block font-size="12pt"
  262. font-family="sans-serif"
  263. line-height="15pt"
  264. space-before.optimum="5pt"
  265. space-after.optimum="3pt"
  266. text-align="start">
  267. Using fo:leader with leader-pattern="dots" in a table
  268. </fo:block>
  269. <!-- table start -->
  270. <fo:table table-layout="fixed" width="100%" border-collapse="separate">
  271. <fo:table-column column-width="20mm"/>
  272. <fo:table-column column-width="60mm"/>
  273. <fo:table-column column-width="50mm"/>
  274. <fo:table-body>
  275. <fo:table-row>
  276. <fo:table-cell ><fo:block>Entry 1</fo:block></fo:table-cell>
  277. <fo:table-cell >
  278. <fo:block text-align="start">
  279. <fo:leader leader-pattern="dots"
  280. leader-pattern-width="8pt"
  281. leader-length="6cm"/>
  282. </fo:block>
  283. </fo:table-cell>
  284. <fo:table-cell ><fo:block>p. 12</fo:block></fo:table-cell>
  285. </fo:table-row>
  286. <fo:table-row>
  287. <fo:table-cell ><fo:block>Entry 2 </fo:block></fo:table-cell>
  288. <fo:table-cell >
  289. <fo:block text-align="start">
  290. <fo:leader leader-pattern="dots"
  291. leader-pattern-width="8pt"
  292. leader-length="6cm"/>
  293. </fo:block>
  294. </fo:table-cell>
  295. <fo:table-cell ><fo:block>p. 24</fo:block></fo:table-cell>
  296. </fo:table-row>
  297. <fo:table-row>
  298. <fo:table-cell ><fo:block>Entry 3 </fo:block></fo:table-cell>
  299. <fo:table-cell >
  300. <fo:block text-align="start">
  301. <fo:leader leader-pattern="dots"
  302. leader-pattern-width="8pt"
  303. leader-length="6cm"/>
  304. </fo:block>
  305. </fo:table-cell>
  306. <fo:table-cell ><fo:block>p. 36</fo:block></fo:table-cell>
  307. </fo:table-row>
  308. </fo:table-body>
  309. </fo:table>
  310. <!-- table end -->
  311. <fo:block text-align="center"
  312. font-size="15pt"
  313. space-before.optimum="16pt"
  314. space-after.optimum="12pt">
  315. Table of Content
  316. </fo:block>
  317. <fo:block text-align="start"
  318. font-size="10pt"
  319. space-after.optimum="12pt">
  320. shows the use of leader properties in combination to build a table of content.
  321. Following values are used for the leader:
  322. leader-pattern="dots"
  323. leader-pattern-width="8pt"
  324. leader-alignment="reference-area"
  325. no leader-length is specified, so the default values are used (min: 0, opt: 12pt, max: 100%)
  326. </fo:block>
  327. <!-- Here starts the table -->
  328. <fo:table table-layout="fixed" width="100%" border-collapse="separate">
  329. <fo:table-column column-width="1cm"/>
  330. <fo:table-column column-width="14.2cm"/>
  331. <fo:table-column column-width="0.3cm"/>
  332. <fo:table-body font-size="12pt" font-family="sans-serif">
  333. <fo:table-row line-height="12pt">
  334. <fo:table-cell><fo:block text-align="end">A) </fo:block></fo:table-cell>
  335. <fo:table-cell><fo:block text-align="start" text-align-last="justify">This is some longer sample text<fo:leader leader-pattern="dots"
  336. leader-pattern-width="8pt"
  337. leader-alignment="reference-area"
  338. /></fo:block></fo:table-cell>
  339. <fo:table-cell><fo:block text-align="end">1</fo:block></fo:table-cell>
  340. </fo:table-row>
  341. <fo:table-row line-height="12pt">
  342. <fo:table-cell><fo:block text-align="end">B) </fo:block></fo:table-cell>
  343. <fo:table-cell><fo:block text-align="start" text-align-last="justify">Some text<fo:leader leader-pattern="dots"
  344. leader-pattern-width="8pt"
  345. leader-alignment="reference-area"
  346. /></fo:block></fo:table-cell>
  347. <fo:table-cell><fo:block text-align="end">2</fo:block></fo:table-cell>
  348. </fo:table-row>
  349. <fo:table-row line-height="12pt">
  350. <fo:table-cell><fo:block text-align="end" >C) </fo:block></fo:table-cell>
  351. <fo:table-cell><fo:block text-align="start" text-align-last="justify">Text<fo:leader leader-pattern="dots"
  352. leader-pattern-width="8pt"
  353. leader-alignment="reference-area"
  354. /></fo:block></fo:table-cell>
  355. <fo:table-cell><fo:block text-align="end">3</fo:block></fo:table-cell>
  356. </fo:table-row>
  357. <fo:table-row line-height="12pt">
  358. <fo:table-cell><fo:block text-align="end">D) </fo:block></fo:table-cell>
  359. <fo:table-cell><fo:block text-align="start" text-align-last="justify">This text is even longer than the first entry <fo:leader leader-pattern="dots"
  360. leader-pattern-width="8pt"
  361. leader-alignment="reference-area"
  362. /></fo:block></fo:table-cell>
  363. <fo:table-cell><fo:block text-align="end">4</fo:block></fo:table-cell>
  364. </fo:table-row>
  365. <fo:table-row line-height="12pt">
  366. <fo:table-cell><fo:block text-align="end">E) </fo:block></fo:table-cell>
  367. <fo:table-cell><fo:block text-align="start" text-align-last="justify">Shorter text example<fo:leader leader-pattern="dots"
  368. leader-pattern-width="8pt"
  369. leader-alignment="reference-area"
  370. /></fo:block></fo:table-cell>
  371. <fo:table-cell><fo:block text-align="end">5</fo:block></fo:table-cell>
  372. </fo:table-row>
  373. </fo:table-body>
  374. </fo:table>
  375. <fo:block font-size="14pt"
  376. font-family="sans-serif"
  377. line-height="17pt"
  378. space-before.optimum="15pt"
  379. space-after.optimum="3pt"
  380. text-align="start"
  381. background-color="blue"
  382. color="white"
  383. >
  384. Leader with leader-pattern="rule"
  385. </fo:block>
  386. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  387. to wrap it into a block element -->
  388. <fo:block text-align="start">text before the rule (start)
  389. <fo:leader leader-pattern="rule"
  390. rule-thickness="3.0pt"
  391. leader-length="6cm"
  392. space-before.optimum="12pt"
  393. space-after.optimum="12pt"
  394. start-indent="1.5cm"
  395. end-indent="2cm"
  396. background-color="blue"
  397. color="yellow"/>
  398. text after the rule
  399. </fo:block>
  400. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  401. to wrap it into a block element -->
  402. <fo:block text-align="center">text before the rule (center)
  403. <fo:leader leader-pattern="rule"
  404. rule-thickness="3.0pt"
  405. leader-length="6cm"
  406. space-before.optimum="12pt"
  407. space-after.optimum="12pt"
  408. start-indent="1.5cm"
  409. end-indent="2cm"
  410. background-color="blue"
  411. color="yellow"/>
  412. text after the rule
  413. </fo:block>
  414. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  415. to wrap it into a block element -->
  416. <fo:block text-align="end">text before the rule (end)
  417. <fo:leader leader-pattern="rule"
  418. rule-thickness="3.0pt"
  419. leader-length="6cm"
  420. space-before.optimum="12pt"
  421. space-after.optimum="12pt"
  422. start-indent="1.5cm"
  423. end-indent="2cm"
  424. background-color="blue"
  425. color="yellow"/>
  426. text after the rule
  427. </fo:block>
  428. <fo:block font-size="12pt"
  429. font-family="sans-serif"
  430. line-height="15pt"
  431. space-before.optimum="5pt"
  432. space-after.optimum="3pt"
  433. text-align="start">
  434. Here are some fo:leader with the property rule and different rule styles
  435. (solid, dashed, dotted, double, groove, ridge the last one with colored backgrounds
  436. to the effect)
  437. </fo:block>
  438. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  439. to wrap it into a block element -->
  440. <fo:block text-align="center"
  441. space-before.optimum="12pt"
  442. space-after.optimum="12pt">
  443. <fo:leader leader-pattern="rule"
  444. rule-thickness="1pt"
  445. leader-length="6cm"/>
  446. </fo:block>
  447. <fo:block text-align="center"
  448. space-before.optimum="12pt"
  449. space-after.optimum="12pt">
  450. <fo:leader leader-pattern="rule"
  451. leader-length="6cm"
  452. rule-thickness="1pt"
  453. rule-style="dashed"/>
  454. </fo:block>
  455. <fo:block text-align="center"
  456. space-before.optimum="12pt"
  457. space-after.optimum="12pt">
  458. <fo:leader leader-pattern="rule"
  459. leader-length="6cm"
  460. rule-style="dotted"
  461. rule-thickness="1pt"/>
  462. </fo:block>
  463. <fo:block text-align="center"
  464. space-before.optimum="12pt"
  465. space-after.optimum="12pt">
  466. <fo:leader leader-pattern="rule"
  467. leader-length="6cm"
  468. rule-thickness="2pt"
  469. rule-style="double"/>
  470. </fo:block>
  471. <fo:block text-align="center" background-color="silver"
  472. space-before.optimum="12pt"
  473. space-after.optimum="12pt">
  474. <fo:leader leader-pattern="rule"
  475. leader-length="6cm"
  476. rule-thickness="1pt"
  477. rule-style="groove"
  478. color="black" />
  479. </fo:block>
  480. <fo:block text-align="center" background-color="silver"
  481. space-before.optimum="12pt"
  482. space-after.optimum="12pt">
  483. <fo:leader leader-pattern="rule"
  484. leader-length="6cm"
  485. rule-thickness="1pt"
  486. rule-style="ridge"
  487. color="black" />
  488. </fo:block>
  489. <!-- Normal text -->
  490. <fo:block font-size="12pt"
  491. font-family="sans-serif"
  492. line-height="15pt"
  493. space-before.optimum="5pt"
  494. space-after.optimum="3pt"
  495. text-align="start">
  496. Here are 4 fo:leader with increasing rule-thickness (1pt, 2pt, 3pt, 4pt)
  497. </fo:block>
  498. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  499. to wrap it into a block element -->
  500. <fo:block text-align="center"
  501. space-before.optimum="12pt"
  502. space-after.optimum="12pt">
  503. <fo:leader leader-pattern="rule"
  504. rule-thickness="1.0pt"
  505. leader-length="6cm"/>
  506. </fo:block>
  507. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  508. to wrap it into a block element -->
  509. <fo:block text-align="center"
  510. space-before.optimum="12pt"
  511. space-after.optimum="12pt">
  512. <fo:leader leader-pattern="rule"
  513. rule-thickness="2.0pt"
  514. leader-length="6cm"/>
  515. </fo:block>
  516. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  517. to wrap it into a block element -->
  518. <fo:block text-align="center"
  519. space-before.optimum="12pt"
  520. space-after.optimum="12pt">
  521. <fo:leader leader-pattern="rule"
  522. rule-thickness="3.0pt"
  523. leader-length="6cm"/>
  524. </fo:block>
  525. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  526. to wrap it into a block element -->
  527. <fo:block text-align="center"
  528. space-before.optimum="12pt"
  529. space-after.optimum="12pt">
  530. <fo:leader leader-pattern="rule"
  531. rule-thickness="4.0pt"
  532. leader-length="6cm"/>
  533. </fo:block>
  534. <!-- Normal text -->
  535. <fo:block font-size="12pt"
  536. font-family="sans-serif"
  537. line-height="15pt"
  538. space-before.optimum="5pt"
  539. space-after.optimum="3pt"
  540. text-align="start">
  541. Here are 4 fo:leader with increasing rule-thickness (1pt, 2pt, 3pt, 4pt) and leader-length: 25%, 50%, 75%, 100%
  542. </fo:block>
  543. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  544. to wrap it into a block element -->
  545. <fo:block text-align="center"
  546. space-before.optimum="12pt"
  547. space-after.optimum="12pt">
  548. <fo:leader leader-pattern="rule"
  549. rule-thickness="1.0pt"
  550. leader-length="25%"/>
  551. </fo:block>
  552. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  553. to wrap it into a block element -->
  554. <fo:block text-align="center"
  555. space-before.optimum="12pt"
  556. space-after.optimum="12pt">
  557. <fo:leader leader-pattern="rule"
  558. rule-thickness="2.0pt"
  559. leader-length="50%"/>
  560. </fo:block>
  561. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  562. to wrap it into a block element -->
  563. <fo:block text-align="center"
  564. space-before.optimum="12pt"
  565. space-after.optimum="12pt">
  566. <fo:leader leader-pattern="rule"
  567. rule-thickness="3.0pt"
  568. leader-length="75%"/>
  569. </fo:block>
  570. <!-- Inserts a leader (rule). Because leader is an inline fo you have
  571. to wrap it into a block element -->
  572. <fo:block text-align="center"
  573. space-before.optimum="12pt"
  574. space-after.optimum="12pt">
  575. <fo:leader leader-pattern="rule"
  576. rule-thickness="4.0pt"
  577. leader-length="100%"/>
  578. </fo:block>
  579. <fo:block text-align="center"
  580. font-size="15pt"
  581. space-before.optimum="16pt"
  582. space-after.optimum="12pt">
  583. Using leader in combination with justified text
  584. </fo:block>
  585. <fo:block text-align="justify">Here is some longer text. Here is some longer text.
  586. Here is some longer text. Here comes the leader (dots width 8pt):
  587. <fo:leader leader-pattern="dots"
  588. leader-pattern-width="8pt"
  589. leader-length="5cm"/>Here is some longer text. Here is some longer text.
  590. Here is some longer text. Here is some longer text. Here is some longer text.
  591. </fo:block>
  592. <fo:block text-align="justify">Here is some longer text. Here is some longer text.
  593. Here is some longer text. Here comes the leader (dots width 5pt):
  594. <fo:leader leader-pattern="dots"
  595. leader-pattern-width="5pt"
  596. leader-length="5cm"/>Here is some longer text. Here is some longer text.
  597. Here is some longer text. Here is some longer text. Here is some longer text.
  598. </fo:block>
  599. <fo:block text-align="justify">Here is some longer text. Here is some longer text.
  600. Here is some longer text. Here comes the leader (dots):
  601. <fo:leader leader-pattern="dots"
  602. leader-length="5cm"/>Here is some longer text. Here is some longer text.
  603. Here is some longer text. Here is some longer text. Here is some longer text.
  604. </fo:block>
  605. <fo:block text-align="justify">Here is some longer text. Here is some longer text.
  606. Here is some longer text. Here comes the leader (rule):
  607. <fo:leader leader-pattern="rule"
  608. leader-length="5cm"/>Here is some longer text. Here is some longer text.
  609. Here is some longer text. Here is some longer text. Here is some longer text.
  610. </fo:block>
  611. <fo:block text-align="justify">Here is some longer text. Here is some longer text.
  612. Here is some longer text. Here comes the leader (space):
  613. <fo:leader leader-pattern="space"
  614. leader-length="5cm"/>Here is some longer text. Here is some longer text.
  615. Here is some longer text. Here is some longer text. Here is some longer text.
  616. </fo:block>
  617. <fo:block space-before.optimum="15pt" font-weight="bold" font-size="14pt">
  618. Use-Content
  619. </fo:block>
  620. <fo:block space-before.optimum="8pt" font-size="12pt">
  621. The following examples show Leader with "use-content".
  622. The inline areas from the context of the leader are
  623. repeated until the length of the leader. The
  624. "leader-pattern-width" can be used to set the width
  625. of each repeated pattern element. <fo:inline font-style="italic">
  626. If this width is less than the inline areas then the width
  627. of the inline areas is used.</fo:inline>
  628. </fo:block>
  629. <fo:block space-before.optimum="5pt" text-align="start">Characters:
  630. <fo:leader leader-pattern="use-content">abcd</fo:leader>End
  631. </fo:block>
  632. <fo:block space-before.optimum="5pt" text-align="start">Set width:
  633. <fo:leader leader-pattern="use-content"
  634. leader-pattern-width="50pt">abcd</fo:leader>End
  635. </fo:block>
  636. <fo:block space-before.optimum="5pt" text-align="start">Small Width:
  637. <fo:leader leader-pattern="use-content"
  638. leader-pattern-width="2pt">abcd</fo:leader>End
  639. </fo:block>
  640. <fo:block space-before.optimum="5pt" text-align="start">SVG:
  641. <fo:leader leader-pattern="use-content">
  642. <fo:instream-foreign-object>
  643. <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
  644. <rect x="0" y="0" width="5" height="5" style="fill:red"/>
  645. <rect x="5" y="5" width="5" height="5" style="fill:black"/>
  646. </svg>
  647. </fo:instream-foreign-object>
  648. </fo:leader>End
  649. </fo:block>
  650. <fo:block space-before.optimum="5pt" text-align="start">Mixed:
  651. <fo:leader leader-pattern="use-content">
  652. abc
  653. <fo:instream-foreign-object>
  654. <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
  655. <rect x="0" y="0" width="5" height="5" style="fill:red"/>
  656. <rect x="5" y="5" width="5" height="5" style="fill:black"/>
  657. </svg>
  658. </fo:instream-foreign-object>
  659. </fo:leader>End
  660. </fo:block>
  661. <fo:block space-before.optimum="5pt" text-align="start">Mixed:
  662. <fo:leader leader-pattern="use-content">
  663. abc
  664. <fo:instream-foreign-object>
  665. <svg xmlns="http://www.w3.org/2000/svg" width="10" height="10">
  666. <rect x="0" y="0" width="5" height="5" style="fill:red"/>
  667. <rect x="5" y="5" width="5" height="5" style="fill:black"/>
  668. </svg>
  669. </fo:instream-foreign-object>
  670. def
  671. </fo:leader>End
  672. </fo:block>
  673. </fo:flow>
  674. </fo:page-sequence>
  675. </fo:root>