Jump to content
You must now use your email address to sign in [click for more info] ×

No inside/outside stroke for open paths 😩


Recommended Posts

23 minutes ago, GarryP said:

How would the software (or the user) decide which was the inside or the outside of an open path?
For example, take a single straight vertical line drawn from bottom to top; is the inside to the right or the left of the line?

This has been discussed previously. A path has a defined start and end; therefore, as you travel along the path from start to end, the left and right are unambiguous. The software can be programmed so that, for example, the left side of any open path is regarded for stroking as equivalent to the inside of a closed path.

Link to comment
Share on other sites

13 minutes ago, ,,, said:

for example, the left side of any open path is regarded for stroking as equivalent to the inside of a closed path

And what about if a particular user wants the left side of the open path to be considered as the outside, rather than the inside?

And what about if they want the outside to be on the right on some paths and on the left on other paths?

And would all export options, SVG, PDF, etc., be able to support all of this?
And what would the software do, upon export, if they can’t?

I’m not asking the questions to be deliberately awkward; I’m asking the questions to, hopefully, show people reading this that even ‘simple’ requests such as this are not always as ‘simple’ as they first seem.

Link to comment
Share on other sites

3 hours ago, GarryP said:

And what about if a particular user wants the left side of the open path to be considered as the outside, rather than the inside?

And what about if they want the outside to be on the right on some paths and on the left on other paths?

The user would be free to stroke either side of an open path in exactly the same way as they currently are able to choose whether to stroke the inside or outside of a closed path - using the stroke alignment buttons. (Also, reversing a path will swap which side is considered left or right, of course.)

3 hours ago, GarryP said:

And would all export options, SVG, PDF, etc., be able to support all of this?
And what would the software do, upon export, if they can’t?

The software already performs stroke expansion on-the-fly when a stroke's alignment is not supported by an export format, so I'm not sure where you see a complication or difficulty.

Link to comment
Share on other sites

15 minutes ago, ,,, said:

(Also, reversing a path will swap which side is considered left or right, of course.)

Reversing the direction of the path to say which side is inside or outside seems reasonable on the face of it but I’ve not thought about every possible situation.

15 minutes ago, ,,, said:

The software already performs stroke expansion when a stroke's alignment is not supported by an export format

If stroke expansion will suffice then that’s probably a reasonable solution in this case but, again, I’ve not thought about every possible situation.

15 minutes ago, ,,, said:

I'm not sure where you see a complication or difficulty.

I’m not seeing these things as “complications” or “difficulties”, I’m trying to show people reading this that even ‘simple’ requests need to be thought about more than superficially.

How often do we see requests where the requester has, at least on the face of it, not put any thought into what they are requesting but expects their suggestion to be implemented without them saying how they want it implementing?

Link to comment
Share on other sites

3 hours ago, GarryP said:

And would all export options, SVG, PDF, etc., be able to support all of this?
And what would the software do, upon export, if they can’t?

Hm… Let's ask InDesign which does support inside/outside open strokes:

Quote

Hi, I'm InDesign Cee Es Five Dot Five, thanks for asking!
On Pee Dee Eff export, I will convert the stroke to Center Align on teh fly. No hay problema!

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

@loukash: If I made a design with unclosed strokes and it needed inside or outside alignment to work properly, I would be upset if they became centered during export. 

So I would disagree with "no hay problema", personally. 

-- Walt
Designer, Photo, and Publisher V1 and V2 at latest retail and beta releases
PC:
    Desktop:  Windows 11 Pro, version 23H2, 64GB memory, AMD Ryzen 9 5900 12-Core @ 3.00 GHz, NVIDIA GeForce RTX 3090 

    Laptop:  Windows 11 Pro, version 23H2, 32GB memory, Intel Core i7-10750H @ 2.60GHz, Intel UHD Graphics Comet Lake GT2 and NVIDIA GeForce RTX 3070 Laptop GPU.
iPad:  iPad Pro M1, 12.9": iPadOS 17.4.1, Apple Pencil 2, Magic Keyboard 
Mac:  2023 M2 MacBook Air 15", 16GB memory, macOS Sonoma 14.4.1

