You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-users@xmlgraphics.apache.org by Alexey Neyman <st...@att.net> on 2012/12/20 00:05:23 UTC

How to find out why fop needs a certain font?

Hi all,

I see the following warning message reported by FOP:

$ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener 
processEvent
WARNING: Font "Serif,normal,400" not found. Substituting with 
"any,normal,400".
...

However, apiguide.fo does not contain any references to 'serif' font:

$ grep -i serif apiguide.fo
$

Why does FOP need 'Serif' font? Is there some built-in expectation that 
'Serif' font must be always available?

Regards,
Alexey.

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Stefan Hinz <st...@oracle.com>.
Thanks, Pascal!

Cheers,

Stefan

On 20.12.2012 10:35, Pascal Sancho wrote:
> Hi,
>
> simply using the font-family attribute on the fo:root element.
>
> Note that all inherited properties can be set on fo:root element, so
> you can set your own default properties there, including font-family.
>
> 2012/12/20 Stefan Hinz <st...@oracle.com>:
>> Hi Bernardo,
>>
>> That's good advice, thanks! How would you specify a global font family in
>> the FO root element, though?
>>
>> Cheers,
>>
>> Stefan
>>
>>
>>
>> On 20.12.2012 01:45, Luis Bernardo wrote:
>>>
>>>
>>> This is of no consequence although is it puzzling at first. If you
>>> specify a global font-family in the fo root element I think the warning
>>> goes away. I think what you are seeing has been discussed here:
>>>
>>> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-found-whereas-they-are-not-needed-td31330.html
>>>
>>>
>>> On 12/19/12 11:05 PM, Alexey Neyman wrote:
>>>>
>>>> Hi all,
>>>>
>>>> I see the following warning message reported by FOP:
>>>>
>>>> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
>>>> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
>>>> processEvent
>>>> WARNING: Font "Serif,normal,400" not found. Substituting with
>>>> "any,normal,400".
>>>> ...
>>>>
>>>> However, apiguide.fo does not contain any references to 'serif' font:
>>>>
>>>> $ grep -i serif apiguide.fo
>>>> $
>>>>
>>>> Why does FOP need 'Serif' font? Is there some built-in expectation that
>>>> 'Serif' font must be always available?
>>>>
>>>> Regards,
>>>> Alexey.
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>>
>>
>>
>> --
>> Cheers,
>>
>> Stefan Hinz <st...@oracle.com>, MySQL Documentation Manager
>>
>> Phone: +49-30-82702940, Fax: +49-30-82702941, http://dev.mysql.com/doc
>>
>> ORACLE Deutschland B.V.&  Co. KG
>> Registered Office: Riesstr. 25, 80992 Muenchen, Germany
>> Commercial Register: Local Court Of Munich, HRA 95603
>> Managing Director: Jürgen Kunz
>>
>> General Partner: ORACLE Deutschland Verwaltung B.V.
>> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
>> Register Of Chamber Of Commerce: Midden-Niederlande, No. 30143697
>> Managing Directors: Alexander van der Ven, Astrid Kepper, Val Maher
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>
>
>
>


-- 
Cheers,

Stefan Hinz <st...@oracle.com>, MySQL Documentation Manager

Phone: +49-30-82702940, Fax: +49-30-82702941, http://dev.mysql.com/doc

ORACLE Deutschland B.V.&  Co. KG
Registered Office: Riesstr. 25, 80992 Muenchen, Germany
Commercial Register: Local Court Of Munich, HRA 95603
Managing Director: Jürgen Kunz

General Partner: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Register Of Chamber Of Commerce: Midden-Niederlande, No. 30143697
Managing Directors: Alexander van der Ven, Astrid Kepper, Val Maher

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Pascal Sancho <ps...@gmail.com>.
Hi,

simply using the font-family attribute on the fo:root element.

Note that all inherited properties can be set on fo:root element, so
you can set your own default properties there, including font-family.

2012/12/20 Stefan Hinz <st...@oracle.com>:
> Hi Bernardo,
>
> That's good advice, thanks! How would you specify a global font family in
> the FO root element, though?
>
> Cheers,
>
> Stefan
>
>
>
> On 20.12.2012 01:45, Luis Bernardo wrote:
>>
>>
>> This is of no consequence although is it puzzling at first. If you
>> specify a global font-family in the fo root element I think the warning
>> goes away. I think what you are seeing has been discussed here:
>>
>> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-found-whereas-they-are-not-needed-td31330.html
>>
>>
>> On 12/19/12 11:05 PM, Alexey Neyman wrote:
>>>
>>> Hi all,
>>>
>>> I see the following warning message reported by FOP:
>>>
>>> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
>>> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
>>> processEvent
>>> WARNING: Font "Serif,normal,400" not found. Substituting with
>>> "any,normal,400".
>>> ...
>>>
>>> However, apiguide.fo does not contain any references to 'serif' font:
>>>
>>> $ grep -i serif apiguide.fo
>>> $
>>>
>>> Why does FOP need 'Serif' font? Is there some built-in expectation that
>>> 'Serif' font must be always available?
>>>
>>> Regards,
>>> Alexey.
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>
>
>
> --
> Cheers,
>
> Stefan Hinz <st...@oracle.com>, MySQL Documentation Manager
>
> Phone: +49-30-82702940, Fax: +49-30-82702941, http://dev.mysql.com/doc
>
> ORACLE Deutschland B.V.&  Co. KG
> Registered Office: Riesstr. 25, 80992 Muenchen, Germany
> Commercial Register: Local Court Of Munich, HRA 95603
> Managing Director: Jürgen Kunz
>
> General Partner: ORACLE Deutschland Verwaltung B.V.
> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
> Register Of Chamber Of Commerce: Midden-Niederlande, No. 30143697
> Managing Directors: Alexander van der Ven, Astrid Kepper, Val Maher
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>



