For the sake of the list, I'm linking the response to my question on the 
Inkscape mailing list -- this is certainly an Inkscape bug, that their 
copy-and-paste functionality does not handle use/defs correctly.

However, as the workaround in mpl was easy enough, we don't have to wait 
for Inkscape to fix what sounds like a difficult problem.

http://sourceforge.net/mailarchive/forum.php?thread_name=3c78ff030803260851l36e71d12n173fb77d4ddc4579%40mail.gmail.com&forum_name=inkscape-devel

Cheers,
Mike

Kaushik Ghose wrote:
> Hi Mike,
>
> I replaced the current file with your modified one, and it works fine 
> - I pasted three figures together and had not problems. (I am on 
> Windows XP, Python 2.5)
>
> Thanks again for maintaining and enhancing matplotlib!
> -Kaushik
>
> Michael Droettboom wrote:
>> I didn't write the first pass of SVG support, that was done before I 
>> got involved -- I'm not sure who to credit, but he or she deserves 
>> most of it.
>>
>> I did add the feature that's causing grief here -- the embedding of 
>> character outlines directly in the SVG file.
>>
>> I've committed a change in SVN (both the trunk and the branch) that 
>> should resolve your problem.  I've written the inkscape mailing list 
>> about the "correct" solution, but I figure we need a workaround in 
>> mpl regardless.
>>
>> If you're not tracking SVN, you can replace your copy of 
>> backend_svg.py with this one, and it should *probably* work:
>>
>> http://matplotlib.svn.sourceforge.net/viewvc/*checkout*/matplotlib/branches/v0_91_maint/lib/matplotlib/backends/backend_svg.py?revision=5023&pathrev=5023
>>  
>>
>>
>> Cheers,
>> Mike
>>
>> Kaushik Ghose wrote:
>>> Hi Mike,
>>>
>>> Ah, such prompt, friendly and knowledgeable help!
>>>
>>> You're the guy implementing svg support in matplotlib, right? Thanks 
>>> so much for implementing this!!!
>>> If I can do anything to assist please tell me.
>>>
>>> Thanks again,
>>> -Kaushik
>>>
>>> Michael Droettboom wrote:
>>>> When matplotlib outputs an SVG, each unique character is assigned a 
>>>> numeric id (these are just assigned in order), and inserted as a 
>>>> "def", and then "use"d (referenced) wherever they are used.
>>>>
>>>> When you paste on SVG into another, those names clash, and Inkscape 
>>>> is pulling in the wrong characters when it goes to draw.
>>>>
>>>> Now, my gut feels that this is actually a bug in Inkscape -- 
>>>> pasting of referenced objects from one file into another should 
>>>> reassign new ids.  However, I'm not an SVG expert, so I could be 
>>>> wrong, but I think I will take this question over to the Inkscape 
>>>> mailing list anyway.
>>>>
>>>> That said, there are probably some workarounds that matplotlib 
>>>> could make (using a hash of the character's content as the id, for 
>>>> instance).  I'll look into that and reply when progress has been made.
>>>>
>>>> Mike
>>>>
>>>> Kaushik Ghose wrote:
>>>>> Hi Everyone,
>>>>>
>>>>> I have a peculiar problem, and I wonder if anyone can assist me.
>>>>>
>>>>> I have two figures generated from matplotlib and saved as svgs. 
>>>>> They both print fine, and they load in Inkscape just fine.
>>>>>
>>>>> However, when I copy one figure and paste it into the other, the 
>>>>> pasted figure's labels and text become garbled.
>>>>>
>>>>> Screenshots on this page
>>>>> http://assorted-experience.blogspot.com/2008/03/inkscape-matplotlibs-svg-one-strange.html
>>>>>  
>>>>>
>>>>>
>>>>>
>>>>> Any suggestions would be most welcome
>>>>> Thanks
>>>>> -Kaushik
>>>>>
>>>>> ------------------------------------------------------------------------- 
>>>>>
>>>>> Check out the new SourceForge.net Marketplace.
>>>>> It's the best place to buy or sell services for
>>>>> just about anything Open Source.
>>>>> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
>>>>>  
>>>>>
>>>>> _______________________________________________
>>>>> Matplotlib-users mailing list
>>>>> Matplotlib-users@lists.sourceforge.net
>>>>> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>>>>>   
>>>>
>>

-- 
Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA


-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to