Bug #1060837
by Arshdeep Singh
Dear Josh,
I have been working on the bug #1060837:
https://bugs.launchpad.net/inkscape/+bug/1060837
(Please go through the link to know about the bug)
The bug involves depicting the CMS values of a CMYK using Color Space on a
scale of [0,100] rather than the default [0,1].
I have up till now setup un-editable GtkEntry Values which shall depict the
values that the artist wants ( on the 0 to 100 scale ).
Here is a screen-shot:
[image: Inline image 1]
*I am facing to problems:
*1) How to distinguish that a CMYK based color-space is selected ?
I am accessing the Colorspace through the ColorProfile object like this-
if( asICColorSpaceSig(newProf->getColorSpace() ) == cmsSigCmykData ) {
_cmsCMYK = TRUE ;
}
else {
_cmsCMYK = FALSE ;
}
I have placed this snippet in appropriate places (_setProfile function,
_profileChanged function etc ). But nothing seems to really work . Am I
using the correct equality condition ? Can you help in this ?
[ _cmsCMYK is a bitfield [ gboolean _cmsCMYK : 1 ] added to the
sp-icc-color-selector.h file or Color Selector class as a flag to keep
track of only CMYK color spaces.]
2) How to setup a GtkEntryBuffer for the GtkEntries I have drwan for the
artist ?
I wrote a small function:
char* getAdjustmentVal (GtkAdjustment *_adj)
{
gdouble _val=gtk_adjustment_get_value (_adj);
_val=100.00*_val;
guint _corrVal= _val;
char* arr;
itoa( _corrVal, arr, 10 );
return arr;
}
then I used:
gtk_entry_buffer_set_text( ....)
https://developer.gnome.org/gtk3/3.4/GtkEntryBuffer.html#gtk-entry-buffer...
but I end of getting runtime errors.
The sequence of loading the data before drawing the widget to screen is
correct. But I get runtime errors. Maybe because the set text function
requires a const array. Any suggestions on that ? What changes are required
in the function ?
--
Arshdeep Singh
Third Year, Computer Engineering
Delhi Technological University
Ph: +91-9654115614
https://sites.google.com/site/adsingh1729/home
10 years
tablet input became laggy since r12292
by Yale Zhang
Hi, I'm using the latest snapshot builds of inkscape (one on Skydrive) and
after upgrading from r12292 to r12322, my Wacom Intuos 5 now has major lag
problems.
This isn't the 1st time I've had lag. Previously, I've encountered this
problem in both the Windows x64 versions of Inkscape and Gimp.
https://bugzilla.gnome.org/show_bug.cgi?id=696148
Somebody suggested a workaround of downgrading libcairo from 1.12 to 1.10,
and that worked. But I see that even the no-lag r12292 version is using
libcairo 1.12, so it now seems less likely that Cairo is the root cause of
the lag.
There only seems to be 25 changes since r12292, but I'm not that familiar
with Inkscape internals yet. Can someone suggest what could've went wrong?
Thanks,
Yale
10 years
Bug #1060837
by Arshdeep Singh
Dear Josh,
I have been working on the bug #1060837:
https://bugs.launchpad.net/inkscape/+bug/1060837
(Please go through the link to know about the bug)
The bug involves depicting the CMS values of a CMYK using Color Space on a
scale of [0,100] rather than the default [0,1].
I have up till now setup un-editable GtkEntry Values which shall depict the
values that the artist wants ( on the 0 to 100 scale ).
Here is a screen-shot:
[image: Inline image 1]
*I am facing to problems:
*1) How to distinguish that a CMYK based color-space is selected ?
I am accessing the Colorspace through the ColorProfile object like this-
if( asICColorSpaceSig(newProf->getColorSpace() ) == cmsSigCmykData ) {
_cmsCMYK = TRUE ;
}
else {
_cmsCMYK = FALSE ;
}
I have placed this snippet in appropriate places (_setProfile function,
_profileChanged function etc ). But nothing seems to really work . Am I
using the correct equality condition ? Can you help in this ?
2) How to setup a GtkEntryBuffer for the GtkEntries I have drwan for the
artist ?
I wrote a small function:
char* getAdjustmentVal (GtkAdjustment *_adj)
{
gdouble _val=gtk_adjustment_get_value (_adj);
_val=100.00*_val;
guint _corrVal= _val;
char* arr;
itoa( _corrVal, arr, 10 );
return arr;
}
then I used:
gtk_entry_buffer_set_text( ....)
https://developer.gnome.org/gtk3/3.4/GtkEntryBuffer.html#gtk-entry-buffer...
but I end of getting runtime errors.
The sequence of loading the data before drawing the widget to screen is
correct. But I get runtime errors. Maybe because the set text function
requires a const array. Any suggestions on that ? What changes are required
in the function ?
--
Arshdeep Singh
Third Year, Computer Engineering
Delhi Technological University
Ph: +91-9654115614
https://sites.google.com/site/adsingh1729/home
10 years
Another GSoC'er - New From Template
by Jan Darowski
Hi!
I'm Jan Darowski, form Poland, studying IT at the Warsaw University.
Launchpad, IRC nick Slagvi. As for now I've developed few apps (mainly with
Qt), but couldn't find a nice way to get into open source development
(although I use it all the time). And here appears GSoC. I chose Inkscape
because I often see many cool, free projects, which have even better
functionality than commercial ones but for some reason they aren't
as popular. I think that it's caused by less friendly, simple interface.
I'm attending an Inkscape Internet course on my university and find it
really nice and interesting project, which in many places can be improved.
Later on I saw, that there's a very strong, active community what I find
very important.
I chose to implement an old New From Template idea, as it looks like
something improving reception of inkscape (especially for the new and very
advanced users). It is also a well documented and described idea, so I
believe that not only I find it important. Of course I already did required
two patches, trying to choose these related with the subject. I already
have some ideas/plans how to implement this idea but first I want to know
if there aren't any more suggestions from the other developers.
And here are the the questions for you guys:
1. Is it still as important idea as I think? Maybe there is something more
urgent what you can suggest to me?
2. As the ideas blueprint suggests (
https://blueprints.launchpad.net/inkscape/+spec/new-from-3.
template-dialog) there has been some work done about this idea but I cannot
find anything about what has been done and where it is.
3. Is there any support for the procedural templates written? That's
another mentioned functionality I cannot find. Is it so important? Without
very deep research in this direction I think It can require a lot of work
to do it from the beginning. Maybe even to much as for the GSoC, as there
are also other things to be done during this period.
As for now, I'm thinking about focusing on making a simple dialog, which
covers current functionality + searching by tags + categorizing templates
(things from wiki
http://wiki.inkscape.org/wiki/index.php/NewFromTemplateSpec). As there will
be a nice "New From Template" dialog, maybe I should also add one for
creating templates? It shouldn't be very difficult, just another type of
save dialog, with some additional template-specific fields and adding them
into svg file.
10 years
Perfect bound cover extension on Windows
by john Culleton
I have since found the messsage. In essence it says I must
download and install http://cheeseshop.python.org/pypi/lxml
That in turn requires that I download using a package called
"pip" which I don't have. Or I can build from source,
but that requires that I have libxml2 and libxslt including
header files.
This is indeed a man-sized can of worms to get a function that
should be included with the base system. I also have a Debian
partition up which has Inkscape 47 on it. If the "pip" path fails
I will try upgrading Debian to wheezy which may have a newer
version available.
It would be nice if the developers of Inkscape would provide a
source package for Linux that had all the requirements bundled in.
--
John Culleton
Wexford Press
Free list of books for self-publishers:
http://wexfordpress.net/shortlist.html
PDF e-book: "Create Book Covers with Scribus"
available at http://www.booklocker.com/books/4055.html
10 years
GSoC 2013: Depixelizing Pixel Art
by Vinícius dos Santos Oliveira
Hi Inkscape Developers,
I'm Vinícius dos Santos Oliveira and I'm majoring in computer science at
Universidade Federal de Alagoas, Brazil. I'm not very skilled, but I use
(and like) the Inkscape software for some time (
http://vinipsmaker.deviantart.com/gallery/?catpath=/ ). I have experience
with GUI programming and C/C++/Python/..., so I think I can develop to
Inkscape. I'll try to fix some "easy-fix" tagged bugs next week.
I thought about an idea for a GSoC proposal and I wanna know your opinion
about this idea. Inkscape currently use potrace for all raster-to-vector
conversions, but potrace isn't good to work with pixel-art. Some
reasearchers developed an algorithm that perform better with pixel-art:
http://research.microsoft.com/en-us/um/people/kopf/pixelart/
My proposal would be to develop an C++ library implementing this algorithm
and:
1. Create an cli program using this library
2. Integrate the feature in Inkscape using this library
The main tasks to implement this algorithm are:
- Construct a graph
- Reshape the graph with the help of some heuristics defined in the paper
- Extract the spline curves
- Optimize the curve
- Convert the B-Splines curves to Bézier curves
The library should export the curve as B-Splines and Bézier curves. This
way, if Inkscape gain support for B-Splines curves in the future, it should
be easy to convert the filter to generate the B-Splines instead of Bézier
curves.
After finish the proposal, Inkscape should have another option to convert
raster images.
I'm already used to a lot of programming languages and programming
paradigms and programming skills won't be a problem for me. Graphs wouldn't
be a problem for me either (I have some background on data structures and
related). I would take more time to master B-Splines and Bézier curves, but
I don't think this should take more than two weeks.
If I finished this proposal fast enough, I could even add extra features
like add an option to pre-proccess the input with hqx filter before send it
to the cited algorithm.
You can see some demos of the algorithm at
http://research.microsoft.com/en-us/um/people/kopf/pixelart/supplementary...
and
the results are amazing.
--
Vinícius dos Santos Oliveira
https://about.me/vinipsmaker
10 years
Text drawn to screen where? (Pango splitting text fields excessively for other output.)
by mathog
Layout-TNG-Compute figures out glyphs, spans, etc. for screen output.
But when and where is that
information actually drawn to the screen?
I have been working on EMF, R->L output and various other things, and
discovered that Pango
sometimes really goes to town breaking text fields into smaller
"unbroken spans". These
are necessary for screen display, since it must find a glyph/font pair
for each unicode
character, but some of the results are overkill for the "print" output
functions, which typically need to know where the resulting glyph is,
but most likely
do not really care what (substitute) font was used. That is true for
EMF output, and presumably for the other supported output formats as
well.
Example, when the following 7 unicode characters are entered, all in
Arial font:
(a) (grave accent) (b) (acute accent) (c) (circumflex accent) (d)
pango_itemize breaks it into 3 pieces:
(a) (grave accent) (b) (acute accent) (c)
(circumflex accent)
(d)
because Arial (on the test system) did not have a glyph for circumflex,
so it
fell over to DejaVu Sans. These 3 smaller pieces are then fed one by
one into pango_shape()
and etc., until the information is ready for the screen. This is all
well and good
for screen display, but the same graphics structure is also used for
"print" output
(other than SVG, I think). The second fragment, in particular, is
likely to be mishandled by whatever
reads the file output, since that is a Mark, nonspacing unicode
character, and should
always follow a normal character in the same text record.
In the print context the font substitution used within Inkscape is
irrelevant for
the construction of the output file. In all likelihood no or a
different font substitution
may take place in the target system. Breaking text strings that are in
one "tspan" in the original
SVG, down into several in other output formats, is certainly not the
desired result!
To work around this problem layout-Compute would
need to keep two sets of books, as it were: setting up the fragments
that eventually go to the screen,
and the simpler set of fragments that go to print. The
glyph<->character map is the same, but the print
spans are merges of 1 or more screen spans. Inkscape would need to
make
a distinction between drawing to the screen, and drawing to a file, and
send the appropriate set of
spans to the appropriate target. Near as I can tell, at present it
just sends the same structure to
both destinations. (This effect is not seen with SVG output, because
nstead of working from the
screen's graphics structures, it just saves the stored XML.)
Regards,
David Mathog
mathog@...1176...
Manager, Sequence Analysis Facility, Biology Division, Caltech
10 years