Ooops, I had temporarily disabled the font registration code at one
point to try to work around stuff and forgotten to re-enable it.  After
re-enabling it, I am getting an exception about reading a TrueType font
collection.  I have only one ttc file (uming.ttc), so i have to assume
it is that one being processed.

The userconfig is generated by my code, and here is what gets passed in:
<fop version="1.0">
  <strict-configuration>true</strict-configuration>
  <renderers>
    <renderer mime="application/pdf">
      <fonts>
        ...
        <font
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/uming.ttc">
          <font-triplet 
              style="normal" 
              name="AR PL UMing CN" 
              weight="normal"/>
          <font-triplet 
              style="normal" 
              name="AR PL UMing CN" 
              weight="bold"/>
          <font-triplet 
              style="italic" 
              name="AR PL UMing CN" 
              weight="bold"/>
           <font-triplet 
              style="italic" 
              name="AR PL UMing CN" 
              weight="normal"/>
        </font>
      </fonts>
    </renderer>
  </renderers>
</fop>


I have attached the output log as well as the fragments of java code
used to create this userconfig.


Here is the snipped exception (present in the log too):

java.lang.IllegalArgumentException: For TrueType collection you must
specify which font to select (-ttcname)
        at org.apache.fop.fonts.truetype.TTFFile.readFont(TTFFile.java:480)
        at
org.apache.fop.fonts.truetype.TTFFontLoader.read(TTFFontLoader.java:98)
        at
org.apache.fop.fonts.truetype.TTFFontLoader.read(TTFFontLoader.java:84)
        at org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:190)
        at org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:139)
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:134)
        at org.apache.fop.fonts.LazyFont.getAscender(LazyFont.java:241)
        at org.apache.fop.fonts.Font.getAscender(Font.java:106)
        at
org.apache.fop.layoutmgr.BlockLayoutManager.initialize(BlockLayoutManager.java:89)
        at
org.apache.fop.layoutmgr.AbstractLayoutManager.getChildLM(AbstractLayoutManager.java:119)
        at
org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:75)
        at
org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:144)
        at
org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:553)
        at
org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:136)
        at
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:303)
        at
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:265)
        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:348)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
        at
com.icl.saxon.output.ContentHandlerProxy.endElement(ContentHandlerProxy.java:137)
        at com.icl.saxon.output.ProxyEmitter.endElement(ProxyEmitter.java:91)
        at
com.icl.saxon.output.NamespaceEmitter.endElement(NamespaceEmitter.java:150)
        at
com.icl.saxon.output.GeneralOutputter.writeEndTag(GeneralOutputter.java:681)
        at
com.icl.saxon.style.LiteralResultElement.process(LiteralResultElement.java:293)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at
com.icl.saxon.style.XSLCallTemplate.process(XSLCallTemplate.java:187)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLIf.process(XSLIf.java:78)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:198)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:246)
        at
com.icl.saxon.style.XSLApplyTemplates.process(XSLApplyTemplates.java:135)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at
com.icl.saxon.style.LiteralResultElement.process(LiteralResultElement.java:289)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:198)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:246)
        at com.icl.saxon.Controller.defaultAction(Controller.java:271)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:236)
        at
com.icl.saxon.style.XSLApplyTemplates.process(XSLApplyTemplates.java:135)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLIf.process(XSLIf.java:78)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
        at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
        at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
        at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
        at
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:198)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:246)
        at com.icl.saxon.Controller.run(Controller.java:178)
        at com.icl.saxon.Controller.transformDocument(Controller.java:1086)
        at com.icl.saxon.Controller.transform(Controller.java:953)
        at
org.jboss.jdocbook.render.impl.BasicRenderer.performRendering(BasicRenderer.java:165)
        at
org.jboss.jdocbook.render.impl.BasicRenderer.render(BasicRenderer.java:153)
        at
org.jboss.jdocbook.render.impl.BasicRenderer.render(BasicRenderer.java:98)
        at
