Re: Is there a decent way of using different PDF fonts for different parts of a Forrest site?

2012-02-01 Thread Karl Wright
FWIW, the $path has just what I hoped in it and works well.

Thanks!
Karl

On Tue, Jan 31, 2012 at 9:23 PM, Karl Wright daddy...@gmail.com wrote:
 Then, inside your own document-to-fo.xsl you should have access
 to a path parameter.  You may add an additional condition to the
 font of interest (e.g. rootFontFamily) that uses XSL string functions
 against your $path parameter.


 I've set things up so that my document path includes the language code
 (e.g. 'en_US') as the first part of the path under
 src/documentation/content/xdocs.  For example,
 src/documentation/content/xdocs/en_US/mydocument.xml would be the
 starting point.  The question is what the $path variable will contain
 - if it's just en_US/mydocument.xml my job is easy.  If it could be
 en_US\mydocument.xml on Windows and en_US/mydocument.xml on Unix
 it's a bit harder.   But if it is the absolute path xsl expressions
 aren't going to help me and I'd better find a better solution.

 What I'd do (and this might even make a decent general patch) is look
 for the property with the language specifier first.  For example,
 instead of looking for output.pdf.fontFamily.sansSerif first, I'd
 look for output.pdf.fontFamily.sansSerif.en_US first, and only look
 for the other if that property is not found.

 So, what can I expect to see for the $path parameter?

 Thanks again for your help!
 Karl


Re: Is there a decent way of using different PDF fonts for different parts of a Forrest site?

2012-01-31 Thread Karl Wright
Hi Hitoshi,

plugins/org.apache.forrest.plugin.output.pdf/resources/stylesheets/document-to-fo.xsl
does seem like the right place to conditionalize things, but I'm
unclear in your example where the language specifier comes from?  In
other words, I'd like the path to the current file to determine the
language, not the system settings.  Do you (or does anyone else) know
how to construct a conditional within the document-to-fo.xsl file that
would (say) base a decision for a font choice on whether a file had a
name that matched a particular regular expression?  That's the kind of
logic I'm looking for here.

Thanks,
Karl


On Thu, Jan 26, 2012 at 11:01 PM, Hitoshi Ozawa
ozawa_hito...@ogis-ri.co.jp wrote:
 Hi Karl,

 It's really not just about the font. document-to-fo.xsl, language=ja
 attribute should be added to the
 fo:root element when generating Japanese pdf files.

 So, to put it all together, document-to-fo.xsl should be modified to contain
 a when block to check lang and output
 an appropriate font and language.

 xsl:choose
 xsl:when test='lang(ja)'IPAPGothic/xsl:when
 xsl:otherwiseserif/xsl:otherwise
 /xsl:choose

 The question is if there is a more general way to do this than editing the
 xsl file.

 H.Ozawa


 (2012/01/27 11:38), Karl Wright wrote:

 Hello,

 I have a site which has different languages in the same site.  This
 works OK except when it comes to PDF generation.  There seems to be no
 font choice that covers all languages; I need Dejavu for latin
 languages, and IPA for Japanese.  The problem is that I can't figure
 out how to configure Forrest to use one set of fonts for part of the
 site and a different set for another, for PDF generation.  Is this
 even possible?

 Thanks,
 Karl







Re: Is there a decent way of using different PDF fonts for different parts of a Forrest site?

2012-01-31 Thread Karl Wright
On Tue, Jan 31, 2012 at 8:04 AM, Tim Williams william...@gmail.com wrote:
 On Tue, Jan 31, 2012 at 3:16 AM, Karl Wright daddy...@gmail.com wrote:
 Hi Hitoshi,

 plugins/org.apache.forrest.plugin.output.pdf/resources/stylesheets/document-to-fo.xsl
 does seem like the right place to conditionalize things, but I'm
 unclear in your example where the language specifier comes from?  In
 other words, I'd like the path to the current file to determine the
 language, not the system settings.  Do you (or does anyone else) know
 how to construct a conditional within the document-to-fo.xsl file that
 would (say) base a decision for a font choice on whether a file had a
 name that matched a particular regular expression?  That's the kind of
 logic I'm looking for here.

 Hi Karl,
 Know?  Unfortunately not - this is a guess.  Create a copy of
 document-to-fo.xsl - using the project-specific locationmap to find
 it.  Then, inside your own document-to-fo.xsl you should have access
 to a path parameter.  You may add an additional condition to the
 font of interest (e.g. rootFontFamily) that uses XSL string functions
 against your $path parameter. Unfortunately, I can't verify any of
 this until tonight.

 Thanks,
 --tim

