processing4 icon indicating copy to clipboard operation
processing4 copied to clipboard

SVG loading causes `ArrayIndexOutOfBoundsException` with some files

Open villares opened this issue 1 year ago • 4 comments

Description

Loading some SVG files that used to work with loadShape() on Processing 3.5.4 will cause a message like this (the index varies): ArrayIndexOutOfBoundsException: Index 128 out of bounds for length 128

Expected Behavior

image

Current Behavior

image

Steps to Reproduce

  1. Copy this SVG file to a data folder inside a new sketch: https://gist.github.com/villares/a5b028eaddf4c0e008f9783ea5dddb40

  2. Paste in and run this code:

void setup(){
 size(200, 200);
 PShape a = loadShape("a.svg");
 shape(a, 0, 0, 200, 200); // optional, will not be reached
}  

Environment

Processing version: Processing 4.2 Operating System and OS version: Manjaro 21.3 Kernel 5.15

More information / ideas

Looks similar to this issue with coordinates starting with .: https://github.com/processing/processing4/issues/518#issuecomment-1460843334

But the offending coordinates seem to be 2.51259,6.5e-4, if I replace with 2.51259,0 it loads.

villares avatar Jul 15 '23 22:07 villares

Thank you very much @behreajj!

villares avatar Jul 28 '23 15:07 villares

hey @benfry , I have resolved the issue and raised a PR. Please review :)

SaumyaKarnwal avatar Dec 28 '23 13:12 SaumyaKarnwal

Was getting this same issue when trying to parse this USA Map with Counties because it contains values like 3.5e-5, 3e-2 etc.

Thank you, @SaumyaKarnwal! 🎉

For the time being I made a simple python script to convert these values into proper decimals, so I can continue on my project 😄.

https://gist.github.com/luis-c465/6c748e40b5c1b8899f5d1502228a5cd6

luis-c465 avatar Mar 21 '24 14:03 luis-c465

That's great! I'm glad you found a workaround for the parsing issue.

On Thu, Mar 21, 2024 at 7:34 PM Luis Canada @.***> wrote:

Was getting this same issue when trying to parse this USA Map with Counties https://commons.wikimedia.org/wiki/File:US_county_map,_blank,_w_territories.svg because it contains values like 3.5e-5, 3e-2 etc.

Thank you, @SaumyaKarnwal https://github.com/SaumyaKarnwal! 🎉

For the time being I made a simple python script to convert these values into proper decimals, so I can continue on my project 😄.

https://gist.github.com/luis-c465/6c748e40b5c1b8899f5d1502228a5cd6

— Reply to this email directly, view it on GitHub https://github.com/benfry/processing4/issues/750#issuecomment-2012388799, or unsubscribe https://github.com/notifications/unsubscribe-auth/AXJATCHOOZAI6XPBEQRDX3DYZLSGNAVCNFSM6AAAAAA2LRPFISVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJSGM4DQNZZHE . You are receiving this because you were mentioned.Message ID: @.***>

SaumyaKarnwal avatar Mar 21 '24 14:03 SaumyaKarnwal