org.jboss.maven.plugins.jdocbook.GenerationMojo.process(GenerationMojo.java:112)
        at
org.jboss.maven.plugins.jdocbook.AbstractDocBookMojo.doExecute(AbstractDocBookMojo.java:379)
        at
org.jboss.maven.plugins.jdocbook.AbstractDocBookMojo.execute(AbstractDocBookMojo.java:407)
        at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
...


I am really at a loss.


On Mon, 2009-06-08 at 10:07 -0500, Steve Ebersole wrote:
> Back at this yet again.
> 
> This time I added a feature to the maven plugin to actually dump the FO
> file (I actually use the SAX approach for rendering, so iit was
> previously not needed).  I am attaching it here.  As a total noob I have
> no clue what to look for.  I do see the correct font-family selections
> in the FO file.  I also added some output from my XSLT where I specify
> the pickfont selections and verified that those are correct.
> 
> Yet I see lots of warning log messages which seem related to not being
> able to locate the fonts.  Things like certain glyphs not being
> available, etc.  I've attached the log output as well, but here is an
> example:
> 
> WARNING: Font "Symbol,normal,700" not found. Substituting with
> "Symbol,normal,400".
> WARNING: Font "ZapfDingbats,normal,700" not found. Substituting with
> "ZapfDingbats,normal,400".
> WARNING: Glyph "符" (0x7b26) not available in font "Helvetica-Bold".
> 
> 
> 
> 
> 
> On Tue, 2009-04-07 at 19:32 +0200, Andreas Delmelle wrote:
> > On 07 Apr 2009, at 17:39, Steve Ebersole wrote:
> > 
> > Hi Steve
> > 
> > > I tried a mixture of the two.  I have a problem though.
> > > FontInfoFinder.find is returning me null. Basically I have a directory
> > > of fonts (.ttf and .ttc).  I was trying the following code fragment
> > > (which is where FontInfoFinder.find is returning null):
> > > <snip />
> > >
> > > So basically, for each direcrtory containing fonts
> > > (environment.getFontDirectories()), I iterate the files
> > > (fontDirectory.listFiles()).  So fontFile is the .ttf files.  I have
> > > verified this in debugger.  Yet when fontInfoFinder.find is called on
> > > that .ttf file, it returns null.
> > 
> > Most likely an issue with the TTF file. FOP still chokes on some TTFs  
> > (mostly on Linux and Mac OS, or OTF variants)
> > Do you get any log output indicating such a problem?
> > 
> > Checking the code, FontInfoFinder.find() will return null if:
> > * there is a FontCache and the file has failed to load on a previous  
> > attempt. We only display the corresponding message if the log-level is  
> > set to DEBUG.
> > 
> > * the file failed to load, but it is the first attempt. In FOP Trunk,  
> > a message is then broadcast to the attached EventListener (if it has  
> > been registered).
> > 
> > 
> > HTH!
> > 
> > Andreas
> > 
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [email protected]
> > For additional commands, e-mail: [email protected]
> > 
-- 
Steve Ebersole <[email protected]>
Hibernate.org
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building jDocBook testing
[INFO]    task-segment: [compile]
[INFO] ------------------------------------------------------------------------
[INFO] [jdocbook:resources]
[INFO] requested processing limited to [pdf] format
[INFO] processing support artifact : 
org.jboss:jbossorg-jdocbook-style:jdocbook-style:1.1.0
[INFO] unpacking support artifact 
[/home/steve/.m2/repository/org/jboss/jbossorg-jdocbook-style/1.1.0/jbossorg-jdocbook-style-1.1.0.jdocbook-style]
 to directory [/home/steve/projects/sandbox/jdocbook/target/docbook/staging]
[INFO] Expanding: 
/home/steve/.m2/repository/org/jboss/jbossorg-jdocbook-style/1.1.0/jbossorg-jdocbook-style-1.1.0.jdocbook-style
 into /home/steve/projects/sandbox/jdocbook/target/docbook/staging
