Support of special characters
Hi,
I have been using figurefirst extensively for my PhD manuscript and I'm a lot thankful for its existence ! There is one special case which I have not been able to find a solution : special characters ! When I have some special characters (such as "é") in the layout svg, which is fine with inkscape, I have no problem making a render svg with figurefirst but this resulting svg is all corrupted :'(
Am I doing something wrong or is it a feature which has not been implemented yet ?
Thanks Alrik
Can you give some more detail, and perhaps a minimal demonstration example? Is it that you have a text box in the SVG layout file with special characters and after you put in the plots using figurefirst they are corrupted, even though figurefirst is not touching those characters? Or are you using figurefirst to edit the text with those special characters?
If the former, that would be odd, one thing you could try is using something like https://viereck.ch/latex-to-svg/ to generate true svgs of your characters that should be less prone to corruption. If the latter, that might be trickier to resolve, but if you can make the text in a matplotlib environment you can use matplotlib's latex functionality, which I think works fine.
- Floris
On Wed, Nov 17, 2021 at 3:04 AM Alrik Durand @.***> wrote:
Hi,
I have been using figurefirst extensively for my PhD manuscript and I'm a lot thankful for its existence ! There is one special case which I have not been able to find a solution : special characters ! When I have some special characters (such as "é") in the layout svg, which is fine with inkscape, I have no problem making a render svg with figurefirst but this resulting svg is all corrupted :'(
Am I doing something wrong or is it a feature which has not been implemented yet ?
Thanks Alrik
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/FlyRanch/figurefirst/issues/62, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB4EPHHOPQP7WZ6FW2O5RDUMOD5NANCNFSM5IGULC3A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
-- Floris van Breugel | http://www.florisvanbreugel.com Assistant Professor of Mechanical Engineering & Graduate Program for Neuroscience University of Nevada, Reno
Wildlife and Landscape Photography Galleries: http://www.ArtInNaturePhotography.com/ Blog: http://www.ArtInNaturePhotography.com/wordpress/
Hi, It is simply the former, which is why I'm surprised.
To reproduce the issue I just have to create a text box with inkscape in the layout and type "é". Then I use this simple code :
layout = fifi.FigureLayout('layout_oral.svg')
layout.make_mplfigures()
# do stuff
layout.set_layer_visibility('Layer 1' , False)
layout.write_svg('figure_oral.svg')
where I removed the actual plotting and the issue is still here. Do you have a similar problem if you do the same ?
I could indeed convert the text to svg or image, or do many other hacks, but this looks like a simple task which should have a proper solution. Maybe there is already one and I have an encoding problem, this is why I'm interested in knowing if it just me or if it is a bug !
- Alrik
On my system I do not have any issues with that code and a simple layout that has a figurefirst axis/figure and a text box with an é in it.
Is the "é" part of some label/caption that you want to show somewhere? Maybe try keeping that in a layer that is separate from your figure/axis rectangles? Does it happen if you start with a fresh inkscape file? Sometimes after lots of editing the figurefirst labels get corrupt or messed up and just starting with a fresh layout solves the problem.
On Thu, Nov 18, 2021 at 1:34 AM Alrik Durand @.***> wrote:
Hi, It is simply the former, which is why I'm surprised.
To reproduce the issue I just have to create a text box with inkscape in the layout and type "é". Then I use this simple code :
`layout = fifi.FigureLayout('layout_oral.svg') layout.make_mplfigures() do stuff
layout.set_layer_visibility('Layer 1' , False) layout.write_svg('figure_oral.svg')`
where I removed the actual plotting and the issue is still here. Do you have a similar problem if you do the same ?
I could indeed convert the text to svg or image, or do many other hacks, but this looks like a simple task which should have a proper solution. Maybe there is already one and I have an encoding problem, this is why I'm interested in knowing if it just me or if it is a bug !
- Alrik
— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/FlyRanch/figurefirst/issues/62#issuecomment-972691934, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAB4EPGHPFQZD5JLT772R2DUMTCCVANCNFSM5IGULC3A . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
-- Floris van Breugel | http://www.florisvanbreugel.com Assistant Professor of Mechanical Engineering & Graduate Program for Neuroscience University of Nevada, Reno
Wildlife and Landscape Photography Galleries: http://www.ArtInNaturePhotography.com/ Blog: http://www.ArtInNaturePhotography.com/wordpress/