[ 
https://issues.apache.org/jira/browse/BATIK-1117?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

wzw9258 updated BATIK-1117:
---------------------------
    Summary: SVG Text label does not display or garbled  (was: SVG 
Text标签不显示或显示乱码)

> SVG Text label does not display or garbled
> ------------------------------------------
>
>                 Key: BATIK-1117
>                 URL: https://issues.apache.org/jira/browse/BATIK-1117
>             Project: Batik
>          Issue Type: Bug
>            Reporter: wzw9258
>
> We develop power monitoring software, the client uses Batik displays 
> real-time data. SVG file using the "<Text>" display real-time values, refresh 
> every 3 seconds.
> svg document reads as follows:
> <text pathName="Ia" flagId="copy_219" svgLavel="0" 
> id="0f28cde7-e0f9-4e18-aa7b-5c78d0e76573" mtype="0" 
> style="visibility:visible;fill:#00ff00;font-size:10pt;opacity:1.0;font-family:serif;stroke-width:1.0;"
>  name="Ia" parentFlagId="use_20" transform="matrix( 1, 0, 0, 1, 354.85, 
> -91.2)" isSaved="true" metaType="analog" planeLavel="1" elementType="text" 
> x="293" y="297">
> value</text>
> Real Update method is as follows:
> UpdateManager um = MmiSvgCanvas.this.getUpdateManager();
> um.getUpdateRunnableQueue().invokeLater(
>       new   Runnable()   { 
>            public   void   run()   
>               {
>                       element.getChildNodes().item(0).setNodeValue(value);
>               }
>            });
> Text sometimes do not show up or show cases incomplete, the source debugging 
> find unusual or garbled BidiAttributedCharacterIterator constructor.
> Exception as follows:
> stroking text painter>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>1233.18A
> computeTextRuns  text node=========1233.18A
> BidiAttributedCharacterIterator------------------------------
> stroking text painter>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>1233.18A
> strb========1233.18A
> computeTextRuns  text node=========1233.18A
> BidiAttributedCharacterIterator------------------------------
> start==========0   end===8
> strb========1233.18A
> Run: 0->1 of 8   size==15
> start==========0   end===8
> Run: 1->1 of 8   size==15
> Run: 0->1 of 8   size==15
> Run: 1->8 of 8   size==13
> java.lang.IllegalArgumentException: Can't add attribute to 0-length text
>       at java.text.AttributedString.addAttributes(AttributedString.java:364)
>       at 
> org.apache.batik.gvt.text.BidiAttributedCharacterIterator.<init>(BidiAttributedCharacterIterator.java:119)
>       at 
> org.apache.batik.gvt.renderer.StrokingTextPainter.computeTextRuns(StrokingTextPainter.java:241)
>       at 
> org.apache.batik.gvt.renderer.StrokingTextPainter.getTextRuns(StrokingTextPainter.java:214)
>       at 
> org.apache.batik.gvt.renderer.StrokingTextPainter.getBounds2D(StrokingTextPainter.java:1126)
>       at org.apache.batik.gvt.TextNode.getPrimitiveBounds(Unknown Source)
>       at org.apache.batik.gvt.AbstractGraphicsNode.getBounds(Unknown Source)
>       at org.apache.batik.gvt.UpdateTracker.changeStarted(Unknown Source)
>       at 
> org.apache.batik.gvt.AbstractGraphicsNode.fireGraphicsNodeChangeStarted(Unknown
>  Source)
>       at 
> org.apache.batik.gvt.AbstractGraphicsNode.fireGraphicsNodeChangeStarted(Unknown
>  Source)
>       at org.apache.batik.gvt.TextNode.swapTextPaintInfo(Unknown Source)
>       at 
> org.apache.batik.bridge.SVGTextElementBridge.addPaintAttributes(Unknown 
> Source)
>       at 
> org.apache.batik.bridge.SVGTextElementBridge.computeLaidoutText(Unknown 
> Source)
>       at 
> org.apache.batik.bridge.SVGTextElementBridge.handleDOMSubtreeModifiedEvent(Unknown
>  Source)
>       at 
> org.apache.batik.bridge.SVGTextElementBridge$DOMSubtreeModifiedEventListener.handleEvent(Unknown
>  Source)
>       at org.apache.batik.dom.events.EventSupport.fireEventListeners(Unknown 
> Source)
>       at org.apache.batik.dom.events.EventSupport.fireEventListeners(Unknown 
> Source)
>       at org.apache.batik.dom.events.EventSupport.dispatchEvent(Unknown 
> Source)
>       at org.apache.batik.dom.AbstractNode.dispatchEvent(Unknown Source)
>       at 
> org.apache.batik.dom.AbstractParentNode.fireDOMSubtreeModifiedEvent(Unknown 
> Source)
>       at org.apache.batik.dom.AbstractCharacterData.setNodeValue(Unknown 
> Source)
>       at com.kh.mmi.ui.svg.MmiSvgCanvas.updateElement(MmiSvgCanvas.java:997)
>       at com.kh.mmi.ui.svg.MmiSvgCanvas.access$10(MmiSvgCanvas.java:976)
>       at com.kh.mmi.ui.svg.MmiSvgCanvas$1.run(MmiSvgCanvas.java:1073)
>       at org.apache.batik.util.RunnableQueue.run(Unknown Source)
>       at java.lang.Thread.run(Thread.java:662)
> Distortion as follows:
> computeTextRuns  text node=========162.00A
> BidiAttributedCharacterIterator------------------------------
> strb========16?????
> computeTextRuns  text node=========162.00A
> BidiAttributedCharacterIterator------------------------------
> start==========0   end===7
> strb========162.00A
> start==========0   end===7
> Run: 0->1 of 7   size==15
> Run: 0->1 of 7   size==15
> Run: 1->7 of 7   size==13
> Run: 1->7 of 7   size==13
> What causes this phenomenon ask?



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

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

Reply via email to