[INFO] processing support artifact : 
org.steveebersole.sandbox:jbossorg-pdf-fonts:jdocbook-style:1.0.0-SNAPSHOT
[INFO] unpacking support artifact 
[/home/steve/.m2/repository/org/steveebersole/sandbox/jbossorg-pdf-fonts/1.0.0-SNAPSHOT/jbossorg-pdf-fonts-1.0.0-SNAPSHOT.jdocbook-style]
 to directory [/home/steve/projects/sandbox/jdocbook/target/docbook/staging]
[INFO] Expanding: 
/home/steve/.m2/repository/org/steveebersole/sandbox/jbossorg-pdf-fonts/1.0.0-SNAPSHOT/jbossorg-pdf-fonts-1.0.0-SNAPSHOT.jdocbook-style
 into /home/steve/projects/sandbox/jdocbook/target/docbook/staging
[INFO] processing support artifact : 
org.hibernate:hibernate-jdocbook-style:jdocbook-style:2.0.0-SNAPSHOT
[INFO] unpacking support artifact 
[/home/steve/.m2/repository/org/hibernate/hibernate-jdocbook-style/2.0.0-SNAPSHOT/hibernate-jdocbook-style-2.0.0-SNAPSHOT.jdocbook-style]
 to directory [/home/steve/projects/sandbox/jdocbook/target/docbook/staging]
[INFO] Expanding: 
/home/steve/.m2/repository/org/hibernate/hibernate-jdocbook-style/2.0.0-SNAPSHOT/hibernate-jdocbook-style-2.0.0-SNAPSHOT.jdocbook-style
 into /home/steve/projects/sandbox/jdocbook/target/docbook/staging
[INFO] processing support artifact : 
org.jboss:jbossorg-jdocbook-style:jdocbook-style:1.1.0
[INFO] unpacking support artifact 
[/home/steve/.m2/repository/org/jboss/jbossorg-jdocbook-style/1.1.0/jbossorg-jdocbook-style-1.1.0.jdocbook-style]
 to directory [/home/steve/projects/sandbox/jdocbook/target/docbook/staging]
[INFO] Expanding: 
/home/steve/.m2/repository/org/jboss/jbossorg-jdocbook-style/1.1.0/jbossorg-jdocbook-style-1.1.0.jdocbook-style
 into /home/steve/projects/sandbox/jdocbook/target/docbook/staging
[INFO] processing support artifact : 
org.steveebersole.sandbox:jbossorg-pdf-fonts:jdocbook-style:1.0.0-SNAPSHOT
[INFO] unpacking support artifact 
[/home/steve/.m2/repository/org/steveebersole/sandbox/jbossorg-pdf-fonts/1.0.0-SNAPSHOT/jbossorg-pdf-fonts-1.0.0-SNAPSHOT.jdocbook-style]
 to directory [/home/steve/projects/sandbox/jdocbook/target/docbook/staging]
[INFO] Expanding: 
/home/steve/.m2/repository/org/steveebersole/sandbox/jbossorg-pdf-fonts/1.0.0-SNAPSHOT/jbossorg-pdf-fonts-1.0.0-SNAPSHOT.jdocbook-style
 into /home/steve/projects/sandbox/jdocbook/target/docbook/staging