-- 
pascal

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Stefan Hinz <st...@oracle.com>.
Hi Bernardo,

That's good advice, thanks! How would you specify a global font family 
in the FO root element, though?

Cheers,

Stefan


On 20.12.2012 01:45, Luis Bernardo wrote:
>
> This is of no consequence although is it puzzling at first. If you
> specify a global font-family in the fo root element I think the warning
> goes away. I think what you are seeing has been discussed here:
> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-found-whereas-they-are-not-needed-td31330.html
>
>
> On 12/19/12 11:05 PM, Alexey Neyman wrote:
>> Hi all,
>>
>> I see the following warning message reported by FOP:
>>
>> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
>> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
>> processEvent
>> WARNING: Font "Serif,normal,400" not found. Substituting with
>> "any,normal,400".
>> ...
>>
>> However, apiguide.fo does not contain any references to 'serif' font:
>>
>> $ grep -i serif apiguide.fo
>> $
>>
>> Why does FOP need 'Serif' font? Is there some built-in expectation that
>> 'Serif' font must be always available?
>>
>> Regards,
>> Alexey.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>


-- 
Cheers,

Stefan Hinz <st...@oracle.com>, MySQL Documentation Manager

Phone: +49-30-82702940, Fax: +49-30-82702941, http://dev.mysql.com/doc

ORACLE Deutschland B.V.&  Co. KG
Registered Office: Riesstr. 25, 80992 Muenchen, Germany
Commercial Register: Local Court Of Munich, HRA 95603
Managing Director: Jürgen Kunz

General Partner: ORACLE Deutschland Verwaltung B.V.
Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
Register Of Chamber Of Commerce: Midden-Niederlande, No. 30143697
Managing Directors: Alexander van der Ven, Astrid Kepper, Val Maher

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Alexey Neyman <st...@att.net>.
Hi Chris,

On Friday, December 21, 2012 03:50:43 am Chris Bowditch wrote:
> Hi Alexey,
> 
> On 21/12/2012 03:07, Alexey Neyman wrote:
> > Yes, I want to understand how FOP treats the fonts in SVG (and, if you
> > know that, how fonts are selected in embedded MathML via JEuclid plugin
> > - we use that, too).
> > 
> > We've had some font discrepancies in the past depending on the fonts
> > installed on each developer's machine (in part, because some of the
> > authors are on Windows machines and some are on Linux - so they're
> > likely to have different fonts). Thus, we've decided to do away with
> > using system fonts and use only local fonts (i.e. fonts checked out from
> > the repository along with the document sources).
> 
> Understood. We have similar challenges too.
> 
> > On Thursday, December 20, 2012 03:32:04 pm Luis Bernardo wrote:
> >> With SVG, fonts are more complicated. The font used in the SVG needs to
> >> be installed in the system and needs to be configured in fop.xconf too.
> >> The warning you got usually happens when the font is in the system but
> >> not configured in fop.xconf, which looking at your example does not seem
> >> to be the case...
> > 
> > Are you saying that the font used in SVG needs to be present both as a
> > system font, even if it is listed in fop.conf? What is FOP going to use
> > then, system font or local font?
> > 
> > If it is using system font, that's more than disturbing. As I mentioned,
> > this completely prevents setting up a controlled environment with known
> > fonts.
> 
> yes that is true. Just to be clear, this is a limitation of Batik, not
> FOP. Batik uses the AWT Font system as mentioned by Mehdi and Pascal.
> Peter is researching the possibility of changing Batik so that it can
> use fonts defined in fop.xconf, but that is a long term project with no
> quick fix.

A couple more questions:

1. do you know if Batik would still use system font if there's an embedded 
font in the SVG? E.g.,

<svg>
  <defs>
    <font>
      <font-face font-family="Times New Roman" font-weight="normal"
                  font-style="normal">
        <glyph .../>
        ...
      </font-face>
    </font>
  </defs>
  <text font-family="'Times New Roman'" font-weight="normal"
        font-style="normal">Something</text>
</svg>

Will Batik use system font in this example?

2. Do you know how fonts are selected by JEuclid plugin for FOP (which handles 
MathML)? Is it also using system fonts?

