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 Martin Furek <ma...@gmail.com> on 2021/01/27 14:21:47 UTC

Supporting Emojis in PDFs

I would like to support new emojis in my PDFs, even the ones divided
by a ZWJ (zero width joiner) such as are present in the NotoColorEmoji
font (https://www.google.com/get/noto/) like the health worker emoji.
However, using the mentioned font results in an exception. What are my
options, since in the ISSUES you suggest using a font containing the
desired glyphs?

Exception when loading NotoColorEmoji.ttf:
2021-01-27 15:19:18,104 ERROR [org.apa.fop.fon.LazyFont]
(ForkJoinPool.commonPool-worker-3) Failed to read font file
file:///C:/Roboto/Noto/NotoColorEmo
ji.ttf 'loca' table not found, happens when the font file doesn't
contain TrueType outlines (trying to read an OpenType CFF font
maybe?): java.io.IOExce
ption: 'loca' table not found, happens when the font file doesn't
contain TrueType outlines (trying to read an OpenType CFF font maybe?)
        at org.apache.fop.fonts.truetype.TTFFile.readIndexToLocation(TTFFile.java:180)
        at org.apache.fop.fonts.truetype.TTFFile.updateBBoxAndOffset(TTFFile.java:169)
        at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:856)
        at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119)
        at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103)
        at org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126)
        at org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110)
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:121)
        at org.apache.fop.fonts.LazyFont.getRealFont(LazyFont.java:147)
        at org.apache.fop.fonts.Font.getRealFontMetrics(Font.java:318)
        at org.apache.fop.fonts.Font.hasCodePoint(Font.java:291)
        at org.apache.fop.fonts.FontSelector.selectFontForCharactersInText(FontSelector.java:124)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.processWord(TextLayoutManager.java:955)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:819)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getNextKnuthElements(InlineLayoutManager.java:331)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:698)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:627)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:292)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105)
        at org.apache.fop.layoutmgr.table.TableCellLayoutManager.getNextKnuthElements(TableCellLayoutManager.java:191)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.createElementsForRowGroup(RowGroupLayoutManager.java:120)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.getNextKnuthElements(RowGroupLayoutManager.java:63)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getKnuthElementsForRowIterator(TableContentLayoutManager.java:270)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getNextKnuthElements(TableContentLayoutManager.java:212)
        at org.apache.fop.layoutmgr.table.TableLayoutManager.getNextKnuthElements(TableLayoutManager.java:274)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:223)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:148)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:116)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:252)
        at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:159)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:385)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
        at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:389)
        at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:140)
        at net.sf.saxon.event.SequenceNormalizer.endElement(SequenceNormalizer.java:141)
        at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:533)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.jav
a:2883)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
        at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
        at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:439)
        at net.sf.saxon.event.Sender.send(Sender.java:168)
        at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:368)
        at at.apa.printservice.print.XsltService.transformWithContentHandler(XsltService.java:65)
        at at.apa.printservice.print.XsltService_ClientProxy.transformWithContentHandler(XsltService_ClientProxy.zig:42)
        at at.apa.printservice.print.PrintService.createDocument(PrintService.java:121)
        at at.apa.printservice.print.PrintService_Subclass.createDocument$$superaccessor1(PrintService_Subclass.zig:132)
        at at.apa.printservice.print.PrintService_Subclass$$function$$1.apply(PrintService_Subclass$$function$$1.zig:51)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$5(FaultToleranceInterceptor.java:197)
        at io.smallrye.faulttolerance.core.InvocationContext.call(InvocationContext.java:20)
        at io.smallrye.faulttolerance.core.Invocation.apply(Invocation.java:24)
        at io.smallrye.faulttolerance.core.bulkhead.SemaphoreBulkhead.apply(SemaphoreBulkhead.java:23)
        at io.smallrye.faulttolerance.core.retry.Retry.apply(Retry.java:50)
        at io.smallrye.faulttolerance.core.GeneralMetricsRecorder.apply(GeneralMetricsRecorder.java:17)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.syncFlow(FaultToleranceInterceptor.java:199)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.interceptCommand(FaultToleranceInterceptor.java:152)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor_Bean.intercept(FaultToleranceInterceptor_Bean.zig:471)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at at.apa.printservice.print.PrintService_Subclass.createDocument(PrintService_Subclass.zig:78)
        at at.apa.printservice.print.PrintService.lambda$createDocumentAsync$0(PrintService.java:60)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