[INFO] [jdocbook:translate {execution: default}]
[INFO] requested processing limited to [pdf] format
[INFO] requested processing limited to [zh-CN] lang
[INFO] skipping non-requested lang [fr-FR]
[INFO] skipping non-requested lang [ja-JP]
[INFO] [jdocbook:generate]
[INFO] requested processing limited to [pdf] format
[INFO] requested processing limited to [zh-CN] lang
[INFO] applying DocBook profiling 
[/home/steve/projects/sandbox/jdocbook/target/docbook/work/profile/zh-CN/Hibernate_Reference.xml]
[INFO] requested processing limited to [zh-CN] lang
[INFO] Starting generation zh-CN
[INFO] Processing zh-CN -> pdf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/batang.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_hi.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_ml.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/uming.ttc
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_gu.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/sazanami-gothic.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_ta.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_kn.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_bn.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_te.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_or.ttf
Loading font file : 
/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_pa.ttf
Adding font [name=Baekmuk Batang, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/batang.ttf
Adding font [name=Lohit Hindi, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_hi.ttf
Adding font [name=Lohit Malayalam, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_ml.ttf
Adding font [name=AR PL UMing CN, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/uming.ttc
Adding font [name=Lohit Gujarati, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_gu.ttf
Adding font [name=Sazanami Gothic Regular, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/sazanami-gothic.ttf
Adding font [name=Lohit Tamil, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_ta.ttf
Adding font [name=Lohit Kannada, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_kn.ttf
Adding font [name=Lohit Bengali, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_bn.ttf
Adding font [name=Lohit Telugu, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_te.ttf
Adding font [name=Lohit Oriya, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_or.ttf
Adding font [name=Lohit Punjabi, sub-name=n/a], 
embed-url=file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_pa.ttf
FOP-User-Config-------------------------------------------------
<?xml version="1.0" encoding="utf-8"?><fop 
version="1.0"><strict-configuration>true</strict-configuration><renderers><renderer
 mime="application/pdf"><fonts><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/batang.ttf"><font-triplet
 style="normal" name="Baekmuk Batang" weight="normal"/><font-triplet 
style="normal" name="Baekmuk Batang" weight="bold"/><font-triplet 
style="italic" name="Baekmuk Batang" weight="bold"/><font-triplet 
style="italic" name="Baekmuk Batang" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_hi.ttf"><font-triplet
 style="normal" name="Lohit Hindi" weight="normal"/><font-triplet 
style="normal" name="Lohit Hindi" weight="bold"/><font-triplet style="italic" 
name="Lohit Hindi" weight="bold"/><font-triplet style="italic" name="Lohit 
Hindi" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_ml.ttf"><font-triplet
 style="normal" name="Lohit Malayalam" weight="normal"/><font-triplet 
style="normal" name="Lohit Malayalam" weight="bold"/><font-triplet 
style="italic" name="Lohit Malayalam" weight="bold"/><font-triplet 
style="italic" name="Lohit Malayalam" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/uming.ttc"><font-triplet
 style="normal" name="AR PL UMing CN" weight="normal"/><font-triplet 
style="normal" name="AR PL UMing CN" weight="bold"/><font-triplet 
style="italic" name="AR PL UMing CN" weight="bold"/><font-triplet 
style="italic" name="AR PL UMing CN" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_gu.ttf"><font-triplet
 style="normal" name="Lohit Gujarati" weight="normal"/><font-triplet 
style="normal" name="Lohit Gujarati" weight="bold"/><font-triplet 
style="italic" name="Lohit Gujarati" weight="bold"/><font-triplet 
style="italic" name="Lohit Gujarati" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/sazanami-gothic.ttf"><font-triplet
 style="normal" name="Sazanami Gothic Regular" weight="normal"/><font-triplet 
style="normal" name="Sazanami Gothic Regular" weight="bold"/><font-triplet 
style="italic" name="Sazanami Gothic Regular" weight="bold"/><font-triplet 
style="italic" name="Sazanami Gothic Regular" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_ta.ttf"><font-triplet
 style="normal" name="Lohit Tamil" weight="normal"/><font-triplet 
style="normal" name="Lohit Tamil" weight="bold"/><font-triplet style="italic" 
name="Lohit Tamil" weight="bold"/><font-triplet style="italic" name="Lohit 
Tamil" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_kn.ttf"><font-triplet
 style="normal" name="Lohit Kannada" weight="normal"/><font-triplet 
style="normal" name="Lohit Kannada" weight="bold"/><font-triplet style="italic" 
name="Lohit Kannada" weight="bold"/><font-triplet style="italic" name="Lohit 
Kannada" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_bn.ttf"><font-triplet
 style="normal" name="Lohit Bengali" weight="normal"/><font-triplet 
style="normal" name="Lohit Bengali" weight="bold"/><font-triplet style="italic" 
name="Lohit Bengali" weight="bold"/><font-triplet style="italic" name="Lohit 
Bengali" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_te.ttf"><font-triplet
 style="normal" name="Lohit Telugu" weight="normal"/><font-triplet 
style="normal" name="Lohit Telugu" weight="bold"/><font-triplet style="italic" 
name="Lohit Telugu" weight="bold"/><font-triplet style="italic" name="Lohit 
Telugu" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_or.ttf"><font-triplet
 style="normal" name="Lohit Oriya" weight="normal"/><font-triplet 
style="normal" name="Lohit Oriya" weight="bold"/><font-triplet style="italic" 
name="Lohit Oriya" weight="bold"/><font-triplet style="italic" name="Lohit 
Oriya" weight="normal"/></font><font 
embed-url="file:/home/steve/projects/sandbox/jdocbook/target/docbook/staging/fonts/lohit_pa.ttf"><font-triplet
 style="normal" name="Lohit Punjabi" weight="normal"/><font-triplet 
style="normal" name="Lohit Punjabi" weight="bold"/><font-triplet style="italic" 
name="Lohit Punjabi" weight="bold"/><font-triplet style="italic" name="Lohit 
Punjabi" weight="normal"/></font></fonts></renderer></renderers></fop>
----------------------------------------------------------------
[STYLESHEET MESSAGE] pickfont selection [lang=zh-CN] : ZYSong18030,AR PL UMing 
CN,
[STYLESHEET MESSAGE] Setting 'monospace.font.family' param =ZYSong18030,AR PL 
UMing CN,Liberation Mono,monospace
[STYLESHEET MESSAGE] pickfont selection [lang=zh-CN] : ZYSong18030,AR PL UMing 
CN,
[STYLESHEET MESSAGE] Setting 'body.font.family' param =ZYSong18030,AR PL UMing 
CN,Liberation Sans,sans-serif
[STYLESHEET MESSAGE] pickfont selection [lang=zh-CN] : ZYSong18030,AR PL UMing 
CN,
[STYLESHEET MESSAGE] Setting 'title.font.family' param =ZYSong18030,AR PL UMing 
CN,Liberation Sans,sans-serif
[STYLESHEET MESSAGE] pickfont selection [lang=zh-CN] : ZYSong18030,AR PL UMing 
CN,
[STYLESHEET MESSAGE] Setting 'title.font.family' param =ZYSong18030,AR PL UMing 
CN,Liberation Sans,sans-serif
[STYLESHEET MESSAGE] pickfont selection [lang=zh-CN] : ZYSong18030,AR PL UMing 
CN,
[STYLESHEET MESSAGE] Setting 'body.font.family' param =ZYSong18030,AR PL UMing 
CN,Liberation Sans,sans-serif
[STYLESHEET MESSAGE] pickfont selection [lang=zh-CN] : ZYSong18030,AR PL UMing 
CN,
[STYLESHEET MESSAGE] Setting 'monospace.font.family' param =ZYSong18030,AR PL 
UMing CN,Liberation Mono,monospace
[STYLESHEET MESSAGE] pickfont selection [lang=zh-CN] : ZYSong18030,AR PL UMing 
CN,
[STYLESHEET MESSAGE] Setting 'sans.font.family' param =ZYSong18030,AR PL UMing 
CN,Liberation Sans,sans-serif
[STYLESHEET MESSAGE] Making portrait pages on A4 paper (210mmx297mm)
Jun 9, 2009 9:59:28 AM org.apache.fop.fonts.truetype.TTFFile checkTTC
INFO: This is a TrueType collection file with 4 fonts
Jun 9, 2009 9:59:28 AM org.apache.fop.fonts.truetype.TTFFile checkTTC
INFO: Containing the following fonts: 
Jun 9, 2009 9:59:28 AM org.apache.fop.fonts.truetype.TTFFile checkTTC
INFO: AR PL UMing CN
Jun 9, 2009 9:59:28 AM org.apache.fop.fonts.truetype.TTFFile checkTTC
INFO: AR PL UMing HK
Jun 9, 2009 9:59:28 AM org.apache.fop.fonts.truetype.TTFFile checkTTC
INFO: AR PL UMing TW
Jun 9, 2009 9:59:28 AM org.apache.fop.fonts.truetype.TTFFile checkTTC
INFO: AR PL UMing TW MBE
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] For TrueType collection you must specify which font to select (-ttcname)
[INFO] ------------------------------------------------------------------------
[INFO] Trace
java.lang.IllegalArgumentException: For TrueType collection you must specify 
which font to select (-ttcname)
        at org.apache.fop.fonts.truetype.TTFFile.readFont(TTFFile.java:480)
        at 
org.apache.fop.fonts.truetype.TTFFontLoader.read(TTFFontLoader.java:98)
        at 
org.apache.fop.fonts.truetype.TTFFontLoader.read(TTFFontLoader.java:84)
        at org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:190)
        at org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:139)
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:134)
        at org.apache.fop.fonts.LazyFont.getAscender(LazyFont.java:241)
        at org.apache.fop.fonts.Font.getAscender(Font.java:106)
        at 
org.apache.fop.layoutmgr.BlockLayoutManager.initialize(BlockLayoutManager.java:89)
        at 
org.apache.fop.layoutmgr.AbstractLayoutManager.getChildLM(AbstractLayoutManager.java:119)
        at 
org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:75)
        at 
org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:144)
        at 
org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:553)
        at 
org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:136)
        at 
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:303)
        at 
org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:265)
        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:348)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:177)
        at 
