<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-308</id>
	<title>Nabble - Batik</title>
	<updated>2009-12-20T10:22:23Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Batik-f308.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Batik-f308.html" />
	<subtitle type="html">Apache Batik is a toolkit for Scalable Vector Graphics (SVG), based in Java. Batik home is &lt;a href=&quot;http://xml.apache.org/batik/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26865894</id>
	<title>Re: Rendering part of svg document at specified position in  JGVTComponent</title>
	<published>2009-12-20T10:22:23Z</published>
	<updated>2009-12-20T10:22:23Z</updated>
	<author>
		<name>Helder Magalhães</name>
	</author>
	<content type="html">Hi Tomasz,
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; My previous post with same topic has some error, so I'm sending it again.
&lt;br&gt;&lt;br&gt;Weird... In fact I received the previous message properly (i.e., in my
&lt;br&gt;email) but it doesn't display well in the official mailing list
&lt;br&gt;archive [1]. An unofficial archive displays it as expected [2],
&lt;br&gt;though...
&lt;br&gt;&lt;br&gt;I'd suggest that, when creating a new thread, you didn't forward from
&lt;br&gt;another thread (apparently this was the case) nor reply to a previous
&lt;br&gt;thread and change subject (also a common mistake), as this may confuse
&lt;br&gt;the mailing lists: as a reply/forward messages have embedded metadata
&lt;br&gt;about the original message, the &amp;quot;new&amp;quot; thread may not appear as desired
&lt;br&gt;(typically, for replies it is displayed out of order).
&lt;br&gt;&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&amp;nbsp;Helder
&lt;br&gt;&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://old.nabble.com/Fwd%3A-Rendering-part-of-svg-document-at-specified-position-in--JGVTComponent-td26856784.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://old.nabble.com/Fwd%3A-Rendering-part-of-svg-document-at-specified-position-in--JGVTComponent-td26856784.html&lt;/a&gt;&lt;br&gt;[2] &lt;a href=&quot;http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/200912.mbox/%3C8ce4d09b0912190910o1f33a741o90b080b1cc724485@mail.gmail.com%3E&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mail-archives.apache.org/mod_mbox/xmlgraphics-batik-users/200912.mbox/%3C8ce4d09b0912190910o1f33a741o90b080b1cc724485@...%3E&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26865894&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26865894&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fwd%3A-Rendering-part-of-svg-document-at-specified-position-in--JGVTComponent-tp26856784p26865894.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26865765</id>
	<title>Rendering part of svg document at specified position in JGVTComponent</title>
	<published>2009-12-20T10:08:54Z</published>
	<updated>2009-12-20T10:08:54Z</updated>
	<author>
		<name>Tomasz Chojnacki</name>
	</author>
	<content type="html">My previous post with same topic has some error, so I'm sending it again.
&lt;br&gt;&lt;br&gt;I want to insert JGVTComponent into JScrollPane and have the cavas
&lt;br&gt;(component) as large as SVG document. The problem is that for large
&lt;br&gt;zooms rendering of whole svg extend consumes lots of memory, the
&lt;br&gt;simplest way to avoid this is to render only currently visible box of
&lt;br&gt;scroll pane and update the rendered part on the viewbox change. I've
&lt;br&gt;tried to override getRenderRect method of JGVTComponent but it only
&lt;br&gt;refreshes JGVTComponent and not svg content itself. I've attached
&lt;br&gt;simple test (SVGApplication.java)
&lt;br&gt;&lt;br&gt;Is there a way to force rendering of specified svg content on
&lt;br&gt;JGVTComponent (or any other panel) in explicitly pointed area ?
&lt;br&gt;best regards
&lt;br&gt;&lt;br /&gt; &lt;br /&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26865765&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26865765&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;SVGApplication.java&lt;/strong&gt; (9K) &lt;a href=&quot;http://old.nabble.com/attachment/26865765/0/SVGApplication.java&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fwd%3A-Rendering-part-of-svg-document-at-specified-position-in--JGVTComponent-tp26856784p26865765.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26864645</id>
	<title>Re: xlink namespace missing in href attribute</title>
	<published>2009-12-20T08:00:23Z</published>
	<updated>2009-12-20T08:00:23Z</updated>
	<author>
		<name>G33K</name>
	</author>
	<content type="html">Hi Helder, thanks a lot for your tips.