2021-01-27 15:19:18,173 ERROR [at.apa.pri.pri.PrintService]
(ForkJoinPool.commonPool-worker-3) baseId
a9b8cee24efbd4f98b13f026414851b7, error during pdf
 creation: java.lang.NullPointerException
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:137)
        at org.apache.fop.fonts.LazyFont.getRealFont(LazyFont.java:147)
        at org.apache.fop.fonts.Font.getRealFontMetrics(Font.java:318)
        at org.apache.fop.fonts.Font.hasCodePoint(Font.java:291)
        at org.apache.fop.fonts.FontSelector.selectFontForCharactersInText(FontSelector.java:124)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.processWord(TextLayoutManager.java:955)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:819)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getNextKnuthElements(InlineLayoutManager.java:331)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:698)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:627)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:292)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105)
        at org.apache.fop.layoutmgr.table.TableCellLayoutManager.getNextKnuthElements(TableCellLayoutManager.java:191)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.createElementsForRowGroup(RowGroupLayoutManager.java:120)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.getNextKnuthElements(RowGroupLayoutManager.java:63)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getKnuthElementsForRowIterator(TableContentLayoutManager.java:270)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getNextKnuthElements(TableContentLayoutManager.java:212)
        at org.apache.fop.layoutmgr.table.TableLayoutManager.getNextKnuthElements(TableLayoutManager.java:274)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:223)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:148)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:116)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:252)
        at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:159)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:385)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
        at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:389)
        at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:140)
        at net.sf.saxon.event.SequenceNormalizer.endElement(SequenceNormalizer.java:141)
        at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:533)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.jav
a:2883)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
        at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
        at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:439)
        at net.sf.saxon.event.Sender.send(Sender.java:168)
        at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:368)
        at at.apa.printservice.print.XsltService.transformWithContentHandler(XsltService.java:65)
        at at.apa.printservice.print.XsltService_ClientProxy.transformWithContentHandler(XsltService_ClientProxy.zig:42)
        at at.apa.printservice.print.PrintService.createDocument(PrintService.java:121)
        at at.apa.printservice.print.PrintService_Subclass.createDocument$$superaccessor1(PrintService_Subclass.zig:132)
        at at.apa.printservice.print.PrintService_Subclass$$function$$1.apply(PrintService_Subclass$$function$$1.zig:51)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$5(FaultToleranceInterceptor.java:197)
        at io.smallrye.faulttolerance.core.InvocationContext.call(InvocationContext.java:20)
        at io.smallrye.faulttolerance.core.Invocation.apply(Invocation.java:24)
        at io.smallrye.faulttolerance.core.bulkhead.SemaphoreBulkhead.apply(SemaphoreBulkhead.java:23)
        at io.smallrye.faulttolerance.core.retry.Retry.apply(Retry.java:50)
        at io.smallrye.faulttolerance.core.GeneralMetricsRecorder.apply(GeneralMetricsRecorder.java:17)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.syncFlow(FaultToleranceInterceptor.java:199)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.interceptCommand(FaultToleranceInterceptor.java:152)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor_Bean.intercept(FaultToleranceInterceptor_Bean.zig:471)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at at.apa.printservice.print.PrintService_Subclass.createDocument(PrintService_Subclass.zig:78)
        at at.apa.printservice.print.PrintService.lambda$createDocumentAsync$0(PrintService.java:60)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

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


RE: Supporting Emojis in PDFs

Posted by Simon Steiner <si...@gmail.com>.
Hi,

Also try NotoColorEmoji_WindowsCompatible.ttf

