Hi,
I tried to build HTML doc (no problem) and PDF doc but I get a bunch of errors with PDF build. Full error log can be found here: http://guillaume.gardet.free.fr/tmp/log.txt
I used those commands to build: daps --envfile=ENV-opensuse-all dist-html daps --envfile=ENV-opensuse-all color-pdf
Any idea how to solve the problem?
Here is the beginning of the error log, it seems daps cannot find some fonts:
******************************************************************************** ******************************************************************************** Nov 22, 2011 10:05:00 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Font "DejaVuSans,normal,700" not found. Substituting with "DejaVuSans,normal,400". Nov 22, 2011 10:05:00 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Font "Symbol,normal,700" not found. Substituting with "Symbol,normal,400". Nov 22, 2011 10:05:00 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Font "ZapfDingbats,normal,700" not found. Substituting with "ZapfDingbats,normal,400". Nov 22, 2011 10:05:00 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Content overflows the viewport of the fo:region-before on page 1 in block-progression direction by 14000 millipoints. (See position 6932:60) Nov 22, 2011 10:05:00 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Content overflows the viewport of the fo:region-after on page 1 in block-progression direction by 3500 millipoints. (See position 7025:59) Nov 22, 2011 10:05:00 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Content overflows the viewport of the fo:region-before on page 2 in block-progression direction by 14000 millipoints. (See position 6998:60) Nov 22, 2011 10:05:00 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Content overflows the viewport of the fo:region-after on page 2 in block-progression direction by 3500 millipoints. (See position 7070:59) Nov 22, 2011 10:05:01 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Line 1 of a paragraph overflows the available area by more than 50 points. (See position 7228:42) Nov 22, 2011 10:05:01 AM org.apache.fop.events.LoggingEventListener processEvent WARNING: Content overflows the viewport of an fo:block-container in block-progression direction by 2647 millipoints. (See position 7246:165)
***** CSSEngine: exception property.syntax.error:org.w3c.css.sac.CSSParseException: Unexpected token: 7 (see LexicalUnits).
AttrValue:FreeSans,DejaVuSans,suse.sans
Exception:org.w3c.css.sac.CSSParseException org.w3c.css.sac.CSSParseException: Unexpected token: 7 (see LexicalUnits). at org.apache.batik.css.parser.Parser.createCSSParseException(Unknown Source) at org.apache.batik.css.parser.Parser.parseTerm(Unknown Source) at org.apache.batik.css.parser.Parser.parseExpression(Unknown Source) at org.apache.batik.css.parser.Parser.parsePropertyValueInternal(Unknown Source) at org.apache.batik.css.parser.Parser.parsePropertyValue(Unknown Source) at org.apache.batik.css.engine.CSSEngine.getCascadedStyleMap(Unknown Source) at org.apache.batik.css.engine.CSSEngine.getComputedStyle(Unknown Source) at org.apache.batik.bridge.CSSUtilities.getComputedStyle(Unknown Source) at org.apache.batik.bridge.CSSUtilities.convertDisplay(Unknown Source) at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(Unknown Source) at org.apache.batik.bridge.GVTBuilder.buildComposite(Unknown Source) at org.apache.batik.bridge.GVTBuilder.build(Unknown Source) at org.apache.fop.render.pdf.PDFImageHandlerSVG.handleImage(PDFImageHandlerSVG.java:93) at org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:227) at org.apache.fop.render.intermediate.AbstractIFPainter.drawImage(AbstractIFPainter.java:183) at org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingImageHandler(AbstractIFPainter.java:148) at org.apache.fop.render.intermediate.AbstractIFPainter.drawImageUsingDocument(AbstractIFPainter.java:297) at org.apache.fop.render.pdf.PDFPainter.drawImage(PDFPainter.java:204) at org.apache.fop.render.intermediate.IFRenderer.renderForeignObject(IFRenderer.java:1189) at org.apache.fop.render.AbstractRenderer.renderViewport(AbstractRenderer.java:745) at org.apache.fop.render.AbstractPathOrientedRenderer.renderViewport(AbstractPathOrientedRenderer.java:709) at org.apache.fop.render.intermediate.IFRenderer.renderViewport(IFRenderer.java:860) at org.apache.fop.render.AbstractRenderer.renderInlineArea(AbstractRenderer.java:634) at org.apache.fop.render.intermediate.IFRenderer.renderInlineArea(IFRenderer.java:912) at org.apache.fop.render.AbstractRenderer.renderLineArea(AbstractRenderer.java:609) at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:544) at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:581) at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:976) at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:534) at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:581) at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:976) at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:534) at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:581) at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:976) at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:534) at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:581) at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:976) at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:534) at org.apache.fop.render.AbstractRenderer.renderBlock(AbstractRenderer.java:581) at org.apache.fop.render.intermediate.IFRenderer.renderBlock(IFRenderer.java:976) at org.apache.fop.render.AbstractRenderer.renderBlocks(AbstractRenderer.java:534) at org.apache.fop.render.AbstractRenderer.renderFlow(AbstractRenderer.java:432) at org.apache.fop.render.AbstractPathOrientedRenderer.renderFlow(AbstractPathOrientedRenderer.java:665) at org.apache.fop.render.AbstractRenderer.renderMainReference(AbstractRenderer.java:411) at org.apache.fop.render.AbstractRenderer.renderBodyRegion(AbstractRenderer.java:345) at org.apache.fop.render.AbstractRenderer.renderRegionViewport(AbstractRenderer.java:292) at org.apache.fop.render.intermediate.IFRenderer.renderRegionViewport(IFRenderer.java:731) at org.apache.fop.render.AbstractRenderer.renderPageAreas(AbstractRenderer.java:265) at org.apache.fop.render.AbstractRenderer.renderPage(AbstractRenderer.java:230) at org.apache.fop.render.intermediate.IFRenderer.renderPage(IFRenderer.java:580) at org.apache.fop.area.RenderPagesModel.addPage(RenderPagesModel.java:114) at org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager.finishPage(AbstractPageSequenceLayoutManager.java:312) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.finishPage(PageSequenceLayoutManager.java:167) at org.apache.fop.layoutmgr.AbstractPageSequenceLayoutManager.makeNewPage(AbstractPageSequenceLayoutManager.java:284) at org.apache.fop.layoutmgr.PageBreaker.handleBreakTrait(PageBreaker.java:538) at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:143) at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:132) at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:337) at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:85) at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:107) at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:238) at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:120) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:349) at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177) at org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101) at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) at org.apache.xerces.xinclude.XIncludeHandler.endElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:299) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130) at org.apache.fop.cli.Main.startFOP(Main.java:174) at org.apache.fop.cli.Main.main(Main.java:204)
***** CSSEngine: exception.... Nov 22, 2011 10:05:01 AM org.apache.fop.events.LoggingEventListener processEvent SEVERE: SVG error: file:/home/guillaume/perso/opensuse-doc_svn/svn-berlios/en/build/.tmp/: The attribute "font-family" represents an invalid CSS value ("FreeSans,DejaVuSans,suse.sans"). Original message: Unexpected token: 7 (see LexicalUnits). ******************************************************************************** ********************************************************************************
Hi Guillaume,
(should go to the mailinglist too)
sorry for the delay.
On Tuesday 22 November 2011 Guillaume Gardet wrote:
[...] I tried to build HTML doc (no problem) and PDF doc but I get a bunch of errors with PDF build. Full error log can be found here: http://guillaume.gardet.free.fr/tmp/log.txt
I used those commands to build: daps --envfile=ENV-opensuse-all dist-html daps --envfile=ENV-opensuse-all color-pdf
That's correct, but you can also build separate guides. This is probably a bit more convenient and faster to build. :)
Any idea how to solve the problem?
Here is the beginning of the error log, it seems daps cannot find some fonts:
It's not daps, it's FOP. Just to be sure: do you have the correct FOP version installed? I have:
$ rpm -q xmlgraphics-fop xmlgraphics-fop-1.0-11.noarch
Furthermore, daps should come with some dependencies on font packages. It probably doesn't hurt to check if you have the freefont and dejavu packages installed:
$ rpm -q freefont dejavu freefont-0.20101118-4.4.noarch dejavu-2.32-2.1.noarch
[...]
***** CSSEngine: exception.... Nov 22, 2011 10:05:01 AM org.apache.fop.events.LoggingEventListener processEvent SEVERE: SVG error: file:/home/guillaume/perso/opensuse-doc_svn/svn-berlios/en/build/.tmp/: The attribute "font-family" represents an invalid CSS value ("FreeSans,DejaVuSans,suse.sans"). Original message: Unexpected token: 7 (see LexicalUnits).
Just to give you some background information: Well, the attribute font-family can hold several alternative font names separated by comma. A FO formatter can be configured in such a way that it goes through a list of fonts to find a certain glyph. If the glyph is not available, the formatter will try the second font in the list and so on. As fonts usually do not have all glyphs, you can add "fallback alternatives" to make the selection a bit more reliable.
In former times, FOP couldn't parse that nor was it able to create such correct fallback alternatives. The above error indicates that. However, I'm not sure if this is still the case, I think it should be fixed now.
For the time being, you could try the following (untested):
1. Open /usr/share/daps/xslt/common/l10n/fr.xml and find the key "fop1.sans.font.family". You should see something like this: <l:gentext key="fop1.sans.font.family" text="FreeSans,DejaVuSans,suse.sans"/>
2. Choose only one (FreeSans or DejaVuSans) and save it.
3. Clean up your working directory and rebuild your book.
Of course, the changes will be overwritten by the next version.
I expect to work on the stylesheets next week again to fix some problems. Will probably release some daps updates, too.
Hi,
Le 24/11/2011 10:44, Thomas Schraitle a écrit :
Hi Guillaume,
(should go to the mailinglist too)
sorry for the delay.
On Tuesday 22 November 2011 Guillaume Gardet wrote:
[...] I tried to build HTML doc (no problem) and PDF doc but I get a bunch of errors with PDF build. Full error log can be found here: http://guillaume.gardet.free.fr/tmp/log.txt
I used those commands to build: daps --envfile=ENV-opensuse-all dist-html daps --envfile=ENV-opensuse-all color-pdf
That's correct, but you can also build separate guides. This is probably a bit more convenient and faster to build. :)
yes ! :) It is the tunig PDF which fails. Others are fine (except opensuse-all, of course).
Any idea how to solve the problem?
Here is the beginning of the error log, it seems daps cannot find some fonts:
It's not daps, it's FOP. Just to be sure: do you have the correct FOP version installed? I have:
$ rpm -q xmlgraphics-fop xmlgraphics-fop-1.0-11.noarch
xmlgraphics-fop-1.0-12.1.3.noarch
Furthermore, daps should come with some dependencies on font packages. It probably doesn't hurt to check if you have the freefont and dejavu packages installed:
$ rpm -q freefont dejavu freefont-0.20101118-4.4.noarch dejavu-2.32-2.1.noarch
freefont-0.20110523-4.1.3.noarch dejavu-2.33-4.1.1.noarch
[...]
***** CSSEngine: exception.... Nov 22, 2011 10:05:01 AM org.apache.fop.events.LoggingEventListener processEvent SEVERE: SVG error: file:/home/guillaume/perso/opensuse-doc_svn/svn-berlios/en/build/.tmp/: The attribute "font-family" represents an invalid CSS value ("FreeSans,DejaVuSans,suse.sans"). Original message: Unexpected token: 7 (see LexicalUnits).
Just to give you some background information: Well, the attribute font-family can hold several alternative font names separated by comma. A FO formatter can be configured in such a way that it goes through a list of fonts to find a certain glyph. If the glyph is not available, the formatter will try the second font in the list and so on. As fonts usually do not have all glyphs, you can add "fallback alternatives" to make the selection a bit more reliable.
In former times, FOP couldn't parse that nor was it able to create such correct fallback alternatives. The above error indicates that. However, I'm not sure if this is still the case, I think it should be fixed now.
For the time being, you could try the following (untested):
- Open /usr/share/daps/xslt/common/l10n/fr.xml and find the key
"fop1.sans.font.family". You should see something like this: <l:gentext key="fop1.sans.font.family" text="FreeSans,DejaVuSans,suse.sans"/>
Choose only one (FreeSans or DejaVuSans) and save it.
Clean up your working directory and rebuild your book.
Of course, the changes will be overwritten by the next version.
I expect to work on the stylesheets next week again to fix some problems. Will probably release some daps updates, too.
It helps for the CSS error be I get lots of errors like this one : ************************************************************************ org.w3c.dom.DOMException: The current document is unable to create an element of the requested type (namespace: http://www.w3.org/2000/svg, name: flowRoot). at org.apache.batik.dom.AbstractNode.createDOMException(Unknown Source) at org.apache.batik.dom.svg.SVGDOMImplementation.createElementNS(Unknown Source) at org.apache.batik.dom.svg.SVGOMDocument.createElementNS(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.util.SAXDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createDocument(Unknown Source) at org.apache.batik.dom.svg.SAXSVGDocumentFactory.createSVGDocument(Unknown Source) at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.getImage(PreloaderSVG.java:122) at org.apache.fop.image.loader.batik.PreloaderSVG$Loader.access$100(PreloaderSVG.java:105) at org.apache.fop.image.loader.batik.PreloaderSVG.preloadImage(PreloaderSVG.java:73) at org.apache.xmlgraphics.image.loader.ImageManager.preloadImage(ImageManager.java:175) at org.apache.xmlgraphics.image.loader.cache.ImageCache.needImageInfo(ImageCache.java:128) at org.apache.xmlgraphics.image.loader.ImageManager.getImageInfo(ImageManager.java:122) at org.apache.fop.fo.flow.ExternalGraphic.bind(ExternalGraphic.java:81) at org.apache.fop.fo.FObj.processNode(FObj.java:123) at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.startElement(FOTreeBuilder.java:282) at org.apache.fop.fo.FOTreeBuilder.startElement(FOTreeBuilder.java:171) at org.apache.xalan.transformer.TransformerIdentityImpl.startElement(TransformerIdentityImpl.java:1072) at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source) at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source) at org.apache.xerces.xinclude.XIncludeHandler.emptyElement(Unknown Source) at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source) at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source) at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:484) at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:299) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:130) at org.apache.fop.cli.Main.startFOP(Main.java:174) at org.apache.fop.cli.Main.main(Main.java:204) ************************************************************************
Which JVM/JRE do you use to build the doc? I am using openJDK.
Please note that the following generates a PDF without error: daps --envfile=ENV-opensuse-kvm color-pdf daps --envfile=ENV-opensuse-reference color-pdf daps --envfile=ENV-opensuse-security color-pdf daps --envfile=ENV-opensuse-startup color-pdf
Last request, it cannot find "productname" nor "productnamereg" in html and pdf, so it generates empty productname and I get "Documentation de" (french for "Documentation of") without "openSUSE", just a blank. Where could it come from?
Guillaume
Hi Guillaume,
Le 24/11/2011 10:44, Thomas Schraitle a écrit : [...]
$ rpm -q xmlgraphics-fop xmlgraphics-fop-1.0-11.noarch
xmlgraphics-fop-1.0-12.1.3.noarch
Looks good.
$ rpm -q freefont dejavu freefont-0.20101118-4.4.noarch dejavu-2.32-2.1.noarch
freefont-0.20110523-4.1.3.noarch dejavu-2.33-4.1.1.noarch
Also ok.
[...]
It helps for the CSS error be I get lots of errors like this one :
org.w3c.dom.DOMException: The current document is unable to create an element of the requested type (namespace: http://www.w3.org/2000/svg, name: flowRoot). at org.apache.batik.dom.AbstractNode.createDOMException(Unknown Source) at
It seems the above error is caused by a "strange" SVG graphic.
Which JVM/JRE do you use to build the doc? I am using openJDK.
Me too on openSUSE 12.1:
$ java -version java version "1.6.0_22" OpenJDK Runtime Environment (IcedTea6 1.10.4) (suse-1.2-x86_64) OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
Please note that the following generates a PDF without error: daps --envfile=ENV-opensuse-kvm color-pdf daps --envfile=ENV-opensuse-reference color-pdf daps --envfile=ENV-opensuse-security color-pdf daps --envfile=ENV-opensuse-startup color-pdf
That's a good tip! It was the Tuning Guide which does not build. After some investigation, it's the cgroups1.svg graphic to blame.
If you save a SVG graphic as normal "Inkscape SVG" it introduces strange "-inkscape-bla" attributes which causes this error. You have to explicitly save it as "Plain SVG" to avoid such attributes. I mention it so you can avoid such problems. It hit me in the past sometimes. ;)
I've committed the fixed SVG and it builds now. However, the graphic looks garbled...
Last request, it cannot find "productname" nor "productnamereg" in html and pdf, so it generates empty productname and I get "Documentation de" (french for "Documentation of") without "openSUSE", just a blank. Where could it come from?
I will look into this.