Stop Microsoft

Miscellaneous => Programming & Networking => Topic started by: worker201 on 17 July 2006, 22:26

Title: vector graphics help
Post by: worker201 on 17 July 2006, 22:26
Hello.  I am sick and tired of Adobe's corner on the vector graphics market, and I need your help.  My goal is an open-source vector graphics program which is as good as or better than Adobe Illustrator.  It will use non-proprietary industry standards (like SVG) at its core, but it will be able to import and export PostScript and PDF.  It will be able to deal with Type1, Type2, Type3, OpenType, Freetype, and TrueType fonts interchangeably.  It will be able to view and vectorize raster images.  Additionally, it will be fully integrated with open source graphics/X, providing such things as thumbnails and other desktop interactivity.  Primary focus is on a professional desktop vector graphics system, and specific prepress functions or artistic enhancements will be secondary.  I suppose that one day it might be ported to Windows, but I want no part of such a project.  However, a .app, like the OSX version of the GIMP which works through Apple X11, will be produced at each development stage.

Unfortunately, the only language I know really well is HTML.  I know a decent bit of JavaScript and XML, and a tiny bit of C, C++, PostScript, and Perl.

So ... any ideas, suggestions, directions, volunteers?
Title: Re: vector graphics help
Post by: adiment on 17 July 2006, 23:41
Try http://www.inkscape.org. I don't know if it has all that but it does have many tools and does SVG.
Title: Re: vector graphics help
Post by: worker201 on 18 July 2006, 00:32
Quote from: etement
Try www.inkscape.org (http://www.inkscape.org). I don't know if it has all that but it does have many tools and does SVG.

I'm familiar with inkscape.  It's a start, but they are a long way off, and don't seem to be heading in the right direction.  For some reason (probably having to do with the GPL), most developers, including those at inkscape, find the licenses required to deal with PostScript to be too much hassle.  Meaning that current work in PostScript is not/barely supported.  This does not meet my needs.

I want a program that can take PS and EPS and PDF and SVG and whatever other filetypes and open them and manipulate them with ease and finesse.  If that means the program won't be covered by the GPL, then that's okay.  It would be nice to be full-on GNU, but I'm not willing to sacrifice functionality for it.
Title: Re: vector graphics help
Post by: H_TeXMeX_H on 18 July 2006, 02:20
Uhhh ... I'm not sure if this qualifies cuz it can't import/export ps, but it's easy to make pdfs with it, I use it ... scribus (http://www.scribus.net/index.php)
Title: Re: vector graphics help
Post by: Pathos on 18 July 2006, 03:03
Quote from: worker201
I'm familiar with inkscape.  It's a start, but they are a long way off, and don't seem to be heading in the right direction.  For some reason (probably having to do with the GPL), most developers, including those at inkscape, find the licenses required to deal with PostScript to be too much hassle.  Meaning that current work in PostScript is not/barely supported.  This does not meet my needs.

I want a program that can take PS and EPS and PDF and SVG and whatever other filetypes and open them and manipulate them with ease and finesse.  If that means the program won't be covered by the GPL, then that's okay.  It would be nice to be full-on GNU, but I'm not willing to sacrifice functionality for it.

...any links to licensing information ? I can't find anything on postscript. Is it additional features like font support ?

If there are restrictive licenses then its probably impossible to release it open source or for free.

What kind of programming background do you have ? (not trying to be insulting ... just this is a big and incredibly difficult project)
Title: Re: vector graphics help
Post by: piratePenguin on 18 July 2006, 07:49
With Writely (http://www.writely.com/) and Google spreadsheet (http://spreadsheets.google.com/), maybe a web-based SVG editor would be nice...

See http://piratepenguin.is-a-geek.com/~declan/svg/persistent-draw/ (I somehow managed to break it recently so it produces errors in FF and doesn't work perfectly (the colour picker) and doesn't work atall in Opera, will fix it when I get time) Performance in that isn't as bad as I expected, but it's very slow compared to Inkscape, so a web-based SVG editor mightn't be practical.
Title: Re: vector graphics help
Post by: H_TeXMeX_H on 18 July 2006, 19:15
Google spreadsheet ... neat :D

Looks like Writely is gonna be part of google soon

Quote
We have closed off new registrations until we move Writely to Google's systems.
Title: Re: vector graphics help
Post by: piratePenguin on 18 July 2006, 23:27
Quote from: H_TeXMeX_H
Google spreadsheet ... neat :D

Looks like Writely is gonna be part of google soon
Yea, google bought it out. Eventually they might have presentation applications (powerpoint) etc. Maybe they have a vector drawing program up their sleeves (but I doubt it highly).
Title: Re: vector graphics help
Post by: worker201 on 18 July 2006, 23:51
Quote from: Pathos
...any links to licensing information ? I can't find anything on postscript. Is it additional features like font support ?

If there are restrictive licenses then its probably impossible to release it open source or for free.
Strangely enough, the licensing info is extremely difficult to find.  Like not available on the web, as far as I can tell.  If you look at the Ghostscript documentation, they make it sound like they just copied everything from the PostScript Red Book.  I own this book, so I'm going to look around for licensing info tonight.  You can download the whole book in PDF from here if you want to browse it yourself:
http://partners.adobe.com/public/developer/ps/index_specs.html

Quote from: Pathos
What kind of programming background do you have ? (not trying to be insulting ... just this is a big and incredibly difficult project)
Haha, I have almost no programming experience whatsoever.  I actually handwrote the PostScript code for a simple business card once, and I can write simple for/while/if-else loops in C and C++.  Basically, I am not a programmer at all.  But dammit, this needs to be done!  And somebody's got to do it.  I'm quite certain I'll never finish, even if I get started.  Such is the way of things.  I'd probably do a much better job deciding what needs to go in and what isn't needed.  However, lesser men have accomplished greater things with fewer resources.  It could happen.
Title: Re: vector graphics help
Post by: piratePenguin on 19 July 2006, 01:41
How about downloading the inkscape code, understanding it, and writing the bits you want added? Then submit them, if they get rejected then fuck the inkscape developers, maintain a patch so other people can use it, or fork it.
Quote from: worker
I want a program that can take PS and EPS and PDF and SVG and whatever other filetypes and open them and manipulate them with ease and finesse. If that means the program won't be covered by the GPL, then that's okay. It would be nice to be full-on GNU, but I'm not willing to sacrifice functionality for it.
I don't think it's to do with the actual GPL, more the developer's opinions on PS/etc. If they're strongly (or even not so strongly) against not-completely-open* standards, then alot of them will be be pro-free-software, so they can chose the BSD license, the GNU GPL etc, and if alot of them are pro-free-software-staying free, they'll go with the GPL - which is what they did. Noone's motivated to add support for the not-completely-open standard - nothing to do with the license, but the developer's opinions.

*I don't know the details of the PS/etc licenses.
Title: Re: vector graphics help
Post by: piratePenguin on 19 July 2006, 22:03
http://ajaxsketch.com/ Wow!
Title: Re: vector graphics help
Post by: worker201 on 19 July 2006, 23:09
For all those who are interested, here's what the Red Book (PostScript Language Reference, 3rd edition, Adobe Systems Press) has to say about the copyrights surrounding PostScript:
     
Quote
The general idea of using a page description language is in the public domain. Anyone is free to devise his or her own set of unique commands that constitute a page description language. However, Adobe Systems Incorporated owns the copyright for the list of operators and the written specification for Adobe's PostScript language. Thus, these elements of the PostScript language may not be copied without Adobe's permission. Additionally, Adobe owns the trademark "PostScript", which is used to identify both the PostScript language and Adobe's PostScript software.

 Adobe will enforce its copyright and trademark rights.  Adobe's intentions are to:

 * Maintain the integrity of the PostScript language standard. This enables the public to distinguish between the PostScript language and other page description languages.

 * Maintain the integrity of "PostScript" as a trademark. This enables the public to distinguish between Adobe's PostScript interpreter and other interpreters that can execute PostScript language programs.

 However, Adobe desires to promote the use of the PostScript language for information interchange among diverse products and applications. Accordingly, Adobe gives permission to anyone to:

 * Write programs in the PostScript language.

 * Write drivers to generate output consisting of PostScript language commands.

 * Write software to interpret programs written in the PostScript language.

 * Copy Adobe's copyrighted list of commands to the extent necessary to use the PostScript language for the above purposes.

 The only conditions of such permission is that anyone who uses the copyrighted list of commands in this way must include an appropriate copyright notice. This limited right to use the copyrighted list of commands does not include the right to copy this book [oops], other copyrighted publications from Adobe, or the software in Adobe's PostScript interpreter, in whole or in part.

 The trademark PostScript(R) (or a derivative trademark, such as PostScript(R) 3(TM)) may not be used to identify any product not originating from or licensed by Adobe. However, it is acceptable for a non-Adobe product to be described as being PostScript-compatible and supporting a specific LanguageLevel, assuming that the claim is true.


 Weird that Adobe would authorize using prose to say this, as opposed to dense legalese. However, the 3rd edition of the Red Book, and especially this passage, has probably been pored over by teams of lawyers. I think it is safe to assume that this is the "license", or at least a usable version of it.


 So it looks to me like it should be legal to write a PostScript interpreter (or use GhostScript) and insert it into a software package, and there should be no trouble opening or manipulating or saving a PostScript file. However, my understanding is that the Linux community as a whole is against this kind of licensing, no matter how liberal it is. The source of PostScript is open, but it is not "open source". Correct me if I'm wrong, but a minor little copyright restriction was the reason Linux uses X.org instead of XFree86 now. Anyway, it looks like a case of the FOSS community getting sorta screwed by their own narrow-mindedness. Such strong convictions can be useful, but you have to know when to let them down and when to bend the rules, even the rules you have imposed upon yourself.


 Comments on my take of the license, and the license itself, welcome.
Title: Re: vector graphics help
Post by: piratePenguin on 20 July 2006, 00:10
Quote from: worker201
Correct me if I'm wrong, but a minor little copyright restriction was the reason Linux uses X.org instead of XFree86 now.
XFree 86 still exists. Most distros chose to use Xorg over it, however, because 1. Xorg is better in many ways (autotools ftmfw) and 2. the licensing conditions of Xorg make it easier to redistribute. With XFree 86 you gotta include the authors names prominently. I don't really understand it, but it's easier to distribute Xorg.

Scribus can import PS and EPS and can export PDF and EPS.

WTF is PS useful for anyhow?
Title: Re: vector graphics help
Post by: piratePenguin on 20 July 2006, 00:14
Oh and if you did ever look into the Inkscape code you would probably notice this (http://inkscape.cvs.sourceforge.net/inkscape/ps3convert/), looks like a PS to SVG converter. Hasn't had any changes in 14 months, maybe the author changed his mind on the licensing stuff? (not likely)
Title: Re: vector graphics help
Post by: mobrien_12 on 20 July 2006, 00:30
Quote from: worker201
Correct me if I'm wrong, but a minor little copyright restriction was the reason Linux uses X.org instead of XFree86 now.


The reason X.org is used is because the XF86 core team went completely insane.  They pissed off all their developers, and stifled innovation, which lead to the fork in the first place.  

The final straw was when they decided to change the licencing to the old BSD licencing format with the advertising clause.  This licence is incompatible with the GPL.  

Thus, if anyone shipped binary versions of GPL programs or libraries (such as QT for KDE) linked against the new version of XFree86, they would violate the
GPL.  This pretty much leaves most distros (even BSD ones) DEAD in the water if they chose to use the latest version XFree86, although you could download and compile XFree86 yourself if you so desired.  

Like I said... insane.  

We had a big thread on this a couple years back.
Title: Re: vector graphics help
Post by: worker201 on 20 July 2006, 00:46
Quote from: piratePenguin
WTF is PS useful for anyhow?

1. PostScript and Encapsulated PostScript (EPS) images can be directly generated through a bash script if you want, since PostScript is a real interpreted programming language, like JavaScript and Perl.

2. PS and EPS images can be sent directly to a compatible printer without any intermediary program - a simple redirect on the command line is all you need.  The printer can do the rest.

Basically what you are doing is making a vector image using printer language.  It's an extremely efficient, if somewhat dated practice, designed for the days when most people barely had a shell prompt and a printer.  Adobe's adoption of PDF for modern page description reflects the more uptodate method of creating graphics with a visual editor and then using software to send them to the printer.
Title: Re: vector graphics help
Post by: worker201 on 20 July 2006, 00:49
By the way, I did find out that Inkscape does plan to be AI, PS, EPS, and PDF compatible eventually.  But the project is moving really slowly.
Title: Re: vector graphics help
Post by: piratePenguin on 20 July 2006, 00:54
Quote from: piratePenguin

Scribus can import PS and EPS and can export PDF and EPS.
Firefox can print to PS, as can Konq (which can also print to PDF) and probably everything else in KDE..... GNOME can print to PDF and PS. The GIMP (which does not use GNOME's printing program, to my understanding. It uses gimp-print) can print to PS.  :o
Title: Re: vector graphics help
Post by: solemnwarning on 20 July 2006, 21:23
Quote from: mobrien_12
The reason X.org is used is because the XF86 core team went completely insane.  They pissed off all their developers, and stifled innovation, which lead to the fork in the first place.  

The final straw was when they decided to change the licencing to the old BSD licencing format with the advertising clause.  This licence is incompatible with the GPL.  

Thus, if anyone shipped binary versions of GPL programs or libraries (such as QT for KDE) linked against the new version of XFree86, they would violate the
GPL.  This pretty much leaves most distros (even BSD ones) DEAD in the water if they chose to use the latest version XFree86, although you could download and compile XFree86 yourself if you so desired.  

Like I said... insane.  

We had a big thread on this a couple years back.


I'm running XFree86 :)
Title: Re: vector graphics help
Post by: piratePenguin on 20 July 2006, 22:43
Quote from: solemnwarning
I'm running XFree86 :)
Don't tell me Debian still uses it!?
Title: Re: vector graphics help
Post by: Orethrius on 20 July 2006, 23:42
Quote from: piratePenguin
Don't tell me Debian still uses it!?

 Ya know, not saying that he did, but he could've forked a GPLed version for his own needs.  ;)
Title: Re: vector graphics help
Post by: worker201 on 21 July 2006, 03:00
Quote from: Orethrius
Ya know, not saying that he did, but he could've forked a GPLed version for his own needs.  ;)
:lmao:
Somehow, I doubt it.
Title: Re: vector graphics help
Post by: solemnwarning on 21 July 2006, 05:28
Quote from: piratePenguin
Don't tell me Debian still uses it!?


Yes, Debian still uses it! :D

Although its dropped in the current testing release thats running on my laptop so I had to hack the stable package to work with the packages under testing.
Title: Re: vector graphics help
Post by: piratePenguin on 21 July 2006, 08:37
Quote from: worker201
However, my understanding is that the Linux community as a whole is against this kind of licensing, no matter how liberal it is.

PS is supported by ALOT of free software (I'd nearly say say that generally all applicable free software supports the format). There's the huge amount of software I've already mentioned, and I just noticed evince, GNOME's document viewer can read PS documents (as well as PDFs and DjVu (http://en.wikipedia.org/wiki/DjVu) documents).

KDE has kghostview to view PS documents.

So I dunno what makes you think "the Linux community as a whole is against this kind of licensing"...

There just seems to be inkscape that's missing. You could learn C++ and fix that..

edit: http://inkscape.org/doc/devdocs.php
Title: Re: vector graphics help
Post by: H_TeXMeX_H on 21 July 2006, 18:40
I know some C++ (about 3 credit hours worth ...), enough for making simple games, math programs, small utilities, but probably not enough for doing something like this .... and you need lots of time. I mean usually there is a development team ... not a one man team :)
Title: Re: vector graphics help
Post by: piratePenguin on 21 July 2006, 18:53
Quote from: H_TeXMeX_H
I know some C++ (about 3 credit hours worth ...), enough for making simple games, math programs, small utilities, but probably not enough for doing something like this .... and you need lots of time. I mean usually there is a development team ... not a one man team :)
There is often a single person working on a single function.

The rest of the Inkscape developers will be developing everything else, whatever interests them. Obviously PS support doesn't interest them.

Knowing C++ is the easy bit, understanding even just the relevant parts of the Inkscape codebase is the hard bit. But worker WAS talking about developing a brand-spanking-new editor, which would be MUCH more work.
Title: Re: vector graphics help
Post by: H_TeXMeX_H on 22 July 2006, 05:15
Yeah, well maybe you could improve inkscape to do all those things you want ... or you might wanna ask the dev team if they have it planned, and if they don't then maybe they'll listen or maybe not. I don't recommend you start from scratch ... you're gonna end up quitting, it's too big a project to do on your own ... unless you have a lot of time and programming know-how.

P.S. Inkscape is really nice (I just tried it) ... it might be a good starting point
Title: Re: vector graphics help
Post by: piratePenguin on 7 August 2006, 05:24
http://wiki.inkscape.org/wiki/index.php/Roadmap

see milestone 11, for inkscape 0.45.
Title: Re: vector graphics help
Post by: piratePenguin on 18 August 2006, 04:33
Quote from: worker201
Hello.  I am sick and tired of Adobe's corner on the vector graphics market, and I need your help.  My goal is an open-source vector graphics program which is as good as or better than Adobe Illustrator.  It will use non-proprietary industry standards (like SVG) at its core, but it will be able to import and export PostScript and PDF.  It will be able to deal with Type1, Type2, Type3, OpenType, Freetype, and TrueType fonts interchangeably.  It will be able to view and vectorize raster images.  Additionally, it will be fully integrated with open source graphics/X, providing such things as thumbnails and other desktop interactivity.  Primary focus is on a professional desktop vector graphics system, and specific prepress functions or artistic enhancements will be secondary.  I suppose that one day it might be ported to Windows, but I want no part of such a project.  However, a .app, like the OSX version of the GIMP which works through Apple X11, will be produced at each development stage.

Unfortunately, the only language I know really well is HTML.  I know a decent bit of JavaScript and XML, and a tiny bit of C, C++, PostScript, and Perl.

So ... any ideas, suggestions, directions, volunteers?
Looking back at this.. Learn Qt! Then you've got a very nice, very cross-platform toolkit, and then you can basically make a start on your project.

I can get you a very nice book on development with Qt 4.1 and C++ (it has an appendix about basic C++ functionality that I found useful too, since I was never good with C++) on whatever platform you want (it has another appendix with instructions for installing Qt/Windows, Qt/Mac, and Qt/X11).
Title: Re: vector graphics help
Post by: piratePenguin on 18 August 2006, 05:53
Check out Xara Xtreme (http://www.xaraxtreme.org/) too btw.
Title: Re: vector graphics help
Post by: worker201 on 18 August 2006, 07:31
Thanks for the suggestion.  Had a wild hair up my ass at the bookstore one day, and ended up buying a book on GTK+.  Haven't gotten around to doing anything with it, yet, except for reading chapter 1.