Thanks

-----Original Message-----
From: Simon Steiner <si...@gmail.com> 
Sent: 27 January 2021 15:07
To: fop-users@xmlgraphics.apache.org
Subject: RE: Supporting Emojis in PDFs

Hi,

What about using OpenMoji-Color? You should raise a bug but NotoColorEmoji doesn’t open in fontforge.

Thanks

-----Original Message-----
From: Martin Furek <ma...@gmail.com> 
Sent: 27 January 2021 14:22
To: fop-users@xmlgraphics.apache.org
Subject: Supporting Emojis in PDFs

I would like to support new emojis in my PDFs, even the ones divided by a ZWJ (zero width joiner) such as are present in the NotoColorEmoji font (https://www.google.com/get/noto/) like the health worker emoji.
However, using the mentioned font results in an exception. What are my options, since in the ISSUES you suggest using a font containing the desired glyphs?

Exception when loading NotoColorEmoji.ttf:
2021-01-27 15:19:18,104 ERROR [org.apa.fop.fon.LazyFont]
(ForkJoinPool.commonPool-worker-3) Failed to read font file file:///C:/Roboto/Noto/NotoColorEmo
ji.ttf 'loca' table not found, happens when the font file doesn't contain TrueType outlines (trying to read an OpenType CFF font
maybe?): java.io.IOExce
ption: 'loca' table not found, happens when the font file doesn't contain TrueType outlines (trying to read an OpenType CFF font maybe?)
        at org.apache.fop.fonts.truetype.TTFFile.readIndexToLocation(TTFFile.java:180)
        at org.apache.fop.fonts.truetype.TTFFile.updateBBoxAndOffset(TTFFile.java:169)
        at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:856)
        at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119)
        at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103)
        at org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126)
        at org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110)
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:121)
        at org.apache.fop.fonts.LazyFont.getRealFont(LazyFont.java:147)
        at org.apache.fop.fonts.Font.getRealFontMetrics(Font.java:318)
        at org.apache.fop.fonts.Font.hasCodePoint(Font.java:291)
        at org.apache.fop.fonts.FontSelector.selectFontForCharactersInText(FontSelector.java:124)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.processWord(TextLayoutManager.java:955)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:819)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getNextKnuthElements(InlineLayoutManager.java:331)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:698)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:627)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:292)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105)
        at org.apache.fop.layoutmgr.table.TableCellLayoutManager.getNextKnuthElements(TableCellLayoutManager.java:191)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.createElementsForRowGroup(RowGroupLayoutManager.java:120)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.getNextKnuthElements(RowGroupLayoutManager.java:63)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getKnuthElementsForRowIterator(TableContentLayoutManager.java:270)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getNextKnuthElements(TableContentLayoutManager.java:212)
        at org.apache.fop.layoutmgr.table.TableLayoutManager.getNextKnuthElements(TableLayoutManager.java:274)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:223)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:148)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:116)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:252)
        at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:159)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:385)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
        at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:389)
        at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:140)
        at net.sf.saxon.event.SequenceNormalizer.endElement(SequenceNormalizer.java:141)
        at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:533)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.jav
a:2883)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
        at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
        at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:439)
        at net.sf.saxon.event.Sender.send(Sender.java:168)
        at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:368)
        at at.apa.printservice.print.XsltService.transformWithContentHandler(XsltService.java:65)
        at at.apa.printservice.print.XsltService_ClientProxy.transformWithContentHandler(XsltService_ClientProxy.zig:42)
        at at.apa.printservice.print.PrintService.createDocument(PrintService.java:121)
        at at.apa.printservice.print.PrintService_Subclass.createDocument$$superaccessor1(PrintService_Subclass.zig:132)
        at at.apa.printservice.print.PrintService_Subclass$$function$$1.apply(PrintService_Subclass$$function$$1.zig:51)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$5(FaultToleranceInterceptor.java:197)
        at io.smallrye.faulttolerance.core.InvocationContext.call(InvocationContext.java:20)
        at io.smallrye.faulttolerance.core.Invocation.apply(Invocation.java:24)
        at io.smallrye.faulttolerance.core.bulkhead.SemaphoreBulkhead.apply(SemaphoreBulkhead.java:23)
        at io.smallrye.faulttolerance.core.retry.Retry.apply(Retry.java:50)
        at io.smallrye.faulttolerance.core.GeneralMetricsRecorder.apply(GeneralMetricsRecorder.java:17)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.syncFlow(FaultToleranceInterceptor.java:199)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.interceptCommand(FaultToleranceInterceptor.java:152)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor_Bean.intercept(FaultToleranceInterceptor_Bean.zig:471)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at at.apa.printservice.print.PrintService_Subclass.createDocument(PrintService_Subclass.zig:78)
        at at.apa.printservice.print.PrintService.lambda$createDocumentAsync$0(PrintService.java:60)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

2021-01-27 15:19:18,173 ERROR [at.apa.pri.pri.PrintService]
(ForkJoinPool.commonPool-worker-3) baseId a9b8cee24efbd4f98b13f026414851b7, error during pdf
 creation: java.lang.NullPointerException
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:137)
        at org.apache.fop.fonts.LazyFont.getRealFont(LazyFont.java:147)
        at org.apache.fop.fonts.Font.getRealFontMetrics(Font.java:318)
        at org.apache.fop.fonts.Font.hasCodePoint(Font.java:291)
        at org.apache.fop.fonts.FontSelector.selectFontForCharactersInText(FontSelector.java:124)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.processWord(TextLayoutManager.java:955)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:819)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getNextKnuthElements(InlineLayoutManager.java:331)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:698)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:627)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:292)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105)
        at org.apache.fop.layoutmgr.table.TableCellLayoutManager.getNextKnuthElements(TableCellLayoutManager.java:191)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.createElementsForRowGroup(RowGroupLayoutManager.java:120)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.getNextKnuthElements(RowGroupLayoutManager.java:63)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getKnuthElementsForRowIterator(TableContentLayoutManager.java:270)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getNextKnuthElements(TableContentLayoutManager.java:212)
        at org.apache.fop.layoutmgr.table.TableLayoutManager.getNextKnuthElements(TableLayoutManager.java:274)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:223)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:148)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:116)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:252)
        at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:159)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:385)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
        at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:389)
        at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:140)
        at net.sf.saxon.event.SequenceNormalizer.endElement(SequenceNormalizer.java:141)
        at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:533)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.jav
a:2883)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
        at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
        at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:439)
        at net.sf.saxon.event.Sender.send(Sender.java:168)
        at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:368)
        at at.apa.printservice.print.XsltService.transformWithContentHandler(XsltService.java:65)
        at at.apa.printservice.print.XsltService_ClientProxy.transformWithContentHandler(XsltService_ClientProxy.zig:42)
        at at.apa.printservice.print.PrintService.createDocument(PrintService.java:121)
        at at.apa.printservice.print.PrintService_Subclass.createDocument$$superaccessor1(PrintService_Subclass.zig:132)
        at at.apa.printservice.print.PrintService_Subclass$$function$$1.apply(PrintService_Subclass$$function$$1.zig:51)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$5(FaultToleranceInterceptor.java:197)
        at io.smallrye.faulttolerance.core.InvocationContext.call(InvocationContext.java:20)
        at io.smallrye.faulttolerance.core.Invocation.apply(Invocation.java:24)
        at io.smallrye.faulttolerance.core.bulkhead.SemaphoreBulkhead.apply(SemaphoreBulkhead.java:23)
        at io.smallrye.faulttolerance.core.retry.Retry.apply(Retry.java:50)
        at io.smallrye.faulttolerance.core.GeneralMetricsRecorder.apply(GeneralMetricsRecorder.java:17)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.syncFlow(FaultToleranceInterceptor.java:199)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.interceptCommand(FaultToleranceInterceptor.java:152)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor_Bean.intercept(FaultToleranceInterceptor_Bean.zig:471)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at at.apa.printservice.print.PrintService_Subclass.createDocument(PrintService_Subclass.zig:78)
        at at.apa.printservice.print.PrintService.lambda$createDocumentAsync$0(PrintService.java:60)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