Thanks, Tim, for the reply.  I'll experiment to see if I can use $path
in the manner I need.

Could you elaborate on where the project-specific locationmap should
be found?  Our site was created initially by someone else and doesn't
appear to have such a thing.

Karl


Re: Is there a decent way of using different PDF fonts for different parts of a Forrest site?

2012-01-31 Thread Karl Wright
 Then, inside your own document-to-fo.xsl you should have access
 to a path parameter.  You may add an additional condition to the
 font of interest (e.g. rootFontFamily) that uses XSL string functions
 against your $path parameter.


I've set things up so that my document path includes the language code
(e.g. 'en_US') as the first part of the path under
src/documentation/content/xdocs.  For example,
src/documentation/content/xdocs/en_US/mydocument.xml would be the
starting point.  The question is what the $path variable will contain
- if it's just en_US/mydocument.xml my job is easy.  If it could be
en_US\mydocument.xml on Windows and en_US/mydocument.xml on Unix
it's a bit harder.   But if it is the absolute path xsl expressions
aren't going to help me and I'd better find a better solution.

What I'd do (and this might even make a decent general patch) is look
for the property with the language specifier first.  For example,
instead of looking for output.pdf.fontFamily.sansSerif first, I'd
look for output.pdf.fontFamily.sansSerif.en_US first, and only look
for the other if that property is not found.

So, what can I expect to see for the $path parameter?

Thanks again for your help!
Karl


Re: Is there a decent way of using different PDF fonts for different parts of a Forrest site?

2012-01-29 Thread Karl Wright
There are so many problems here that I now think the only way to
actually get this to work is to make a copy of Forrest via ant and
modify the Forrest files, also via ant.  I've set this up for the
ManifoldCF site build now and we should be able to work our way
through it a problem at a time, until we get it to work.

Karl

On Thu, Jan 26, 2012 at 11:01 PM, Hitoshi Ozawa
ozawa_hito...@ogis-ri.co.jp wrote:
 Hi Karl,

 It's really not just about the font. document-to-fo.xsl, language=ja
 attribute should be added to the
 fo:root element when generating Japanese pdf files.

 So, to put it all together, document-to-fo.xsl should be modified to contain
 a when block to check lang and output
 an appropriate font and language.

 xsl:choose
 xsl:when test='lang(ja)'IPAPGothic/xsl:when
 xsl:otherwiseserif/xsl:otherwise
 /xsl:choose

 The question is if there is a more general way to do this than editing the
 xsl file.

 H.Ozawa


 (2012/01/27 11:38), Karl Wright wrote:

 Hello,

 I have a site which has different languages in the same site.  This
 works OK except when it comes to PDF generation.  There seems to be no
 font choice that covers all languages; I need Dejavu for latin
 languages, and IPA for Japanese.  The problem is that I can't figure
 out how to configure Forrest to use one set of fonts for part of the
 site and a different set for another, for PDF generation.  Is this
 even possible?

 Thanks,
 Karl







Is there a decent way of using different PDF fonts for different parts of a Forrest site?

2012-01-26 Thread Karl Wright
Hello,

I have a site which has different languages in the same site.  This
works OK except when it comes to PDF generation.  There seems to be no
font choice that covers all languages; I need Dejavu for latin
languages, and IPA for Japanese.  The problem is that I can't figure
out how to configure Forrest to use one set of fonts for part of the
site and a different set for another, for PDF generation.  Is this
even possible?

Thanks,
Karl