&lt;br&gt;&lt;br&gt;I used your line taken from [1], and it worked. Apparently, you have to
&lt;br&gt;pass a qualified attribute name which includes the prefix. This is even
&lt;br&gt;specified in the org.w3c.dom.Element interface.
&lt;br&gt;&lt;br&gt;I also browsed the SVN repository, and it seems that XLinkSupport is
&lt;br&gt;still omitting the prefix. The current code (revision 475477) is
&lt;br&gt;&lt;br&gt;public static void setXLinkHref(Element elt, String str) {
&lt;br&gt;&amp;nbsp; elt.setAttributeNS(XLINK_NAMESPACE_URI, XLINK_HREF_ATTRIBUTE, str);
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;where XLINK_HREF_ATTRIBUTE = &amp;quot;href&amp;quot;.
&lt;br&gt;&lt;br&gt;It probably should be
&lt;br&gt;&lt;br&gt;elt.setAttributeNS(XLINK_NAMESPACE_URI, XLINK_HREF_QNAME, str);
&lt;br&gt;&lt;br&gt;with XLINK_HREF_QNAME = XLINK_PREFIX + ':' + XLINK_HREF_ATTRIBUTE.
&lt;br&gt;&lt;br&gt;Same goes for all other attribute getters and setters in XLinkSupport.
&lt;br&gt;Should I maybe file a bug somewhere or are these functions intended to
&lt;br&gt;work in another way?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Gerrit
&lt;br&gt;&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I have a couple of suggestions:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; // XLinkSupport.setXLinkHref( useElement, &amp;quot;somefile.svg#someid&amp;quot; );
&lt;br&gt;&amp;gt; // use DOM2 instead. a tightly related sample is in the FAQ [1]
&lt;br&gt;&amp;gt; // (more related information is available in the website [2] and in
&lt;br&gt;&amp;gt; the mailing list archives [3])
&lt;br&gt;&amp;gt; useElement.setAttributeNS(&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xlink&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xlink&lt;/a&gt;&amp;quot;,
&lt;br&gt;&amp;gt; &amp;quot;xlink:href&amp;quot;, &amp;quot;somefile.svg#someid&amp;quot;);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; // I'd suggest appending to the document only after completely setting it up
&lt;br&gt;&amp;gt; // (this may hold performance benefits in some situations)
&lt;br&gt;&amp;gt; doc.getDocumentElement().appendChild(useElement);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; If the above doesn't help, I'd also suggest attempting with the
&lt;br&gt;&amp;gt; current trunk version [4]: I recall a couple of namespace-related
&lt;br&gt;&amp;gt; fixes post the 1.7 release. ;-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Hope this helps,
&lt;br&gt;&amp;gt; &amp;nbsp;Helder
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; [1] &lt;a href=&quot;http://xmlgraphics.apache.org/batik/faq.html#changes-are-not-rendered&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/faq.html#changes-are-not-rendered&lt;/a&gt;&lt;br&gt;&amp;gt; [2] &lt;a href=&quot;http://xmlgraphics.apache.org/batik/using/dom-api.html#buildsvgdoc&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/using/dom-api.html#buildsvgdoc&lt;/a&gt;&lt;br&gt;&amp;gt; [3] &lt;a href=&quot;http://www.nabble.com/Batik-f308.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Batik-f308.html&lt;/a&gt;&lt;br&gt;&amp;gt; [4] &lt;a href=&quot;http://xmlgraphics.apache.org/batik/download.cgi#Subversion+repository&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/download.cgi#Subversion+repository&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://www.fastmail.fm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.fastmail.fm&lt;/a&gt;&amp;nbsp;- Choose from over 50 domains or use your own
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26864645&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26864645&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/xlink-namespace-missing-in-href-attribute-tp26842096p26864645.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26863821</id>
	<title>DO NOT REPLY [Bug 48411] [PATCH] Squiggle Mac OS X application bundle does not launch or start when installed in a path that contains spaces</title>
	<published>2009-12-20T06:10:37Z</published>
	<updated>2009-12-20T06:10:37Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&lt;/a&gt;&lt;br&gt;&lt;br&gt;Alexander Atkins &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26863821&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jalexanderdatkins@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; Attachment #24733|application/octet-stream &amp;nbsp; &amp;nbsp;|application/x-sh
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; mime type| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26863821&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26863821&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48411--New%3A-Squiggle-Mac-OS-X-application-bundle-does-not-launch-or-start-when-installed-in-a-path-that-contains-spaces-tp26845561p26863821.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26859142</id>
	<title>Praveen Nayak2 is out of the office.</title>
	<published>2009-12-19T14:23:12Z</published>
	<updated>2009-12-19T14:23:12Z</updated>
	<author>
		<name>Praveen Nayak2</name>
	</author>
	<content type="html">&lt;br&gt;I will be out of the office starting &amp;nbsp;19/12/2009 and will not return until
&lt;br&gt;28/12/2009.
&lt;br&gt;&lt;br&gt;I will respond to your message when I return. For any urgent System
&lt;br&gt;Architect related communication, please contact Rachna Issar.
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26859142&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26859142&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Praveen-Nayak2-is-out-of-the-office.-tp26859142p26859142.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26858210</id>
	<title>DO NOT REPLY [Bug 41626] JSVGCanvas has memory leak problem when resizing the component</title>
	<published>2009-12-19T12:20:24Z</published>
	<updated>2009-12-19T12:20:24Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=41626&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=41626&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #5 from Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858210&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; 2009-12-19 12:20:21 UTC ---
&lt;br&gt;(In reply to comment #4)
&lt;br&gt;&amp;gt; Seems there is a problem with creating the BufferedImage used by
&lt;br&gt;&amp;gt; doubleBuffering. See Bug 48407. This might also be the reason for _this_ bug
&lt;br&gt;&amp;gt; (?).
&lt;br&gt;&lt;br&gt;What occurs to me is not the double buffering but embedding (raster) images
&lt;br&gt;instead: Cameron wasn't able to reproduce the issue as probably the &amp;quot;test.svg&amp;quot;
&lt;br&gt;used didn't use any images (either embedded or linked). If so then, as stated
&lt;br&gt;in bug 48407 comment 1, this was likely fixed in revision 793536.
&lt;br&gt;&lt;br&gt;Please try again using a nightly version [1] (or using the trunk source code
&lt;br&gt;[2]) and report back. In any case, a testcase would be helpful...
&lt;br&gt;&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://mcc.id.au/batik-nightly/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mcc.id.au/batik-nightly/&lt;/a&gt;&lt;br&gt;[2] &lt;a href=&quot;http://xmlgraphics.apache.org/batik/download.cgi#Subversion+repository&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/download.cgi#Subversion+repository&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858210&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858210&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-41626--JSVGCanvas-has-memory-leak-problem-when-resizing-the-component-tp26858210p26858210.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26858162</id>
	<title>DO NOT REPLY [Bug 48407] OutOfMemoryError, when zooming in svg document</title>
	<published>2009-12-19T12:13:36Z</published>
	<updated>2009-12-19T12:13:36Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&lt;/a&gt;&lt;br&gt;&lt;br&gt;Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858162&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; Attachment #24736|Image embeeded in SVG file &amp;nbsp;|Image embedded in SVG file
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; description| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858162&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858162&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48407--New%3A-OutOfMemoryError%2C-when-zooming-in-svg-document-tp26829465p26858162.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26858143</id>
	<title>DO NOT REPLY [Bug 48407] OutOfMemoryError, when zooming in svg document</title>
	<published>2009-12-19T12:10:11Z</published>
	<updated>2009-12-19T12:10:11Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #2 from Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858143&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; 2009-12-19 12:10:10 UTC ---
&lt;br&gt;Created an attachment (id=24736)
&lt;br&gt;&amp;nbsp;--&amp;gt; (&lt;a href=&quot;https://issues.apache.org/bugzilla/attachment.cgi?id=24736&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/attachment.cgi?id=24736&lt;/a&gt;)
&lt;br&gt;Image embeeded in SVG file
&lt;br&gt;&lt;br&gt;I just used an online base64 converter [1] to extract the image; I'm attaching
&lt;br&gt;it for posterity, although I'm somehow convinced that this issue was already
&lt;br&gt;fixed a few months ago (see my previous comment).
&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.opinionatedgeek.com/dotnet/tools/Base64Decode/&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858143&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858143&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48407--New%3A-OutOfMemoryError%2C-when-zooming-in-svg-document-tp26829465p26858143.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26858112</id>
	<title>DO NOT REPLY [Bug 48407] OutOfMemoryError, when zooming in svg document</title>
	<published>2009-12-19T12:05:52Z</published>
	<updated>2009-12-19T12:05:52Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #1 from Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858112&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; 2009-12-19 12:05:50 UTC ---
&lt;br&gt;(In reply to comment #0)
&lt;br&gt;&amp;gt; For realistic displaying we colorize the svg model with a graphic, which is
&lt;br&gt;&amp;gt; embedded in svg document. The png-graphic is having a certain color gradient,
&lt;br&gt;&amp;gt; for more realistic appearance. 
&lt;br&gt;&lt;br&gt;I just took a look at the document and the image format isn't PNG but JPEG. ;-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;Nevertheless, I recall a recent, tightly related commit (see revision 793536).
&lt;br&gt;Could you please download a nightly build [1] and try reproducing the issue
&lt;br&gt;again? (Although the latest nightly available, as of this writing, is already a
&lt;br&gt;bit outdated, it already includes the change which probably fixes the issue.)
&lt;br&gt;&lt;br&gt;Please report back! :-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://mcc.id.au/batik-nightly/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://mcc.id.au/batik-nightly/&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858112&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26858112&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48407--New%3A-OutOfMemoryError%2C-when-zooming-in-svg-document-tp26829465p26858112.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857898</id>
	<title>DO NOT REPLY [Bug 48411] [PATCH] Squiggle Mac OS X application bundle does not launch or start when installed in a path that contains spaces</title>
	<published>2009-12-19T11:34:46Z</published>
	<updated>2009-12-19T11:34:46Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&lt;/a&gt;&lt;br&gt;&lt;br&gt;Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857898&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Keywords| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|PatchAvailable
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Summary|Squiggle Mac OS X &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |[PATCH] Squiggle Mac OS X
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|application bundle does not |application bundle does not
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|launch or start when &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|launch or start when
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|installed in a path that &amp;nbsp; &amp;nbsp;|installed in a path that
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|contains spaces &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |contains spaces
&lt;br&gt;&lt;br&gt;--- Comment #5 from Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857898&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; 2009-12-19 11:34:45 UTC ---
&lt;br&gt;Available patch is pretty simple and seems very safe to apply. Could it be
&lt;br&gt;committed?
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857898&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857898&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48411--New%3A-Squiggle-Mac-OS-X-application-bundle-does-not-launch-or-start-when-installed-in-a-path-that-contains-spaces-tp26845561p26857898.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857891</id>
	<title>DO NOT REPLY [Bug 48411] Squiggle Mac OS X application bundle does not launch or start when installed in a path that contains spaces</title>
	<published>2009-12-19T11:33:13Z</published>
	<updated>2009-12-19T11:33:13Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #4 from Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857891&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; 2009-12-19 11:33:12 UTC ---
&lt;br&gt;Created an attachment (id=24735)
&lt;br&gt;&amp;nbsp;--&amp;gt; (&lt;a href=&quot;https://issues.apache.org/bugzilla/attachment.cgi?id=24735&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/attachment.cgi?id=24735&lt;/a&gt;)
&lt;br&gt;Patch from the suggested fix
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857891&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857891&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48411--New%3A-Squiggle-Mac-OS-X-application-bundle-does-not-launch-or-start-when-installed-in-a-path-that-contains-spaces-tp26845561p26857891.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857870</id>
	<title>DO NOT REPLY [Bug 48411] Squiggle Mac OS X application bundle does not launch or start when installed in a path that contains spaces</title>
	<published>2009-12-19T11:30:00Z</published>
	<updated>2009-12-19T11:30:00Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&lt;/a&gt;&lt;br&gt;&lt;br&gt;Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857870&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Version|1.7 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |1.8
&lt;br&gt;&lt;br&gt;--- Comment #3 from Helder Magalhães &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857870&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;helder.magalhaes@...&lt;/a&gt;&amp;gt; 2009-12-19 11:29:54 UTC ---
&lt;br&gt;(In reply to comment #0)
&lt;br&gt;&amp;gt; The problem is in the last line. &amp;nbsp;The script should read as follows:
&lt;br&gt;[...]
&lt;br&gt;&amp;gt; &amp;quot;$JAVA&amp;quot; -Dcom.apple.mrj.application.apple.menu.about.name=Squiggle -jar
&lt;br&gt;&amp;gt; &amp;quot;`dirname \&amp;quot;$0\&amp;quot;`/../Resources/batik-squiggle.jar&amp;quot;
&lt;br&gt;&lt;br&gt;I've checked that this is still present [1] in the trunk version, so I'm
&lt;br&gt;adjusting the bug's metadata.
&lt;br&gt;&lt;br&gt;A quick web crawl validates [2] your suggestion. Thanks for the hint! ;-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;[1]
&lt;br&gt;&lt;a href=&quot;http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/build.xml?revision=774981&amp;view=markup#l513&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/build.xml?revision=774981&amp;view=markup#l513&lt;/a&gt;&lt;br&gt;[2]
&lt;br&gt;&lt;a href=&quot;http://www.unix.com/shell-programming-scripting/109120-find-dirname-problems-white-spaces-directories.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.unix.com/shell-programming-scripting/109120-find-dirname-problems-white-spaces-directories.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857870&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857870&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48411--New%3A-Squiggle-Mac-OS-X-application-bundle-does-not-launch-or-start-when-installed-in-a-path-that-contains-spaces-tp26845561p26857870.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26857515</id>
	<title>Re: xlink namespace missing in href attribute</title>
	<published>2009-12-19T10:39:24Z</published>
	<updated>2009-12-19T10:39:24Z</updated>
	<author>
		<name>Helder Magalhães</name>
	</author>
	<content type="html">Hi Gerrit,
&lt;br&gt;&lt;br&gt;&lt;br&gt;Response inline...
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Running the above code with Batik 1.6 or 1.7 produces the following
&lt;br&gt;&amp;gt; output:
&lt;br&gt;[output]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Not only is the xlink namespace added a second time (it was already
&lt;br&gt;&amp;gt; present in the root element), but the namespace prefix is missing in the
&lt;br&gt;&amp;gt; href attribute. Since attributes, unlike elements, have no default
&lt;br&gt;&amp;gt; namespace, the attribute is not a valid xlink:href attribute any more.
&lt;br&gt;&lt;br&gt;True, the output does seem broken.
&lt;br&gt;&lt;br&gt;&lt;br&gt;[...]
&lt;br&gt;&amp;gt; I therefore suspect that some error occurs during serialization.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Am I maybe missing something? What would be the correct way to add an
&lt;br&gt;&amp;gt; xlink:href reference, or a use element with default attributes? What
&lt;br&gt;&amp;gt; method is used to create the other xlink attributes that are lined up so
&lt;br&gt;&amp;gt; nicely?
&lt;br&gt;&lt;br&gt;I have a couple of suggestions:
&lt;br&gt;&lt;br&gt;// XLinkSupport.setXLinkHref( useElement, &amp;quot;somefile.svg#someid&amp;quot; );
&lt;br&gt;// use DOM2 instead. a tightly related sample is in the FAQ [1]
&lt;br&gt;// (more related information is available in the website [2] and in
&lt;br&gt;the mailing list archives [3])
&lt;br&gt;useElement.setAttributeNS(&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xlink&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xlink&lt;/a&gt;&amp;quot;,
&lt;br&gt;&amp;quot;xlink:href&amp;quot;, &amp;quot;somefile.svg#someid&amp;quot;);
&lt;br&gt;&lt;br&gt;// I'd suggest appending to the document only after completely setting it up
&lt;br&gt;// (this may hold performance benefits in some situations)
&lt;br&gt;doc.getDocumentElement().appendChild(useElement);
&lt;br&gt;&lt;br&gt;&lt;br&gt;If the above doesn't help, I'd also suggest attempting with the
&lt;br&gt;current trunk version [4]: I recall a couple of namespace-related
&lt;br&gt;fixes post the 1.7 release. ;-)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; Thanks for any insights.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regards,
&lt;br&gt;&amp;gt; Gerrit
&lt;br&gt;&lt;br&gt;Hope this helps,
&lt;br&gt;&amp;nbsp;Helder
&lt;br&gt;&lt;br&gt;&lt;br&gt;[1] &lt;a href=&quot;http://xmlgraphics.apache.org/batik/faq.html#changes-are-not-rendered&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/faq.html#changes-are-not-rendered&lt;/a&gt;&lt;br&gt;[2] &lt;a href=&quot;http://xmlgraphics.apache.org/batik/using/dom-api.html#buildsvgdoc&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/using/dom-api.html#buildsvgdoc&lt;/a&gt;&lt;br&gt;[3] &lt;a href=&quot;http://www.nabble.com/Batik-f308.html&quot; target=&quot;_top&quot;&gt;http://www.nabble.com/Batik-f308.html&lt;/a&gt;&lt;br&gt;[4] &lt;a href=&quot;http://xmlgraphics.apache.org/batik/download.cgi#Subversion+repository&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/download.cgi#Subversion+repository&lt;/a&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857515&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26857515&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/xlink-namespace-missing-in-href-attribute-tp26842096p26857515.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26856784</id>
	<title>Fwd: Rendering part of svg document at specified position in  JGVTComponent</title>
	<published>2009-12-19T09:10:38Z</published>
	<updated>2009-12-19T09:10:38Z</updated>
	<author>
		<name>Tomasz Chojnacki</name>
	</author>
	<content type="html">&lt;div class=&quot;gmail_quote&quot;&gt;&lt;br&gt;I want to insert JGVTComponent into JScrollPane and have the cavas (component) as large as SVG document. The problem is that for large zooms rendering of whole svg extend consumes lots of memory, the simplest way to avoid this is to render only currently visible box of scroll pane and update the rendered part on the viewbox change. I&amp;#39;ve tried to override getRenderRect method of JGVTComponent but it only refreshes JGVTComponent  and not svg content itself. I&amp;#39;ve attached simple test (SVGApplication.java)&lt;br&gt;

&lt;br&gt;Is there a way to force rendering of specified svg content on JGVTComponent (or any other panel) in explicitly pointed area ? &lt;br&gt;
&lt;/div&gt;best regards&lt;br&gt;
&lt;br /&gt; &lt;br /&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26856784&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26856784&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;SVGApplication.java&lt;/strong&gt; (9K) &lt;a href=&quot;http://old.nabble.com/attachment/26856784/0/SVGApplication.java&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Fwd%3A-Rendering-part-of-svg-document-at-specified-position-in--JGVTComponent-tp26856784p26856784.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26847194</id>
	<title>DO NOT REPLY [Bug 48411] Squiggle Mac OS X application bundle does not launch or start when installed in a path that contains spaces</title>
	<published>2009-12-18T09:55:46Z</published>
	<updated>2009-12-18T09:55:46Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #2 from Alexander Atkins &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26847194&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jalexanderdatkins@...&lt;/a&gt;&amp;gt; 2009-12-18 09:55:46 UTC ---
&lt;br&gt;Make that
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.atkinsfamily.ukonline.co.uk/Squiggle-1.7.dmg.zip&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.atkinsfamily.ukonline.co.uk/Squiggle-1.7.dmg.zip&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26847194&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26847194&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48411--New%3A-Squiggle-Mac-OS-X-application-bundle-does-not-launch-or-start-when-installed-in-a-path-that-contains-spaces-tp26845561p26847194.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26847087</id>
	<title>DO NOT REPLY [Bug 48411] Squiggle Mac OS X application bundle does not launch or start when installed in a path that contains spaces</title>
	<published>2009-12-18T09:46:58Z</published>
	<updated>2009-12-18T09:46:58Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&lt;/a&gt;&lt;br&gt;&lt;br&gt;--- Comment #1 from Alexander Atkins &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26847087&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jalexanderdatkins@...&lt;/a&gt;&amp;gt; 2009-12-18 09:46:54 UTC ---
&lt;br&gt;The corrected Mac OS X disk image can be downloaded from
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://www.atkinsfamily.ukonline.co.uk/Squiggle-1.7.dmg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.atkinsfamily.ukonline.co.uk/Squiggle-1.7.dmg&lt;/a&gt;&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26847087&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26847087&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48411--New%3A-Squiggle-Mac-OS-X-application-bundle-does-not-launch-or-start-when-installed-in-a-path-that-contains-spaces-tp26845561p26847087.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26845561</id>
	<title>DO NOT REPLY [Bug 48411] New: Squiggle Mac OS X application bundle does not launch or start when installed in a path that contains spaces</title>
	<published>2009-12-18T08:01:13Z</published>
	<updated>2009-12-18T08:01:13Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48411&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Summary: Squiggle Mac OS X application bundle does not launch
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; or start when installed in a path that contains spaces
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Product: Batik
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Version: 1.7
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Platform: Macintosh
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OS/Version: Mac OS X 10.4
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Status: NEW
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Severity: normal
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: P2
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Component: SVG Viewer
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AssignedTo: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845561&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev@...&lt;/a&gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ReportedBy: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845561&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jalexanderdatkins@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Created an attachment (id=24733)
&lt;br&gt;&amp;nbsp;--&amp;gt; (&lt;a href=&quot;https://issues.apache.org/bugzilla/attachment.cgi?id=24733&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/attachment.cgi?id=24733&lt;/a&gt;)
&lt;br&gt;the corrected Squiggle.app/Contents/MacOS/Squiggle shell script
&lt;br&gt;&lt;br&gt;Overview:
&lt;br&gt;The Mac OS X application bundle for Squiggle (a GUI front-end for Batik)
&lt;br&gt;refuses to run if it is installed in a path containing spaces, and possibly
&lt;br&gt;some other odd characters. &amp;nbsp;However, it does not produce any error messages; it
&lt;br&gt;just doesn't start.
&lt;br&gt;&lt;br&gt;Steps to Reproduce:
&lt;br&gt;1. Create a folder whose name contains one or more spaces.
&lt;br&gt;2. Download the Mac OS X disk image from
&lt;br&gt;&lt;a href=&quot;http://xmlgraphics.apache.org/batik/download.cgi#Download+a+distribution&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/download.cgi#Download+a+distribution&lt;/a&gt;&lt;br&gt;3. Most OS X native browsers will mount the disk image automatically. &amp;nbsp;If your
&lt;br&gt;browser is a ported browser that doesn't do this, find the downloaded disk
&lt;br&gt;image and double-click on it to mount it.
&lt;br&gt;4. Install the Squiggle application by dragging it from the disk image to the
&lt;br&gt;folder created in step 1, or to a sub-folder of a folder whose name contains
&lt;br&gt;one or more spaces.
&lt;br&gt;5. Un-mount (eject) the disk image.
&lt;br&gt;6. Double-click on the installed Squiggle application to launch it.
&lt;br&gt;7. When the computer displays the message '“Squiggle” is an application which
&lt;br&gt;was downloaded from the Internet. Are you sure you want to open it?' click
&lt;br&gt;Open.
&lt;br&gt;&lt;br&gt;Actual Results:
&lt;br&gt;The Squiggle icon that appeared in the Dock in step 7 disappears. &amp;nbsp;On
&lt;br&gt;subsequent attempted launches (when the computer does not ask for confirmation)
&lt;br&gt;the icon appears very briefly in the Dock and then disappears. &amp;nbsp;No splash
&lt;br&gt;screens etc appear. &amp;nbsp;The following is written to the Console (which can be read
&lt;br&gt;by opening /Applications/Utilities/Console.app):
&lt;br&gt;&lt;br&gt;Dec 18 15:45:25 Beetle [0x0-0x135135].org.apache.batik[77397]: usage: dirname
&lt;br&gt;path
&lt;br&gt;Dec 18 15:45:25 Beetle [0x0-0x135135].org.apache.batik[77397]: Unable to access
&lt;br&gt;jarfile /../Resources/batik-squiggle.jar
&lt;br&gt;Dec 18 15:45:25 Beetle com.apple.launchd[158]
&lt;br&gt;([0x0-0x135135].org.apache.batik[77397]): Exited with exit code: 1
&lt;br&gt;&lt;br&gt;Expected Results:
&lt;br&gt;The Squiggle application should launch, display a splash screen and continue to
&lt;br&gt;run, and its icon should remain in the Dock until the user desires the
&lt;br&gt;application to quit.
&lt;br&gt;&lt;br&gt;Build Date &amp; Platform:
&lt;br&gt;Build 2008-01-06 on Mac OS 10.5.8
&lt;br&gt;&lt;br&gt;Additional Builds and Platforms:
&lt;br&gt;This only affects the Mac OS X application. &amp;nbsp;The JAR file works just fine.
&lt;br&gt;&lt;br&gt;Additional Information:
&lt;br&gt;I know how to fix this.
&lt;br&gt;&lt;br&gt;Inside the Mac OS X application bundle (applications on OS X are really just
&lt;br&gt;folders whose name ends in '.app') there is a file at
&lt;br&gt;Squiggle.app/Contents/MacOS/Squiggle. &amp;nbsp;It is an executable shell script that is
&lt;br&gt;run when the user double-clicks on the application. &amp;nbsp;It attempts to start up
&lt;br&gt;the JAR located at Squiggle.app/Contents/Resources/batik-squiggle.jar. &amp;nbsp;It is
&lt;br&gt;this file that contains the bug. &amp;nbsp;This script reads as follows:
&lt;br&gt;&lt;br&gt;#!/bin/sh
&lt;br&gt;&lt;br&gt;JAVA=/usr/bin/java
&lt;br&gt;[ -e &amp;quot;$JAVA_HOME/bin/java&amp;quot; ] &amp;&amp; JAVA=&amp;quot;$JAVA_HOME/bin/java&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;quot;$JAVA&amp;quot; -Dcom.apple.mrj.application.apple.menu.about.name=Squiggle -jar
&lt;br&gt;&amp;quot;`dirname $0`/../Resources/batik-squiggle.jar&amp;quot;
&lt;br&gt;&lt;br&gt;The problem is in the last line. &amp;nbsp;The script should read as follows:
&lt;br&gt;&lt;br&gt;#!/bin/sh
&lt;br&gt;&lt;br&gt;JAVA=/usr/bin/java
&lt;br&gt;[ -e &amp;quot;$JAVA_HOME/bin/java&amp;quot; ] &amp;&amp; JAVA=&amp;quot;$JAVA_HOME/bin/java&amp;quot;
&lt;br&gt;&lt;br&gt;&amp;quot;$JAVA&amp;quot; -Dcom.apple.mrj.application.apple.menu.about.name=Squiggle -jar
&lt;br&gt;&amp;quot;`dirname \&amp;quot;$0\&amp;quot;`/../Resources/batik-squiggle.jar&amp;quot;
&lt;br&gt;&lt;br&gt;I have also attached the corrected script.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845561&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26845561&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48411--New%3A-Squiggle-Mac-OS-X-application-bundle-does-not-launch-or-start-when-installed-in-a-path-that-contains-spaces-tp26845561p26845561.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26842096</id>
	<title>xlink namespace missing in href attribute</title>
	<published>2009-12-18T03:21:24Z</published>
	<updated>2009-12-18T03:21:24Z</updated>
	<author>
		<name>G33K</name>
	</author>
	<content type="html">Hi, I've got a problem with the Batik DOM implementation. When I add an
&lt;br&gt;xlink:href attribute to my document, the xlink namespace is omitted,
&lt;br&gt;making the attribute invalid. I am using the following code:
&lt;br&gt;&lt;br&gt;&lt;br&gt;SVGDOMImplementation impl = (SVGDOMImplementation)
&lt;br&gt;SVGDOMImplementation.getDOMImplementation();
&lt;br&gt;AbstractDocument doc = (AbstractDocument)
&lt;br&gt;impl.createDocument(SVGConstants.SVG_NAMESPACE_URI,
&lt;br&gt;SVGConstants.SVG_SVG_TAG, null);
&lt;br&gt;Element useElement = impl.createElementNS(doc,
&lt;br&gt;SVGConstants.SVG_NAMESPACE_URI, SVGConstants.SVG_USE_TAG);
&lt;br&gt;doc.getDocumentElement().appendChild(useElement);
&lt;br&gt;XLinkSupport.setXLinkHref( useElement, &amp;quot;somefile.svg#someid&amp;quot; );
&lt;br&gt;&lt;br&gt;StringWriter writer = new StringWriter();
&lt;br&gt;try {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DOMUtilities.writeDocument(doc, writer);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println( writer.toString() );
&lt;br&gt;} catch (IOException e) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; e.printStackTrace();
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&lt;br&gt;Running the above code with Batik 1.6 or 1.7 produces the following
&lt;br&gt;output:
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;lt;svg xmlns:xlink=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xlink&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xlink&lt;/a&gt;&amp;quot;
&lt;br&gt;xmlns=&amp;quot;&lt;a href=&quot;http://www.w3.org/2000/svg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2000/svg&lt;/a&gt;&amp;quot; contentScriptType=&amp;quot;text/ecmascript&amp;quot;
&lt;br&gt;zoomAndPan=&amp;quot;magnify&amp;quot; contentStyleType=&amp;quot;text/css&amp;quot;
&lt;br&gt;preserveAspectRatio=&amp;quot;xMidYMid meet&amp;quot; version=&amp;quot;1.0&amp;quot;&amp;gt;
&lt;br&gt;&amp;lt;use xlink:actuate=&amp;quot;onLoad&amp;quot; xlink:type=&amp;quot;simple&amp;quot; xlink:show=&amp;quot;embed&amp;quot;
&lt;br&gt;xmlns:xlink=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xlink&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xlink&lt;/a&gt;&amp;quot; href=&amp;quot;somefile.svg#someid&amp;quot;/&amp;gt;
&lt;br&gt;&amp;lt;/svg&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Not only is the xlink namespace added a second time (it was already
&lt;br&gt;present in the root element), but the namespace prefix is missing in the
&lt;br&gt;href attribute. Since attributes, unlike elements, have no default
&lt;br&gt;namespace, the attribute is not a valid xlink:href attribute any more.
&lt;br&gt;When loading the serialized document, Batik correctly throws an error:
&lt;br&gt;&lt;br&gt;The attribute &amp;quot;xlink:href&amp;quot; of the element &amp;lt;use&amp;gt; is required
&lt;br&gt;&lt;br&gt;The funny thing is, when I just add the attribute and render the DOM
&lt;br&gt;tree without serializing it, the reference is accepted, GVT nodes are
&lt;br&gt;created and the referenced element shows up on the screen. I therefore
&lt;br&gt;suspect that some error occurs during serialization.
&lt;br&gt;&lt;br&gt;Am I maybe missing something? What would be the correct way to add an
&lt;br&gt;xlink:href reference, or a use element with default attributes? What
&lt;br&gt;method is used to create the other xlink attributes that are lined up so
&lt;br&gt;nicely?
&lt;br&gt;&lt;br&gt;Thanks for any insights.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Gerrit
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;&lt;a href=&quot;http://www.fastmail.fm&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.fastmail.fm&lt;/a&gt;&amp;nbsp;- Faster than the air-speed velocity of an
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unladen european swallow
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26842096&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26842096&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/xlink-namespace-missing-in-href-attribute-tp26842096p26842096.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26829824</id>
	<title>Batik &amp; Eclipse Beginner</title>
	<published>2009-12-17T07:33:01Z</published>
	<updated>2009-12-17T07:33:01Z</updated>
	<author>
		<name>Elvena Fong</name>
	</author>
	<content type="html">&lt;html xmlns:o=&quot;urn:schemas-microsoft-com:office:office&quot; xmlns:w=&quot;urn:schemas-microsoft-com:office:word&quot; xmlns=&quot;http://www.w3.org/TR/REC-html40&quot;&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 11 (filtered medium)&quot;&gt;


&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Apologies to anyone if I&amp;#8217;m asking a question that&amp;#8217;s
already been asked before. &amp;nbsp;I&amp;#8217;ve been trying to search through the
archives, but not having much luck.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I am relatively new to both Batik and Eclipse.&amp;nbsp; I
recently installed Eclipse to try to use Batik. &amp;nbsp;I am also a beginner-level
Java programmer.&amp;nbsp; Batik&amp;#8217;s the first 3&lt;sup&gt;rd&lt;/sup&gt; party library I&amp;#8217;ve
tried to use, so I also have some theoretical questions about the best way to
use Batik.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Now, I am able to add the Batik .jar libraries to Eclipse,
make a test program, and get it to compile. &amp;nbsp;&amp;nbsp;But if I try to use the
source files (all the files under the &amp;#8220;sources/&amp;#8221; folder) instead to
compile, I cannot because there&amp;#8217;re at least several other libraries for
which I&amp;#8217;m missing the source code. &amp;nbsp;Are the source files purely for
reference only?&amp;nbsp; They are not supposed to be used for compiling? &amp;nbsp;Or
is there something I&amp;#8217;m doing wrongly? &amp;nbsp;How are most people using Batik?&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;This also brings me to my next question.&amp;nbsp; When working
with a library as large as Batik, is it generally better to edit the source
files directly and then compile them, or is it the preferred way to extend
existing classes?&amp;nbsp; I ask because I am running into situations where I want
to add features to a class that might be used by many other classes, but I don&amp;#8217;t
want to go through and extend all those other classes to make sure that they
use my modified class instead. &amp;nbsp;Since that might sound a bit confusing,
let me put forward a theoretical example:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Suppose there is a class Graph, which uses a class Rectangle,
which uses a class Edge.&amp;nbsp; The class Graph also has access to the Edge
class to make lines. &amp;nbsp;Now, let&amp;#8217;s say I made a new class, called
MyEdge, which extends class Edge. &amp;nbsp;I want both Graph and Rectangle to use
this new class instead.&amp;nbsp; Is there a way to do it without having to make
new classes called MyGraph and MyRectangle to reference the new class?&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Sorry if my question might not be really appropriate, but I&amp;#8217;m
just wondering since I&amp;#8217;ve been looking at the JSVCanvas class in Batik,
and as right now I cannot seem to get the source files to compile and am instead
relying on the .jar library files, I&amp;#8217;m trying to think of how I could
extend classes used by that class without having to extend everything in
between. &amp;nbsp;If there&amp;#8217;s also another resource to which I could turn
that might better answer this question, please let me know. &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Thanks in advance for your time.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Sincerely,&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Elvena&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Batik---Eclipse-Beginner-tp26829824p26829824.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26829616</id>
	<title>DO NOT REPLY [Bug 41626] JSVGCanvas has memory leak problem when resizing the component</title>
	<published>2009-12-17T07:21:02Z</published>
	<updated>2009-12-17T07:21:02Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=41626&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=41626&lt;/a&gt;&lt;br&gt;&lt;br&gt;Christoph Bimminger &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829616&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christoph.bimminger@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;See Also| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|&lt;a href=&quot;https://issues.apache.org/b&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/b&lt;/a&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|ugzilla/show_bug.cgi?id=484
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|07
&lt;br&gt;&lt;br&gt;--- Comment #4 from Christoph Bimminger &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829616&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christoph.bimminger@...&lt;/a&gt;&amp;gt; 2009-12-17 07:21:00 UTC ---
&lt;br&gt;Seems there is a problem with creating the BufferedImage used by
&lt;br&gt;doubleBuffering. See Bug 48407. This might also be the reason for _this_ bug
&lt;br&gt;(?).
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829616&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829616&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-41626--JSVGCanvas-has-memory-leak-problem-when-resizing-the-component-tp26829616p26829616.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26829553</id>
	<title>DO NOT REPLY [Bug 48407] OutOfMemoryError, when zooming in svg document</title>
	<published>2009-12-17T07:17:07Z</published>
	<updated>2009-12-17T07:17:07Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&lt;/a&gt;&lt;br&gt;&lt;br&gt;Christoph Bimminger &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829553&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;christoph.bimminger@...&lt;/a&gt;&amp;gt; changed:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;What &amp;nbsp; &amp;nbsp;|Removed &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; |Added
&lt;br&gt;----------------------------------------------------------------------------
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CC| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|christoph.bimminger@systema
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;| &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;|.info
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829553&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829553&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48407--New%3A-OutOfMemoryError%2C-when-zooming-in-svg-document-tp26829465p26829553.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26829465</id>
	<title>DO NOT REPLY [Bug 48407] New: OutOfMemoryError, when zooming in svg document</title>
	<published>2009-12-17T07:11:54Z</published>
	<updated>2009-12-17T07:11:54Z</updated>
	<author>
		<name>Bugzilla from bugzilla@apache.org</name>
	</author>
	<content type="html">&lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/show_bug.cgi?id=48407&lt;/a&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Summary: OutOfMemoryError, when zooming in svg document
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Product: Batik
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Version: 1.7
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Platform: PC
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OS/Version: Windows XP
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Status: NEW
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Severity: normal
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Priority: P2
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Component: GVT
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; AssignedTo: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829465&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev@...&lt;/a&gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ReportedBy: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829465&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;georg.abfalter@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Created an attachment (id=24726)
&lt;br&gt;&amp;nbsp;--&amp;gt; (&lt;a href=&quot;https://issues.apache.org/bugzilla/attachment.cgi?id=24726&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/attachment.cgi?id=24726&lt;/a&gt;)
&lt;br&gt;SVG document, having a grafic with color gradient in background for more
&lt;br&gt;realisitc appearance
&lt;br&gt;&lt;br&gt;We are using batik for displaying human bodies for locating their body parts.
&lt;br&gt;For realistic displaying we colorize the svg model with a graphic, which is
&lt;br&gt;embedded in svg document. The png-graphic is having a certain color gradient,
&lt;br&gt;for more realistic appearance. 
&lt;br&gt;&lt;br&gt;Problem:
&lt;br&gt;If we are zoom in serveral times (shift-right mouse pressed and move up,
&lt;br&gt;-Xmx256M) with this svg document [see attachment], we do gain a
&lt;br&gt;java.lang.OutOfMemoryError.
&lt;br&gt;&lt;br&gt;TestProgram:
&lt;br&gt;public class JSVGCanvasDemo
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; public static void main(String[] P_args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JFrame F_f = new JFrame(&amp;quot;Batik&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JSVGCanvasDemo F_canvas = new JSVGCanvasDemo();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F_f.getContentPane().add(F_canvas.createSVGComponent());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F_f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F_f.setSize(400, 400);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F_f.setVisible(true);
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; protected JSVGCanvas svgCanvas = new JSVGCanvas();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public JSVGCanvasDemo()
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // noop
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; public JComponent createSVGComponent()
&lt;br&gt;&amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; final JPanel F_panel = new JPanel(new BorderLayout());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; F_panel.add(&amp;quot;Center&amp;quot;, svgCanvas);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; svgCanvas.setURI(&amp;quot;file:/D:/male_front.svg&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return F_panel;
&lt;br&gt;&amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Stack:
&lt;br&gt;java.lang.OutOfMemoryError: Java heap space
&lt;br&gt;Dumping heap to java_pid1764.hprof ...
&lt;br&gt;Heap dump file created [19697489 bytes in 3.415 secs]
&lt;br&gt;-E-2009-12-17 15:45:46.887: java.lang.OutOfMemoryError: Java heap space
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.DataBufferByte.&amp;lt;init&amp;gt;(DataBufferByte.java:42)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.Raster.createInterleavedRaster(Raster.java:253)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.Raster.createInterleavedRaster(Raster.java:194)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:2808)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.BufferedImage.&amp;lt;init&amp;gt;(BufferedImage.java:409)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.renderable.ClipRable8Bit.createRendering(ClipRable8Bit.java:158)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:448)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CanvasGraphicsNode.primitivePaint(CanvasGraphicsNode.java:159)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.genRect(GraphicsNodeRed8Bit.java:140)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.copyData(GraphicsNodeRed8Bit.java:116)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.TileCacheRed.genRect(TileCacheRed.java:63)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlockInPlace(AbstractTiledRed.java:629)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlock(AbstractTiledRed.java:544)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyToRasterByBlocks(AbstractTiledRed.java:430)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyData(AbstractTiledRed.java:297)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.TranslateRed.copyData(TranslateRed.java:105)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:394)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:344)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at org.apache.batik.swing.gvt.GVTTreeRenderer.run(GVTTreeRenderer.java:123)
&lt;br&gt;-E-2009-12-17 15:45:47.09: java.lang.OutOfMemoryError: Java heap space
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.DataBufferByte.&amp;lt;init&amp;gt;(DataBufferByte.java:42)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.Raster.createInterleavedRaster(Raster.java:253)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.Raster.createInterleavedRaster(Raster.java:194)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;java.awt.image.ComponentColorModel.createCompatibleWritableRaster(ComponentColorModel.java:2808)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at java.awt.image.BufferedImage.&amp;lt;init&amp;gt;(BufferedImage.java:409)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.renderable.ClipRable8Bit.createRendering(ClipRable8Bit.java:158)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.GraphicsUtil.drawImage(GraphicsUtil.java:448)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:549)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CanvasGraphicsNode.primitivePaint(CanvasGraphicsNode.java:159)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.AbstractGraphicsNode.paint(AbstractGraphicsNode.java:509)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.CompositeGraphicsNode.primitivePaint(CompositeGraphicsNode.java:165)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.genRect(GraphicsNodeRed8Bit.java:140)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.filter.GraphicsNodeRed8Bit.copyData(GraphicsNodeRed8Bit.java:116)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.TileCacheRed.genRect(TileCacheRed.java:63)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlockInPlace(AbstractTiledRed.java:629)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.drawBlock(AbstractTiledRed.java:544)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyToRasterByBlocks(AbstractTiledRed.java:430)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.AbstractTiledRed.copyData(AbstractTiledRed.java:297)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.ext.awt.image.rendered.TranslateRed.copyData(TranslateRed.java:105)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:394)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at
&lt;br&gt;org.apache.batik.gvt.renderer.StaticRenderer.repaint(StaticRenderer.java:344)
&lt;br&gt;&amp;nbsp; &amp;nbsp; at org.apache.batik.swing.gvt.GVTTreeRenderer.run(GVTTreeRenderer.java:123)
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Configure bugmail: &lt;a href=&quot;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://issues.apache.org/bugzilla/userprefs.cgi?tab=email&lt;/a&gt;&lt;br&gt;------- You are receiving this mail because: -------
&lt;br&gt;You are the assignee for the bug.
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829465&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26829465&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-dev-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Dev-f350.html&quot; embed=&quot;fixTarget[350]&quot; target=&quot;_top&quot; &gt;Batik - Dev&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/DO-NOT-REPLY--Bug-48407--New%3A-OutOfMemoryError%2C-when-zooming-in-svg-document-tp26829465p26829465.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26806758</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-15T21:53:38Z</published>
	<updated>2009-12-15T21:53:38Z</updated>
	<author>
		<name>Brendon J. Wilson</name>
	</author>
	<content type="html">Perfect! Minor changes - use SVG12BridgeContext, and catch &amp;nbsp;
&lt;br&gt;DomException when checking the width and height of the &amp;nbsp;
&lt;br&gt;SVGTextPositioningElement (getExtentOfChar does not return null even &amp;nbsp;
&lt;br&gt;if the last character has overflowed).
&lt;br&gt;&lt;br&gt;In the interest of making others' lives easier (pay it forward), &amp;nbsp;
&lt;br&gt;here's the complete solution to not only detect overflow in a flowText &amp;nbsp;
&lt;br&gt;region, but also resize the font-size automatically to maximize the &amp;nbsp;
&lt;br&gt;size of the displayed text.
&lt;br&gt;&lt;br&gt;The code:
&lt;br&gt;---
&lt;br&gt;import java.io.File;
&lt;br&gt;import java.io.FileOutputStream;
&lt;br&gt;import java.io.IOException;
&lt;br&gt;import java.io.OutputStream;
&lt;br&gt;&lt;br&gt;import org.apache.batik.bridge.DocumentLoader;
&lt;br&gt;import org.apache.batik.bridge.GVTBuilder;
&lt;br&gt;import org.apache.batik.bridge.UserAgent;
&lt;br&gt;import org.apache.batik.bridge.UserAgentAdapter;
&lt;br&gt;&lt;br&gt;import org.apache.batik.bridge.svg12.SVG12BridgeContext;
&lt;br&gt;&lt;br&gt;import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
&lt;br&gt;import org.apache.batik.dom.svg.SVGOMElement;
&lt;br&gt;import org.apache.batik.dom.svg.SVGTextContent;
&lt;br&gt;&lt;br&gt;import org.apache.batik.gvt.GraphicsNode;
&lt;br&gt;&lt;br&gt;import org.apache.batik.transcoder.TranscoderException;
&lt;br&gt;import org.apache.batik.transcoder.TranscoderInput;
&lt;br&gt;import org.apache.batik.transcoder.TranscoderOutput;
&lt;br&gt;&lt;br&gt;import org.apache.batik.transcoder.image.JPEGTranscoder;
&lt;br&gt;&lt;br&gt;import org.apache.batik.util.XMLResourceDescriptor;
&lt;br&gt;&lt;br&gt;import org.w3c.dom.DOMException;
&lt;br&gt;import org.w3c.dom.Element;
&lt;br&gt;&lt;br&gt;import org.w3c.dom.svg.SVGDocument;
&lt;br&gt;import org.w3c.dom.svg.SVGRect;
&lt;br&gt;import org.w3c.dom.svg.SVGTextPositioningElement;
&lt;br&gt;&lt;br&gt;public class Test
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void main(String[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Open the SVG template.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String parser = XMLResourceDescriptor.getXMLParserClassName();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SVGDocument doc = f.createSVGDocument(new &amp;nbsp;
&lt;br&gt;File(&amp;quot;test.svg&amp;quot;).toURI().toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Element testElement = doc.getElementById(&amp;quot;test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UserAgent userAgent = new UserAgentAdapter();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; DocumentLoader loader = new DocumentLoader(userAgent);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SVG12BridgeContext ctx = new SVG12BridgeContext(userAgent, loader);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GVTBuilder builder;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GraphicsNode rootGN;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Boot the CSS and DOM interfaces.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ctx.setDynamicState(SVG12BridgeContext.DYNAMIC);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; builder &amp;nbsp; = new GVTBuilder();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rootGN &amp;nbsp; &amp;nbsp;= builder.build(ctx, doc);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (overflows(testElement))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int fontSize= Integer.parseInt(testElement.getAttribute(&amp;quot;font- 
&lt;br&gt;size&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; testElement.setAttribute(&amp;quot;font-size&amp;quot;, (new Integer(fontSize *= &amp;nbsp;
&lt;br&gt;0.5)).toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int pointSize1 = Integer.parseInt(testElement.getAttribute(&amp;quot;font- 
&lt;br&gt;size&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (!overflows(testElement))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int fontSize= Integer.parseInt(testElement.getAttribute(&amp;quot;font- 
&lt;br&gt;size&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; testElement.setAttribute(&amp;quot;font-size&amp;quot;, (new Integer(fontSize *= &amp;nbsp;
&lt;br&gt;2)).toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int pointSize2 = Integer.parseInt(testElement.getAttribute(&amp;quot;font- 
&lt;br&gt;size&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; int pointSize = pointSize2;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float divider = pointSize2 - pointSize1;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (true)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (divider &amp;lt; 0.01) { break; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (!overflows(testElement))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pointSize = pointSize += divider;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; testElement.setAttribute(&amp;quot;font-size&amp;quot;, (new &amp;nbsp;
&lt;br&gt;Integer(pointSize)).toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; divider = divider/2;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pointSize = pointSize -= divider;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; testElement.setAttribute(&amp;quot;font-size&amp;quot;, (new &amp;nbsp;
&lt;br&gt;Integer(pointSize)).toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; divider = divider/2;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; while (overflows(testElement))
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pointSize = Integer.parseInt(testElement.getAttribute(&amp;quot;font-size&amp;quot;));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; pointSize -= divider;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; testElement.setAttribute(&amp;quot;font-size&amp;quot;, (new &amp;nbsp;
&lt;br&gt;Integer(pointSize)).toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Render the rasterized output file.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; JPEGTranscoder t = new JPEGTranscoder();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Set the transcoding hints.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t.addTranscodingHint(JPEGTranscoder.KEY_QUALITY, new Float(. 
&lt;br&gt;8));
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Create the transcoder input.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TranscoderInput input = new TranscoderInput(doc);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Create the transcoder output.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; OutputStream ostream = new FileOutputStream(&amp;quot;output.jpg&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TranscoderOutput output = new TranscoderOutput(ostream);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Save the image.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; t.transcode(input, output);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Flush and close the stream.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ostream.flush();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ostream.close();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (IOException ex)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Unable to read the template SVG file!&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (TranscoderException te)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Unable to render the template SVG file to an &amp;nbsp;
&lt;br&gt;image!&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.exit(1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; private static boolean overflows(Element textElement)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	SVGTextPositioningElement positioning = &amp;nbsp;
&lt;br&gt;(SVGTextPositioningElement) textElement;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	int numberOfChars = ((SVGTextContent) &amp;nbsp;
&lt;br&gt;((SVGOMElement)textElement).getSVGContext()).getNumberOfChars();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	SVGRect textBounds = positioning.getExtentOfChar(numberOfChars - &amp;nbsp;
&lt;br&gt;1);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		textBounds.getWidth();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		textBounds.getHeight();
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;	return false;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	catch (DOMException e)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;		return true;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;---
&lt;br&gt;&lt;br&gt;The test svg:
&lt;br&gt;---
&lt;br&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;lt;svg version=&amp;quot;1.2&amp;quot; xmlns=&amp;quot;&lt;a href=&quot;http://www.w3.org/2000/svg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2000/svg&lt;/a&gt;&amp;quot; x=&amp;quot;0px&amp;quot; y=&amp;quot;0px&amp;quot; &amp;nbsp;
&lt;br&gt;width=&amp;quot;500px&amp;quot; height=&amp;quot;500px&amp;quot; viewBox=&amp;quot;0 0 500 500&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowText xml:space=&amp;quot;preserve&amp;quot; xmlns=&amp;quot;&lt;a href=&quot;http://xml.apache.org/batik/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xml.apache.org/batik/&lt;/a&gt;&amp;nbsp;
&lt;br&gt;ext&amp;quot; overflow=&amp;quot;hidden&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowRegion vertical-align=&amp;quot;middle&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;500&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/flowRegion&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowDiv&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowPara&amp;gt;&amp;lt;flowLine id=&amp;quot;test&amp;quot; font-size=&amp;quot;72&amp;quot;&amp;gt;This is a test &amp;nbsp;
&lt;br&gt;paragraph.&amp;lt;/flowLine&amp;gt;&amp;lt;/flowPara&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/flowDiv&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/flowText&amp;gt;
&lt;br&gt;&amp;lt;/svg&amp;gt;
&lt;br&gt;---
&lt;br&gt;&lt;br&gt;The result will be a 500x500px area that has the text maximized in the &amp;nbsp;
&lt;br&gt;flowText region.
&lt;br&gt;&lt;br&gt;Brendon
&lt;br&gt;&lt;br&gt;On Dec 15, 2009, at 2:43 AM, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thomas.deweese@...&lt;/a&gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Brendon,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;Brendon J. Wilson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brendon.wilson@...&lt;/a&gt;&amp;gt; wrote on 12/14/2009 &amp;nbsp;
&lt;br&gt;&amp;gt; 09:16:07 PM:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Interesting, so I've taken your advice but it appears the
&lt;br&gt;&amp;gt; &amp;gt; SVGTextPositioningElement.getExtentOfChar method throws a
&lt;br&gt;&amp;gt; &amp;gt; NullPointerException [...].
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Is there some other initialization I need to do before
&lt;br&gt;&amp;gt; &amp;gt; I attempt to use this method?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;Yes you must boot the SVG &amp; CSS DOM before you
&lt;br&gt;&amp;gt; try and use them:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;a href=&quot;http://wiki.apache.org/xmlgraphics-batik/BootSvgAndCssDom&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.apache.org/xmlgraphics-batik/BootSvgAndCssDom&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Open the SVG template.
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String parser = &amp;nbsp;
&lt;br&gt;&amp;gt; XMLResourceDescriptor.getXMLParserClassName();
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SAXSVGDocumentFactory f = new &amp;nbsp;
&lt;br&gt;&amp;gt; SAXSVGDocumentFactory(parser);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SVGDocument doc = f.createSVGDocument(new &amp;nbsp; 
&lt;br&gt;&amp;gt; File(&amp;quot;test.svg&amp;quot;).toURI().toString());
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; Insert the Initialization code here...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Element testElement = doc.getElementById(&amp;quot;test&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SVGTextPositioningElement positioning = &amp;nbsp;
&lt;br&gt;&amp;gt; (SVGTextPositioningElement)
&lt;br&gt;&amp;gt; &amp;gt; testElement;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SVGRect testBounds = positioning.getExtentOfChar(3);
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (testBounds != null)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;No overflow!&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Overflow!&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (IOException ex)
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;Unable to read the template SVG &amp;nbsp;
&lt;br&gt;&amp;gt; file!&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;gt; }
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks in advance,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Brendon
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; On Dec 14, 2009, at 5:30 AM, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thomas.deweese@...&lt;/a&gt; wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Hi Brendon,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;quot;Brendon J. Wilson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brendon.wilson@...&lt;/a&gt;&amp;gt; wrote on 12/13/2009
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; 11:24:25 PM:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The Desired Result: An area of text that uses the largest font &amp;nbsp;
&lt;br&gt;&amp;gt; size
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; possible while still fitting into a given rectangle.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The Proposed Solution: Use the 'flowroot' element, check for
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; overflow,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; and iteratively adjust the font size of the text.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; The Problem: Based on emails from this list dating from 2006, it
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; does
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; not appear overflow events are implemented, and my alternative
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; attempts to formulate my own overflow detection mechanism have &amp;nbsp;
&lt;br&gt;&amp;gt; been
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; unsuccessful.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;I haven't checked the recently but my recollection is that &amp;nbsp;
&lt;br&gt;&amp;gt; there
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; were some issues with the way those events were specified that &amp;nbsp;
&lt;br&gt;&amp;gt; made
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; it problematic to implement them.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; but a similar call to attempt to get the bounding box for the &amp;nbsp;
&lt;br&gt;&amp;gt; laid
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; out
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; text (I presume, I'm actually shooting in the dark at this &amp;nbsp;
&lt;br&gt;&amp;gt; point)
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; results in an uncaught exception:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; SVGElement svgElement = (SVGElement) &amp;nbsp;
&lt;br&gt;&amp;gt; doc.getElementById(&amp;quot;title&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; SVGLocatable locatable = (SVGLocatable) svgElement;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; SVGRect altbounds = locatable.getBBox();
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;The problem is that the flowDiv/flowPara/flowSpan implement the
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; SVG Text positioning interface rather than SVG Locatable. &amp;nbsp;You &amp;nbsp;
&lt;br&gt;&amp;gt; should
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; be able to detect overflow by checking if the 'getExtentOfChar' &amp;nbsp;
&lt;br&gt;&amp;gt; for
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; the last 'printing char' is empty (i.e. the flow text hid it).
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Is there another, easier way to figure out the actual &amp;nbsp;
&lt;br&gt;&amp;gt; dimensions of
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; the laid out text in a flowDiv, or check the flowRoot for
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; overflow? Or
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; are overflow events still not implemented?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; The layout code actually tracks if overflow occurs but it &amp;nbsp;
&lt;br&gt;&amp;gt; isn't
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; exposed anywhere. &amp;nbsp;In 'FlowTextPainter.getTextRuns' the 'textWrap'
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; function called at the end returns true if there was overflow, but
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; that return value is propagated anywhere.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Thanks,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Brendon
&lt;br&gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt; Brendon J. Wilson
&lt;br&gt;&amp;gt; &amp;gt; www.brendonwilson.com
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt; ---------------------------------------------------------------------
&lt;br&gt;&amp;gt; &amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Brendon
&lt;br&gt;---
&lt;br&gt;Brendon J. Wilson
&lt;br&gt;www.brendonwilson.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26806758&amp;i=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26806758.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26792878</id>
	<title>Re: reference another SVG file from a SVG file</title>
	<published>2009-12-15T02:53:04Z</published>
	<updated>2009-12-15T02:53:04Z</updated>
	<author>
		<name>thomas.deweese</name>
	</author>
	<content type="html">&lt;font size=2 face=&quot;sans-serif&quot;&gt;Hi Dao,&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;dao &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26792878&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;dao.hodac@...&lt;/a&gt;&amp;gt; wrote on 12/15/2009
02:45:18 AM:&lt;br&gt;
&lt;br&gt;
&amp;gt; Is it possible?&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; Yes, it is possible.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; what's wrong with my example? nothing displayed
:-(&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; Nothing obvious. &amp;nbsp;Does it work
if warningIcon is in the&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;same file? &amp;nbsp;Why don't you create two very simple
files (you&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;almost have them) and try loading the base file in
the Batik &lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;Squiggle SVG browser, and see if that works.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; We use this fairly widely in our samples
(for example&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;almost all of the top level samples use the 'Batik_Tag_Box'&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;from the batikLogo.svg file).&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &amp;lt;svg &amp;nbsp;xmlns:xlink=&amp;quot;&lt;/font&gt;&lt;/tt&gt;&lt;a href=http://www.w3.org/1999/xlink target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;tt&gt;&lt;font size=2&gt;http://www.w3.org/1999/xlink&lt;/font&gt;&lt;/tt&gt;&lt;/a&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;quot;
...&amp;nbsp;xmlns=&amp;quot;&lt;/font&gt;&lt;/tt&gt;&lt;a href=http://www.w3.org/2000/svg target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;tt&gt;&lt;font size=2&gt;http://www.w3.org/2000/svg&lt;/font&gt;&lt;/tt&gt;&lt;/a&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;style type=&amp;quot;text/css&amp;quot; xml:space=&amp;quot;preserve&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;use x=&amp;quot;-53.175&amp;quot; y=&amp;quot;-194.283&amp;quot; transform=&amp;quot;matrix(0.5084
0 0 -0.5084 796.3025 487.9082)&amp;quot; &lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;width=&amp;quot;106.349&amp;quot;
xmlns:xlink=&amp;quot;&lt;/font&gt;&lt;/tt&gt;&lt;a href=http://www.w3.org/1999/xlink target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;tt&gt;&lt;font size=2&gt;http://www.w3.org/1999/xlink&lt;/font&gt;&lt;/tt&gt;&lt;/a&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;quot;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;xlink:href=&amp;quot;warning.svg#warningIcon&amp;quot;
xlink:type=&amp;quot;simple&amp;quot; &lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;xlink:actuate=&amp;quot;onLoad&amp;quot; id=&amp;quot;warn&amp;quot;
height=&amp;quot;388.566&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;/svg&amp;gt;&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &lt;br&gt;
&amp;gt; knowing that in my folder I have the warning.svg file containing the
symbol.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &lt;br&gt;
&amp;gt; &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;!-- Created with Inkscape (&lt;/font&gt;&lt;/tt&gt;&lt;a href=http://www.inkscape.org target=&quot;_top&quot; rel=&quot;nofollow&quot; /&gt;&lt;tt&gt;&lt;font size=2&gt;http://www.inkscape.org/&lt;/font&gt;&lt;/tt&gt;&lt;/a&gt;&lt;tt&gt;&lt;font size=2&gt;)
--&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;svg ...&amp;nbsp;/&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp;&amp;lt;defs&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; id=&amp;quot;defs4&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt; ...&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp;&amp;lt;/defs&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp;&amp;lt;symbol preserveAspectRatio=&amp;quot;xMidYMid meet&amp;quot;
id=&amp;quot;warningIcon&amp;quot; &lt;br&gt;
&amp;gt; viewBox=&amp;quot;-53.175 -194.283 106.349 388.566&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;lt;path&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; style=&amp;quot;font-size:333.22640991px;font-style:normal;font-&lt;br&gt;
&amp;gt; variant:normal;font-weight:bold;font-stretch:normal;text-&lt;br&gt;
&amp;gt; align:start;line-height:125%;writing-mode:lr-tb;text-&lt;br&gt;
&amp;gt; anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:&lt;br&gt;
&amp;gt; 1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-&lt;br&gt;
&amp;gt; family:Angsana New&amp;quot;&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; d=&amp;quot;M ... z &amp;quot;&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; id=&amp;quot;text2171&amp;quot; /&amp;gt;&lt;br&gt;
&amp;gt; &amp;nbsp;&amp;nbsp;&amp;lt;/symbol&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;/svg&amp;gt;&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &lt;br&gt;
&amp;gt; -- &lt;br&gt;
&amp;gt; Dao Hodac&lt;/font&gt;&lt;/tt&gt;&lt;font size=2 face=&quot;sans-serif&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/reference-another-SVG-file-from-a-SVG-file-tp26790895p26792878.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26792783</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-15T02:43:30Z</published>
	<updated>2009-12-15T02:43:30Z</updated>
	<author>
		<name>thomas.deweese</name>
	</author>
	<content type="html">&lt;font size=2 face=&quot;sans-serif&quot;&gt;Hi Brendon,&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;quot;Brendon J. Wilson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26792783&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brendon.wilson@...&lt;/a&gt;&amp;gt;
wrote on 12/14/2009 09:16:07 PM:&lt;br&gt;
&lt;br&gt;
&amp;gt; Interesting, so I've taken your advice but it appears the &amp;nbsp;&lt;br&gt;
&amp;gt; SVGTextPositioningElement.getExtentOfChar method throws a &amp;nbsp;&lt;br&gt;
&amp;gt; NullPointerException [...]. &lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; Is there some other initialization I need to
do before &amp;nbsp;&lt;br&gt;
&amp;gt; I attempt to use this method?&lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp;Yes you must boot the SVG &amp;amp; CSS DOM
before you&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;try and use them:&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/font&gt;&lt;/tt&gt;&lt;a href=&quot;http://wiki.apache.org/xmlgraphics-batik/BootSvgAndCssDom&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;tt&gt;&lt;font size=2&gt;http://wiki.apache.org/xmlgraphics-batik/BootSvgAndCssDom&lt;/font&gt;&lt;/tt&gt;&lt;/a&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Open the
SVG template.&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;String parser = XMLResourceDescriptor.getXMLParserClassName();&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SVGDocument doc = f.createSVGDocument(new
&amp;nbsp;File(&amp;quot;test.svg&amp;quot;).toURI().toString());&lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; Insert the Initialization code here...&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Element testElement
= doc.getElementById(&amp;quot;test&amp;quot;);&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SVGTextPositioningElement positioning
= (SVGTextPositioningElement) &amp;nbsp;&lt;br&gt;
&amp;gt; testElement;&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SVGRect testBounds
= positioning.getExtentOfChar(3);&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (testBounds != null)&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;No
overflow!&amp;quot;);&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Overflow!&amp;quot;);&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (IOException ex)&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println(&amp;quot;Unable
to read the template SVG file!&amp;quot;);&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br&gt;
&amp;gt; &amp;nbsp; &amp;nbsp;}&lt;br&gt;
&amp;gt; }&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thanks in advance,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Brendon&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; On Dec 14, 2009, at 5:30 AM, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26792783&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thomas.deweese@...&lt;/a&gt; wrote:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &amp;gt; Hi Brendon,&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;quot;Brendon J. Wilson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26792783&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brendon.wilson@...&lt;/a&gt;&amp;gt;
wrote on 12/13/2009 &amp;nbsp;&lt;br&gt;
&amp;gt; &amp;gt; 11:24:25 PM:&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; The Desired Result: An area of text that uses the largest
font size&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; possible while still fitting into a given rectangle.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; The Proposed Solution: Use the 'flowroot' element, check
for &amp;nbsp;&lt;br&gt;
&amp;gt; &amp;gt; overflow,&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; and iteratively adjust the font size of the text.&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; The Problem: Based on emails from this list dating from
2006, it &amp;nbsp;&lt;br&gt;
&amp;gt; &amp;gt; does&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; not appear overflow events are implemented, and my alternative&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; attempts to formulate my own overflow detection mechanism
have been&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; unsuccessful.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;I haven't checked the recently but my recollection
is that there&lt;br&gt;
&amp;gt; &amp;gt; were some issues with the way those events were specified that
made&lt;br&gt;
&amp;gt; &amp;gt; it problematic to implement them.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; but a similar call to attempt to get the bounding box for
the laid &amp;nbsp;&lt;br&gt;
&amp;gt; &amp;gt; out&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; text (I presume, I'm actually shooting in the dark at this
point)&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; results in an uncaught exception:&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; ---&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; SVGElement svgElement = (SVGElement) doc.getElementById(&amp;quot;title&amp;quot;);&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; SVGLocatable locatable = (SVGLocatable) svgElement;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; SVGRect altbounds = locatable.getBBox();&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp;The problem is that the flowDiv/flowPara/flowSpan
implement the&lt;br&gt;
&amp;gt; &amp;gt; SVG Text positioning interface rather than SVG Locatable. &amp;nbsp;You
should&lt;br&gt;
&amp;gt; &amp;gt; be able to detect overflow by checking if the 'getExtentOfChar'
for&lt;br&gt;
&amp;gt; &amp;gt; the last 'printing char' is empty (i.e. the flow text hid it).&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; Is there another, easier way to figure out the actual dimensions
of&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; the laid out text in a flowDiv, or check the flowRoot for
&amp;nbsp;&lt;br&gt;
&amp;gt; &amp;gt; overflow? Or&lt;br&gt;
&amp;gt; &amp;gt; &amp;gt; are overflow events still not implemented?&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; The layout code actually tracks if overflow occurs
but it isn't&lt;br&gt;
&amp;gt; &amp;gt; exposed anywhere. &amp;nbsp;In 'FlowTextPainter.getTextRuns' the
'textWrap'&lt;br&gt;
&amp;gt; &amp;gt; function called at the end returns true if there was overflow,
but&lt;br&gt;
&amp;gt; &amp;gt; that return value is propagated anywhere.&lt;br&gt;
&amp;gt; &amp;gt;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Thanks,&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; Brendon&lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; Brendon J. Wilson&lt;br&gt;
&amp;gt; &lt;/font&gt;&lt;/tt&gt;&lt;a href=www.brendonwilson.com target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;&lt;tt&gt;&lt;font size=2&gt;www.brendonwilson.com&lt;/font&gt;&lt;/tt&gt;&lt;/a&gt;&lt;tt&gt;&lt;font size=2&gt;&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ---------------------------------------------------------------------&lt;br&gt;
&amp;gt; To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26792783&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
&amp;gt; For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26792783&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;&lt;br&gt;
&amp;gt; &lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;&lt;font size=2 face=&quot;sans-serif&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26792783.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26790895</id>
	<title>reference another SVG file from a SVG file</title>
	<published>2009-12-14T23:45:18Z</published>
	<updated>2009-12-14T23:45:18Z</updated>
	<author>
		<name>dao-7</name>
	</author>
	<content type="html">hello,&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;I want to do that:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;svg  xmlns:xlink=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xlink&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xlink&lt;/a&gt;&amp;quot; ... &lt;span style=&quot;text-decoration: underline&quot;&gt;xmlns&lt;/span&gt;=&amp;quot;&lt;a href=&quot;http://www.w3.org/2000/svg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2000/svg&lt;/a&gt;&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;style type=&amp;quot;text/&lt;span style=&quot;text-decoration: underline&quot;&gt;css&lt;/span&gt;&amp;quot; xml:space=&amp;quot;preserve&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;use x=&amp;quot;-53.175&amp;quot; y=&amp;quot;-194.283&amp;quot; transform=&amp;quot;matrix(0.5084 0 0 -0.5084 796.3025 487.9082)&amp;quot; width=&amp;quot;106.349&amp;quot; xmlns:xlink=&amp;quot;&lt;a href=&quot;http://www.w3.org/1999/xlink&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/1999/xlink&lt;/a&gt;&amp;quot; xlink:href=&amp;quot;&lt;b&gt;warning.svg#warningIcon&lt;/b&gt;&amp;quot; xlink:type=&amp;quot;simple&amp;quot; xlink:actuate=&amp;quot;onLoad&amp;quot; id=&amp;quot;warn&amp;quot; height=&amp;quot;388.566&amp;quot;/&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;/svg&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;

&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco&quot;&gt;knowing that in my folder I have the warning.svg file containing the symbol.&lt;/p&gt;
&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco&quot;&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;&lt;blockquote class=&quot;webkit-indent-blockquote&quot; style=&quot;margin: 0 0 0 40px; border: none; padding: 0px;&quot;&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot; standalone=&amp;quot;no&amp;quot;?&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;!-- Created with Inkscape (&lt;a href=&quot;http://www.inkscape.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.inkscape.org/&lt;/a&gt;) --&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;svg ... /&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;  &amp;lt;defs&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;     id=&amp;quot;defs4&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;...&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;  &amp;lt;/defs&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;  &amp;lt;symbol preserveAspectRatio=&amp;quot;xMidYMid meet&amp;quot; id=&amp;quot;&lt;b&gt;warningIcon&lt;/b&gt;&amp;quot; viewBox=&amp;quot;-53.175 -194.283 106.349 388.566&amp;quot;&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;    &amp;lt;path&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;       style=&amp;quot;font-size:333.22640991px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Angsana New&amp;quot;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;       d=&amp;quot;M ... z &amp;quot;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;       id=&amp;quot;text2171&amp;quot; /&amp;gt;&lt;/span&gt;&lt;br&gt;
&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;  &amp;lt;/symbol&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;font-family: Monaco; font-size: 11px; &quot;&gt;&amp;lt;/svg&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;
&lt;p style=&quot;margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Monaco&quot;&gt;












&lt;/p&gt;&lt;div&gt;&lt;span class=&quot;Apple-style-span&quot; style=&quot;text-decoration: underline;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Is it possible? what&amp;#39;s wrong with my example? nothing displayed :-(&lt;/div&gt;&lt;br&gt;-- &lt;br&gt;Dao Hodac&lt;br&gt;

&lt;/div&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/reference-another-SVG-file-from-a-SVG-file-tp26790895p26790895.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26788356</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-14T18:16:07Z</published>
	<updated>2009-12-14T18:16:07Z</updated>
	<author>
		<name>Brendon J. Wilson</name>
	</author>
	<content type="html">Interesting, so I've taken your advice but it appears the &amp;nbsp;
&lt;br&gt;SVGTextPositioningElement.getExtentOfChar method throws a &amp;nbsp;
&lt;br&gt;NullPointerException because SVGTextContentSupport.getExtentOfChar is &amp;nbsp;
&lt;br&gt;unable to execute getNumberOfChars due to a null returned by &amp;nbsp;
&lt;br&gt;getSVGContext. Is there some other initialization I need to do before &amp;nbsp;
&lt;br&gt;I attempt to use this method?
&lt;br&gt;&lt;br&gt;The exception:
&lt;br&gt;---
&lt;br&gt;Exception in thread &amp;quot;main&amp;quot; java.lang.NullPointerException
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.batik 
&lt;br&gt;.dom 
&lt;br&gt;.svg.SVGTextContentSupport.getNumberOfChars(SVGTextContentSupport.java: 
&lt;br&gt;45)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.batik 
&lt;br&gt;.dom 
&lt;br&gt;.svg.SVGTextContentSupport.getExtentOfChar(SVGTextContentSupport.java: 
&lt;br&gt;55)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at &amp;nbsp;
&lt;br&gt;org 
&lt;br&gt;.apache 
&lt;br&gt;.batik 
&lt;br&gt;.dom 
&lt;br&gt;.svg 
&lt;br&gt;.SVGOMTextContentElement.getExtentOfChar(SVGOMTextContentElement.java: 
&lt;br&gt;219)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at com.brendonwilson.kindleberg.Test.main(Test.java:27)
&lt;br&gt;---
&lt;br&gt;&lt;br&gt;The SVG:
&lt;br&gt;---
&lt;br&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;
&lt;br&gt;&amp;lt;svg version=&amp;quot;1.2&amp;quot; xmlns=&amp;quot;&lt;a href=&quot;http://www.w3.org/2000/svg&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2000/svg&lt;/a&gt;&amp;quot;&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowRoot xml:space=&amp;quot;preserve&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowRegion vertical-align=&amp;quot;middle&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;rect x=&amp;quot;0&amp;quot; y=&amp;quot;0&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;100&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/flowRegion&amp;gt;
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowDiv&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;flowPara font-size=&amp;quot;72&amp;quot; id=&amp;quot;test&amp;quot;&amp;gt; This is a test paragraph.&amp;lt;/ 
&lt;br&gt;flowPara&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/flowDiv&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/flowRoot&amp;gt;
&lt;br&gt;&amp;lt;/svg&amp;gt;
&lt;br&gt;---
&lt;br&gt;&lt;br&gt;The code:
&lt;br&gt;---
&lt;br&gt;import java.io.File;
&lt;br&gt;import java.io.IOException;
&lt;br&gt;&lt;br&gt;import org.apache.batik.dom.svg.SAXSVGDocumentFactory;
&lt;br&gt;&lt;br&gt;import org.apache.batik.util.XMLResourceDescriptor;
&lt;br&gt;&lt;br&gt;import org.w3c.dom.Element;
&lt;br&gt;&lt;br&gt;import org.w3c.dom.svg.SVGDocument;
&lt;br&gt;import org.w3c.dom.svg.SVGRect;
&lt;br&gt;import org.w3c.dom.svg.SVGTextPositioningElement;
&lt;br&gt;&lt;br&gt;public class Test
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void main(String[] args)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; try
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Open the SVG template.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; String parser = XMLResourceDescriptor.getXMLParserClassName();
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SAXSVGDocumentFactory f = new SAXSVGDocumentFactory(parser);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SVGDocument doc = f.createSVGDocument(new &amp;nbsp;
&lt;br&gt;File(&amp;quot;test.svg&amp;quot;).toURI().toString());
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Element testElement = doc.getElementById(&amp;quot;test&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SVGTextPositioningElement positioning = (SVGTextPositioningElement) &amp;nbsp;
&lt;br&gt;testElement;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 		SVGRect testBounds = positioning.getExtentOfChar(3);
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if (testBounds != null)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;No overflow!&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 	}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 	else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 		{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Overflow!&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; catch (IOException ex)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println(&amp;quot;Unable to read the template SVG file!&amp;quot;);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;---
&lt;br&gt;&lt;br&gt;Thanks in advance,
&lt;br&gt;&lt;br&gt;Brendon
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Dec 14, 2009, at 5:30 AM, &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26788356&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thomas.deweese@...&lt;/a&gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi Brendon,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;quot;Brendon J. Wilson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26788356&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brendon.wilson@...&lt;/a&gt;&amp;gt; wrote on 12/13/2009 &amp;nbsp;
&lt;br&gt;&amp;gt; 11:24:25 PM:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The Desired Result: An area of text that uses the largest font size
&lt;br&gt;&amp;gt; &amp;gt; possible while still fitting into a given rectangle.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The Proposed Solution: Use the 'flowroot' element, check for &amp;nbsp;
&lt;br&gt;&amp;gt; overflow,
&lt;br&gt;&amp;gt; &amp;gt; and iteratively adjust the font size of the text.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; The Problem: Based on emails from this list dating from 2006, it &amp;nbsp;
&lt;br&gt;&amp;gt; does
&lt;br&gt;&amp;gt; &amp;gt; not appear overflow events are implemented, and my alternative
&lt;br&gt;&amp;gt; &amp;gt; attempts to formulate my own overflow detection mechanism have been
&lt;br&gt;&amp;gt; &amp;gt; unsuccessful.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;I haven't checked the recently but my recollection is that there
&lt;br&gt;&amp;gt; were some issues with the way those events were specified that made
&lt;br&gt;&amp;gt; it problematic to implement them.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; but a similar call to attempt to get the bounding box for the laid &amp;nbsp;
&lt;br&gt;&amp;gt; out
&lt;br&gt;&amp;gt; &amp;gt; text (I presume, I'm actually shooting in the dark at this point)
&lt;br&gt;&amp;gt; &amp;gt; results in an uncaught exception:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; ---
&lt;br&gt;&amp;gt; &amp;gt; SVGElement svgElement = (SVGElement) doc.getElementById(&amp;quot;title&amp;quot;);
&lt;br&gt;&amp;gt; &amp;gt; SVGLocatable locatable = (SVGLocatable) svgElement;
&lt;br&gt;&amp;gt; &amp;gt; SVGRect altbounds = locatable.getBBox();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;The problem is that the flowDiv/flowPara/flowSpan implement the
&lt;br&gt;&amp;gt; SVG Text positioning interface rather than SVG Locatable. &amp;nbsp;You should
&lt;br&gt;&amp;gt; be able to detect overflow by checking if the 'getExtentOfChar' for
&lt;br&gt;&amp;gt; the last 'printing char' is empty (i.e. the flow text hid it).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Is there another, easier way to figure out the actual dimensions of
&lt;br&gt;&amp;gt; &amp;gt; the laid out text in a flowDiv, or check the flowRoot for &amp;nbsp;
&lt;br&gt;&amp;gt; overflow? Or
&lt;br&gt;&amp;gt; &amp;gt; are overflow events still not implemented?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; The layout code actually tracks if overflow occurs but it isn't
&lt;br&gt;&amp;gt; exposed anywhere. &amp;nbsp;In 'FlowTextPainter.getTextRuns' the 'textWrap'
&lt;br&gt;&amp;gt; function called at the end returns true if there was overflow, but
&lt;br&gt;&amp;gt; that return value is propagated anywhere.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;Brendon
&lt;br&gt;---
&lt;br&gt;Brendon J. Wilson
&lt;br&gt;www.brendonwilson.com
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26788356&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26788356&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26788356.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26786760</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-14T15:15:38Z</published>
	<updated>2009-12-14T15:15:38Z</updated>
	<author>
		<name>jonathan wood-3</name>
	</author>
	<content type="html">&lt;br&gt;Thomas,&lt;br&gt;&lt;br&gt;  You are correct.  The test case for this no longer fails as I previously encountered.  My apologies for any confusion caused.&lt;br&gt;&lt;br&gt;  Instead of trashing the example, here it is (excuse the ide-component code...I did not have alot of time for further reduction).  Maybe it will serve as an event example or a framework for other test case reductions.&lt;br&gt;

&lt;br&gt;  Are examples like this of use to anyone on the list currently? &lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Begin Example&lt;br&gt;&lt;br&gt;package textboundingbox;&lt;br&gt;&lt;br&gt;import org.apache.batik.dom.svg.SVGDOMImplementation;&lt;br&gt;

import org.apache.batik.swing.JSVGCanvas;&lt;br&gt;import org.apache.batik.swing.svg.GVTTreeBuilderAdapter;&lt;br&gt;import org.apache.batik.swing.svg.GVTTreeBuilderEvent;&lt;br&gt;import org.w3c.dom.DOMImplementation;&lt;br&gt;import org.w3c.dom.Document;&lt;br&gt;

import org.w3c.dom.Element;&lt;br&gt;import org.w3c.dom.Text;&lt;br&gt;import org.w3c.dom.events.Event;&lt;br&gt;import org.w3c.dom.events.EventListener;&lt;br&gt;import org.w3c.dom.events.EventTarget;&lt;br&gt;import org.w3c.dom.svg.SVGDocument;&lt;br&gt;
import org.w3c.dom.svg.SVGLocatable;&lt;br&gt;
import org.w3c.dom.svg.SVGRect;&lt;br&gt;&lt;br&gt;/**&lt;br&gt; *&lt;br&gt; * @author Jonathan Wood&lt;br&gt; */&lt;br&gt;public class Main extends javax.swing.JFrame {&lt;br&gt;&lt;br&gt;    private org.apache.batik.swing.JSVGCanvas svgCanvas;&lt;br&gt;    private int clickCount = 0;&lt;br&gt;

&lt;br&gt;    private void initGlassPane() {&lt;br&gt;&lt;br&gt;        svgCanvas.setDocumentState(JSVGCanvas.ALWAYS_DYNAMIC);&lt;br&gt;        svgCanvas.addGVTTreeBuilderListener(new GVTTreeBuilderAdapter() {&lt;br&gt;            @Override&lt;br&gt;            public void gvtBuildCompleted(GVTTreeBuilderEvent e) {&lt;br&gt;

                svgCanvas.getUpdateManager().getUpdateRunnableQueue().invokeLater(new Runnable() {&lt;br&gt;                    public void run() {&lt;br&gt;                        final SVGDocument doc = svgCanvas.getSVGDocument();&lt;br&gt;

                        Element glassPane = doc.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, &amp;quot;rect&amp;quot;);&lt;br&gt;                        glassPane.setAttributeNS(null, &amp;quot;id&amp;quot;, &amp;quot;glass-pane&amp;quot;);&lt;br&gt;

                        glassPane.setAttributeNS(null, &amp;quot;x&amp;quot;, &amp;quot;0&amp;quot;);&lt;br&gt;                        glassPane.setAttributeNS(null, &amp;quot;y&amp;quot;, &amp;quot;0&amp;quot;);&lt;br&gt;                        glassPane.setAttributeNS(null, &amp;quot;height&amp;quot;, &amp;quot;&amp;quot; + getHeight());&lt;br&gt;

                        glassPane.setAttributeNS(null, &amp;quot;width&amp;quot;, &amp;quot;&amp;quot; + getWidth());&lt;br&gt;                        glassPane.setAttributeNS(null, &amp;quot;fill&amp;quot;, &amp;quot;none&amp;quot;);&lt;br&gt;                        glassPane.setAttributeNS(null, &amp;quot;pointer-events&amp;quot;, &amp;quot;all&amp;quot;);&lt;br&gt;

                        EventListener glassPaneListener = new EventListener() {&lt;br&gt;                            public void handleEvent(Event event) {&lt;br&gt;                                String clickString = &amp;quot;Clicks = &amp;quot; + ++clickCount;&lt;br&gt;

                                Element textNode = doc.getElementById(&amp;quot;my-text-node&amp;quot;);&lt;br&gt;                                if(textNode == null) {&lt;br&gt;                                    textNode = doc.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, &amp;quot;text&amp;quot;);&lt;br&gt;

                                    textNode.setAttributeNS(null, &amp;quot;id&amp;quot;, &amp;quot;my-text-node&amp;quot;);&lt;br&gt;                                    textNode.setAttributeNS(null, &amp;quot;x&amp;quot;, &amp;quot;50&amp;quot;);&lt;br&gt;                                    textNode.setAttributeNS(null, &amp;quot;y&amp;quot;, &amp;quot;50&amp;quot;);&lt;br&gt;

                                    textNode.setAttributeNS(null, &amp;quot;font-size&amp;quot;, &amp;quot;20&amp;quot;);&lt;br&gt;                                    Text t = doc.createTextNode(clickString);&lt;br&gt;                                    textNode.appendChild(t);&lt;br&gt;

                                    doc.getDocumentElement().appendChild(textNode);&lt;br&gt;                                } else {&lt;br&gt;                                    textNode.getFirstChild().setNodeValue(clickString);&lt;br&gt;

                                }&lt;br&gt;                                SVGRect bbox = ((SVGLocatable)textNode).getBBox();&lt;br&gt;                                Element rect = doc.getElementById(&amp;quot;my-bg-rect&amp;quot;);&lt;br&gt;                                if (rect == null) {&lt;br&gt;

                                    rect = doc.createElementNS(SVGDOMImplementation.SVG_NAMESPACE_URI, &amp;quot;rect&amp;quot;);&lt;br&gt;                                    rect.setAttributeNS(null, &amp;quot;id&amp;quot;, &amp;quot;my-bg-rect&amp;quot;);&lt;br&gt;

                                    rect.setAttributeNS(null, &amp;quot;fill&amp;quot;, &amp;quot;#CCDDFF&amp;quot;);&lt;br&gt;                                    rect.setAttributeNS(null, &amp;quot;rx&amp;quot;, &amp;quot;10&amp;quot;);&lt;br&gt;                                    rect.setAttributeNS(null, &amp;quot;ry&amp;quot;, &amp;quot;10&amp;quot;);&lt;br&gt;

                                    rect.setAttributeNS(null, &amp;quot;stroke&amp;quot;, &amp;quot;#551111&amp;quot;);&lt;br&gt;                                    rect.setAttributeNS(null, &amp;quot;stroke-width&amp;quot;, &amp;quot;2&amp;quot;);&lt;br&gt;                                }&lt;br&gt;

                                rect.setAttributeNS(null, &amp;quot;x&amp;quot;, &amp;quot;&amp;quot; + (bbox.getX() - 10) );&lt;br&gt;                                rect.setAttributeNS(null, &amp;quot;y&amp;quot;, &amp;quot;&amp;quot; + (bbox.getY() - 10) );&lt;br&gt;

                                rect.setAttributeNS(null, &amp;quot;width&amp;quot;, &amp;quot;&amp;quot; + (bbox.getWidth() + 20) );&lt;br&gt;                                rect.setAttributeNS(null, &amp;quot;height&amp;quot;, &amp;quot;&amp;quot; + (bbox.getHeight() + 20) );&lt;br&gt;

                                doc.getDocumentElement().insertBefore(rect, textNode);&lt;br&gt;                            }&lt;br&gt;                        };&lt;br&gt;&lt;br&gt;                        ((EventTarget)glassPane).addEventListener(&amp;quot;click&amp;quot;, glassPaneListener, false);&lt;br&gt;

                        doc.getDocumentElement().appendChild(glassPane);&lt;br&gt;                    }&lt;br&gt;                });&lt;br&gt;            }&lt;br&gt;        });&lt;br&gt;&lt;br&gt;        SVGDocument startDoc = (SVGDocument) SVGDOMImplementation.getDOMImplementation().createDocument(SVGDOMImplementation.SVG_NAMESPACE_URI, &amp;quot;svg&amp;quot;, null);&lt;br&gt;

&lt;br&gt;        DOMImplementation impl = SVGDOMImplementation.getDOMImplementation();&lt;br&gt;        String svgNS = SVGDOMImplementation.SVG_NAMESPACE_URI;&lt;br&gt;        Document doc = impl.createDocument(svgNS, &amp;quot;svg&amp;quot;, null);&lt;br&gt;

&lt;br&gt;        svgCanvas.setSVGDocument((SVGDocument) doc);&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    public Main() {&lt;br&gt;        initComponents();&lt;br&gt;        initGlassPane();&lt;br&gt;    }&lt;br&gt;&lt;br&gt;    @SuppressWarnings(&amp;quot;unchecked&amp;quot;)&lt;br&gt;    private void initComponents() {&lt;br&gt;

        svgCanvas = new org.apache.batik.swing.JSVGCanvas();&lt;br&gt;        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);&lt;br&gt;        org.jdesktop.layout.GroupLayout svgCanvasLayout = new org.jdesktop.layout.GroupLayout(svgCanvas);&lt;br&gt;

        svgCanvas.setLayout(svgCanvasLayout);&lt;br&gt;        svgCanvasLayout.setHorizontalGroup(&lt;br&gt;            svgCanvasLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)&lt;br&gt;            .add(0, 400, Short.MAX_VALUE)&lt;br&gt;

        );&lt;br&gt;        svgCanvasLayout.setVerticalGroup(&lt;br&gt;            svgCanvasLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)&lt;br&gt;            .add(0, 300, Short.MAX_VALUE)&lt;br&gt;        );&lt;br&gt;        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(getContentPane());&lt;br&gt;

        getContentPane().setLayout(layout);&lt;br&gt;        layout.setHorizontalGroup(&lt;br&gt;            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)&lt;br&gt;            .add(svgCanvas, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 400, Short.MAX_VALUE)&lt;br&gt;

        );&lt;br&gt;        layout.setVerticalGroup(&lt;br&gt;            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)&lt;br&gt;            .add(svgCanvas, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 300, Short.MAX_VALUE)&lt;br&gt;

        );&lt;br&gt;        pack();&lt;br&gt;    }                        &lt;br&gt;&lt;br&gt;    public static void main(String args[]) {&lt;br&gt;        java.awt.EventQueue.invokeLater(new Runnable() {&lt;br&gt;            public void run() {&lt;br&gt;                new Main().setVisible(true);&lt;br&gt;

            }&lt;br&gt;        });&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;&lt;br&gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; End Example&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Dec 14, 2009 at 9:53 AM, jonathan wood &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26786760&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jonathanshawwood@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Hi Thomas,&lt;br&gt;&lt;br&gt;   I&amp;#39;ll try to pull a current SVN copy this week and test it. &lt;br&gt;&lt;div&gt;

&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Dec 14, 2009 at 9:02 AM,  &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26786760&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thomas.deweese@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;font face=&quot;sans-serif&quot; size=&quot;2&quot;&gt;Hi Jonathan,&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;jonathan wood &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26786760&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jonathanshawwood@...&lt;/a&gt;&amp;gt; wrote
on 12/14/2009 12:48:49 AM:&lt;div&gt;&lt;br&gt;
&lt;br&gt;
&amp;gt;   I have found that when dealing with text and bounding boxes
you &lt;br&gt;
&amp;gt; must be careful to never try to obtain the newly &amp;quot;added to the
DOM&amp;quot; &lt;br&gt;
&amp;gt; text&amp;#39;s bounding box in the same worker.&lt;br&gt;
&lt;/div&gt;&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;    Really?  I know some of the other
SVG implementations&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;have this sort of a requirement, but I am not aware
of any situation&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;where this is true in Batik.  Do you have a concrete
example?&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;font face=&quot;sans-serif&quot; size=&quot;2&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26786760.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26779011</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-14T06:53:31Z</published>
	<updated>2009-12-14T06:53:31Z</updated>
	<author>
		<name>jonathan wood-3</name>
	</author>
	<content type="html">Hi Thomas,&lt;br&gt;&lt;br&gt;   I&amp;#39;ll try to pull a current SVN copy this week and test it. &lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Dec 14, 2009 at 9:02 AM,  &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26779011&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thomas.deweese@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;font face=&quot;sans-serif&quot; size=&quot;2&quot;&gt;Hi Jonathan,&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;jonathan wood &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26779011&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jonathanshawwood@...&lt;/a&gt;&amp;gt; wrote
on 12/14/2009 12:48:49 AM:&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&lt;br&gt;
&amp;gt;   I have found that when dealing with text and bounding boxes
you &lt;br&gt;
&amp;gt; must be careful to never try to obtain the newly &amp;quot;added to the
DOM&amp;quot; &lt;br&gt;
&amp;gt; text&amp;#39;s bounding box in the same worker.&lt;br&gt;
&lt;/div&gt;&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;    Really?  I know some of the other
SVG implementations&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;have this sort of a requirement, but I am not aware
of any situation&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=&quot;2&quot;&gt;where this is true in Batik.  Do you have a concrete
example?&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;font face=&quot;sans-serif&quot; size=&quot;2&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26779011.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26778249</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-14T06:02:50Z</published>
	<updated>2009-12-14T06:02:50Z</updated>
	<author>
		<name>thomas.deweese</name>
	</author>
	<content type="html">&lt;font size=2 face=&quot;sans-serif&quot;&gt;Hi Jonathan,&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;jonathan wood &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26778249&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jonathanshawwood@...&lt;/a&gt;&amp;gt; wrote
on 12/14/2009 12:48:49 AM:&lt;br&gt;
&lt;br&gt;
&amp;gt; &amp;nbsp; I have found that when dealing with text and bounding boxes
you &lt;br&gt;
&amp;gt; must be careful to never try to obtain the newly &amp;quot;added to the
DOM&amp;quot; &lt;br&gt;
&amp;gt; text's bounding box in the same worker.&lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; Really? &amp;nbsp;I know some of the other
SVG implementations&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;have this sort of a requirement, but I am not aware
of any situation&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;where this is true in Batik. &amp;nbsp;Do you have a concrete
example?&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;font size=2 face=&quot;sans-serif&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26778249.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26777792</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-14T05:30:38Z</published>
	<updated>2009-12-14T05:30:38Z</updated>
	<author>
		<name>thomas.deweese</name>
	</author>
	<content type="html">&lt;font size=2 face=&quot;sans-serif&quot;&gt;Hi Brendon,&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;quot;Brendon J. Wilson&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26777792&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brendon.wilson@...&lt;/a&gt;&amp;gt;
wrote on 12/13/2009 11:24:25 PM:&lt;br&gt;
&lt;br&gt;
&amp;gt; The Desired Result: An area of text that uses the largest font size
&amp;nbsp;&lt;br&gt;
&amp;gt; possible while still fitting into a given rectangle.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The Proposed Solution: Use the 'flowroot' element, check for overflow,
&amp;nbsp;&lt;br&gt;
&amp;gt; and iteratively adjust the font size of the text.&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; The Problem: Based on emails from this list dating from 2006, it does
&amp;nbsp;&lt;br&gt;
&amp;gt; not appear overflow events are implemented, and my alternative &amp;nbsp;&lt;br&gt;
&amp;gt; attempts to formulate my own overflow detection mechanism have been
&amp;nbsp;&lt;br&gt;
&amp;gt; unsuccessful.&lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp;I haven't checked the recently but my
recollection is that there&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;were some issues with the way those events were specified
that made&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;it problematic to implement them.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp;&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; but a similar call to attempt to get the bounding
box for the laid out &amp;nbsp;&lt;br&gt;
&amp;gt; text (I presume, I'm actually shooting in the dark at this point)
&amp;nbsp;&lt;br&gt;
&amp;gt; results in an uncaught exception:&lt;br&gt;
&amp;gt; &lt;br&gt;
&amp;gt; ---&lt;br&gt;
&amp;gt; SVGElement svgElement = (SVGElement) doc.getElementById(&amp;quot;title&amp;quot;);&lt;br&gt;
&amp;gt; SVGLocatable locatable = (SVGLocatable) svgElement;&lt;br&gt;
&amp;gt; SVGRect altbounds = locatable.getBBox();&lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp;The problem is that the flowDiv/flowPara/flowSpan
implement the&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;SVG Text positioning interface rather than SVG Locatable.
&amp;nbsp;You should&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;be able to detect overflow by checking if the 'getExtentOfChar'
for&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;the last 'printing char' is empty (i.e. the flow text
hid it).&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;gt; Is there another, easier way to figure out the
actual dimensions of &amp;nbsp;&lt;br&gt;
&amp;gt; the laid out text in a flowDiv, or check the flowRoot for overflow?
Or &amp;nbsp;&lt;br&gt;
&amp;gt; are overflow events still not implemented?&lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; The layout code actually tracks if overflow
occurs but it isn't&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;exposed anywhere. &amp;nbsp;In 'FlowTextPainter.getTextRuns'
the 'textWrap'&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;function called at the end returns true if there was
overflow, but&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;that return value is propagated anywhere.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;font size=2 face=&quot;sans-serif&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26777792.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26777418</id>
	<title>Re: Trapping canvas resizing event</title>
	<published>2009-12-14T05:05:57Z</published>
	<updated>2009-12-14T05:05:57Z</updated>
	<author>
		<name>thomas.deweese</name>
	</author>
	<content type="html">&lt;font size=2 face=&quot;sans-serif&quot;&gt;Hi Shekhar,&lt;/font&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;Shekhar Bhati &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26777418&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;shekhar.bhati@...&lt;/a&gt;&amp;gt; wrote
on 12/12/2009 07:05:25 AM:&lt;br&gt;
&lt;br&gt;
&amp;gt; Is there any way I can trap the event of canvas resizing in my class&lt;br&gt;
&amp;gt; which is inherited by JSVGCanvas?&lt;br&gt;
&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;&amp;nbsp; &amp;nbsp; The simplest way is to trap calls to
'setRenderingTransform'.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;We also support the onzoom and onscroll DOM events.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;PS. Please be a little more patient. &amp;nbsp;Your first
post was Saturday&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;Morning (EST) and you ping Monday morning (EST), please
allow at least &lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;tt&gt;&lt;font size=2&gt;a few _business_ days for responses before pinging.&lt;/font&gt;&lt;/tt&gt;
&lt;br&gt;&lt;font size=2 face=&quot;sans-serif&quot;&gt;&lt;br&gt;
&lt;/font&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Trapping-canvas-resizing-event-tp26757067p26777418.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26777366</id>
	<title>Fwd: Trapping canvas resizing event</title>
	<published>2009-12-14T05:01:27Z</published>
	<updated>2009-12-14T05:01:27Z</updated>
	<author>
		<name>Shekhar Bhati</name>
	</author>
	<content type="html">Hi Batik Users,
&lt;br&gt;&lt;br&gt;Any hints on the below mentioned issue?
&lt;br&gt;&lt;br&gt;&lt;br&gt;---------- Forwarded message ----------
&lt;br&gt;From: Shekhar Bhati &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26777366&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;shekhar.bhati@...&lt;/a&gt;&amp;gt;
&lt;br&gt;Date: Sat, Dec 12, 2009 at 5:35 PM
&lt;br&gt;Subject: Trapping canvas resizing event
&lt;br&gt;To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26777366&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;Hi Batik-users,
&lt;br&gt;&lt;br&gt;I have an appliaction where we are using batik to display some complex images .
&lt;br&gt;Its on a frame where we show the images.
&lt;br&gt;&lt;br&gt;Is there any way I can trap the event of canvas resizing in my class
&lt;br&gt;which is inherited by JSVGCanvas?
&lt;br&gt;&lt;br&gt;Thanks &amp; Regards,
&lt;br&gt;&lt;br&gt;Shekhar
&lt;br&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26777366&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26777366&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Trapping-canvas-resizing-event-tp26757067p26777366.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26774181</id>
	<title>Re: Rendering SVG on a Map</title>
	<published>2009-12-14T00:05:47Z</published>
	<updated>2009-12-14T00:05:47Z</updated>
	<author>
		<name>Leo van den Berg</name>
	</author>
	<content type="html">Hi Dugald,
&lt;br&gt;&lt;br&gt;It is not difficult to do that. The first thing you need to do is to use 
&lt;br&gt;the coordinate system of your specific map using the viewbox attribute 
&lt;br&gt;on the SVG element. After that you can create whatever object on the 
&lt;br&gt;fly. I did this for a project we had with the Dutch DOT. We made the 
&lt;br&gt;necessary parsers to read all shape files (look at GeoTools.org and you 
&lt;br&gt;will find a huge set of useable tools)
&lt;br&gt;&lt;br&gt;Leo van den Berg
&lt;br&gt;University of Valencia - ESAM
&lt;br&gt;&lt;br&gt;&lt;br&gt;Dugald Morrow escribió:
&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Can anyone tell me whether I could use Batik to overlay information on 
&lt;br&gt;&amp;gt; a map. I am using swing, so I want to use the JSVGCanvas.html 
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://xmlgraphics.apache.org/batik/javadoc/org/apache/batik/swing/JSVGCanvas.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://xmlgraphics.apache.org/batik/javadoc/org/apache/batik/swing/JSVGCanvas.html&lt;/a&gt;&amp;gt; to 
&lt;br&gt;&amp;gt; do most of the work, except I need to store the features to be 
&lt;br&gt;&amp;gt; rendered in the SVG file in terms of their geographic locations 
&lt;br&gt;&amp;gt; (latitudes and longitudes), and then convert these into the pixel 
&lt;br&gt;&amp;gt; coordinates on the fly based on the current type of projection (e.g. 
&lt;br&gt;&amp;gt; Lambert, Mercator, etc), scale and location. I have the code to do 
&lt;br&gt;&amp;gt; these conversions, however, I'm not sure where to hook it in. Would I 
&lt;br&gt;&amp;gt; extend/write a bridge to do this?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Any help would be greatly appreciated.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Dugald
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;tt&gt;[l_vdberg.vcf]&lt;/tt&gt;&lt;br /&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;tt&gt;begin:vcard
&lt;br&gt;fn:Leo van den Berg
&lt;br&gt;n:van den Berg;Leo
&lt;br&gt;org:University of Valencia;ESAM
&lt;br&gt;adr:;;de la Coma;Paterna;VLC;46071;Spain
&lt;br&gt;email;internet:&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26774181&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;l.vdberg@...&lt;/a&gt;
&lt;br&gt;title:Senior Consultant
&lt;br&gt;tel;work:+34963543552
&lt;br&gt;tel;fax:+34963543550
&lt;br&gt;x-mozilla-html:TRUE
&lt;br&gt;version:2.1
&lt;br&gt;end:vcard
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/tt&gt;&lt;hr align=&quot;left&quot; width=&quot;300&quot; /&gt;&lt;br /&gt;&lt;br&gt;---------------------------------------------------------------------
&lt;br&gt;To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26774181&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;
&lt;br&gt;For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26774181&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Rendering-SVG-on-a-Map-tp26773874p26774181.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26773306</id>
	<title>Re: Status of FlowRoot Overflow Detection?</title>
	<published>2009-12-13T21:48:49Z</published>
	<updated>2009-12-13T21:48:49Z</updated>
	<author>
		<name>jonathan wood-3</name>
	</author>
	<content type="html">Hi Brendan,&lt;br&gt;&lt;br&gt;  Without a complete example of the code, I&amp;#39;m guessing a bit here.&lt;br&gt;&lt;br&gt;  I have found that when dealing with text and bounding boxes you must be careful to never try to obtain the newly &amp;quot;added to the DOM&amp;quot; text&amp;#39;s bounding box in the same worker.&lt;br&gt;

&lt;br&gt;To summarize:&lt;br&gt;&lt;br&gt;        urq.invokeLater(new Runnable() {&lt;br&gt;            public void run() {&lt;br&gt;                Text t = document.createTextNode(text);&lt;br&gt;                textNode.replaceChild(t, textNode.getFirstChild());&lt;br&gt;

                ...&lt;br&gt;               SVGRect altbounds = locatable.getBBox();&lt;br&gt;            }&lt;br&gt;        });&lt;br&gt;&lt;br&gt;Would likely fail because the text has yet to be rendered (hence the size has not been calculated?)&lt;br&gt;

&lt;br&gt;You can easily get around this using 2 worker threads in succession.  Perform the Locatable bounding box operation in the second one:&lt;br&gt;&lt;br&gt;        urq.invokeLater(new Runnable() {&lt;br&gt;
            public void run() {&lt;br&gt;
                Text t = document.createTextNode(text);&lt;br&gt;
                textNode.replaceChild(t, textNode.getFirstChild());&lt;br&gt;
            }&lt;br&gt;
        });&lt;br&gt;
        urq.invokeLater(new Runnable() {&lt;br&gt;
            public void run() {&lt;br&gt;              
...&lt;br&gt;              
SVGRect altbounds = locatable.getBBox();&lt;br&gt;
            }&lt;br&gt;
        });&lt;br&gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;If I&amp;#39;ve missed the mark, please try to provide some additional information.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Sun, Dec 13, 2009 at 11:24 PM, Brendon J. Wilson &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26773306&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;brendon.wilson@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;After a couple hours of Googling and hacking, it would appear time to send an email to this list to see if there&amp;#39;s a solution I&amp;#39;m missing.&lt;br&gt;


&lt;br&gt;
The Desired Result: An area of text that uses the largest font size possible while still fitting into a given rectangle.&lt;br&gt;
&lt;br&gt;
The Proposed Solution: Use the &amp;#39;flowroot&amp;#39; element, check for overflow, and iteratively adjust the font size of the text.&lt;br&gt;
&lt;br&gt;
The Problem: Based on emails from this list dating from 2006, it does not appear overflow events are implemented, and my alternative attempts to formulate my own overflow detection mechanism have been unsuccessful.&lt;br&gt;
&lt;br&gt;
The SVG:&lt;br&gt;
---&lt;br&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot;?&amp;gt;&lt;br&gt;
&amp;lt;svg version=&amp;quot;1.2&amp;quot; xmlns=&amp;quot;&lt;a href=&quot;http://www.w3.org/2000/svg&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://www.w3.org/2000/svg&lt;/a&gt;&amp;quot; x=&amp;quot;0px&amp;quot; y=&amp;quot;0px&amp;quot; width=&amp;quot;982px&amp;quot; height=&amp;quot;1200px&amp;quot; viewBox=&amp;quot;0 0 982 1200&amp;quot;&amp;gt;&lt;br&gt;


&lt;br&gt;
...&lt;br&gt;
&lt;br&gt;
&amp;lt;flowRoot xml:space=&amp;quot;preserve&amp;quot;&amp;gt;&lt;br&gt;
   &amp;lt;flowRegion vertical-align=&amp;quot;middle&amp;quot;&amp;gt;&lt;br&gt;
      &amp;lt;rect x=&amp;quot;74.472&amp;quot; y=&amp;quot;376.98&amp;quot; width=&amp;quot;833.958&amp;quot; height=&amp;quot;296.985&amp;quot; id=&amp;quot;bounding&amp;quot;/&amp;gt;&lt;br&gt;
   &amp;lt;/flowRegion&amp;gt;&lt;br&gt;
&lt;br&gt;
   &amp;lt;flowDiv&amp;gt;&lt;br&gt;
      &amp;lt;flowPara justification=&amp;quot;middle&amp;quot; top-margin=&amp;quot;10&amp;quot; left-margin=&amp;quot;10&amp;quot; right-margin=&amp;quot;10&amp;quot; bottom-margin=&amp;quot;10&amp;quot; fill=&amp;quot;#331C1D&amp;quot; font-family=&amp;quot;&amp;#39;Futura-Medium&amp;#39;&amp;quot; font-size=&amp;quot;72&amp;quot; id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;flowLine&amp;gt;Some interesting text&amp;lt;/flowLine&amp;gt;&amp;lt;/flowPara&amp;gt;&lt;br&gt;


   &amp;lt;/flowDiv&amp;gt;&lt;br&gt;
&amp;lt;/flowRoot&amp;gt;&lt;br&gt;
&amp;lt;/svg&amp;gt;&lt;br&gt;
---&lt;br&gt;
&lt;br&gt;
While this code allows me to get the rectangle into which I&amp;#39;m flowing text:&lt;br&gt;
---&lt;br&gt;
SVGElement svgElement = (SVGElement) doc.getElementById(&amp;quot;bounding&amp;quot;);&lt;br&gt;
SVGLocatable locatable = (SVGLocatable) svgElement;&lt;br&gt;
SVGRect altbounds = locatable.getBBox();&lt;br&gt;
---&lt;br&gt;
&lt;br&gt;
but a similar call to attempt to get the bounding box for the laid out text (I presume, I&amp;#39;m actually shooting in the dark at this point) results in an uncaught exception:&lt;br&gt;
&lt;br&gt;
---&lt;br&gt;
SVGElement svgElement = (SVGElement) doc.getElementById(&amp;quot;title&amp;quot;);&lt;br&gt;
SVGLocatable locatable = (SVGLocatable) svgElement;&lt;br&gt;
SVGRect altbounds = locatable.getBBox();&lt;br&gt;
---&lt;br&gt;
&lt;br&gt;
Even if I move the id=&amp;quot;title&amp;quot; to the flowDiv, the result is the same. So I&amp;#39;m at a bit of a loss.&lt;br&gt;
&lt;br&gt;
Is there another, easier way to figure out the actual dimensions of the laid out text in a flowDiv, or check the flowRoot for overflow? Or are overflow events still not implemented?&lt;br&gt;
&lt;br&gt;
Thanks in advance,&lt;br&gt;
&lt;br&gt;
Brendon&lt;br&gt;
---&lt;br&gt;
Brendon J. Wilson&lt;br&gt;
&lt;a href=&quot;http://www.brendonwilson.com&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;www.brendonwilson.com&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
---------------------------------------------------------------------&lt;br&gt;
To unsubscribe, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26773306&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-unsubscribe@...&lt;/a&gt;&lt;br&gt;
For additional commands, e-mail: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26773306&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;batik-users-help@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
&lt;p&gt;From forum: &lt;a href=&quot;http://old.nabble.com/Batik---Users-f351.html&quot; embed=&quot;fixTarget[351]&quot; target=&quot;_top&quot; &gt;Batik - Users&lt;/a&gt;&lt;/p&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Status-of-FlowRoot-Overflow-Detection--tp26772856p26773306.html" />
</entry>

</feed>