---------------------------------------------------------------------
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: Supporting Emojis in PDFs

Posted by Simon Steiner <si...@gmail.com>.
Hi,

What about using OpenMoji-Color? You should raise a bug but NotoColorEmoji doesn’t open in fontforge.

Thanks

-----Original Message-----
From: Martin Furek <ma...@gmail.com> 
Sent: 27 January 2021 14:22
To: fop-users@xmlgraphics.apache.org
Subject: Supporting Emojis in PDFs

I would like to support new emojis in my PDFs, even the ones divided by a ZWJ (zero width joiner) such as are present in the NotoColorEmoji font (https://www.google.com/get/noto/) like the health worker emoji.
However, using the mentioned font results in an exception. What are my options, since in the ISSUES you suggest using a font containing the desired glyphs?

Exception when loading NotoColorEmoji.ttf:
2021-01-27 15:19:18,104 ERROR [org.apa.fop.fon.LazyFont]
(ForkJoinPool.commonPool-worker-3) Failed to read font file file:///C:/Roboto/Noto/NotoColorEmo
ji.ttf 'loca' table not found, happens when the font file doesn't contain TrueType outlines (trying to read an OpenType CFF font
maybe?): java.io.IOExce
ption: 'loca' table not found, happens when the font file doesn't contain TrueType outlines (trying to read an OpenType CFF font maybe?)
        at org.apache.fop.fonts.truetype.TTFFile.readIndexToLocation(TTFFile.java:180)
        at org.apache.fop.fonts.truetype.TTFFile.updateBBoxAndOffset(TTFFile.java:169)
        at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:856)
        at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119)
        at org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103)
        at org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126)
        at org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110)
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:121)
        at org.apache.fop.fonts.LazyFont.getRealFont(LazyFont.java:147)
        at org.apache.fop.fonts.Font.getRealFontMetrics(Font.java:318)
        at org.apache.fop.fonts.Font.hasCodePoint(Font.java:291)
        at org.apache.fop.fonts.FontSelector.selectFontForCharactersInText(FontSelector.java:124)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.processWord(TextLayoutManager.java:955)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:819)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getNextKnuthElements(InlineLayoutManager.java:331)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:698)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:627)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:292)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105)
        at org.apache.fop.layoutmgr.table.TableCellLayoutManager.getNextKnuthElements(TableCellLayoutManager.java:191)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.createElementsForRowGroup(RowGroupLayoutManager.java:120)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.getNextKnuthElements(RowGroupLayoutManager.java:63)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getKnuthElementsForRowIterator(TableContentLayoutManager.java:270)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getNextKnuthElements(TableContentLayoutManager.java:212)
        at org.apache.fop.layoutmgr.table.TableLayoutManager.getNextKnuthElements(TableLayoutManager.java:274)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:223)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:148)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:116)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:252)
        at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:159)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:385)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
        at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:389)
        at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:140)
        at net.sf.saxon.event.SequenceNormalizer.endElement(SequenceNormalizer.java:141)
        at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:533)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.jav