Regards,
Alexey.

> 
> Thanks,
> 
> Chris
> 
> >> If you want to get to the bottom of the matter please indicate what
> >> version of fop you are using and what OS.
> > 
> > FOP 1.1, Linux (RedHat Enterprise, 6.2).
> > 
> >> Also, the use of metrics-url
> >> is not needed anymore (and is not recommended) so you can remove that.
> > 
> > I tried, it didn't have any effect on the warning.
> > 
> >> I see you refer to the font file TimesNewRoman.ttf without specifying a
> >> font-base path (which only works if you have the file in the same
> >> directory you have your *.fo file).
> > 
> > I made it so for this reduced test case. Originally, it was embed-
> > url="../fonts/TimesNewRoman.ttf" - as I mentioned above, we want to have
> > a controlled font environment.
> > 
> >> Is that font file an exact copy of
> >> the installed font in the system of the same name?
> > 
> > The machine does not have a 'Times New Roman' system font (it's a Linux
> > machine, it comes with a different set of system fonts by default).
> > 
> > But why would FOP need a system font if it has the required font
> > specified in the configuration file?
> > 
> > Another question is, would embedding fonts in SVGs prevent FOP from using
> > system fonts?
> > 
> > Regards,
> > Alexey.
> > 
> >> On 12/20/12 6:44 PM, Alexey Neyman wrote:
> >>> Hi Luis,
> >>> 
> >>> No, it is not the case. In the FO I am using, fo:root has a font-family
> >>> specified, and that font family is described in the fop.cfg.
> >>> 
> >>> Actually, I traced this warning down to the watermark image specified
> >>> for the background. However, that SVG does not refer to 'Serif' font,
> >>> either. Can somebody please explain how does FOP treat the fonts in
> >>> the included SVG files?
> >>> 
> >>> I even tried to add a substitution from font-family="Serif" to font-
> >>> family="Times New Roman", it did not help either.
> >>> 
> >>> Here is the reduced FO file that exhibits the issue:
> >>> 
> >>> [[[
> >>> <?xml version="1.0"?>
> >>> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
> >>> font-family="Times New Roman">
> >>> 
> >>>     <fo:layout-master-set>
> >>>     
> >>>       <fo:simple-page-master master-name="draft">
> >>>       
> >>>         <fo:region-body background-image="url(draft.svg)"/>
> >>>       
> >>>       </fo:simple-page-master>
> >>>     
> >>>     </fo:layout-master-set>
> >>>     <fo:page-sequence master-reference="draft">
> >>>     
> >>>       <fo:flow flow-name="xsl-region-body">
> >>>       
> >>>         <fo:block/>
> >>>       
> >>>       </fo:flow>
> >>>     
> >>>     </fo:page-sequence>
> >>> 
> >>> </fo:root>
> >>> ]]]
> >>> 
> >>> And here is the draft.svg:
> >>> 
> >>> [[[
> >>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> >>> <svg xmlns="http://www.w3.org/2000/svg" viewBox="80 80 600 600"
> >>> 
> >>>       version="1.1" width="5in" height="5in">
> >>>     
> >>>     <text font-weight="normal" xml:space="preserve"
> >>>     
> >>>       transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,
> >>>       0)" font-size="250px" y="640" x="-315" font-family="'Times New
> >>>       Roman'" fill="#f2f2f2">Draft</text>
> >>> 
> >>> </svg>
> >>> ]]]
> >>> 
> >>> And fop.cfg:
> >>> 
> >>> [[[
> >>> <?xml version="1.0"?>
> >>> <fop version="1.0">
> >>> 
> >>>     <renderers>
> >>>     
> >>>       <renderer mime="application/pdf">
> >>>       
> >>>         <fonts>
> >>>         
> >>>           <font kerning="yes" metrics-url="TimesNewRoman.metric" embed-
> >>> 
> >>> url="TimesNewRoman.ttf">
> >>> 
> >>>             <font-triplet name="Times New Roman" weight="normal"
> >>> 
> >>> style="normal"/>
> >>> 
> >>>           </font>
> >>>         
> >>>         </fonts>
> >>>       
> >>>       </renderer>
> >>>     
> >>>     </renderers>
> >>> 
> >>> </fop>
> >>> ]]]
> >>> 
> >>> Regards,
> >>> Alexey.
> >>> 
> >>> On Wednesday, December 19, 2012 04:45:31 pm Luis Bernardo wrote:
> >>>> This is of no consequence although is it puzzling at first. If you
> >>>> specify a global font-family in the fo root element I think the
> >>>> warning goes away. I think what you are seeing has been discussed
> >>>> here:
> >>>> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-f
> >>>> oun d-w hereas-they-are-not-needed-td31330.html
> >>>> 
> >>>> On 12/19/12 11:05 PM, Alexey Neyman wrote:
> >>>>> Hi all,
> >>>>> 
> >>>>> I see the following warning message reported by FOP:
> >>>>> 
> >>>>> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
> >>>>> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
> >>>>> processEvent
> >>>>> WARNING: Font "Serif,normal,400" not found. Substituting with
> >>>>> "any,normal,400".
> >>>>> ...
> >>>>> 
> >>>>> However, apiguide.fo does not contain any references to 'serif' font:
> >>>>> 
> >>>>> $ grep -i serif apiguide.fo
> >>>>> $
> >>>>> 
> >>>>> Why does FOP need 'Serif' font? Is there some built-in expectation
> >>>>> that 'Serif' font must be always available?
> >>>>> 
> >>>>> Regards,
> >>>>> Alexey.
> >>>>> 
> >>>>> ---------------------------------------------------------------------
> >>>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> >>>>> For additional commands, e-mail:
> >>>>> fop-users-help@xmlgraphics.apache.org
> >>>> 
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> >>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> > For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Mehdi Houshmand <me...@gmail.com>.
SVG fonts call the AWT font subsystem, which means that they use system
fonts. Fixing that is an arduous and very time intensive task.

If you want to see what fonts are available to Batik, the SVG renderer you
just need to list the fonts available to AWT. There are plently of emails
on this subject in the archives if you want to learn more.

If you've still got questions, feel free to ask

Mehdi
On Dec 21, 2012 3:07 AM, "Alexey Neyman" <st...@att.net> wrote:

> Yes, I want to understand how FOP treats the fonts in SVG (and, if you know
> that, how fonts are selected in embedded MathML via JEuclid plugin - we use
> that, too).
>
> We've had some font discrepancies in the past depending on the fonts
> installed
> on each developer's machine (in part, because some of the authors are on
> Windows machines and some are on Linux - so they're likely to have
> different
> fonts). Thus, we've decided to do away with using system fonts and use only
> local fonts (i.e. fonts checked out from the repository along with the
> document sources).
>
> On Thursday, December 20, 2012 03:32:04 pm Luis Bernardo wrote:
> > With SVG, fonts are more complicated. The font used in the SVG needs to
> > be installed in the system and needs to be configured in fop.xconf too.
> > The warning you got usually happens when the font is in the system but
> > not configured in fop.xconf, which looking at your example does not seem
> > to be the case...
>
> Are you saying that the font used in SVG needs to be present both as a
> system
> font, even if it is listed in fop.conf? What is FOP going to use then,
> system
> font or local font?
>
> If it is using system font, that's more than disturbing. As I mentioned,
> this
> completely prevents setting up a controlled environment with known fonts.
>
> > If you want to get to the bottom of the matter please indicate what
> > version of fop you are using and what OS.
>
> FOP 1.1, Linux (RedHat Enterprise, 6.2).
>
> > Also, the use of metrics-url
> > is not needed anymore (and is not recommended) so you can remove that.
>
> I tried, it didn't have any effect on the warning.
>
> > I see you refer to the font file TimesNewRoman.ttf without specifying a
> > font-base path (which only works if you have the file in the same
> > directory you have your *.fo file).
>
> I made it so for this reduced test case. Originally, it was embed-
> url="../fonts/TimesNewRoman.ttf" - as I mentioned above, we want to have a
> controlled font environment.
>
> > Is that font file an exact copy of
> > the installed font in the system of the same name?
>
> The machine does not have a 'Times New Roman' system font (it's a Linux
> machine, it comes with a different set of system fonts by default).
>
> But why would FOP need a system font if it has the required font specified
> in
> the configuration file?
>
> Another question is, would embedding fonts in SVGs prevent FOP from using
> system fonts?
>
> Regards,
> Alexey.
>
> >
> > On 12/20/12 6:44 PM, Alexey Neyman wrote:
> > > Hi Luis,
> > >
> > > No, it is not the case. In the FO I am using, fo:root has a font-family
> > > specified, and that font family is described in the fop.cfg.
> > >
> > > Actually, I traced this warning down to the watermark image specified
> for
> > > the background. However, that SVG does not refer to 'Serif' font,
> either.
> > > Can somebody please explain how does FOP treat the fonts in the
> included
> > > SVG files?
> > >
> > > I even tried to add a substitution from font-family="Serif" to font-
> > > family="Times New Roman", it did not help either.
> > >
> > > Here is the reduced FO file that exhibits the issue:
> > >
> > > [[[
> > > <?xml version="1.0"?>
> > > <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
> font-family="Times
> > > New Roman">
> > >
> > >    <fo:layout-master-set>
> > >
> > >      <fo:simple-page-master master-name="draft">
> > >
> > >        <fo:region-body background-image="url(draft.svg)"/>
> > >
> > >      </fo:simple-page-master>
> > >
> > >    </fo:layout-master-set>
> > >    <fo:page-sequence master-reference="draft">
> > >
> > >      <fo:flow flow-name="xsl-region-body">
> > >
> > >        <fo:block/>
> > >
> > >      </fo:flow>
> > >
> > >    </fo:page-sequence>
> > >
> > > </fo:root>
> > > ]]]
> > >
> > > And here is the draft.svg:
> > >
> > > [[[
> > > <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> > > <svg xmlns="http://www.w3.org/2000/svg" viewBox="80 80 600 600"
> > >
> > >      version="1.1" width="5in" height="5in">
> > >
> > >    <text font-weight="normal" xml:space="preserve"
> > >
> > >
>  transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
> > >      font-size="250px" y="640" x="-315" font-family="'Times New Roman'"
> > >      fill="#f2f2f2">Draft</text>
> > >
> > > </svg>
> > > ]]]
> > >
> > > And fop.cfg:
> > >
> > > [[[
> > > <?xml version="1.0"?>
> > > <fop version="1.0">
> > >
> > >    <renderers>
> > >
> > >      <renderer mime="application/pdf">
> > >
> > >        <fonts>
> > >
> > >          <font kerning="yes" metrics-url="TimesNewRoman.metric" embed-
> > >
> > > url="TimesNewRoman.ttf">
> > >
> > >            <font-triplet name="Times New Roman" weight="normal"
> > >
> > > style="normal"/>
> > >
> > >          </font>
> > >
> > >        </fonts>
> > >
> > >      </renderer>
> > >
> > >    </renderers>
> > >
> > > </fop>
> > > ]]]
> > >
> > > Regards,
> > > Alexey.
> > >
> > > On Wednesday, December 19, 2012 04:45:31 pm Luis Bernardo wrote:
> > >> This is of no consequence although is it puzzling at first. If you
> > >> specify a global font-family in the fo root element I think the
> warning
> > >> goes away. I think what you are seeing has been discussed here:
> > >>
> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-foun
> > >> d-w hereas-they-are-not-needed-td31330.html
> > >>
> > >> On 12/19/12 11:05 PM, Alexey Neyman wrote:
> > >>> Hi all,
> > >>>
> > >>> I see the following warning message reported by FOP:
> > >>>
> > >>> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
> > >>> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
> > >>> processEvent
> > >>> WARNING: Font "Serif,normal,400" not found. Substituting with
> > >>> "any,normal,400".
> > >>> ...
> > >>>
> > >>> However, apiguide.fo does not contain any references to 'serif'
> font:
> > >>>
> > >>> $ grep -i serif apiguide.fo
> > >>> $
> > >>>
> > >>> Why does FOP need 'Serif' font? Is there some built-in expectation
> that
> > >>> 'Serif' font must be always available?
> > >>>
> > >>> Regards,
> > >>> Alexey.
> > >>>
> > >>> ---------------------------------------------------------------------
> > >>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> > >>> For additional commands, e-mail:
> fop-users-help@xmlgraphics.apache.org
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> > >> For additional commands, e-mail:
> fop-users-help@xmlgraphics.apache.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>
>

Re: How to find out why fop needs a certain font?

Posted by Pascal Sancho <ps...@gmail.com>.
Hi,

Yes:
FOP uses BATIK to render SVG, witch uses system fonts to render SVG text.
And
FOP uses fop.xconf to embed fonts in PDF.

So you need to declare fonts for SVG in both system and FOP config.

2012/12/21 Alexey Neyman <st...@att.net>:
> Are you saying that the font used in SVG needs to be present both as a system
> font, even if it is listed in fop.conf? What is FOP going to use then, system
> font or local font?

-- 
pascal

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Chris Bowditch <bo...@hotmail.com>.
Hi Alexey,

On 21/12/2012 03:07, Alexey Neyman wrote:
> Yes, I want to understand how FOP treats the fonts in SVG (and, if you know
> that, how fonts are selected in embedded MathML via JEuclid plugin - we use
> that, too).
>
> We've had some font discrepancies in the past depending on the fonts installed
> on each developer's machine (in part, because some of the authors are on
> Windows machines and some are on Linux - so they're likely to have different
> fonts). Thus, we've decided to do away with using system fonts and use only
> local fonts (i.e. fonts checked out from the repository along with the
> document sources).

Understood. We have similar challenges too.

>
> On Thursday, December 20, 2012 03:32:04 pm Luis Bernardo wrote:
>> With SVG, fonts are more complicated. The font used in the SVG needs to
>> be installed in the system and needs to be configured in fop.xconf too.
>> The warning you got usually happens when the font is in the system but
>> not configured in fop.xconf, which looking at your example does not seem
>> to be the case...
> Are you saying that the font used in SVG needs to be present both as a system
> font, even if it is listed in fop.conf? What is FOP going to use then, system
> font or local font?
>
> If it is using system font, that's more than disturbing. As I mentioned, this
> completely prevents setting up a controlled environment with known fonts.

yes that is true. Just to be clear, this is a limitation of Batik, not 
FOP. Batik uses the AWT Font system as mentioned by Mehdi and Pascal. 
Peter is researching the possibility of changing Batik so that it can 
use fonts defined in fop.xconf, but that is a long term project with no 
quick fix.

Thanks,

Chris

