SVG insights
by LRN
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
I'm doing some research for an application that i might write. It would
use cairo to draw some complex graphics (using math!), and users would
want to export these graphics + some text and numbers (derived from the
same math) into something printable (pdf is the obvious choice, but svg
should be OK too - it's highly desirable that graphic object should be
in a vector format, not raster, otherwise it doesn't print well). You
know, like generating a report - that sort of thing.
Now, the graphic object should probably go as-is (no one really needs to
alter it in any way; scale it maybe - that's all), but the layout of the
page is something users should be able to change. Which means that there
should be some kind of mechanism for creating page templates, and my
application would just paste graphics and numbers into them.
Thus PDF is out of the question. That leaves SVG.
When i started writing this message, i thought that i was going to ask
about clipboard formats Inkscape understands. I thought that it would be
enough to just swap the cairo-gdk surface used in my drawing function
for a cairo-svg surface, write svg into memory, put it into clipboard
and somehow paste into Inkscape.
Now, don't get me wrong, that would _still_ be awesome. So if you know
how to do it - i'm all ears.
But that, of course, won't do anything about the rest of the contents
that should go into page.
So now i'm thinking of something different: create a template SVG
document in Inkscape (putting placeholders in places where stuff should
be inserted), give it to my application, and it will replace
placehonders with real stuff (i hope i know XML well enough to just
insert proper XML elements into right places) and save the result as an SVG.
However, Inkscape does not seem to be terribly good at layout out text
either, and copy-pasting drawings from Inkscape to OpenOffice produced
mixed results (and i still don't know how to do it programmatically).
So...what would you advise me to do?
- --
O< ascii ribbon - stop html email! - www.asciiribbon.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (MingW32)
iQEcBAEBAgAGBQJSXB5nAAoJEOs4Jb6SI2Cw+IsH/2gYQhInPCJU8nuTvWq0zALE
20FSDyy67gqwzBidSqPfyvuUMVfVQTjlpZ2SDVef/Uo2qLbuVTpKA1b6UyNNtjqL
i2bebrrwZfrifAK29wc0nqtMJYakqmcLQAfc/LHbZVInRrO4CvMxKTplHHEG4XhQ
Ay8shUuUnqhyUP0Bwo+1JHiB3zZoC5UtZZ2Vz+YYe2HarP/JynDIDE2yQCllLFrS
wYQ7S2r2jhBH1BcyW4NeCfM4oDrQRjyb/IsG7Mar+VGygttSnrDe1dGcFMHMmxNi
cdTJwwhTdQHXQzZU5f9S9iN35irvmH90UgX8gk0ZjR793EZGuCc47zG+hSL2a6c=
=3Hhc
-----END PGP SIGNATURE-----
10 years, 1 month
Trunk Problems
by Martin Owens
Hey devs,
I've been trying to make some art using the trunk inkscape build. There
is some weird problems going on.
* Rotating objects mis-transforming after certain number of degrees.
* Broken Path 'Difference' producing very odd results.
* Non-working load dialog (might be my computer though because it fails
in 0.48.4 too which is odd, might be related to the preview)
Are these known problems or should I report them all?
I'd like to continue to push for a release, so I think we need to get a
freeze of some kind in. We can do objectification, code clean up etc
later. For now I think the focus needs to be back on functional bugs.
Best Regards, Martin Owens
10 years, 1 month
Setting a gdb breakpoint in Inkscape
by Guiu Rocafort
Hi list !
I'm trying to set a breakpoint in the function cssReader::parseFile() using
gdb.
I've tried several’s ways to do that in gdb, including:
"break cssReader::parseFile"
then I read this (
http://stackoverflow.com/questions/6892395/set-breakpoint-for-class-membe...)
and tried:
"break org::w3c::dom::css::parseFile"
I also attempted to use the "file:line" method trying:
"break cssreader.cpp:1591"
"break dom/cssreader.cpp:1591"
In the gdb documentation I was not able to find anything related to
debugging class methods in C++.
I didn't find any useful info in the inkscape debugging wiki page.
So anyone can point me the right way to do this ?
Thank you.
--
*Please avoid sending me Word or PowerPoint attachments.
See http://www.gnu.org/philosophy/no-word-attachments.html*
10 years, 1 month
Crash on start rev 12550 : TypeNotRegistered
by Yann Papouin
Hi,
Launching a clean build on a Win7 64bits raises an exception:
terminate called after throwing an instance of
'FactoryExceptions::TypeNotRegistered
what(): svg:svg
10 years, 1 month
Code style question
by Johan Engelen
Hi all,
Now with the change to C++ objects (very happy about it!), is it OK
to change this
if (SP_IS_LPE_ITEM(item))
{
SPLPEItem *lpeitem = SP_LPE_ITEM(item);
to this:
A. if (SPLPEItem *lpeitem = dynamic_cast<SPLPEItem *>(item))
{
I prefer it over the two other options I can think of:
B. SPLPEItem *lpeitem = dynamic_cast<SPLPEItem *>(item);
if (lpeitem)
{
or
C. if (dynamic_cast<SPLPEItem *>(item))
{
SPLPEItem *lpeitem = dynamic_cast<SPLPEItem *>(item);
I like A (more than B or C) because it limits the scope of lpeitem, and
avoids duplicating the long dynamic_cast<> thing. Downside is that it
makes the if-statement rather long. We use option A in 2geom if I
remember correctly.
Please discuss, or add better implementations!
I think it is worthwhile to add the outcome to the coding style page for
reference.
Thanks,
Johan
10 years, 1 month
Offsetting elliptical arcs
by Markus Engel
Hi devs,
I changed the code that generates ellipses and arcs to using true elliptical
arcs instead of cubic Bezier curves.
Now there's a little problem:
When you create for example a pizza slice and a linked offset, you will see
that elliptical arcs are somehow "degenerated", i. e. the number of points
decreases with increasing radius.
(https://bugs.launchpad.net/inkscape/+bug/1236830)
Note that the code for offsetting elliptical arcs has been there for quite
some time. I'm not sure now whether this is how "offset" is intended to
work.
What do you think?
Regards,
Markus
10 years, 1 month
Re: [Inkscape-devel] W3C SVG test suite and trunk
by Tavmjong Bah
On Wed, 2013-10-09 at 11:28 +0200, Guiu Rocafort wrote:
> 2013/10/9 Tavmjong Bah <tavmjong@...8...>
> >
> > On Wed, 2013-10-09 at 00:51 +0200, Guiu Rocafort wrote:
> > > Hi ! I've been looking at the GSOC and after solving a few problems I
> > > can run the tests now. Now I have to find out a way to update the
> > > tests.
> >
> > I was able to run the tests without too much trouble... however I did
> > not have a set of "good" PNGs to test against... so I gave up and went
> > back to using the latest SVG 1.1 test suite.
> >
> > To update the tests, I think you just need to put the new SVG files into
> > the directory with the existing SVG files and then create reference PNGs
> > in the appropriate files (known good rendering, known bad rendering).
> > You can't just use the reference PNG files from the SVG test suite for
> > doing automated pixel-by-pixel comparison as the results depend on the
> > font used. (The SVG2 test suite will use a WOFF font, I think, to avoid
> > this problem.) The existing files from the SVG test suite should be
> > replaced by the files from the latest version of the SVG 1.1 2nd Ed test
> > suite.
>
> I see, I wasn't aware of that problems with the fonts. Is the problem
> related to the use of the SVGFreeSans font ? I saw this font in some
> tests so I'm guessing it's being used in all of them. I noticed this
> font is not in my system, so installing it in the machine is going to
> perform the tests should solve the problem ?
No. A search through the SVG files shows all kinds of different fonts
being used. SVGFreeSans is required for some tests as is a number of
other specially constructed fonts.
> But since we're maybe going to use that ppa automated thing to perform
> the tests that probably is not an option. Would it be safe to replace
> all the fonts in the test by one of these safe fonts ? [1]
No. If you look carefully you'll see that each proposed font-family is
actually a list of fonts. For example:
"Times New Roman", Times, serif.
If the first font "Times New Roman" isn't found, then Times is search
for. If that is not found then the generic fallback font serif is used.
While "Times New Roman" and Times are similar, they are not exactly the
same. For the use on the web they are probably acceptable equivalents
but for pixel by pixel comparison, they wont work.
The solution is to generate the PNG reference images on the same machine
that the tests are going to be run on. Then the same font will be used
for both the reference and the test images.
> Tavmjong, i saw you're running some tests in [2], so, how are you
> solving these font problems ?
>
> [1] http://www.w3schools.com/cssref/css_websafe_fonts.asp
> [2] http://tavmjong.free.fr/INKSCAPE/W3C_SVG_0.49/htmlInkscapeHarness/index.html
I look at each test manually and just filter out the differences in
font. This is OK for a once in a while check but not for automated
testing. Also, a few of the text tests really do need special fonts
(found in the 'resources' directory).
> > > I've set a personal branch in my launchpad account with the changes I
> > > made to the original code.
> > > https://code.launchpad.net/~neandertalspeople/+junk/inkscape-testsuite
> > >
> > >
> > > After updating the test I'll try to find a way to automate the tests,
> > > and perform them regulaly. What do you think about that ? Any idea
> > > about how that could be done ? Maybe it is possible to set some kind
> > > of trigger when there is a commit in the launchpad inkscape trunk ?
> >
> > This would be awesome.
> >
> > Tav
> >
> >
> >
> >
>
> Guiu
>
10 years, 1 month