a:2883)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
        at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
        at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:439)
        at net.sf.saxon.event.Sender.send(Sender.java:168)
        at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:368)
        at at.apa.printservice.print.XsltService.transformWithContentHandler(XsltService.java:65)
        at at.apa.printservice.print.XsltService_ClientProxy.transformWithContentHandler(XsltService_ClientProxy.zig:42)
        at at.apa.printservice.print.PrintService.createDocument(PrintService.java:121)
        at at.apa.printservice.print.PrintService_Subclass.createDocument$$superaccessor1(PrintService_Subclass.zig:132)
        at at.apa.printservice.print.PrintService_Subclass$$function$$1.apply(PrintService_Subclass$$function$$1.zig:51)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$5(FaultToleranceInterceptor.java:197)
        at io.smallrye.faulttolerance.core.InvocationContext.call(InvocationContext.java:20)
        at io.smallrye.faulttolerance.core.Invocation.apply(Invocation.java:24)
        at io.smallrye.faulttolerance.core.bulkhead.SemaphoreBulkhead.apply(SemaphoreBulkhead.java:23)
        at io.smallrye.faulttolerance.core.retry.Retry.apply(Retry.java:50)
        at io.smallrye.faulttolerance.core.GeneralMetricsRecorder.apply(GeneralMetricsRecorder.java:17)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.syncFlow(FaultToleranceInterceptor.java:199)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.interceptCommand(FaultToleranceInterceptor.java:152)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor_Bean.intercept(FaultToleranceInterceptor_Bean.zig:471)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at at.apa.printservice.print.PrintService_Subclass.createDocument(PrintService_Subclass.zig:78)
        at at.apa.printservice.print.PrintService.lambda$createDocumentAsync$0(PrintService.java:60)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

2021-01-27 15:19:18,173 ERROR [at.apa.pri.pri.PrintService]
(ForkJoinPool.commonPool-worker-3) baseId a9b8cee24efbd4f98b13f026414851b7, error during pdf
 creation: java.lang.NullPointerException
        at org.apache.fop.fonts.LazyFont.load(LazyFont.java:137)
        at org.apache.fop.fonts.LazyFont.getRealFont(LazyFont.java:147)
        at org.apache.fop.fonts.Font.getRealFontMetrics(Font.java:318)
        at org.apache.fop.fonts.Font.hasCodePoint(Font.java:291)
        at org.apache.fop.fonts.FontSelector.selectFontForCharactersInText(FontSelector.java:124)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.processWord(TextLayoutManager.java:955)
        at org.apache.fop.layoutmgr.inline.TextLayoutManager.getNextKnuthElements(TextLayoutManager.java:819)
        at org.apache.fop.layoutmgr.inline.InlineLayoutManager.getNextKnuthElements(InlineLayoutManager.java:331)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.collectInlineKnuthElements(LineLayoutManager.java:698)
        at org.apache.fop.layoutmgr.inline.LineLayoutManager.getNextKnuthElements(LineLayoutManager.java:627)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextChildElements(BlockLayoutManager.java:141)
        at org.apache.fop.layoutmgr.BlockStackingLayoutManager.getNextKnuthElements(BlockStackingLayoutManager.java:292)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:113)
        at org.apache.fop.layoutmgr.BlockLayoutManager.getNextKnuthElements(BlockLayoutManager.java:105)
        at org.apache.fop.layoutmgr.table.TableCellLayoutManager.getNextKnuthElements(TableCellLayoutManager.java:191)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.createElementsForRowGroup(RowGroupLayoutManager.java:120)
        at org.apache.fop.layoutmgr.table.RowGroupLayoutManager.getNextKnuthElements(RowGroupLayoutManager.java:63)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getKnuthElementsForRowIterator(TableContentLayoutManager.java:270)
        at org.apache.fop.layoutmgr.table.TableContentLayoutManager.getNextKnuthElements(TableContentLayoutManager.java:212)
        at org.apache.fop.layoutmgr.table.TableLayoutManager.getNextKnuthElements(TableLayoutManager.java:274)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextChildElements(FlowLayoutManager.java:223)
        at org.apache.fop.layoutmgr.FlowLayoutManager.addChildElements(FlowLayoutManager.java:148)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:116)
        at org.apache.fop.layoutmgr.FlowLayoutManager.getNextKnuthElements(FlowLayoutManager.java:69)
        at org.apache.fop.layoutmgr.PageBreaker.getNextKnuthElements(PageBreaker.java:252)
        at org.apache.fop.layoutmgr.AbstractBreaker.getNextBlockList(AbstractBreaker.java:675)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:179)
        at org.apache.fop.layoutmgr.PageBreaker.getNextBlockList(PageBreaker.java:159)
        at org.apache.fop.layoutmgr.AbstractBreaker.doLayout(AbstractBreaker.java:385)
        at org.apache.fop.layoutmgr.PageBreaker.doLayout(PageBreaker.java:113)
        at org.apache.fop.layoutmgr.PageSequenceLayoutManager.activateLayout(PageSequenceLayoutManager.java:143)
        at org.apache.fop.area.AreaTreeHandler.endPageSequence(AreaTreeHandler.java:267)
        at org.apache.fop.fo.pagination.PageSequence.endOfNode(PageSequence.java:139)
        at org.apache.fop.fo.FOTreeBuilder$MainFOHandler.endElement(FOTreeBuilder.java:362)
        at org.apache.fop.fo.FOTreeBuilder.endElement(FOTreeBuilder.java:190)
        at net.sf.saxon.event.ContentHandlerProxy.endElement(ContentHandlerProxy.java:389)
        at net.sf.saxon.event.ProxyReceiver.endElement(ProxyReceiver.java:140)
        at net.sf.saxon.event.SequenceNormalizer.endElement(SequenceNormalizer.java:141)
        at net.sf.saxon.event.ReceivingContentHandler.endElement(ReceivingContentHandler.java:533)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:610)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1718)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.jav