>
>> If you want to get to the bottom of the matter please indicate what
>> version of fop you are using and what OS.
> FOP 1.1, Linux (RedHat Enterprise, 6.2).
>
>> Also, the use of metrics-url
>> is not needed anymore (and is not recommended) so you can remove that.
> I tried, it didn't have any effect on the warning.
>
>> I see you refer to the font file TimesNewRoman.ttf without specifying a
>> font-base path (which only works if you have the file in the same
>> directory you have your *.fo file).
> I made it so for this reduced test case. Originally, it was embed-
> url="../fonts/TimesNewRoman.ttf" - as I mentioned above, we want to have a
> controlled font environment.
>
>> Is that font file an exact copy of
>> the installed font in the system of the same name?
> The machine does not have a 'Times New Roman' system font (it's a Linux
> machine, it comes with a different set of system fonts by default).
>
> But why would FOP need a system font if it has the required font specified in
> the configuration file?
>
> Another question is, would embedding fonts in SVGs prevent FOP from using
> system fonts?
>
> Regards,
> Alexey.
>
>> On 12/20/12 6:44 PM, Alexey Neyman wrote:
>>> Hi Luis,
>>>
>>> No, it is not the case. In the FO I am using, fo:root has a font-family
>>> specified, and that font family is described in the fop.cfg.
>>>
>>> Actually, I traced this warning down to the watermark image specified for
>>> the background. However, that SVG does not refer to 'Serif' font, either.
>>> Can somebody please explain how does FOP treat the fonts in the included
>>> SVG files?
>>>
>>> I even tried to add a substitution from font-family="Serif" to font-
>>> family="Times New Roman", it did not help either.
>>>
>>> Here is the reduced FO file that exhibits the issue:
>>>
>>> [[[
>>> <?xml version="1.0"?>
>>> <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Times
>>> New Roman">
>>>
>>>     <fo:layout-master-set>
>>>     
>>>       <fo:simple-page-master master-name="draft">
>>>       
>>>         <fo:region-body background-image="url(draft.svg)"/>
>>>       
>>>       </fo:simple-page-master>
>>>     
>>>     </fo:layout-master-set>
>>>     <fo:page-sequence master-reference="draft">
>>>     
>>>       <fo:flow flow-name="xsl-region-body">
>>>       
>>>         <fo:block/>
>>>       
>>>       </fo:flow>
>>>     
>>>     </fo:page-sequence>
>>>
>>> </fo:root>
>>> ]]]
>>>
>>> And here is the draft.svg:
>>>
>>> [[[
>>> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
>>> <svg xmlns="http://www.w3.org/2000/svg" viewBox="80 80 600 600"
>>>
>>>       version="1.1" width="5in" height="5in">
>>>     
>>>     <text font-weight="normal" xml:space="preserve"
>>>     
>>>       transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
>>>       font-size="250px" y="640" x="-315" font-family="'Times New Roman'"
>>>       fill="#f2f2f2">Draft</text>
>>>
>>> </svg>
>>> ]]]
>>>
>>> And fop.cfg:
>>>
>>> [[[
>>> <?xml version="1.0"?>
>>> <fop version="1.0">
>>>
>>>     <renderers>
>>>     
>>>       <renderer mime="application/pdf">
>>>       
>>>         <fonts>
>>>         
>>>           <font kerning="yes" metrics-url="TimesNewRoman.metric" embed-
>>>
>>> url="TimesNewRoman.ttf">
>>>
>>>             <font-triplet name="Times New Roman" weight="normal"
>>>
>>> style="normal"/>
>>>
>>>           </font>
>>>         
>>>         </fonts>
>>>       
>>>       </renderer>
>>>     
>>>     </renderers>
>>>
>>> </fop>
>>> ]]]
>>>
>>> Regards,
>>> Alexey.
>>>
>>> On Wednesday, December 19, 2012 04:45:31 pm Luis Bernardo wrote:
>>>> This is of no consequence although is it puzzling at first. If you
>>>> specify a global font-family in the fo root element I think the warning
>>>> goes away. I think what you are seeing has been discussed here:
>>>> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-foun
>>>> d-w hereas-they-are-not-needed-td31330.html
>>>>
>>>> On 12/19/12 11:05 PM, Alexey Neyman wrote:
>>>>> Hi all,
>>>>>
>>>>> I see the following warning message reported by FOP:
>>>>>
>>>>> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
>>>>> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
>>>>> processEvent
>>>>> WARNING: Font "Serif,normal,400" not found. Substituting with
>>>>> "any,normal,400".
>>>>> ...
>>>>>
>>>>> However, apiguide.fo does not contain any references to 'serif' font:
>>>>>
>>>>> $ grep -i serif apiguide.fo
>>>>> $
>>>>>
>>>>> Why does FOP need 'Serif' font? Is there some built-in expectation that
>>>>> 'Serif' font must be always available?
>>>>>
>>>>> Regards,
>>>>> Alexey.
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
>>>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Alexey Neyman <st...@att.net>.
Yes, I want to understand how FOP treats the fonts in SVG (and, if you know 
that, how fonts are selected in embedded MathML via JEuclid plugin - we use 
that, too).

