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
Discussing an initial idea for GSoC (inspired by vim's registers).?
by Osama Ahmad
Hi, my name is Osama Ahmad and I'm planning to join GSoC this year.
As stated here
<https://wiki.inkscape.org/wiki/index.php?title=SOC_Writing_Project_Proposals>,
it's encouraged to discuss ideas for GSoC before submitting.
Inspired by vim's registers, I'm thinking of adding the ability to make
multiple copies.
But, unlike vim's registers which have a fixed name and are limited to
several registers, I'm thinking of allowing the users to assign a name for
each copy and be able to create as many as wanted.
There will be an option under the "copy" option which will have a name like
"add to copy list", and will have a text box for the users to enter the
name of the copy. Later, when they want to paste a certain copy, they click
on an option which has a name like "paste from copy list", when clicking on
it, a list of the names of the previously made copies will appear and the
user can choose from them.
This will not modify the original "copy" and "paste" options. The program
will have its normal copy and paste options, but will have the named copies
as an additional option.
To make things even more convenient, there can be a counter that starts
from 1, if the user just wants to copy multiple objects without assigning
names each time, they can just click on the third option which will have a
name like "add to copy list as #x" where x is the current value of the
counter. The counter is increased by 1 each time this option is clicked.
I'm not planning to decrease it at all since it's very unlikely for users
to make more than a 100 or even 10 copies anyways.
Also, there will be an "X" button beside each item in the copy list to
enable users to remove items they're not in need anymore from the list.
Optionally, since there will be an option that says "add to copy list as
#x", if the users have used it a lot, thus have a lot of items which all
have a names of numbers, the users might forget what each item corresponds
to, so, a solution will be to show (but not actually paste) the items when
the user hovers over them. Probably this will complicate things, I'm not
sure if I'll be able to do it. But in case I've finished the main project
before the deadline, I think this will be a good addition.
Problems:
- It might slow the program if the user has copied a lot of items. Yet, we
don't force the user to copy, if the user is in need of lots of copies,
then being able to do it and have the program to be a little slower is way
better than not being able to do it at all, so, I think this is not a big
issue.
If the idea is a good one to submit, where in the code should I start to
read and grasp first (probably a good starting point would be where the
copying and pasting functions are located)?
And, if the idea is not good enough, I'd love to know why and how I can
improve it.
Thanks.
2 years, 6 months
Introducing my-self (introduction request)
by SIVALASETTY AKHILRAM
Good Afternoon respected community,
I am Akhil Ram, I am very new to this community. coming to me i had good
programming experience with c , python( machine learning basics to
average). I made some projects to showcase my knowledge in python and c
programming.
But, I have a very little knowledge about open source contributions. It
sounds a bit weird but keep faith in me "because i had good progress while
learning ".
I had gone through the ideas list of Inkscape. I had gone through the
project ideas mentioned on the page.I am willing to work on "P7. Tesseract
OCR", Based on my past knowledge the word OCR makes me very interactive.
Please help me get started on my journey(what else i have to do before
submitting the proposal ).please ignore grammatical mistakes . If I am
wrong to introduce myself to a different mailing list please let me know.
thanking you,
Akhil Ram Sivalasetty
akhilram2001(a)gmail.com
2 years, 6 months
Introduction to Inkspace community
by Vikash Kumar
I am an open source developer looking to contribute to your organisation in
GSOC 21. I am looking forward to contributing to Improvements to the Paint
Server Dialog project. It would be great to hear from your end a bit more
about this project and the mentors associated with this one.
2 years, 6 months
Major applause for Ozant's artwork
by Roy Torley
Excellent! Let's clink glasses to Ozant's good fortune. It is my first choice: busy but not cluttered, good choice of color palette, my wife and I anthropomorphize everything so the theme is right in line with our view of the universe, and the way your eyes are gently directed to the upper right is very well played! Ozant, very well done! Enjoy your moment in the spotlight! I hope it's not too hot! Maren, many thanks for keeping us in the loop!
With a clink of glasses (mine are bifocals),
Roy Torley
2 years, 6 months
Re: [Inkscape-translator] Final reminder: Contributor About Screen Voting until March 7, 23:59 UTC
by Maren Hachmann
Thank you for your vote, José!
Am 07.03.21 um 18:50 schrieb imagen imperio:
> Hi Maren,
>
>
> Here is my vote:
>
> My Ranking is: 13254
>
> My Nickname: JoseQuin
>
> My Contribution: I am part the translating members, exactly in the
> spanish translators.
>
> Let me know if the vote is received.
>
>
> Regards.
>
>
> José Quintanilla Ramírez
>
>
>
>
> El sáb, 6 mar 2021 a las 12:16, Maren Hachmann (<maren(a)goos-habermann.de
> <mailto:maren@goos-habermann.de>>) escribió:
>
> Dear Inkscape Contributors,
> there are still about 29 hours left to vote on the Inkscape 1.1 About
> Screen!
>
> These are our community's favorites:
> -----------------------
>
> 1: “Art Bot” by Fauzan Syukri
> https://inkscape.org/~fauzan291/%E2%98%85art-bot
> <https://inkscape.org/~fauzan291/%E2%98%85art-bot>
>
> 2: “Desenhe Livremente” by Ray Oliveira
> https://inkscape.org/~RayOliveira/%E2%98%85desenhe-livremente
> <https://inkscape.org/~RayOliveira/%E2%98%85desenhe-livremente>
>
> 3: “Ilha Livre” by Ray Oliveira
> https://inkscape.org/~RayOliveira/%E2%98%85ilha-livre
> <https://inkscape.org/~RayOliveira/%E2%98%85ilha-livre>
>
> 4: “Running Free” by Antonio Santiago
> https://inkscape.org/~asantiagogeo/%E2%98%85running-free
> <https://inkscape.org/~asantiagogeo/%E2%98%85running-free>
>
> 5: “Fly Freely” by Luiz Lucas
>
> https://inkscape.org/~luizlllucas/%E2%98%85fly-freely-concurso-inkscape-11
> <https://inkscape.org/~luizlllucas/%E2%98%85fly-freely-concurso-inkscape-11>
>
> ------------------------
>
> If you haven't voted yet, but are a contributor to Inkscape, please fill
> in the following snippet with your ranked choices and send
> it as a reply to this email to the **Inkscape developers' mailing list**
> (this one: Inkscape-devel(a)lists.inkscape.org
> <mailto:Inkscape-devel@lists.inkscape.org>, subscription at
> https://lists.inkscape.org/postorius/lists/inkscape-devel.lists.inkscape....
> <https://lists.inkscape.org/postorius/lists/inkscape-devel.lists.inkscape....>
> )
>
> =========================================
>
> Ranking:
>
> Name or nickname:
> Contribution to Inkscape:
>
> =========================================
>
> The contributor vote closes on Sun., March 7, 2021, 23:59:59 UTC.
>
> To see the complete gallery with all entries, visit:
> https://inkscape.org/gallery/=about-screen-contest/contest-for-11/
> <https://inkscape.org/gallery/=about-screen-contest/contest-for-11/>
>
> Thank you everyone!
>
> ---------------------
>
> Explanation:
>
> Ranking:
> Put the numbers in order of preference, so '32154' would mean 3 is
> your first choice, 2 is your second choice etc. You don't have to rank
> all numbers if you don't want to. No comma or spaces in between, please.
>
> The system that is used for determining the winner is
> https://en.wikipedia.org/wiki/Instant-runoff_voting
> <https://en.wikipedia.org/wiki/Instant-runoff_voting>, using the package
> openSTV from (old) Ubuntu repositories. Ties will be broken randomly.
>
> Name or nickname:
> The name you usually use in your communication in the Inkscape project,
> required in case you change your vote or forgot that you had already
> voted.
>
> Contribution to Inkscape:
> We allow voting from Inkscape contributors (as
> opposed to C++ developers and translators in the AUTHORS file only).
>
> Please help us with determining your eligibility for voting by telling
> us what you do or did in the Inkscape project (very short, only main
> area, e.g. 'writing Inkscape code', 'writing website code', 'writing
> news articles', 'setting up infrastructure', 'translating', 'forum
> moderation', 'bug triage', 'board member' etc.).
> _______________________________________________
> Inkscape Translators mailing list --
> inkscape-translator(a)lists.inkscape.org
> <mailto:inkscape-translator@lists.inkscape.org>
> To unsubscribe send an email to
> inkscape-translator-leave(a)lists.inkscape.org
> <mailto:inkscape-translator-leave@lists.inkscape.org>
>
2 years, 6 months
Contributor About Screen Voting until March 7
by Maren Hachmann
Dear Inkscape Contributors,
Here they are, our community's 5 favorites for the Inkscape 1.1 About
Screen chosen by 411 community members from 82 entries by 62 different
artists:
-----------------------
1: “Art Bot” by Fauzan Syukri
https://inkscape.org/~fauzan291/%E2%98%85art-bot
2: “Desenhe Livremente” by Ray Oliveira
https://inkscape.org/~RayOliveira/%E2%98%85desenhe-livremente
3: “Ilha Livre” by Ray Oliveira
https://inkscape.org/~RayOliveira/%E2%98%85ilha-livre
4: “Running Free” by Antonio Santiago
https://inkscape.org/~asantiagogeo/%E2%98%85running-free
5: “Fly Freely” by Luiz Lucas
https://inkscape.org/~luizlllucas/%E2%98%85fly-freely-concurso-inkscape-11
------------------------
Please fill in the following snippet with your ranked choices and send
it as a reply to this email to the **Inkscape developers' mailing list**
(this one: Inkscape-devel(a)lists.inkscape.org):
=========================================
Ranking:
Name or nickname:
Contribution to Inkscape:
=========================================
The contributor vote closes on Sun., March 7, 2021, 23:59:59 UTC (in one
week from now).
To see the complete gallery with all entries, visit:
https://inkscape.org/gallery/=about-screen-contest/contest-for-11/
Thank you everyone!
---------------------
Explanation:
Ranking:
Put the numbers in order of preference, so '32154' would mean 3 is
your first choice, 2 is your second choice etc. You don't have to rank
all numbers if you don't want to. No comma or spaces in between, please.
The system that is used for determining the winner is
https://en.wikipedia.org/wiki/Instant-runoff_voting, using the package
openSTV from (old) Ubuntu repositories. Ties will be broken randomly.
Name or nickname:
The name you usually use in your communication in the Inkscape project,
required in case you change your vote or forgot that you had already voted.
Contribution to Inkscape:
We allow voting from Inkscape contributors (as
opposed to C++ developers and translators in the AUTHORS file only).
Please help us with determining your eligibility for voting by telling
us what you do or did in the Inkscape project (very short, only main
area, e.g. 'writing Inkscape code', 'writing website code', 'writing
news articles', 'setting up infrastructure', 'translating', 'forum
moderation', 'bug triage', 'board member' etc.).
2 years, 6 months
Ranking the contestants
by Roy Torley
Ranking: 145
Name or nickname: Roy Torley
Contribution to Inkscape: Roy Torley's Inkscape Tutorial
2 years, 6 months
(no subject)
by Adam Belis
Ranking:13254
Name or nickname: Adam Belis
Contribution to Inkscape: UX / UI
2 years, 7 months