Link to comment
Share on other sites

Just now, walt.farrell said:

I would be upset if they became centered during export

They don't "become" centered, they are converted to centered.
Vive la différence.

InDesign is capable to do all the, uh… "complex" math which apparently goes something like "stroke width divided by 2".

Possibly – just guessing here – they even remain "centered" in background all the time, and the "inside"/"outside" setting is just a "display tool" so that you can align the strokes accordingly.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

1 hour ago, loukash said:

InDesign is capable to do all the, uh… "complex" math which apparently goes something like "stroke width divided by 2".

As an example, consider an open path with a left/inside-aligned stroke. Are you saying InDesign generates a path that is offset from the original path by half of the stroke width, and gives that new path a centre-aligned stroke?

Link to comment
Share on other sites

1 minute ago, ,,, said:

. Are you saying InDesign generates a path that is offset from the original path by half of the stroke width, and gives that new path a centre-aligned stroke?

I don't know what it does. It just works.

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

2 hours ago, loukash said:

They don't "become" centered, they are converted to centered.
Vive la différence.

InDesign is capable to do all the, uh… "complex" math which apparently goes something like "stroke width divided by 2".

Possibly – just guessing here – they even remain "centered" in background all the time, and the "inside"/"outside" setting is just a "display tool" so that you can align the strokes accordingly.

The math to convert gets much more complex if you have a curved shape, and you can run into ugly edge cases when adding one of these:

  • end caps
  • mitre limits
  • overlapping curve segments

it’s more expand stroke plus further steps, and we all know how many bugs are open in that area.

AC43F12D-610F-4979-B7D4-4D4F273C256E.png

stroce in out.afdesign

Edited by NotMyFault
PS example with closed path to simulate desired result. Just break curve and remove straight lines

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

 

Link to comment
Share on other sites

18 minutes ago, NotMyFault said:

The math to convert gets much more complex if you have a curved shape, and you can run into ugly edge cases when adding one of these:

  • end caps
  • mitre limits
  • overlapping curve segments

it’s more expand stroke plus further steps, and we all know how many bugs are open in that area.

AC43F12D-610F-4979-B7D4-4D4F273C256E.png

stroce in out.afdesign 58.72 kB · 0 downloads

 

Your example is of a closed path and shows the correct result for that closed path.

This thread was about stroke alignment of open paths.

Link to comment
Share on other sites

Sigh.

Folks, talk to the Adobe engineers about all this. I. Have. No. Clue. But. It. Just. Works. So. It. Is. Apparently. No. Rocket. Science.

Obviously, Adobe PDF Lib can handle it WYSIWYG, even when using InDesign's multi-strokes:

id_stroke_inside_align.png.63ad7d26a2f98b15ba5a88944a9bfa7b.png

ade_pdf_from_id_stroke_inside_align.png.8ac176003d5e03d668a188332bd62bd2.png

And don't even ask me why Ill-Frustrator can't do inside/outside on strokes. 

MacBookAir 15": MacOS Ventura > Affinity v1, v2, v2 beta // MacBookPro 15" mid-2012: MacOS El Capitan > Affinity v1 / MacOS Catalina > Affinity v1, v2, v2 beta // iPad 8th: iPadOS 16 > Affinity v2

Link to comment
Share on other sites

1 minute ago, ,,, said:

 

Your example is of a closed path and shows the correct result for that closed path.

This thread was about stroke alignment of open paths.

Yes, just break it open, the straight lines are only helpers to get it closed. It is intended for illustrative purposes to simulate the desired result and complexities.

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

 

Link to comment
Share on other sites

14 hours ago, dantaylr said:

When I have an open path I can't position the stroke to one side or another.

For interest:

 

Affinity Store (MSI/EXE): Affinity Suite (ADe, APh, APu) 2.4.0.2301
Dell OptiPlex 7060, i5-8500 3.00 GHz, 16 GB, Intel UHD Graphics 630, Dell P2417H 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Dell Latitude E5570, i5-6440HQ 2.60 GHz, 8 GB, Intel HD Graphics 530, 1920 x 1080, Windows 11 Pro, Version 23H2, Build 22631.3155.
Intel NUC5PGYH, Pentium N3700 2.40 GHz, 8 GB, Intel HD Graphics, EIZO EV2456 1920 x 1200, Windows 10 Pro, Version 21H1, Build 19043.2130.