We've had some font discrepancies in the past depending on the fonts installed 
on each developer's machine (in part, because some of the authors are on 
Windows machines and some are on Linux - so they're likely to have different 
fonts). Thus, we've decided to do away with using system fonts and use only 
local fonts (i.e. fonts checked out from the repository along with the 
document sources).

On Thursday, December 20, 2012 03:32:04 pm Luis Bernardo wrote:
> With SVG, fonts are more complicated. The font used in the SVG needs to
> be installed in the system and needs to be configured in fop.xconf too.
> The warning you got usually happens when the font is in the system but
> not configured in fop.xconf, which looking at your example does not seem
> to be the case...

Are you saying that the font used in SVG needs to be present both as a system 
font, even if it is listed in fop.conf? What is FOP going to use then, system 
font or local font?

If it is using system font, that's more than disturbing. As I mentioned, this 
completely prevents setting up a controlled environment with known fonts.

> If you want to get to the bottom of the matter please indicate what
> version of fop you are using and what OS.

FOP 1.1, Linux (RedHat Enterprise, 6.2).

> Also, the use of metrics-url
> is not needed anymore (and is not recommended) so you can remove that.

I tried, it didn't have any effect on the warning.

> I see you refer to the font file TimesNewRoman.ttf without specifying a
> font-base path (which only works if you have the file in the same
> directory you have your *.fo file).

I made it so for this reduced test case. Originally, it was embed-
url="../fonts/TimesNewRoman.ttf" - as I mentioned above, we want to have a 
controlled font environment.

> Is that font file an exact copy of
> the installed font in the system of the same name?

The machine does not have a 'Times New Roman' system font (it's a Linux 
machine, it comes with a different set of system fonts by default).

But why would FOP need a system font if it has the required font specified in 
the configuration file?

Another question is, would embedding fonts in SVGs prevent FOP from using 
system fonts?

Regards,
Alexey.

> 
> On 12/20/12 6:44 PM, Alexey Neyman wrote:
> > Hi Luis,
> > 
> > No, it is not the case. In the FO I am using, fo:root has a font-family
> > specified, and that font family is described in the fop.cfg.
> > 
> > Actually, I traced this warning down to the watermark image specified for
> > the background. However, that SVG does not refer to 'Serif' font, either.
> > Can somebody please explain how does FOP treat the fonts in the included
> > SVG files?
> > 
> > I even tried to add a substitution from font-family="Serif" to font-
> > family="Times New Roman", it did not help either.
> > 
> > Here is the reduced FO file that exhibits the issue:
> > 
> > [[[
> > <?xml version="1.0"?>
> > <fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Times
> > New Roman">
> > 
> >    <fo:layout-master-set>
> >    
> >      <fo:simple-page-master master-name="draft">
> >      
> >        <fo:region-body background-image="url(draft.svg)"/>
> >      
> >      </fo:simple-page-master>
> >    
> >    </fo:layout-master-set>
> >    <fo:page-sequence master-reference="draft">
> >    
> >      <fo:flow flow-name="xsl-region-body">
> >      
> >        <fo:block/>
> >      
> >      </fo:flow>
> >    
> >    </fo:page-sequence>
> > 
> > </fo:root>
> > ]]]
> > 
> > And here is the draft.svg:
> > 
> > [[[
> > <?xml version="1.0" encoding="UTF-8" standalone="no"?>
> > <svg xmlns="http://www.w3.org/2000/svg" viewBox="80 80 600 600"
> > 
> >      version="1.1" width="5in" height="5in">
> >    
> >    <text font-weight="normal" xml:space="preserve"
> >    
> >      transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
> >      font-size="250px" y="640" x="-315" font-family="'Times New Roman'"
> >      fill="#f2f2f2">Draft</text>
> > 
> > </svg>
> > ]]]
> > 
> > And fop.cfg:
> > 
> > [[[
> > <?xml version="1.0"?>
> > <fop version="1.0">
> > 
> >    <renderers>
> >    
> >      <renderer mime="application/pdf">
> >      
> >        <fonts>
> >        
> >          <font kerning="yes" metrics-url="TimesNewRoman.metric" embed-
> > 
> > url="TimesNewRoman.ttf">
> > 
> >            <font-triplet name="Times New Roman" weight="normal"
> > 
> > style="normal"/>
> > 
> >          </font>
> >        
> >        </fonts>
> >      
> >      </renderer>
> >    
> >    </renderers>
> > 
> > </fop>
> > ]]]
> > 
> > Regards,
> > Alexey.
> > 
> > On Wednesday, December 19, 2012 04:45:31 pm Luis Bernardo wrote:
> >> This is of no consequence although is it puzzling at first. If you
> >> specify a global font-family in the fo root element I think the warning
> >> goes away. I think what you are seeing has been discussed here:
> >> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-foun
> >> d-w hereas-they-are-not-needed-td31330.html
> >> 
> >> On 12/19/12 11:05 PM, Alexey Neyman wrote:
> >>> Hi all,
> >>> 
> >>> I see the following warning message reported by FOP:
> >>> 
> >>> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
> >>> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
> >>> processEvent
> >>> WARNING: Font "Serif,normal,400" not found. Substituting with
> >>> "any,normal,400".
> >>> ...
> >>> 
> >>> However, apiguide.fo does not contain any references to 'serif' font:
> >>> 
> >>> $ grep -i serif apiguide.fo
> >>> $
> >>> 
> >>> Why does FOP need 'Serif' font? Is there some built-in expectation that
> >>> 'Serif' font must be always available?
> >>> 
> >>> Regards,
> >>> Alexey.
> >>> 
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> >>> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
> >> 
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> >> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Alexey Neyman <st...@att.net>.
Hi Luis,

