Facilitate outset/inset by half stroke width

Bug #170898 reported by Bug Importer
102
This bug affects 19 people
Affects Status Importance Assigned to Milestone
Inkscape
Invalid
Wishlist
Unassigned
Nominated for 0.45.x by Gary Ritchie
Nominated for 0.46.x by Robert Jones
Nominated for 0.47.x by Jimmy Volatile
Nominated for 0.48.x by Jimmy Volatile
Nominated for 0.91.x by Robert Jones
Nominated for Old by Robert Jones

Bug Description

Strokes are applied to shapes so that half of the
stroke is inside the shape and half is outside. This is
usually fine, but it makes partially transparent
strokes look odd. You end up with TWO outlines around
your object.

This could be fixed with an option to make strokes fall
entirely outside the shape. The stroke would look like
an outset, but work like a stroke.

Currently, you can sometimes get around the problem by
using an outset and an invisible stroke. You end up
with two objects making editing the shape much harder,
and making it impossible to have a transparent shape
because the outset is behind it. Also, doubling the
number of complex shapes takes a lot of memory. This
option would fix all of that.

Inkscape is awesome! Keep up the good work.

<email address hidden>

Revision history for this message
Bug Importer (bug-importer) wrote :
Revision history for this message
Bug Importer (bug-importer) wrote :

I agree with this opinion. There should be an option to
chose alignment of a stroke:
- centered
- aligned inside
- aligned outside
Unfortunately there is no such option in SVG specification
(as far as I know). But maybe a walkaround is possible - non
standard SVG extension or handling non centered stroke as a
separate object in a way transparent for user.

Here are some examples where non centered stroke are useful:
- maps - strokes of the borders are often drawn outside an area
- in maps for civil engineering buildings have strokes
aligned inside, so one can measure exact outer dimensions
- in many cases where a shape of an object is complex it is
useful to put stoke inside to preserve contour line

Revision history for this message
Buliabyak-users (buliabyak-users) wrote :

Indeed there's nothing like that in SVG. But you can achieve
this by creating an offset duplicate, or linked offset, of
the original shape and outsetting it by half of stroke
width. Though I agree that this can be made more convenient
(signle command? snapping?), so I'm renaming this.

Hystrix (hystrix-)
Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
cidic (cidic-conspiracy) wrote :

This would be a very useful feature, and doesn't sound like it would be all that time consuming to implement.

Revision history for this message
hash (hash-g) wrote :

I would like something like in the attachment.

Revision history for this message
SphereCat1 (spherecat1-deactivatedaccount) wrote :

I would love this feature! Even better for me would be to inset the path. I do a lot of logos using Inkscape, so when I overlay a reflective section using the Path Division command, it doesn't cover the whole stroke, and it's a pain to fix manually.

Revision history for this message
Equis (rob-cummingsonline) wrote :

Bump! It is sometimes required that objects are drawn and should be constrained in a certain dimension (say, a rectangle exactly 2" wide). If a stroke was added to the shape, the shape would currently be enlarged by half the width of the stroke. In this case, it would be more desirable to add the stroke to the inside of the shape to ensure its critical dimension doesn't change.

In addition, adding a thick stroke to text objects will also obscure the letters and text thickness. In this case, it would also be nice to select an Outside Stroke option. (See attachment.)

Revision history for this message
Gleb Dolgich (glebd70) wrote :

This would be an extremely useful feature for icon design, as middle-stroke paths don't rasterize well.

Revision history for this message
uwestoehr (uwestoehr) wrote :

I also need this feature.

Revision history for this message
scottrigby (scott-basekamp) wrote :

+1

Revision history for this message
astromek (sam-hartati) wrote :

This would be extremely useful for us Icon/Flowchart/Presentation designers

Revision history for this message
sas (sas-sas) wrote :

If the (very old and unreliable) draft of SVG 1.2 is anything to go by, this will be doable in SVG 1.2 using vector effects.

Revision history for this message
ejnaren (ejnaren) wrote :

1+ For all the above reasons (the ones from Equis especially).
I constantly find this limitation a problem.
BTW Brilliant program. Thank you.

Revision history for this message
BobSongs (bobspcrepair) wrote :

I won't labour the point. The reasons mentioned above are sufficient.

I understand the issue with ensuring Inkscape remain compliant with SVG standards. I suppose our issue is that we want Inkscape to perform like a world-class vector software package instead of as a tool that is limited by SVG standards.

Perhaps a fork that breaks from the limitations of SVG in order to perform more like CorelDraw?

Revision history for this message
Frank (franksouza183) wrote :

+1

Revision history for this message
Jon Ellis (ellis-jon) wrote :

Hopefully these effects will allow bevels to go through the joining point? It's pretty stupid that the SVG standard limits this... See Picture http://yfrog.com/h3dnrqj

Also, I am in favor of an "inner", "outer", "middle", and "offset" alignment.

Revision history for this message
Pablo Trabajos (pajarico) wrote :

> Hopefully these effects will allow bevels to go through the joining point? It's pretty stupid that the SVG standard limits this... See Picture http://yfrog.com/h3dnrqj

If what you need is the stroke ending at the dashed line of that picture, I'm afraid this bug report won't solved that at all. Did I understand?

You might want to try joining both paths and using different join settings in Stroke style tab in Fill&Stroke dialog.

Revision history for this message
su_v (suv-lp) wrote :

@Pablo - blame me for hinting at this feature request when answering a question about (currently not possible) join type requests in
<https://answers.launchpad.net/inkscape/+question/149889>

Revision history for this message
clementr (mytho2k2) wrote :

For "aligned inside / inner alignement " stroke, most useful for tile cloning:
This can also be done by using clip-path svg attribute (http://<email address hidden>/msg13707.html) or clip inkscape tool.
Example svg with hand made clip is attached. See how the two circles stay tangent when changing the stroke width.
Automation of the process (copy of the object into def/clipPath without stroke and adding the clip-path attribute to the selected object) would be useful.

Revision history for this message
uwestoehr (uwestoehr) wrote :

What is the status of this bug? will this feature be available or not?

Revision history for this message
Geoff (gphillips) wrote :

I agree. An option to align a border to the inside, outside or middle of an area's edge would be great. I believe Illustrator has such an option.

Revision history for this message
Murz (murznn) wrote :

Illustrator, Corel and most other vector editors have option to set stroke inset/outset, so will be good to see it in Inkscape too!

Revision history for this message
sdfrgdfg (kurwaaaaaaaaaaaaaaaaaaaaaaaaaa) wrote :

How the fuck is this not a feature?!?? It's a basic freaking thing in ALL OTHER VECTOR SOFTWARE

tags: added: bug-migration
Revision history for this message
grey tomorrow (gtomorrow) wrote :

Hi - thanks for reporting this bug, I've manually migrated it to Inkscape's new bug tracker on GitLab, and closed it here.

Please feel free to file new bugs about the issues you're seeing at
https://inkscape.org/report .

Moved to: https://gitlab.com/inkscape/inbox/issues/2503
Closed by: https://gitlab.com/greytomorrow

Changed in inkscape:
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.