Facilitate outset/inset by half stroke width

Bug #170898 reported by Bug Importer on 2005-09-07
102
This bug affects 19 people
Affects Status Importance Assigned to Milestone
Inkscape
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>

Bug Importer (bug-importer) wrote :
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

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-) on 2007-12-19
Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
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.

hash (hash-g) wrote :

I would like something like in the attachment.

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.

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.)

Gleb Dolgich (glebd70) wrote :

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

uwestoehr (uwestoehr) wrote :

I also need this feature.

scottrigby (scott-basekamp) wrote :

+1

astromek (sam-hartati) wrote :

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

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.

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.

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?

Frank (franksouza183) wrote :

+1

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.

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.

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>

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.

uwestoehr (uwestoehr) wrote :

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

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.

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!

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers