[ 
https://issues.apache.org/jira/browse/FOP-1969?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15397760#comment-15397760
 ] 

Simone Rondelli commented on FOP-1969:
--------------------------------------

Ok, get it. 
One more thing: I found that Control Characters are elided in 
MultiByteFont.performSobstitution:

{code:java}
if (!retainControls) {
    ogs = elideControls(ogs);
}
{code}

This prevents from correctly show some emoji like 👨‍👩‍👦 (formed by 
\u1f468\u200d\u1f469\u200d\u1f466). In this case \u200d is elided making 
impossible to correctly show the emoji. The value of {retainControls} is 
statically set to false in {TextLayoutManager}. 

* Is there any reason why this is always false?
* What would be the logic to set it to true?

> Surrogate pairs not treated as single unicode codepoint for display purposes
> ----------------------------------------------------------------------------
>
>                 Key: FOP-1969
>                 URL: https://issues.apache.org/jira/browse/FOP-1969
>             Project: FOP
>          Issue Type: Improvement
>          Components: unqualified
>    Affects Versions: trunk
>         Environment: Operating System: All
> Platform: All
>            Reporter: Glenn Adams
>         Attachments: testing.fo, testing.fo, testing.pdf, testing.pdf, 
> testing.xml, testing.xsl
>
>
> unicode codepoints outside of the BMP (base multilingual plane), i.e., whose 
> scalar value is greater than 0xFFFF (65535), are coded as UTF-16 surrogate 
> pairs in Java strings, which pair should be treated as a single codepoint for 
> the purpose of mapping to a glyph in a font (that supports extra-BMP 
> mappings);
> at present, FOP does not correctly handle this case in simple (non complex 
> script) rendering paths;
> furthermore, though some support has been added to handle this in the complex 
> script rendering path, it has not yet been tested, so is not necessarily 
> working there either;



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to