Regarding the serialization of Spiro control points
by Fred Brennan
Greetings,
I write from the FontForge project. Of particular interest to me is the Spiro
spline feature, which was originated around ten years ago by Raph Levien.
One thing I'd like to add, (which would benefit both our projects,) is the
ability of FontForge to understand the Inkscape Spiro serialization format.
However, there are several things about the format which to me as an outsider
appear to be defects serious enough that I have no idea how to even *import*
these splines correctly, much less export our Spiro splines to this format. I
would very much like to support the _de facto_ standard Inkscape has
originated of supporting Spiro in SVG, but I am lost.
George Williams, FontForge's original author, noticed this defect over eleven
years ago.[1] Things are virtually unchanged since then, I checked `git
blame`.
Spiro has five point types, not including beginning and ending points. They
are:
* G4 curve (o)
* G2 curve (c)
* Corner (v)
* Left Constraint ([)
* Right Constraint (])
The ASCII single letters are the normal method of Spiro serialization, as
championed by Raph Levien and by us in FontForge.
Inkscape seems to create what I will call a "pseudo-SVG path". So, it is not
really an SVG path, but rather is an SVG path which undergoes transformation
into the typical Spiro format. Inkscape stores this in the "original-d"
attribute.
So, given a Bezier spline with control points defined as (x, y, c1, c2),
Inkscape interprets a control point with only (x, y) to be a corner, meanwhile
a control point with all four is a G4 curve, and (x, y, c1, NULL) is a left
constraint while (x, y, NULL, c2) is a right constraint.
I can probably overcome this, although George Williams was right to be
skeptical of this format. There is no way I can see to define a G2 curve in
this strange "original-d" format.
Thus, this email. I write to ask a few things. I suppose first of all, what
are the chances that we can convince you guys to store Spiro splines in
plate[2] format, or another widely accepted Spiro serialization format?
Second, if we cannot convince you to do that, how do I export FontForge spiros
which contain G2 control points to Inkscape's original-d format? It's not
possible, yes? So should I just silently fail and save them as G4? The curves
will not be the same if I do that. Should I disallow export to SVG w/Spiro if
glyph contains G2 control point? That seems a steep cost that will just
confuse my users, so perhaps I should abandon the whole thing if it comes to
that.
Cordial regards,
Fredrick Brennan (@ctrlcctrlv)
[1]: https://narkive.com/63FADpG3.4
[2]: https://levien.com/garden/ppedit/README, section "Plate files"
1 year, 6 months
GSoC proposal: Abhay Raj Singh
by Abhay Raj Singh
Hello everyone!
I am Abhay Raj Singh, a sophomore at NIT Hamirpur, Himachal Pradesh,
Bharat(India).
I wish to work on Inkscape this GSoC.
I have already completed "two patches" rule
This is the link my to almost complete GSoC proposal, of the idea I wish to
work on this GSoC
https://gitlab.com/rathod-sahaab/inkscape-2020-gsoc-proposal
Please review it and thank you very much. I would love your feedback for
making this application better.
Regards,
Abhay
3 years, 7 months
GSoC 2020
by saurabh singh
Hi, I am Saurabh Singh from IIT Roorkee, India. I am pursuing computer
science here.
I was doing graphic designing as an hobby when I came across Inkscape
application and really liked it.
I want to contribute in Inkscape for GSoC 2020, but I'm confused about the
project ideas given in the idea list. Can someone help me with this?
Thank you
Regards
Saurabh
3 years, 7 months
LGM Hackfest in Rennes, France
by Marc Jeanmougin
Hi everyone,
we will likely have our next hackfest in Rennes, France, just before LGM
in May. LGM is May 26-29 and it's likely the hackfest will last for a
few days before it (last hackfests lasted from 3 to 5 days).
All contributors* are welcome and encouraged to attend the hackfest!
Financial support will be available, but please sign up in advance
(either by answering to this email, or by adding yourself on
https://wiki.inkscape.org/wiki/index.php?title=Hackfest2020_Rennes_Attendees
), to account for possible limited hosting capacity and to allow expense
(and logistics) planning.
I hope to see lots of you there :)
--
Marc
(* not just code, a hackfest can be a productive time to write a
tutorial, discuss some UX, progress on a translation, or coordinate some
media outreach, for instance!)
3 years, 7 months
"Getting Started with Development" instructions
by Maximilian Gaukler
Hi everyone,
I am about to update the "getting started" instructions for new
developers: https://inkscape.org/develop/getting-started/
If you have any further suggestions, feel free to answer. I'd like to
consolidate all changes into one big edit because every change needs to
be translated.
Here's my list of changes:
- git SSH -> change to HTTPS (as discussed a few months ago)
- "Install build dependencies": replace old "apt-get" instructions with
the new script from inkscape-ci-docker.
Download and run the script to install all requirements:
wget -v
https://gitlab.com/inkscape/inkscape-ci-docker/raw/master/install_depende...
-O install_dependencies.sh
bash install_dependencies.sh --recommended
- "/usr in the example" -> "in the example, it is installed in inst/
inside the source folder"
- "Versions <= 0.92" -> remove from tutorial, move to Wiki
remove mentioning of autotools, as CMake is now the default
- do not mark optional arguments with "[ ]" so that copy-paste into the
shell works. Also, omitting some of these arguments (e.g. ccache) will
horribly slow down compilation, so they aren't truly optional. Instead,
just add a note that these arguments may be omitted.
- after changes are published: remove redundant info from the Wiki page
https://wiki.inkscape.org/wiki/index.php?title=CompilingUbuntu
Have a nice weekend,
Max
3 years, 7 months
Re: [Inkscape-vectors] LGM: About two weeks left for entering your talk/workshop submission!
by Maren Hachmann
Hi Elisa,
thank you :) for organizing and for the invitation.
There's going to be an Inkscape Board Meeting next week Friday evening
at 19:00. I think the Rennes Hackfest will be a topic on the agenda
then. Would you or Cédric maybe have time to join the Board for a bit of
planning?
Maren
Am 01.02.20 um 16:47 schrieb Elisa Godoy de Castro Guerra:
> Hi all,
>
> I'm Elisa from LGM team Rennes.
> About the hackfest Inkscape, you are all very welcome :)
> And just to infom you that before LGM there is already a hackfest about
> KDEnlive.
> If you want to work with them is some unexpected aspect, is just to
> inform you :)
>
> And yes, there is place for two hackfest.
>
> Regards,
> Elisa
>
> Le sam. 1 févr. 2020 à 13:11, Maren Hachmann <maren(a)goos-habermann.de
> <mailto:maren@goos-habermann.de>> a écrit :
>
> Hi everyone,
>
> this is a reminder that you can still submit a proposal for a talk,
> lightning talk, hackathon, Birds-of-a-feather meeting or workshop for
> this year's Libre Graphics Meeting.
>
> LGM will take place in Rennes (Brittany, France) from
> May 26-29 2020.
>
> The deadline for your submissions is February 17th.
>
> More info about your submissions:
> https://libregraphicsmeeting.org/2020/en/program.html
>
> Info about the venues:
> https://libregraphicsmeeting.org/2020/en/venue.html
>
> The main focus of this year's event is 'Getting Things Done'.
>
> The organizers explain that this "means explaining how you manage to
> attract more contributors, how you manage the tasks of development,
> fixing bugs, the general directions that you want to take your project,
> and how you interact to accomplish this. You might even talk about ideas
> you have but have not yet implemented. Part of Getting Things Done means
> sharing ideas and methods with each other and with artists."
>
> They are looking for:
>
> "
> * Presentations attracting new contributors to projects
> * Information about how your project "gets things done"
> * Productive workshops to improve and extend software
> * Technical presentations and workshops for developers
> * Showcases of excellent work made using Libre Graphics tools
> "
>
> There's also an Inkscape Hackfest planned to take place either during,
> before or after LGM, so stay tuned ;-)
>
> Maren
> _______________________________________________
> Inkscape Vectors mailing list -- inkscape-vectors(a)lists.inkscape.org
> <mailto:inkscape-vectors@lists.inkscape.org>
> To unsubscribe send an email to
> inkscape-vectors-leave(a)lists.inkscape.org
> <mailto:inkscape-vectors-leave@lists.inkscape.org>
>
>
>
> --
> --
> Elisa de Castro Guerra
> ~~~~~~~~~~~~~~~~
>
3 years, 7 months
LGM: About two weeks left for entering your talk/workshop submission!
by Maren Hachmann
Hi everyone,
this is a reminder that you can still submit a proposal for a talk,
lightning talk, hackathon, Birds-of-a-feather meeting or workshop for
this year's Libre Graphics Meeting.
LGM will take place in Rennes (Brittany, France) from
May 26-29 2020.
The deadline for your submissions is February 17th.
More info about your submissions:
https://libregraphicsmeeting.org/2020/en/program.html
Info about the venues:
https://libregraphicsmeeting.org/2020/en/venue.html
The main focus of this year's event is 'Getting Things Done'.
The organizers explain that this "means explaining how you manage to
attract more contributors, how you manage the tasks of development,
fixing bugs, the general directions that you want to take your project,
and how you interact to accomplish this. You might even talk about ideas
you have but have not yet implemented. Part of Getting Things Done means
sharing ideas and methods with each other and with artists."
They are looking for:
"
* Presentations attracting new contributors to projects
* Information about how your project "gets things done"
* Productive workshops to improve and extend software
* Technical presentations and workshops for developers
* Showcases of excellent work made using Libre Graphics tools
"
There's also an Inkscape Hackfest planned to take place either during,
before or after LGM, so stay tuned ;-)
Maren
3 years, 8 months