Link to comment
Share on other sites

Attaching this screenshot from Glyphs Mini for reference. It's used for typographic design (but doesn't have iPad version) and pairs very well with other vector apps using cut and paste.

They have an offset path feature that allows you to specify the percentage for each side of the path. In this case I created the inside of the R by specifying 0%. It would be a game changer to see this as the adjustment for stroke position on lines in Affinity Designer. I haven't seen any other general vector app do this yet. It'd be really cool.

 

Screenshot 2023-01-05 at 9.55.59 AM.png

Link to comment
Share on other sites

 

1 hour ago, loukash said:

Sigh.

Folks, talk to the Adobe engineers about all this. I. Have. No. Clue. But. It. Just. Works. So. It. Is. Apparently. No. Rocket. Science.

Obviously, Adobe PDF Lib can handle it WYSIWYG, even when using InDesign's multi-strokes:

id_stroke_inside_align.png.63ad7d26a2f98b15ba5a88944a9bfa7b.png

ade_pdf_from_id_stroke_inside_align.png.8ac176003d5e03d668a188332bd62bd2.png

And don't even ask me why Ill-Frustrator can't do inside/outside on strokes. 

 

Not sure what the "sigh" is for. You've provided an excellent example of what I asked you to clarify. The original path with a one-sided (dual) stroke has been offset (twice) and (each) resulting path given a centre-aligned stroke.

Link to comment
Share on other sites

20 minutes ago, loukash said:

Oh, that was @ @NotMyFault;) 

I got it 🫣

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

 

Link to comment
Share on other sites

3 hours ago, NotMyFault said:

Yes, just break it open, the straight lines are only helpers to get it closed. It is intended for illustrative purposes to simulate the desired result and complexities.

But that is not like the desired result of a stroke aligned to either left or right of an open path. Your "in" and "out" examples have the stroke alternating left-right-left or right-left-right along the path, instead of remaining on one side along the path.

Below illustrates the desired stroke alignments for open paths:

image.thumb.png.3fed4727ce0a59777601c97c6db4ba4e.png

Edited by ,,,
corrected image attached
Link to comment
Share on other sites

7 minutes ago, ,,, said:

But that is not like the desired result of a stroke aligned to either left or right of an open path. Your "in" and "out" examples have the stroke alternating left-right-left or right-left-right along the path, instead of remaining on one side along the path.

Below illustrates the desired stroke alignments for open paths:

 

Well, I explicitly said that my example should show the complexities of getting it right.
Its seems today nobody can understand what I post 🙉, time to take 🏖️at least from this thread.
3 hours ago, NotMyFault said:

The math to convert gets much more complex if you have a curved shape, and you can run into ugly edge cases when adding one of these:

  • end caps
  • mitre limits
  • overlapping curve segments

and

3 hours ago, NotMyFault said:

Yes, just break it open, the straight lines are only helpers to get it closed. It is intended for illustrative purposes to simulate the desired result and complexities.

 

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

 

Link to comment
Share on other sites

1 minute ago, ,,, said:

You made it look more complex than it is by making it look wrong, lol.

No.

Affinity is getting it wrong for the case of overlapping curves. My role was only to point this out. But go ahead and continue to shoot the messenger.

Mac mini M1 A2348 | Windows 10 - AMD Ryzen 9 5900x - 32 GB RAM - Nvidia GTX 1080

LG34WK950U-W, calibrated to DCI-P3 with LG Calibration Studio / Spider 5

iPad Air Gen 5 (2022) A2589

Special interest into procedural texture filter, edit alpha channel, RGB/16 and RGB/32 color formats, stacking, finding root causes for misbehaving files, finding creative solutions for unsolvable tasks, finding bugs in Apps.

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use | Privacy Policy | Guidelines | We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.