So among a bunch of problems that I've run into while trying to make a mouth, I've come across a workaround that kind of works. I make two paths: one "lip path" (the primary and clip path), and one mouth path (the background of the mouth). I also make a clipPath
and use
the lips as the path (which I need to reference through xlink:href
?). I then apply the clipping to mouth path. I then have to close inkscape, Find+Replace
svg:
=>(empty)
, and then open Inkscape again to continue drawing.
My thought process is that I can use the lips to mould the mouth (for lack of a better word) and that way I can make many facial expressions with just one path. But Inkscape disagrees:
What ends up happening is, upon modification, Inkscape applies a transform to my clipPath's use
object, and I assume it's so I can clip an object and freely use the original object - but this defeats the purpose of my want to use use
. This means that every time I modify the lips' location, I need to go to the XML Editor, and delete the transform attribute. Fortunately, I can edit the path's nodes and the Inkscape will respect that, which is the expected result.
Ideally, I just want to have one path for the lips, allowing me to clip the rest of the mouth in/out, so I can make many facial expressions with minimal effort. Of course, there'll be situations where I have to remake the mouth (such as when the tongue or teeth protrude from the mouth), but they're exceptions that I'm willing to deal with.
These are the few questions I have:
- How do I fix this to achieve the result I've described?
- Is there a way I can permanently fix this for future projects?
- Why do I need to remove the namespacing from Inkscape's SVG code for this to work?
- Why does Inkscape export the SVG tags namespaced to begin with?
- Why do I need to use
xlink:href
instead ofhref
when it's completely valid? - Why does Inkscape not offer the option to move away from deprecated features (such as
xlink:href
)? (source: MDN)