Inkscape.org
Beginners' Questions Calligraphy effect with the Path Tool
  1. #1
    gyrocam gyrocam @gyrocam

    Is it possible to create the effect of using a calligraphy pen with the Path Tool, (as opposed to the calligraphy tool) For example a skinny elliptical brush rotated at forty five degrees?

  2. #2
    Nathan P. Johansen Nathan P. Johansen @NPJ2000

    Perhaps the best method is to hold down the "CTRL" (control) key while drawing reasonably in that 45º angle to achieve a closer effect? (If you look at the bottom of your screen when you select the calligraphy pen tool, it will give you some guidance on these possibilities.) Should you need to be exact, you can try defining other guides, shapes, or paths as marker points to which you can try to snap your strokes. 

  3. #3
    Nathan P. Johansen Nathan P. Johansen @NPJ2000

    Actually, as I re-read and think about your question, it occurs to me that what you're really asking is how to create a type of "wedge" shape of design for a given stroke? In that instance, you might use the "Node" (Edit paths by nodes) tool by pressing "N" and then adjusting the path that you've drawn using the calligraphy tool to further adjust it to your liking? I'll let others answer in the event that there is a better method.  =) 

  4. #4
    gyrocam gyrocam @gyrocam
    😉

    Thank you for your thoughtful, quick response. I've found your suggestion of precisely drawing a curve, first with the PEN tool, and then using the CTRL key in conjunction with Calligraphy tool very helpful. I think you have a pretty clear idea of what i’m after. Having a shape, for example an ellipse, follow a curve drawn with the PEN tool, creating a stroke, much like the calligraphy tool.


     

  5. #5
    Lazur Lazur @Lazur
    *

    Hi.

     

    You can play with transformations to distort the rounded cap into an ellipse. That way you can draw strokes by "centerlines" and have the impint follow along at the same angle throughout. Thus it may be a good solution drawing lettering like the gothic textura but won't help with a copperplate italic lettering. 

    Attaching a quick svg example.

  6. #6
    gyrocam gyrocam @gyrocam

    "You can play with transformations to distort the rounded cap into an ellipse." Sounds great! What steps would i take?

  7. #7
    Lazur Lazur @Lazur
    👍
    1. Draw a path with no fill but stroke -make sure it's not entirely horizontal (there is some glitch)
    2. Group it (Ctrl+G)
    3. Enable transforming strokes with paths by the top button in the menu
    4. Transform group by the handles -resize&rotate
    5. Enter group and add in more paths of your choice. Can draw new ones or paste in existing objects -they will be transformed with the group.

     

    Downside is that the stroke style box is displaying "false" values visually in the fill and stroke panel.

  8. #8
    gyrocam gyrocam @gyrocam

    After some wrangling i was able to follow your steps and get it working. Thanks!

    Strokesakas
  9. #9
    Ryan Miller Ryan Miller @Rigognos
    *

    Although the original poster was able to figure out how to follow the steps set out by @Lazur , I may need some screen shots to better understand the steps. I found the found the following stackexchange post that illustrates the type of effect I would like to replicate with the path tool other than being able to change the angle of the stroke:
    https://graphicdesign.stackexchange.com/questions/61917/equalize-reset-stroke-width-along-a-path-in-inkscape
    I am actually aiming to replicate what the original poster for the stack exchange forum was trying to prevent. I have attached the image from the post to better explain what I mean.
    In the meantime, I will continue testing the program to look for a solution.

    Jl22J
  10. #10
    Lazur Lazur @Lazur
    👍

    I will try to break it down a little bit more.

     

    The drawings you draw in inkscape are vectorgraphics, where nodes are basically defined by (x;y) coordinate values -x stands for the horizontal distance from the origo, y for the vertical.

    Then, inkscape is also svg specs compilant and tend to implement as much feature of the standard as possible. Here is where it can get messy.

    As, all the drawings elements are structured as "separate" objects, where each can have their own attributes besides their coordinates. Each object can have their own style attributes and more importantly:

    they can have their own transformations. 

    Usually within inkscape that is achieved by a transformation matrix, A matrix is a mathematical formula that if you multiply a pair of values -this case, the (x;y) coordinates- you can get another pair of values. 

    That means instead rendering the underlying core object/path, a transformed one is rendered on screen. 

    It affects the whole appearance, but not the original object's geometry.

    In the preferences (Shift+Ctrl+P) the transformations are set to be optimized instead of preserved because that's more likely the case when drawing. 

     

    This transformation matrix can have -and can store- the same effect as distorting an object with its bounding box handles. It cannot result in a perspective distortion, but can show skewing, scaleing, rotating and translating. 

    Without any distortions strokes are rendered as if there was a rounded pen moving along the perimeter of the object. 

    In your given example the stroke has a horizontal width and a way thinner vertical width -indicating it has some sort of transformation matrix applied, resulting in that scaled look.

     

    The problem is, that the transformation matrix doesn't have a geometric definition which could be rendered on screen trivially so inkscape doesn't give you a hint on that by some sort of handles for example that the radial gradient fill has.

    On top of that, there is no indication on the structure of your drawing, and on which objects have a transformation matrix and which don't.

    This distorted appearance relies entirely on the renderer of the svg, so you may even get different results if you view that transformed drawing in a browser (like on my example above :C)

     

    If you go to the inkscape preferences (Shift+Ctrl+P) you can switch from the default "optimized" transformations to"preserved", which then would lead to the problematic behave in the stackexchange topic. 

    That's usually unwanted and using transformation matrices to a minimum is preferred. It can prevent any mismatch through different renderers andsolve other issues. Rather not suggest switching it.

     

    So my suggested process above was to create a group and add the transformation matrix to that group only and keep objects outside intact.

    1. draw a circle with no stroke but fill -this will represent an undistorted "round" stroke cap
    2. toggle icon this icon just in case -http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Attributes-Stroke.html#Attributes-Stroke-Width
    3. group the circle (Ctrl+G) -there is no need to include other objects in the selection, you can create a group based on one selected object alone as well
    4. select the group -look at the bottom indication line on the screen, should say that you selected one object which is a group
    5. use the bounding box handles to resize the group so that your circle looks how your preferred stroke should look like -scale it vertically to almost 0
    6. enter the group (Ctrl+Enter) and start drawing with a stroke width set and no fill -you may also copy/paste paths or other objects into the group, they will also be rendered with the group's transformation matrix

    After that, you can delete the original circle in the group which was used only as an indication on the effect. Once finished, exit the group (Ctrl+Backspace)

     

    All in all it's just as messy of a solution as it can get/as svg-s can get with their structure. 

    Because as you can see objects can be nested inside one another with all having their own stlye attributes and transformation matrices. 

    For practical reasons in the end once you finalise your drawing, "flattening" your image, converting stroke to path inside the group and ungrouping the grouped objects to remove the transformation matrix is advised. Also keep the original stroked path somewhere too if you plan to add some changes later.

  11. #11
    Ryan Miller Ryan Miller @Rigognos

    Although @Lazur 's suggested method to achieve a calligraphic effect does work most of the time, I'm discovering that this method can also be quite glitchy. I find that if I switch from the path tool to the edit node tool and them back to the path tool, the shape of the stroke fill is lost and the calligraphic effect disappears. I'm also finding that I have to rotate the entire canvas in order to get the desired line angle. Let me know if I need to clarify.

Inkscape Inkscape.org Inkscape Forum Beginners' Questions Calligraphy effect with the Path Tool