You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by "Paritosh (Jira)" <ji...@apache.org> on 2023/05/03 07:08:00 UTC

[jira] (BATIK-1355) SVG to PNG Rendering Issue due to some missing Arabic Characters

    [ https://issues.apache.org/jira/browse/BATIK-1355 ]


    Paritosh deleted comment on BATIK-1355:
    ---------------------------------

was (Author: JIRAUSER300176):
 
{code:java}
Caused by: java.lang.ArrayIndexOutOfBoundsException: Index 46 out of bounds for length 43
    at org.apache.batik.gvt.text.ArabicTextHandler.hasSubstitute(ArabicTextHandler.java:379) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.text.ArabicTextHandler.assignArabicForms(ArabicTextHandler.java:91) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.text.BidiAttributedCharacterIterator.<init>(BidiAttributedCharacterIterator.java:258) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.bridge.StrokingTextPainter.computeTextRuns(StrokingTextPainter.java:207) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.bridge.StrokingTextPainter.getTextRuns(StrokingTextPainter.java:191) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.bridge.StrokingTextPainter.getBounds2D(StrokingTextPainter.java:1082) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.bridge.TextNode.getPrimitiveBounds(TextNode.java:243) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedPrimitiveBounds(AbstractGraphicsNode.java:854) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:207) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:295) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:224) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:295) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:207) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.CompositeGraphicsNode.getTransformedPrimitiveBounds(CompositeGraphicsNode.java:295) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.AbstractGraphicsNode.getTransformedBounds(AbstractGraphicsNode.java:820) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.CompositeGraphicsNode.getPrimitiveBounds(CompositeGraphicsNode.java:207) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.getBounds2D(GraphicsNodeRable8Bit.java:156) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.filter.GraphicsNodeRable8Bit.createRendering(GraphicsNodeRable8Bit.java:261) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.renderer.StaticRenderer.renderGNR(StaticRenderer.java:479) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.renderer.StaticRenderer.updateWorkingBuffers(StaticRenderer.java:506) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:374) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:343) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.transcoder.image.ImageTranscoder.transcode(ImageTranscoder.java:111) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142) ~[batik-all-1.10.jar:1.10]
    at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:156) ~[batik-all-1.10.jar:1.10] {code}
{{}}

> SVG to PNG Rendering Issue due to some missing Arabic Characters
> ----------------------------------------------------------------
>
>                 Key: BATIK-1355
>                 URL: https://issues.apache.org/jira/browse/BATIK-1355
>             Project: Batik
>          Issue Type: Bug
>          Components: GVT Text
>    Affects Versions: 1.10
>            Reporter: Paritosh
>            Priority: Major
>             Fix For: 1.10
>
>
> Upon checking the list of Arabic characters [here|https://asecuritysite.com/coding/asc2?val=1536%2C1792] the supported character according to ArabicTextHandler are from 0x622 to 0x652. The total number of characters between hex 0x622 to 0x652 according to the website there are 49 characters in total for which mapping should be present, but currently there are only 43 entries in doubleCharRemappings array in /batik/gvt/text/ArabicTextHandler.java file
> These 6 characters are missing from the map
> ||ت||1578||0000011000101010||62a||3052||ت||
> |ث|1579|0000011000101011|62b|3053|ث|
> |ج|1580|0000011000101100|62c|3054|ج|
> |ح|1581|0000011000101101|62d|3055|ح|
> |خ|1582|0000011000101110|62e|3056|خ|
> |د|1583|0000011000101111|62f|3057|د|
>  
> Pull Request --> https://github.com/apache/xmlgraphics-batik/pull/36



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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