[jira] [Closed] (FOP-2884) Rendering emoji doesn't work
[ https://issues.apache.org/jira/browse/FOP-2884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Simon Steiner closed FOP-2884. -- Resolution: Not A Problem > Rendering emoji doesn't work > > > Key: FOP-2884 > URL: https://issues.apache.org/jira/browse/FOP-2884 > Project: FOP > Issue Type: Bug > Components: font/unqualified >Affects Versions: 2.3 > Environment: oracle-jdk-11, ubuntu Linux >Reporter: Andreas Joseph Krogh >Priority: Major > Attachments: pdf_with_smiley_test.pdf > > > The following code (in Scala, but it's easy enough to understand for > Java-devs) renders the smiley-emoji 😃 as '#'-character. > > {code:java} > import java.io.ByteArrayInputStream > import java.nio.file.{Files, Paths, StandardOpenOption} > import javax.xml.transform.sax.SAXResult > import javax.xml.transform.stream.StreamSource > import javax.xml.transform.{Result, Transformer, TransformerFactory} > import org.apache.fop.apps.{Fop, FopFactoryBuilder} > import org.apache.xmlgraphics.util.MimeConstants > import org.testng.annotations.Test > class PdfWithSmileyTest { >@Test >def generatePdfWithSmileyTets(): Unit = { > val xml = > """ >|http://www.w3.org/1999/XSL/Format";> >| >|| margin-right="17mm" >| margin-left="17mm" >| margin-bottom="0cm" >| margin-top="14mm" >| page-width="29.1cm" >| page-height="21cm" >| master-name="document"> >|background-color="#ff"/> >|background-color="#ff"/> >|background-color="#ff"/> >| >| >| >| >|Hi 😃 smile! >| >| >| >|""".stripMargin > val tmpFilePath = Paths.get("/tmp/pdf_with_smiley_test.pdf") > val out = Files.newOutputStream(tmpFilePath, > StandardOpenOption.TRUNCATE_EXISTING) > val fopFactory = new > FopFactoryBuilder(getClass.getResource("/").toURI).build > val agent = fopFactory.newFOUserAgent() > val fop: Fop = fopFactory.newFop(MimeConstants.MIME_PDF, agent, out) > val transformer: Transformer = > TransformerFactory.newInstance.newTransformer > val res: Result = new SAXResult(fop.getDefaultHandler) > val source = new StreamSource(new ByteArrayInputStream(xml.getBytes())) > transformer.transform(source, res) >} > } > {code} > The output in the PDF is "Hi # smile!" instead of "Hi 😃 smile!" > -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Closed] (FOP-2884) Rendering emoji doesn't work
[ https://issues.apache.org/jira/browse/FOP-2884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chris Bowditch closed FOP-2884. --- Resolution: Not A Bug Not a bug as explained by Simon in the previous comment > Rendering emoji doesn't work > > > Key: FOP-2884 > URL: https://issues.apache.org/jira/browse/FOP-2884 > Project: FOP > Issue Type: Bug > Components: font/unqualified >Affects Versions: 2.3 > Environment: oracle-jdk-11, ubuntu Linux >Reporter: Andreas Joseph Krogh >Priority: Major > Attachments: pdf_with_smiley_test.pdf > > > The following code (in Scala, but it's easy enough to understand for > Java-devs) renders the smiley-emoji 😃 as '#'-character. > > {code:java} > import java.io.ByteArrayInputStream > import java.nio.file.{Files, Paths, StandardOpenOption} > import javax.xml.transform.sax.SAXResult > import javax.xml.transform.stream.StreamSource > import javax.xml.transform.{Result, Transformer, TransformerFactory} > import org.apache.fop.apps.{Fop, FopFactoryBuilder} > import org.apache.xmlgraphics.util.MimeConstants > import org.testng.annotations.Test > class PdfWithSmileyTest { >@Test >def generatePdfWithSmileyTets(): Unit = { > val xml = > """ >|http://www.w3.org/1999/XSL/Format";> >| >|| margin-right="17mm" >| margin-left="17mm" >| margin-bottom="0cm" >| margin-top="14mm" >| page-width="29.1cm" >| page-height="21cm" >| master-name="document"> >|background-color="#ff"/> >|background-color="#ff"/> >|background-color="#ff"/> >| >| >| >| >|Hi 😃 smile! >| >| >| >|""".stripMargin > val tmpFilePath = Paths.get("/tmp/pdf_with_smiley_test.pdf") > val out = Files.newOutputStream(tmpFilePath, > StandardOpenOption.TRUNCATE_EXISTING) > val fopFactory = new > FopFactoryBuilder(getClass.getResource("/").toURI).build > val agent = fopFactory.newFOUserAgent() > val fop: Fop = fopFactory.newFop(MimeConstants.MIME_PDF, agent, out) > val transformer: Transformer = > TransformerFactory.newInstance.newTransformer > val res: Result = new SAXResult(fop.getDefaultHandler) > val source = new StreamSource(new ByteArrayInputStream(xml.getBytes())) > transformer.transform(source, res) >} > } > {code} > The output in the PDF is "Hi # smile!" instead of "Hi 😃 smile!" > -- This message was sent by Atlassian Jira (v8.3.4#803005)