No, it is not the case. In the FO I am using, fo:root has a font-family 
specified, and that font family is described in the fop.cfg.

Actually, I traced this warning down to the watermark image specified for
the background. However, that SVG does not refer to 'Serif' font, either. Can 
somebody please explain how does FOP treat the fonts in the included SVG 
files?

I even tried to add a substitution from font-family="Serif" to font-
family="Times New Roman", it did not help either.

Here is the reduced FO file that exhibits the issue:

[[[
<?xml version="1.0"?>
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format" font-family="Times New 
Roman">
  <fo:layout-master-set>
    <fo:simple-page-master master-name="draft">
      <fo:region-body background-image="url(draft.svg)"/>
    </fo:simple-page-master>
  </fo:layout-master-set>
  <fo:page-sequence master-reference="draft">
    <fo:flow flow-name="xsl-region-body">
      <fo:block/>
    </fo:flow>
  </fo:page-sequence>
</fo:root>
]]]

And here is the draft.svg:

[[[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="80 80 600 600"
    version="1.1" width="5in" height="5in">
  <text font-weight="normal" xml:space="preserve"
    transform="matrix(0.70710678,-0.70710678,0.70710678,0.70710678,0,0)"
    font-size="250px" y="640" x="-315" font-family="'Times New Roman'"
    fill="#f2f2f2">Draft</text>
</svg>
]]]

And fop.cfg:

[[[
<?xml version="1.0"?>
<fop version="1.0">
  <renderers>
    <renderer mime="application/pdf">
      <fonts>
        <font kerning="yes" metrics-url="TimesNewRoman.metric" embed-
url="TimesNewRoman.ttf">
          <font-triplet name="Times New Roman" weight="normal" 
style="normal"/>
        </font>
      </fonts>
    </renderer>
  </renderers>
</fop>
]]]

Regards,
Alexey.

On Wednesday, December 19, 2012 04:45:31 pm Luis Bernardo wrote:
> This is of no consequence although is it puzzling at first. If you
> specify a global font-family in the fo root element I think the warning
> goes away. I think what you are seeing has been discussed here:
> http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-found-w
> hereas-they-are-not-needed-td31330.html
> 
> On 12/19/12 11:05 PM, Alexey Neyman wrote:
> > Hi all,
> > 
> > I see the following warning message reported by FOP:
> > 
> > $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
> > Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
> > processEvent
> > WARNING: Font "Serif,normal,400" not found. Substituting with
> > "any,normal,400".
> > ...
> > 
> > However, apiguide.fo does not contain any references to 'serif' font:
> > 
> > $ grep -i serif apiguide.fo
> > $
> > 
> > Why does FOP need 'Serif' font? Is there some built-in expectation that
> > 'Serif' font must be always available?
> > 
> > Regards,
> > Alexey.
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> > For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org

---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org


Re: How to find out why fop needs a certain font?

Posted by Luis Bernardo <lm...@gmail.com>.
This is of no consequence although is it puzzling at first. If you 
specify a global font-family in the fo root element I think the warning 
goes away. I think what you are seeing has been discussed here: 
http://apache-fop.1065347.n5.nabble.com/ZapfDingbats-and-Symbol-not-found-whereas-they-are-not-needed-td31330.html

On 12/19/12 11:05 PM, Alexey Neyman wrote:
> Hi all,
>
> I see the following warning message reported by FOP:
>
> $ fop -c fop.cfg -dpi 150 apiguide.fo apiguide.pdf
> Dec 19, 2012 2:59:02 PM org.apache.fop.events.LoggingEventListener
> processEvent
> WARNING: Font "Serif,normal,400" not found. Substituting with
> "any,normal,400".
> ...
>
> However, apiguide.fo does not contain any references to 'serif' font:
>
> $ grep -i serif apiguide.fo
> $
>
> Why does FOP need 'Serif' font? Is there some built-in expectation that
> 'Serif' font must be always available?
>
> Regards,
> Alexey.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
> For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org
>


---------------------------------------------------------------------
To unsubscribe, e-mail: fop-users-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-users-help@xmlgraphics.apache.org