com.icl.saxon.output.ContentHandlerProxy.endElement(ContentHandlerProxy.java:137)
        at com.icl.saxon.output.ProxyEmitter.endElement(ProxyEmitter.java:91)
        at 
com.icl.saxon.output.NamespaceEmitter.endElement(NamespaceEmitter.java:150)
        at 
com.icl.saxon.output.GeneralOutputter.writeEndTag(GeneralOutputter.java:681)
        at 
com.icl.saxon.style.LiteralResultElement.process(LiteralResultElement.java:293)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at com.icl.saxon.style.XSLCallTemplate.process(XSLCallTemplate.java:187)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLIf.process(XSLIf.java:78)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:198)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:246)
        at 
com.icl.saxon.style.XSLApplyTemplates.process(XSLApplyTemplates.java:135)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at 
com.icl.saxon.style.LiteralResultElement.process(LiteralResultElement.java:289)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:198)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:246)
        at com.icl.saxon.Controller.defaultAction(Controller.java:271)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:236)
        at 
com.icl.saxon.style.XSLApplyTemplates.process(XSLApplyTemplates.java:135)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLIf.process(XSLIf.java:78)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
        at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
        at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLOtherwise.process(XSLOtherwise.java:48)
        at com.icl.saxon.style.XSLChoose.process(XSLChoose.java:96)
        at 
