- From: Iskren Pushkarov <iskrensp@sirma.bg>
- Date: Mon, 23 Jul 2007 10:34:41 +0300
- To: <www-xsl-fo@w3.org>
- Message-ID: <000c01c7ccfb$f19c7a10$d180a8c0@sirma.int>
Hi,
There are two types of these:
1) the character is not found at the
http://xmlgraphics.apache.org/fop/fo/fonts.fo.pdf
2) the character exists at above location
In case 1) - for example ‐ (dash)
I found that String functions at
http://developer.marklogic.com/pubs/3.2/apidocs/StringBuiltins.html
don't work with such an entities (? or maybe don't know how to process it) -
fn:contains() for example
So, here is workaround sample code:
define function ormat-symbol($title as xs:string, $symbol as xs:integer,
$new-symbol as xs:integer) as xs:string {
let $codes := fn:string-to-codepoints($title)
let $index := fn:index-of($codes, $symbol)
return
if (fn:exists($index)) then (
let $new-seq := fn:remove($codes, $index)
return
fn:codepoints-to-string(fn:insert-before($new-seq, $index,
$new-symbol))
)
else $title
}
For entity above the function call will be
format-symbol(fn:data($title), 8208, 45) 10x to CQ
and the display will be OK: beforeString-afterString, not
beforeString#afterString
BUT:
- this will not work on dynamic pdf generation, where you don't
know what's coming in
- I implemented the above functionality only for the pdf chapter
title - the issue entity is met more than 50 times
in xml content.
It will be rather an ugly approach with huge performance consequences
to process all the content with
function like above, because there are hundred of thousands (or more)
characters in single xml.
Do you have any idea for a better workaround ?
In case 2) - to display correctly the entity, the font for it must be set
explicitly, which is also an issue at
Dynamic pdf generation. you just don't know what character is coming to set
the appropriate default font.
I use fop 0.93 and the project I'm working on is not "prove of concept", but
more like commercial one - it's completely
Undesirable # symbols to appear in final pdf.
I would appreciate any comment, help, workaround on the topic.
Thanks in advance.
Received on Monday, 23 July 2007 23:29:39 UTC