.sew file format imports beyond end of stitches #179
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Sew files sometimes seems to have data beyond the end of the stitches (specifically when loading a file from Janome's Customizer 2000 software). The SewReader treats the end of stitch marker as another stitch and carries on reading.
The image below shows the result of write_svg() on the imported file:
(the line isn't very visible if you're using dark mode on your computer)
I think a control byte of 0x10 should be interpreted as a stop signal. This seems to fix the issue, and is consistent with the end of stitches at line 169 in the JefWriter function (as far as I can see the stitches format is more or less the same for both)
This PR stops the import if we get a control byte of 0x10