com.icl.saxon.style.StyleElement.processChildren(StyleElement.java:634)
        at com.icl.saxon.style.XSLTemplate.expand(XSLTemplate.java:225)
        at com.icl.saxon.style.XSLTemplate.start(XSLTemplate.java:198)
        at com.icl.saxon.Controller.applyTemplates(Controller.java:246)
        at com.icl.saxon.Controller.run(Controller.java:178)
        at com.icl.saxon.Controller.transformDocument(Controller.java:1086)
        at com.icl.saxon.Controller.transform(Controller.java:953)
        at 
org.jboss.jdocbook.render.impl.BasicRenderer.performRendering(BasicRenderer.java:165)
        at 
org.jboss.jdocbook.render.impl.BasicRenderer.render(BasicRenderer.java:153)
        at 
org.jboss.jdocbook.render.impl.BasicRenderer.render(BasicRenderer.java:98)
        at 
org.jboss.maven.plugins.jdocbook.GenerationMojo.process(GenerationMojo.java:112)
        at 
org.jboss.maven.plugins.jdocbook.AbstractDocBookMojo.doExecute(AbstractDocBookMojo.java:379)
        at 
org.jboss.maven.plugins.jdocbook.AbstractDocBookMojo.execute(AbstractDocBookMojo.java:407)
        at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291)
        at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:287)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 29 seconds