a:2883)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:605)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:534)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:888)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:824)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
        at java.xml/com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1216)
        at java.xml/com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:635)
        at net.sf.saxon.event.Sender.sendSAXSource(Sender.java:439)
        at net.sf.saxon.event.Sender.send(Sender.java:168)
        at net.sf.saxon.jaxp.IdentityTransformer.transform(IdentityTransformer.java:368)
        at at.apa.printservice.print.XsltService.transformWithContentHandler(XsltService.java:65)
        at at.apa.printservice.print.XsltService_ClientProxy.transformWithContentHandler(XsltService_ClientProxy.zig:42)
        at at.apa.printservice.print.PrintService.createDocument(PrintService.java:121)
        at at.apa.printservice.print.PrintService_Subclass.createDocument$$superaccessor1(PrintService_Subclass.zig:132)
        at at.apa.printservice.print.PrintService_Subclass$$function$$1.apply(PrintService_Subclass$$function$$1.zig:51)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.proceed(AroundInvokeInvocationContext.java:54)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.lambda$syncFlow$5(FaultToleranceInterceptor.java:197)
        at io.smallrye.faulttolerance.core.InvocationContext.call(InvocationContext.java:20)
        at io.smallrye.faulttolerance.core.Invocation.apply(Invocation.java:24)
        at io.smallrye.faulttolerance.core.bulkhead.SemaphoreBulkhead.apply(SemaphoreBulkhead.java:23)
        at io.smallrye.faulttolerance.core.retry.Retry.apply(Retry.java:50)
        at io.smallrye.faulttolerance.core.GeneralMetricsRecorder.apply(GeneralMetricsRecorder.java:17)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.syncFlow(FaultToleranceInterceptor.java:199)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor.interceptCommand(FaultToleranceInterceptor.java:152)
        at io.smallrye.faulttolerance.FaultToleranceInterceptor_Bean.intercept(FaultToleranceInterceptor_Bean.zig:471)
        at io.quarkus.arc.impl.InterceptorInvocation.invoke(InterceptorInvocation.java:41)
        at io.quarkus.arc.impl.AroundInvokeInvocationContext.perform(AroundInvokeInvocationContext.java:41)
        at io.quarkus.arc.impl.InvocationContexts.performAroundInvoke(InvocationContexts.java:32)
        at at.apa.printservice.print.PrintService_Subclass.createDocument(PrintService_Subclass.zig:78)
        at at.apa.printservice.print.PrintService.lambda$createDocumentAsync$0(PrintService.java:60)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1700)
        at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1692)
        at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
        at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
        at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
        at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
        at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)

---------------------------------------------------------------------
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