You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by bu...@apache.org on 2004/03/17 06:36:20 UTC
DO NOT REPLY [Bug 27727] New: -
problem displaying Japanese fonts in PDF.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=27727>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=27727
problem displaying Japanese fonts in PDF.
Summary: problem displaying Japanese fonts in PDF.
Product: Fop
Version: 0.15
Platform: HP
OS/Version: Windows NT/2K
Status: NEW
Severity: Major
Priority: Other
Component: pdf renderer
AssignedTo: fop-dev@xml.apache.org
ReportedBy: mksjoshi@yahoo.com
I have a problem while rendering XML containing unicode characters into japanese
characters.
I am working on Weblogic 8.1 on NT OS. When the font
file(Msmincho.ttf) is placed in c:/winnt/fonts
directory the rendering works fine and pdf is
generated with Japanese Characters. But when the ttf
file is place in a different folder I get the
following exception even though I have made an entry in basedir element of
userconfig file.
java.lang.NullPointerException
at
org.apache.fop.render.pdf.fonts.LazyFont.getAscender(LazyFont.java:82)
at
org.apache.fop.layout.FontState.getAscender(FontState.java:56)
at
org.apache.fop.layout.LineArea.<init>(LineArea.java:111)
at
org.apache.fop.layout.BlockArea.start(BlockArea.java:181)
at
org.apache.fop.fo.flow.Block.layout(Block.java:251)
at
org.apache.fop.fo.flow.TableCell.layout(TableCell.java:269)
at
org.apache.fop.fo.flow.TableRow.layout(TableRow.java:344)
at
org.apache.fop.fo.flow.TableBody.layout(TableBody.java:172)
at
org.apache.fop.fo.flow.Table.layout(Table.java:247)
at
org.apache.fop.fo.flow.Flow.layout(Flow.java:156)
at
org.apache.fop.fo.flow.Flow.layout(Flow.java:113)
at
org.apache.fop.fo.pagination.PageSequence.format(PageSequence.java:296)
at
org.apache.fop.apps.StreamRenderer.render(StreamRenderer.java:200)
at
org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:182)
at
org.apache.xerces.parsers.AbstractSAXParser.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.DTDConfiguration.parse(Unknown
Source)
at
org.apache.xerces.parsers.DTDConfiguration.parse(Unknown
Source)
at
org.apache.xerces.parsers.XMLParser.parse(Unknown
Source)
at
org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown
Source)
at
org.apache.fop.apps.Driver.render(Driver.java:481)
at
org.apache.fop.apps.Driver.run(Driver.java:554)
at
com.db.eqr.ger.ui.web.company.pdf.GenerateMYPDF.createPDF(GenerateMYPDF.java:150)
at
com.db.eqr.ger.ui.web.company.pdf.CompanyPDFAction.execute(CompanyPDFAction.java:146)
at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:465)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1422)
at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:523)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1053)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:387)
at
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
Can anyone help me out and let me know what could be the problem here.
I have used the following userconfig file.
<!--<!DOCTYPE configuration SYSTEM "config.dtd">-->
<!--
this file contains templates which allow an user
easy
configuration of Fop. Actually normally you don't
need this configuration
file, but if you need to change configuration,
you should
always use this file and *not* config.xml.
Usage: java org.apache.fop.apps.Fop -c
userconfig.xml -fo fo-file -pdf pdf-file
-->
<configuration>
<!-- NOT IMPLEMENTED
basedir: normally the base directory is the directory
where the fo file is
located. if you want to specify your own,
uncomment this entry
-->
<entry>
<key>baseDir</key>
<value>c:/shyamajoshi/conf/fop</value>
</entry>
<!--
************************************************************************
HYPHENATION
************************************************************************
-->
<!--
hyphenation directory
if you want to specify your own directory with
hyphenation pattern
then uncomment the next entry and add the directory
name
-->
<!--
<entry>
<key>hyphenation-dir</key>
<value>/java/xml-fop/hyph</value>
</entry>
-->
<!--
************************************************************************
Add fonts here
************************************************************************
-->
<fonts>
<!-- example -->
<!--
<font metrics-file="arial.xml" kerning="yes"
embed-file="arial.ttf">
<font-triplet name="Arial" style="normal"
weight="normal"/>
<font-triplet name="ArialMT" style="normal"
weight="normal"/>
</font>
<font metrics-file="arialb.xml" kerning="yes"
embed-file="arialb.ttf">
<font-triplet name="Arial" style="normal"
weight="bold"/>
<font-triplet name="ArialMT" style="normal"
weight="bold"/>
</font>
<font metrics-file="ariali.xml" kerning="yes"
embed-file="ariali.ttf">
<font-triplet name="Arial" style="italic"
weight="normal"/>
<font-triplet name="ArialMT" style="italic"
weight="normal"/>
</font>
<font metrics-file="arialbi.xml" kerning="yes"
embed-file="arialbi.ttf">
<font-triplet name="Arial" style="italic"
weight="bold"/>
<font-triplet name="ArialMT" style="italic"
weight="bold"/>
</font>
-->
<!-- Example Japanese fonts
<font metrics-file="msgothic.xml"
embed-file="D:\winnt\font\msgothic.ttc" kerning="yes">
<font-triplet name="Gothic" style="normal"
weight="normal"/>
<font-triplet name="Gothic" style="normal"
weight="bold"/>
<font-triplet name="Gothic" style="italic"
weight="normal"/>
<font-triplet name="Gothic" style="italic"
weight="bold"/>
</font>
<font metrics-file="msmincho.xml"
embed-file="Cyberbit.ttf" kerning="yes">
<font-triplet name="Mincho" style="normal"
weight="normal"/>
<font-triplet name="Mincho" style="normal"
weight="bold"/>
<font-triplet name="Mincho" style="italic"
weight="normal"/>
<font-triplet name="Mincho" style="italic"
weight="bold"/>
</font>
-->
<font metrics-file="msmincho.xml"
embed-file="msmincho.ttf" kerning="yes">
<font-triplet name="MSMincho" style="normal"
weight="normal"/>
<font-triplet name="MSMincho" style="normal"
weight="bold"/>
<font-triplet name="MSMincho" style="italic"
weight="normal"/>
<font-triplet name="MSMincho" style="italic"
weight="bold"/>
</font>
</fonts>
</configuration>
Regards,
Shyama