[INFO] Finished at: Tue Jun 09 09:59:28 CDT 2009
[INFO] Final Memory: 41M/552M
[INFO] ------------------------------------------------------------------------
			// this code is mostly copied from
			// http://dev.plutext.org/trac/docx4j/browser/trunk/docx4j/src/main/java/org/docx4j/convert/out/pdf/viaXSLFO/Conversion.java
			//
			// Thanks to Jason Harrop from the fop-user list (and who wrote that code) for pointing it out
			for ( EmbedFontInfo embedFontInfo : locateEmbedFontInfos() ) {
				DefaultConfiguration fontConfig = new DefaultConfiguration( "font" );
				fontsConfig.addChild( fontConfig );
				fontConfig.setAttribute( "embed-url", embedFontInfo.getEmbedFile() );
				if ( embedFontInfo.getSubFontName() != null ) {
					fontConfig.setAttribute( "sub-font", embedFontInfo.getSubFontName() );
				}

				FontTriplet triplet = ( FontTriplet ) embedFontInfo.getFontTriplets().get( 0 );
				sout.println(
						"Adding font [name=" + triplet.getName()
								+ ", sub-name=" + ( embedFontInfo.getSubFontName() == null ? "n/a" : embedFontInfo.getSubFontName() )
								+ "], embed-url=" + embedFontInfo.getEmbedFile()
				);


				fontConfig.addChild(
						generateFontTripletConfig(
								triplet.getName(),
								triplet.getStyle(),
								triplet.getWeight()
						)
				);
				fontConfig.addChild(
						generateFontTripletConfig(
								triplet.getName(),
								"normal",
								"bold"
						)
				);
				fontConfig.addChild(
						generateFontTripletConfig(
								triplet.getName(),
								"italic",
								"bold"
						)
				);
				fontConfig.addChild(
						generateFontTripletConfig(
								triplet.getName(),
								"italic",
								"normal"
						)
				);
			}




		private List<EmbedFontInfo> locateEmbedFontInfos() {
			List<EmbedFontInfo> infoList = new ArrayList<EmbedFontInfo>();
			if ( environment.getFontDirectories() != null ) {
				FontCache fontCache = FontCache.load();
				if ( fontCache == null ) {
					fontCache = new FontCache();
				}
				FontResolver fontResolver = new CusomtFontResolver();
				FontInfoFinder fontInfoFinder = new FontInfoFinder();
				for ( File fontDirectory : environment.getFontDirectories() ) {
					for ( File fontFile : fontDirectory.listFiles() ) {
						sout.println( "Loading font file : " + fontFile.getAbsolutePath() );
						EmbedFontInfo[] infos = fontInfoFinder.find( toURL( fontFile ), fontResolver, fontCache );
						if ( infos == null || infos.length == 0 ) {
							sout.println( "problem loading font file..." );
							continue;
						}
						for ( EmbedFontInfo info : infos ) {
							if ( info.getEmbedFile() != null ) {
								infoList.add( info );
							}
						}
					}
				}
			}

			return infoList;
		}

		private DefaultConfiguration generateFontTripletConfig(String name, String style, int weight) {
			return generateFontTripletConfig(
					name,
					style,
					weight >= 700 ? "bold" : "normal"
			);
		}

		private DefaultConfiguration generateFontTripletConfig(String name, String style, String weight) {
			DefaultConfiguration tripletConfig = new DefaultConfiguration( "font-triplet" );
			tripletConfig.setAttribute( "name", name );
			tripletConfig.setAttribute( "style", style );
			tripletConfig.setAttribute( "weight", weight );

			return tripletConfig;
		}



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to