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-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-users-h...@xmlgraphics.apache.org