Home
Analytics
in PDF, Korean characters are broken ..
Elkaras
Hi..
in local environment, the report works fine ...
web viewer ..and for pdf output ..there's now problem ..
but in the development server ..
all the Characters in Korean is shown as broken.
I don't know the reason for.
Find more posts tagged with
Comments
mwilliams
Is the issue for PDF only or for all deployed outputs? Are you certain you have the fonts available in your deployed environment? For PDF, they must be ttf.
You might take a look at this old bug:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=258295
Elkaras
<blockquote class='ipsBlockquote' data-author="'mwilliams'" data-cid="114931" data-time="1362772860" data-date="08 March 2013 - 01:01 PM"><p>
Is the issue for PDF only or for all deployed outputs? Are you certain you have the fonts available in your deployed environment? For PDF, they must be ttf.<br />
<br />
You might take a look at this old bug: <a class='bbc_url' href='
https://bugs.eclipse.org/bugs/show_bug.cgi?id=258295'>https://bugs.eclipse.org/bugs/show_bug.cgi?id=258295</a><br
/></p></blockquote>
<br />
I got it ..so I looked for font-config.xml ..in birt.jar.<br />
<br />
And I've seen ..that 'HYGothic-Medium' font supports for Korean for all outputs..as default ..<br />
<br />
now it's okay on local, I think it's going to be okay on dev server..^^<br />
<br />
thanx a lot ..<br />
<br />
and here's one more question..for warning logs..<br />
<br />
it is ..<br />
<br />
[ logs ..-begin - ]<br />
<br />
2013. 3. 11 ?? 3:29:19 org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManagerFactory createFont<br />
??: UniKS-UCS2-H<br />
ExceptionConverter: java.io.UnsupportedEncodingException: UniKS-UCS2-H<br />
at java.lang.StringCoding.encode(StringCoding.java:269)<br />
at java.lang.String.getBytes(String.java:946)<br />
at com.lowagie.text.pdf.PdfEncodings.convertToBytes(Unknown Source)<br />
at com.lowagie.text.pdf.TrueTypeFont.<init>(Unknown Source)<br />
at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)<br />
at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)<br />
at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)<br />
at com.lowagie.text.FontFactoryImp.getFont(Unknown Source)<br />
at com.lowagie.text.FontFactoryImp.getFont(Unknown Source)<br />
at com.lowagie.text.FontFactory.getFont(Unknown Source)<br />
at com.lowagie.text.FontFactory.getFont(Unknown Source)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManagerFactory.createFont(FontMappingManagerFactory.java:525)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManager.createFont(FontMappingManager.java:163)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.CompositeFont.<init>(CompositeFont.java:113)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManagerFactory.createCompositeFont(FontMappingManagerFactory.java:490)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManager.<init>(FontMappingManager.java:70)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManagerFactory.createFontMappingManager(FontMappingManagerFactory.java:322)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManagerFactory.createFontMappingManager(FontMappingManagerFactory.java:297)<br />
at org.eclipse.birt.report.engine.layout.pdf.font.FontMappingManagerFactory.getFontMappingManager(FontMappingManagerFactory.java:171)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutContext.getFontManager(LayoutContext.java:356)<br />
at org.eclipse.birt.report.engine.nLayout.area.impl.TextAreaLayout.<init>(TextAreaLayout.java:76)<br />
at org.eclipse.birt.report.engine.nLayout.area.impl.BlockTextArea.layout(BlockTextArea.java:65)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.startContent(LayoutEngine.java:538)<br />
at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startText(ContentEmitterAdapter.java:147)<br />
at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startLabel(ContentEmitterAdapter.java:153)<br />
at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:65)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.visitContent(LayoutEngine.java:693)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.visitContent(LayoutEngine.java:701)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.visitContent(LayoutEngine.java:701)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.visitContent(LayoutEngine.java:701)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.visitChildren(LayoutEngine.java:717)<br />
at org.eclipse.birt.report.engine.nLayout.RegionLayoutEngine.layout(RegionLayoutEngine.java:31)<br />
at org.eclipse.birt.report.engine.nLayout.area.impl.PageArea.layoutHeader(PageArea.java:446)<br />
at org.eclipse.birt.report.engine.nLayout.area.impl.PageArea.initialize(PageArea.java:248)<br />
at org.eclipse.birt.report.engine.nLayout.area.impl.RootArea.createNewPage(RootArea.java:147)<br />
at org.eclipse.birt.report.engine.nLayout.area.impl.RootArea.initialize(RootArea.java:138)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.setContainer(LayoutEngine.java:366)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine._startContainer(LayoutEngine.java:453)<br />
at org.eclipse.birt.report.engine.nLayout.LayoutEngine.startContainer(LayoutEngine.java:353)<br />
at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startPage(ContentEmitterAdapter.java:65)<br />
at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:47)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.PageNode.start(PageNode.java:49)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.ContainerBufferNode.start(ContainerBufferNode.java:79)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.ContainerBufferNode.start(ContainerBufferNode.java:79)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.ContainerBufferNode.start(ContainerBufferNode.java:79)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.ContainerBufferNode.start(ContainerBufferNode.java:79)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.ContainerBufferNode.start(ContainerBufferNode.java:79)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.ContainerBufferNode.start(ContainerBufferNode.java:79)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.ContainerBufferNode.start(ContainerBufferNode.java:79)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.HTMLPageBuffer.startContent(HTMLPageBuffer.java:113)<br />
at org.eclipse.birt.report.engine.layout.html.buffer.TableBreakBuffer.startContent(TableBreakBuffer.java:287)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLLeafItemLM.start(HTMLLeafItemLM.java:67)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:139)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.layoutChildren(HTMLTableBandLM.java:67)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)<br />
at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)<br />
at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:249)<br />
at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:262)<br />
at org.eclipse.birt.report.engine.api.impl.RunTask.run(RunTask.java:86)<br />
at org.eclipse.birt.report.service.ReportEngineService.runReport(ReportEngineService.java:1317)<br />
at org.eclipse.birt.report.service.BirtViewerReportService.runReport(BirtViewerReportService.java:158)<br />
at org.eclipse.birt.report.service.actionhandler.BirtRunReportActionHandler.__execute(BirtRunReportActionHandler.java:81)<br />
at org.eclipse.birt.report.service.actionhandler.BirtGetPageActionHandler.__checkDocumentExists(BirtGetPageActionHandler.java:58)<br />
at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.prepareParameters(AbstractGetPageActionHandler.java:119)<br />
at org.eclipse.birt.report.service.actionhandler.AbstractGetPageActionHandler.__execute(AbstractGetPageActionHandler.java:104)<br />
at org.eclipse.birt.report.service.actionhandler.AbstractBaseActionHandler.execute(AbstractBaseActionHandler.java:90)<br />
at org.eclipse.birt.report.soapengine.processor.AbstractBaseDocumentProcessor.__executeAction(AbstractBaseDocumentProcessor.java:47)<br />
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.executeAction(AbstractBaseComponentProcessor.java:143)<br />
at org.eclipse.birt.report.soapengine.processor.BirtDocumentProcessor.handleGetPage(BirtDocumentProcessor.java:87)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
at java.lang.reflect.Method.invoke(Method.java:597)<br />
at org.eclipse.birt.report.soapengine.processor.AbstractBaseComponentProcessor.process(AbstractBaseComponentProcessor.java:112)<br />
at org.eclipse.birt.report.soapengine.endpoint.BirtSoapBindingImpl.getUpdatedObjects(BirtSoapBindingImpl.java:66)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
at java.lang.reflect.Method.invoke(Method.java:597)<br />
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)<br />
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)<br />
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)<br />
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)<br />
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)<br />
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)<br />
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454)<br />
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)<br />
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)<br />
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.doPost(BirtSoapMessageDispatcherServlet.java:265)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)<br />
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)<br />
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)<br />
at org.eclipse.birt.report.servlet.BirtSoapMessageDispatcherServlet.service(BirtSoapMessageDispatcherServlet.java:122)<br />
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)<br />
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)<br />
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)<br />
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)<br />
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)<br />
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)<br />
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)<br />
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)<br />
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)<br />
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)<br />
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)<br />
at java.lang.Thread.run(Thread.java:662)<br />
<br />
[ - end - log ]<br />
<br />
I do not know ..why it happened ..?! and warning ...<br />
<br />
all the font-family set 'HYGothic-Medium'..
Elkaras
And ..also ..^^
..Could you please give me an example to ..set font-config.xml ..?
... step by step ...?...
like ...
1. make directory 'font' directory under WEB-INF/class/
2. copy any ttf file into font folder that you make step1 -> WEB-INF/class/font/any-name.ttf;
3. edit font-config.xml in org.eclipse.birt.runtime_3.7.2.v20120214-1408.jar
font-path ..???
font-family ..
I'm a newbie for java developer ...
..if some body help me ... i really aprreciate ..for this .. ?? ...
I'm so..sorry to being ..rude ... ?? ..
mwilliams
You should be able to point the fonts config file to any folder you create for your fonts. When you open it up, you should see all the different places it already points to. You could just put your fonts in one of those locations.
As far as the warning above goes, if everything is working correctly, you can probably just ignore it.