[Skencil-commits] r705 - in skencil/branches/skencil-0.6: . old_files

scm-commit@wald.intevation.org scm-commit at wald.intevation.org
Wed Sep 22 14:20:12 CEST 2010


Author: igor_n
Date: 2010-09-22 14:20:12 +0200 (Wed, 22 Sep 2010)
New Revision: 705

Added:
   skencil/branches/skencil-0.6/old_files/BUGS
   skencil/branches/skencil-0.6/old_files/COPYING
   skencil/branches/skencil-0.6/old_files/CREDITS
   skencil/branches/skencil-0.6/old_files/ChangeLog
   skencil/branches/skencil-0.6/old_files/FAQ
   skencil/branches/skencil-0.6/old_files/INSTALL
   skencil/branches/skencil-0.6/old_files/Makefile
   skencil/branches/skencil-0.6/old_files/NEWS
   skencil/branches/skencil-0.6/old_files/PROJECTS
   skencil/branches/skencil-0.6/old_files/README
   skencil/branches/skencil-0.6/old_files/TODO
   skencil/branches/skencil-0.6/old_files/finishinst.py
   skencil/branches/skencil-0.6/old_files/setup.py
   skencil/branches/skencil-0.6/old_files/sk2ppm.py
   skencil/branches/skencil-0.6/old_files/sk2ps.py
   skencil/branches/skencil-0.6/old_files/skconvert.py
   skencil/branches/skencil-0.6/old_files/skencil.py
   skencil/branches/skencil-0.6/old_files/skencil.spec.in
   skencil/branches/skencil-0.6/old_files/skshow.py
Removed:
   skencil/branches/skencil-0.6/BUGS
   skencil/branches/skencil-0.6/COPYING
   skencil/branches/skencil-0.6/CREDITS
   skencil/branches/skencil-0.6/ChangeLog
   skencil/branches/skencil-0.6/FAQ
   skencil/branches/skencil-0.6/INSTALL
   skencil/branches/skencil-0.6/Makefile
   skencil/branches/skencil-0.6/NEWS
   skencil/branches/skencil-0.6/PROJECTS
   skencil/branches/skencil-0.6/README
   skencil/branches/skencil-0.6/TODO
   skencil/branches/skencil-0.6/finishinst.py
   skencil/branches/skencil-0.6/setup.py
   skencil/branches/skencil-0.6/sk2ppm.py
   skencil/branches/skencil-0.6/sk2ps.py
   skencil/branches/skencil-0.6/skconvert.py
   skencil/branches/skencil-0.6/skencil.py
   skencil/branches/skencil-0.6/skencil.spec.in
   skencil/branches/skencil-0.6/skshow.py
Log:
Old project description files, build scripts and launch scripts are moved into old_files/

Deleted: skencil/branches/skencil-0.6/BUGS
===================================================================
--- skencil/branches/skencil-0.6/BUGS	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/BUGS	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,41 +0,0 @@
-Bugs
-
-Just some of them...
-
-
-Miscellaneous:
---------------
-
-- printing tiled image patterns with ghostscript 4.03 might produce
-  rangecheck errors for the eofill in the tileimage1 procedure. (Does
-  this happen in other versions of gs? What happens on other postscript
-  interpreters?)
-
-- The bounding box of some objects is too big. The worst cases are
-  PolyBezier objects with (very) thick lines and mitered joins and
-  ellipse/circle sectors.
-
-Import Filters:
----------------
-
-- skloader:
-
-  - line numbers are incorrect
-
-  - missing external images (bitmap or EPS), i. e. those where the file
-    is not available) are not handled gracefully.
-
-- xfigloader:
-
-  - incomplete
-
-  - does not handle the depth feature correctly. The z order in the
-    sketch document is not correct (i.e. different from that in xfig
-    itself or in postscript files generated by transfig) after loading.
-
-  - the current implementation has a security hole in the method read_text
-
-- ailoader:
-
-  - incomplete
-

Deleted: skencil/branches/skencil-0.6/COPYING
===================================================================
--- skencil/branches/skencil-0.6/COPYING	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/COPYING	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,481 +0,0 @@
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-		       Version 2, June 1991
-
- Copyright (C) 1991 Free Software Foundation, Inc.
-    		    59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the library GPL.  It is
- numbered 2 because it goes with version 2 of the ordinary GPL.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Library General Public License, applies to some
-specially designated Free Software Foundation software, and to any
-other libraries whose authors decide to use it.  You can use it for
-your libraries, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
-  To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if
-you distribute copies of the library, or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link a program with the library, you must provide
-complete object files to the recipients so that they can relink them
-with the library, after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  Our method of protecting your rights has two steps: (1) copyright
-the library, and (2) offer you this license which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  Also, for each distributor's protection, we want to make certain
-that everyone understands that there is no warranty for this free
-library.  If the library is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original
-version, so that any problems introduced by others will not reflect on
-the original authors' reputations.
-
-  Finally, any free program is threatened constantly by software
-patents.  We wish to avoid the danger that companies distributing free
-software will individually obtain patent licenses, thus in effect
-transforming the program into proprietary software.  To prevent this,
-we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-  Most GNU software, including some libraries, is covered by the ordinary
-GNU General Public License, which was designed for utility programs.  This
-license, the GNU Library General Public License, applies to certain
-designated libraries.  This license is quite different from the ordinary
-one; be sure to read it in full, and don't assume that anything in it is
-the same as in the ordinary license.
-
-  The reason we have a separate public license for some libraries is that
-they blur the distinction we usually make between modifying or adding to a
-program and simply using it.  Linking a program with a library, without
-changing the library, is in some sense simply using the library, and is
-analogous to running a utility program or application program.  However, in
-a textual and legal sense, the linked executable is a combined work, a
-derivative of the original library, and the ordinary General Public License
-treats it as such.
-
-  Because of this blurred distinction, using the ordinary General
-Public License for libraries did not effectively promote software
-sharing, because most developers did not use the libraries.  We
-concluded that weaker conditions might promote sharing better.
-
-  However, unrestricted linking of non-free programs would deprive the
-users of those programs of all benefit from the free status of the
-libraries themselves.  This Library General Public License is intended to
-permit developers of non-free programs to use free libraries, while
-preserving your freedom as a user of such programs to change the free
-libraries that are incorporated in them.  (We have not seen how to achieve
-this as regards changes in header files, but we have achieved it as regards
-changes in the actual functions of the Library.)  The hope is that this
-will lead to faster development of free libraries.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, while the latter only
-works together with the library.
-
-  Note that it is possible for a library to be covered by the ordinary
-General Public License rather than by this special one.
-
-		  GNU LIBRARY GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library which
-contains a notice placed by the copyright holder or other authorized
-party saying it may be distributed under the terms of this Library
-General Public License (also called "this License").  Each licensee is
-addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also compile or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    c) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    d) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the source code distributed need not include anything that is normally
-distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Library General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Library General Public
-    License as published by the Free Software Foundation; either
-    version 2 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Library General Public License for more details.
-
-    You should have received a copy of the GNU Library General Public
-    License along with this library; if not, write to the Free
-    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!

Deleted: skencil/branches/skencil-0.6/CREDITS
===================================================================
--- skencil/branches/skencil-0.6/CREDITS	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/CREDITS	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,57 +0,0 @@
-
-Many thanks to all who have commented on Skencil, sent suggestions and
-bug reports and helped in testing or contributed to Skencil with code or
-through minipayments.
-
-In particular, thanks to (in alphabetical order):
-
-Ralf Ahlbrink 
-Brian Bartholomew 
-Claudio Bettio 
-Philippe Blayo 
-David Boddie 
-Jeffrey Boser 
-Simon Budig 
-Wanderlei Antonio Cavassin 
-Yves Ceccone 
-Mauro Colorio 
-Aaron Digulla 
-Michael Dunstan 
-Christof Ecker 
-Aurelien Gateau 
-Thomas Gellekum 
-Paul Giotta 
-Martin Glaser 
-Philipp Matthias Hahn 
-Konrad Hinsen 
-Gregor Hoffleit 
-Eric Jacobs 
-Tamito KAJIYAMA 
-Panos Katsaloulis 
-Andrey Kiselev 
-Steinar Knutsen 
-Frank Koormann 
-Olof S Kylander  
-Tessa Lau 
-Thomas Leonard  
-Frederic Lepied 
-Michael Loßin 
-Esteban Manchado Velázquez 
-Eric Marston 
-Han-Wen Nienhuys 
-Joonas Paalasmaa 
-Lukasz Pankowski 
-Antoon Pardon 
-André Pascual 
-Lopo Pizarro 
-Bernhard Reiter 
-Michel Robitaille 
-Christian Rose 
-Mark Rose 
-Christian Schwarz 
-John Shumway 
-Andy Thaller 
-Frédéric Toussaint 
-Otto Tronarp 
-Valentin Ungureanu 
-Jan-Oliver Wagner 

Deleted: skencil/branches/skencil-0.6/ChangeLog
===================================================================
--- skencil/branches/skencil-0.6/ChangeLog	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/ChangeLog	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,208 +0,0 @@
-2007-05-01  Bernhard Herzog  <bh at intevation.de>
-
-	* Pax/fontobject.c (GetAttr): Do not assume that sizeof(int) ==
-	sizeof(long).  Fixes a problem on 64 bit systems.
-
-2007-05-01  Bernhard Herzog  <bh at intevation.de>
-
-	* Sketch/UI/mainwindow.py (SketchMainWindow.AboutBox): Update
-	copyright dates in about message
-
-	* po/da.po, po/de.po, po/es.po, po/fr.po, po/it.po, po/pt.po,
-	po/pt_BR.po, po/ru.po, po/rw.po, po/sv.po: Updated
-	copyright dates in about message
-
-2006-08-13  Bernhard Herzog  <bh at intevation.de>
-
-	* Makefile: New.  Use "make dist" to create a source tarball.
-
-2006-08-13  Bernhard Herzog  <bh at intevation.de>
-
-	* INSTALL: Some updates and formatting fixes
-
-2006-08-13  Bernhard Herzog  <bh at intevation.de>
-
-	* NEWS: Add changes since 0.6.17
-
-2006-08-13  Bernhard Herzog  <bh at intevation.de>
-
-	* skencil.spec, skencil.spec.in: Renamed skencil.spec to
-	skencil.spec.in.  skencil.spec will be generated from
-	skencil.spec.in when making a release
-
-2006-06-14  Bernhard Herzog  <bh at intevation.de>
-
-	Make Skencil work with Python 2.5.  In 2.5, the id of an object is
-	always positive and may be a python long.  This breaks some
-	assumptions made in paxtkinter.
-
-	* Pax/paxmodule.c (register_object, unregister_object)
-	(key_for_object): Refactor the creation of the string for the
-	object registry into the new function key_for_object
-	(register_object): return the key used for the object in the
-	registry.
-
-	* Sketch/UI/tkext.py (PyWidget.__init__, MakeMethodCommand): Pass
-	the key returned by register_object to the tcl functions.
-
-2006-06-14  Bernhard Herzog  <bh at intevation.de>
-
-	* Sketch/Modules/_sketchmodule.c (init_sketch): Silence a compiler
-	warning.
-
-2006-06-13  Bernhard Herzog  <bh at intevation.de>
-
-	* Sketch/Modules/sktrafo.c (SKTrafo_FromDouble, sktrafo_dealloc),
-	Sketch/Modules/skrect.c (fill_free_list, SKRect_FromDouble),
-	(skrect_dealloc),
-	Sketch/Modules/skpoint.c (SKPoint_FromXY, skpoint_dealloc),
-	Sketch/Modules/skfm.c (SKFontMetric_New, skfm_dealloc),
-	Sketch/Modules/skdither.c (skvisual_init_dither),
-	Sketch/Modules/skcolor.c (fill_free_list, SKColor_FromRGB)
-	(skcolor_dealloc, skvisual_pseudocolor_free)
-	(SKVisual_FromXVisualInfo, skvisual_dealloc),
-	Sketch/Modules/skaux.c (SKCache_New, SKCache_dealloc),
-	Sketch/Modules/pstokenize.c (PSTokenizer_FromStream)
-	(pstokenizer_dealloc),
-	Sketch/Modules/curveobject.c (SKCurve_New, curve_dealloc),
-	Pax/tkwinobject.c (TkWin_FromTkWindow, tkwin_dealloc)
-	(tkwin_CreateImage, tkwin_ShmCreateImage, try_shm_image)
-	(tkwin_PolygonRegion),
-	Pax/regionobject.c (PaxRegion_FromRegion, region_dealloc),
-	Pax/pixmapobject.c (pixmap_dealloc, PaxPixmap_FromPixmap),
-	Pax/paxutil.c (pax_checkshortlist),
-	Pax/paxtkinter.c (Tkapp_New, PythonCmdDelete)
-	(Tkapp_CreateCommand, NewFHCD, DeleteFHCD, Tktt_New)
-	(Tktt_Dealloc, Tkapp_Dealloc),
-	Pax/imageobject.c (image_dealloc, PaxImage_FromImage),
-	Pax/gcobject.c (pax_checkcharlist, PaxGC_FromGC)
-	(PaxGC_SetDashes, Dealloc),
-	Pax/fontobject.c (PaxFont_FromName, PaxFont_FromFont, Dealloc),
-	Pax/cmapobject.c (paxcm_AllocColorCells, paxcm_StoreColors)
-	(paxcm_QueryColors, paxcm_FreeColors, paxcm_dealloc)
-	(PaxCMap_FromColormap),
-	Pax/borderobject.c (PaxBorder_FromTkBorder, paxborder_dealloc)
-	(paxborder_Draw3DPolygon, paxborder_Fill3DPolygon),
-	Pax/Generate/typedefs.py (typedefs),
-	Filter/zlibfilter.c (dealloc_zlib, Filter_FlateDecode),
-	Filter/subfilefilter.c (dealloc_subfile, Filter_SubFileDecode),
-	Filter/filterobj.c (new_filter, filter_dealloc),
-	Filter/binfile.c (binfile_dealloc, BinFile_FromStream): 
-	Use Python memory allocation API correctly so that e.g. memory
-	allocated by PyObject_New is deallocated by PyObject_Del.  Also,
-	use the function based API instead of the macros.
-
-	* Pax/gcmethods.c: Regenerated
-
-2006-06-05  Bernhard Herzog  <bh at intevation.de>
-
-	Add the docbook version of the documentation.
-
-	* Doc/Makefile, Doc/README: New.
-
-	* Doc/devguide/architecture.xml, Doc/devguide/classes.xml,
-	Doc/devguide/connector.xml, Doc/devguide/coordsys.xml,
-	Doc/devguide/curveobj.xml, Doc/devguide/devguide.xml,
-	Doc/devguide/fileformat.xml, Doc/devguide/plugins.xml,
-	Doc/devguide/remarks.xml, Doc/devguide/ui.xml,
-	Doc/devguide/undo.xml:
-	New.  docbook version of the developer's guide
-
-	* Doc/usersguide/concepts.xml, Doc/usersguide/configuration.xml,
-	Doc/usersguide/quickint.xml, Doc/usersguide/scripting.xml,
-	Doc/usersguide/usersguide.xml:
-	New.  docbook version of the user's guide
-
-	* Doc/usersguide/Images/CreateCurve.png,
-	Doc/usersguide/Images/CreateEllipse.png,
-	Doc/usersguide/Images/CreatePoly.png,
-	Doc/usersguide/Images/CreateRect.png,
-	Doc/usersguide/Images/Delete.png,
-	Doc/usersguide/Images/Duplicate.png,
-	Doc/usersguide/Images/EditMode.png,
-	Doc/usersguide/Images/FlipHorizontal.png,
-	Doc/usersguide/Images/FlipVertical.png,
-	Doc/usersguide/Images/GridOn.png, Doc/usersguide/Images/Group.png,
-	Doc/usersguide/Images/Image.png,
-	Doc/usersguide/Images/MiniEyeClosed.png,
-	Doc/usersguide/Images/MiniEyeOpen.png,
-	Doc/usersguide/Images/MiniPrintOff.png,
-	Doc/usersguide/Images/MiniPrintOn.png,
-	Doc/usersguide/Images/MoveOneDown.png,
-	Doc/usersguide/Images/MoveOneUp.png,
-	Doc/usersguide/Images/MoveToBottom.png,
-	Doc/usersguide/Images/MoveToTop.png,
-	Doc/usersguide/Images/NewDocument.png,
-	Doc/usersguide/Images/Open.png, Doc/usersguide/Images/Redo.png,
-	Doc/usersguide/Images/Save.png,
-	Doc/usersguide/Images/SelectionMode.png,
-	Doc/usersguide/Images/Text.png, Doc/usersguide/Images/Undo.png,
-	Doc/usersguide/Images/Ungroup.png, Doc/usersguide/Images/Zoom.png,
-	Doc/usersguide/Images/arrow-left.png,
-	Doc/usersguide/Images/arrow-right.png,
-	Doc/usersguide/Images/arrow-up.png,
-	Doc/usersguide/Images/bullet.png,
-	Doc/usersguide/Images/gradient-conical.png,
-	Doc/usersguide/Images/gradient-linear.png,
-	Doc/usersguide/Images/gradient-radial.png,
-	Doc/usersguide/Images/layers.png,
-	Doc/usersguide/Images/selsize.png,
-	Doc/usersguide/Images/seltrafo.png,
-	Doc/usersguide/Images/sketch-logo.png,
-	Doc/usersguide/Images/textpath.png,
-	Doc/usersguide/Images/textpathrot.png,
-	Doc/usersguide/Images/textpathskew.png:
-	New. Images for the user's guide.
-
-2006-03-18  Bernhard Herzog  <bh at intevation.de>
-
-	* Sketch/Graphics/document.py (EditDocument.CanConvertToCurve)
-	(EditDocument.ConvertToCurve): Allow multiple objects to be
-	converted to curves at once.
-
-2006-02-12  Bernhard Herzog  <bh at intevation.de>
-
-	* setup.py (install_file): Patch the first line of scripts so that
-	it refers to the python interpreter used for installation.  This
-	is usually what one wants and make it packaging easier.
-
-2006-02-12  Bernhard Herzog  <bh at intevation.de>
-
-	Make it easier for packagers to customize where Skencil installs
-	files.
-
-	* setup.py (InstallDirs.__init__): Set self.library from the
-	--libdir option
-	(parse_cmd_line): New option for the install command, --libdir to
-	specify the name of the directory where Skencil's library files
-	are installed.  Default is $PREFIX/lib/skencil-<version>/.
-
-2006-02-12  Bernhard Herzog  <bh at intevation.de>
-
-	* po/de.po: Fix some typos.  Patch from the debian project.
-
-2006-01-29  Bernhard Herzog  <bh at intevation.de>
-
-	* skconvert.py (convert): Properly destroy the document object.
-
-2006-01-29  Bernhard Herzog  <bh at intevation.de>
-
-	* Sketch/Modules/curveobject.c (curve_append_from_file): Allow any
-	object as parameter.  PyFile_GetLine can deal not only with real
-	file objects, i.e. ones whose type is PyFile_Type, but any object
-	which has a readline method.
-	Backport from trunk
-
-2006-01-29  Bernhard Herzog  <bh at intevation.de>
-
-	Merge -r 512:513 from trunk:
-
-	* Sketch/Modules/curveobject.c (curve_parse_string_append),
-	Sketch/Modules/skreadmodule.c (sklex),
-	Sketch/Modules/pstokenize.c (read_name_or_number): Set LC_NUMERIC
-	locale to "C" to make sure the C format for floats is recognized
-	instead of any locale specific format.
-
-2006-01-29  Bernhard Herzog  <bh at intevation.de>
-
-	* ChangeLog: Started ChangeLog for Skencil 0.6

Deleted: skencil/branches/skencil-0.6/FAQ
===================================================================
--- skencil/branches/skencil-0.6/FAQ	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/FAQ	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,250 +0,0 @@
-Frequently Asked Questions about Skencil
-========================================
-
-  1 About Skencil
-  1.1 What is Skencil?
-  1.2 Why would I want to use Skencil? I have GIMP!
-  1.3 Where can I find out more about Skencil?
-  1.4 Which Platforms does Skencil work on?
-
-  2 Troubleshooting
-  2.1 I get the error message "ImportError: No module named Image"
-  2.2 The window resizes when I drag the mouse or change the selection
-
-  3 Using Skencil
-  3.1 How do I import a PostScript or EPS file?
-  3.2 How do I export a drawing as EPS?
-  3.3 How do I close a curve or polygon?
-  3.4 How do I rotate an object by a precise angle?
-  3.5 Is there a command line tool to convert sk-files to PostScript?
-
-  4 Miscellaneous
-  4.1 Why doesn't Skencil have support for <some cool feature>?
-  4.2 Which font formats are supported?
-  4.3 Why doesn't Skencil support TrueType fonts?
-  4.4 Can I input text in ISO-Latin-2 or some other encoding?
-  4.5 Is there a Windows version or is one planned?
-
-
-1 About Skencil
-===============
-
-1.1 What is Skencil?
---------------------
-
-Skencil is an interactive vector drawing program for GNU/Linux and
-other UNIX compatible systems. Skencil is implemented almost completely
-in Python, a very high-level, object oriented, interpreted language,
-with the rest written in C for speed.
-
-1.2 Why would I want to use Skencil? I have GIMP!
--------------------------------------------------
-
-Skencil is a vector drawing program. That means a Skencil drawing is
-made up of shapes like rectangles, ellipses and curves that can be
-filled and stroked. Each object is represented by the mathematical
-description of its shape, e.g. for a circle they're the coordinates of
-the center point and the length of the radius. Because of this, vector
-drawings can be scaled without quality loss and it's very easy to
-change parts of a drawing.
-
-GIMP, on the other hand, is an image manipulation program. A GIMP image
-is made up of thousands of pixels and apart from layers has no inner
-structure. This representation has the advantage that you can easily
-have a lot of fine detail because each pixel can have a different
-color, but after you e.g. have drawn a line, all you have is pixels.
-You can't easily change the position or length or color of the line
-after you've drawn it. Furthermore, a raster image is always designed
-with one particular resolution in mind and scaling it often reduces its
-quality.
-
-Both kinds of graphics programs have their strengths and weaknesses and
-for some purposes an image manipulation program is the appropriate tool
-while for others it's the vector drawing program and often you'll need
-both.
-
-1.3 Where can I find out more about Skencil?
---------------------------------------------
-
-The best place to go for information about Skencil is its web-page at
-URL:http://www.skencil.org/.
-
-1.4 Which Platforms does Skencil work on?
------------------------------------------
-
-The feedback I've got so far about other platforms indicates that
-Skencil runs on these platforms too:
-
-  - GNU/Linux on i386, Alpha, m68k, PowerPC and Sparc
-
-  - FreeBSD
-
-  - Solaris 2.5.1, 2.6, 2.7
-
-  - IRIX64 6.4
-
-  - AIX
-
-
-2 Troubleshooting
-=================
-
-2.1 I get the error message "ImportError: No module named Image"
-----------------------------------------------------------------
-
-This message usually means that the Python Imaging Library (PIL) is not
-installed on your system, so the solution is to install it.
-
-URLs for the sources and rpms can be found on Skencil's web-page (see
-FAQ 1.3) and in the INSTALL file. Some Linux distributions already
-contain a suitable version of PIL although in some cases they're a bit
-buggy.
-
-SuSE Linux 6.2, 6.3 and 6.4, for instance, have a PIL-package, but it's
-slightly broken. The file /usr/lib/python1.5/site-packages/PIL.pth is
-missing. To fix this, create that file with just the line 'PIL' in it
-(without the quotes). (the purpose and syntax of *.pth files is
-described in /usr/lib/python1.5/site.py)
-
-2.2 The window resizes when I drag the mouse or change the selection
---------------------------------------------------------------------
-
-The frequent resizes are caused by the changing texts in the status
-bar. The best solution is to either use the "--geometry" command line
-option to set the size of the main window or to put an entry like
-"sketch.geometry: 900x680" into your .Xdefaults file.
-
-
-3 Using Skencil
-===============
-
-3.1 How do I import a PostScript or EPS file?
----------------------------------------------
-
-That depends on what you want to do exactly.
-
-If you want to embed an EPS file as a whole into a Skencil drawing,
-just treat it like a raster image, i.e. use the menu command
-Edit->Create->Load Image file or use the corresponding toolbar button
-which is the rightmost one.
-
-In this case, you get an EPS-object which Skencil displays with a
-preview image rendered by ghostscript. It behaves very much like a
-raster image, but when you output your drawing as a postscript file,
-the EPS' postscript code is copied to the output file.
-
-If you want to import your postscript file because you want to edit its
-contents, to change fill colors for example, you can in some
-circumstances use the normal file loading commands, i.e. File->Open or
-File->Insert Document, to achieve this. It only works if the file is
-actually an Illustrator file.
-
-For other postscript files, have a look at pstoedit
-(URL:http://www.geocities.com/SiliconValley/Network/1958/pstoedit/). It
-uses ghostscript to interpret arbitrary postscript files and can write
-several vector file formats, including Skencil's own sk-format.
-
-3.2 How do I export a drawing as EPS?
--------------------------------------
-
-Just print into a file or use File->Save as PostScript in the menu.
-Skencil always generates EPS files. You don't have to do anything
-special.
-
-3.3 How do I close a curve or polygon?
---------------------------------------
-
-In edit mode, select both end points and invoke the menu command
-Curve->Close Nodes.
-
-3.4 How do I rotate an object by a precise angle?
--------------------------------------------------
-
-Skencil doesn't have a dialog for this yet, but if you want to rotate
-it by a multiple of 15 degrees, just hold control while rotating the
-object interactively.
-
-3.5 Is there a command line tool to convert sk-files to PostScript?
--------------------------------------------------------------------
-
-Skencil comes with a script called sk2ps that does just that. It's
-automatically installed alongside Skencil and can even read all the
-file formats Skencil can read.
-
-
-4 Miscellaneous
-===============
-
-4.1 Why doesn't Skencil have support for <some cool feature>?
--------------------------------------------------------------
-
-Depending on what the feature in question is, there are several
-possible answers.
-
-The most common reason is simply that nobody has written it yet. There
-are many useful features that Skencil should have, but currently
-there's only one Programmer writing code and that severely limits what
-gets implemented and how fast.
-
-Of course, not every feature is useful or fits well with the goals of
-the Skencil project. However, I hope to make Skencil flexible and
-extensible enough to accommodate such features with plugins and user
-scripts.
-
-See also the FAQs about TrueType fonts (4.3) and text encodings (4.4)
-
-4.2 Which font formats are supported?
--------------------------------------
-
-Currently, Skencil supports only Type 1 fonts.
-
-4.3 Why doesn't Skencil support TrueType fonts?
------------------------------------------------
-
-Well, font-handling under Linux/Unix/X is pretty complex. Applications
-have to do a lot of things themselves that should be provided by the
-'system' (whatever that means). So it's simply a lot of work and I went
-the easy route and support only Type1 fonts because X can render them
-even without any special setup and printing them is no problem because
-it's the native PostScript font format.
-
-Now, with FreeType and XFree 4.0, supporting TrueType fonts will become
-much easier and Skencil will support them one day.
-
-You may also want to have a look at the CurveText extension or the
-JapaneseText extension which let you create bezier objects based on
-TrueType fonts. Both extensions are available through the add-on page
-(URL:http://www.skencil.org/addon.html)
-
-4.4 Can I input text in ISO-Latin-2 or some other encoding?
------------------------------------------------------------
-
-Unfortunately, no. At least not in the 0.6 stable releases.
-
-Adding proper support for that would require a lot more work than I
-want to do for 0.6.x. It would require changes to the way events are
-handled, text objects would have to know about encodings and the
-post-script output code as well, and it would require changes to the
-file format.
-
-That having been said, one of the goals of the current developer
-series, 0.7, is better text support including better support for
-encodings other than ISO-Latin-1. One of the first steps will probably
-be to switch to unicode internally.
-
-When I added text support to Skencil, I simply chose the most simple
-way to handle encodings that would suffice for my needs and that's
-Latin-1 and some support for font-specific encodings for symbol fonts.
-I knew of course that this wouldn't be enough in the long run,
-especially with respect to non-latin scripts and multi-byte character
-sets, but having a simple implementation that works for many users is
-always better than to have no usable code because the project gets
-bogged down in a too complex design, IMO, especially in a Free Software
-project.
-
-4.5 Is there a Windows version or is one planned?
--------------------------------------------------
-
-Joonas Paalasmaa has started on a windows port of Skencil 0.7. More
-information and an installer are available from the 0.7 web-page
-(URL:http://www.skencil.org/devel.html)

Deleted: skencil/branches/skencil-0.6/INSTALL
===================================================================
--- skencil/branches/skencil-0.6/INSTALL	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/INSTALL	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,248 +0,0 @@
-
-Installing Skencil
-==================
-
-These installation instructions are divided into two parts. The first
-part describes the third party software you need for Skencil. The second
-part describes the installation of Skencil itself.
-
-If you habe installed Skencil before you might want to go directly to the
-Skencil specific instructions.
-
-If you are installing on GNU/Linux, check the Skencil website
-for uptodate notes for your platform and availability of prebuild binaries.
-
-
-Installing the third party software
-===================================
-
-
-1. Install Tcl/Tk
------------------
-
-All Tcl/Tk version newer than Tcl 7.6 and Tk 4.2 should work.
-Most GNU/Linux distributions include Tcl/Tk so this step should be easy.
-Tcl/Tk can be found at
-<http://www.scriptics.com/software/download.html>
-
-Skencil uses only standard Tk features. No additional packages are required.
-
-
-2. Install Python
------------------
-
-Python is available from its WWW home page: <http://www.python.org/> or
-via ftp from <ftp://ftp.python.org/pub/python/>. See Python's
-documentation for installation instructions.
-
-You need at least version 1.5.1. Version 1.5 or older will not work,
-since Skencil uses some features only provided by 1.5.1 or higher.
-
-When configuring Python, be sure to enable the Tkinter module (Python's
-installation instructions tell you how to do that). It is disabled by
-default. Tkinter is Python's standard Tk interface.
-
-It may be a good idea to check whether Tkinter works by running some of
-the example scripts from Python's Demo/tkinter/* subdirectories.
-
-
-
-3. Install the Python Imaging Library (PIL)
--------------------------------------------
-
-This library is available from <http://www.pythonware.com>. See the
-accompanying documentation for installation instructions. The
-installation instructions of PIL versions 1.0b1 and earlier seem to
-state that you have to build PIL in the Python source tree; this is not
-true, you can build them anywhere you like if you have a complete Python
-installation.
-
-The installation instructions have a section describing how to add it to
-tkinter. Skencil doesn't need this, as it uses its own image rendering
-code. It does no harm to do it, though.
-
-One point not mentioned in the PIL installation instructions are the
-headerfiles (.h files). For easier configuration of Skencil I recommend
-to install the files the following files found the libImaging
-subdirectory into a directory under the Python include directory:
-
-     ImConfig.h  ImPlatform.h  Imaging.h
-
-(e.g. if your Python include directory is /usr/include/python1.5, put
-them into /usr/include/python1.5/Extensions)
-
-At the moment I use release 1.0 (older versions should also work).
-
-
-
-4. Optional: Python XML package
--------------------------------
-
-This step is optional. The XML package is only needed by the SVG import
-filter. If you don't know what XML is or SVG, just skip this step. It is
-not needed for normal use of Skencil.
-
-If you want to test the SVG import filter, you can get the source of the
-XML package at: http://www.python.org/topics/xml/download.html
-
-
-
-
-Installing Skencil
-==================
-
-There are two ways to install Skencil.  The recommended one is to use
-setup.py, a script that configures, builds and installs Skencil for you.
-For cases where this script does not work, you can also use the a manual
-way, described as method 2 below.
-
-The installation process consists of three steps: configuration,
-compilation and installation. These steps are quite independend from
-each other, so even if the script doesn't work for one step it might
-still work for the other two.
-
-
-Method 1: setup.py
-==================
-
-Skencil comes with a script setup.py that can be used to configure, build
-and install Skencil on your System. The normal way to invoke this script
-is:
-
-    $ ./setup.py <command> [options...]
-
-where <command> is either 'configure', 'build' or 'install'. The command
-may be followed by options, described below. 'setup --help' prints a
-help message.
-
-If you're familiar with Python, you may note that this is similar to the
-setup.py scripts of the Python distutils.  This script is somewhat
-different, though, because it was written before distutils existed.  The
-distutils were already being discussed, however, and this script is
-follows what was being discussed back then, to an extent.
-
-
-Configuration
--------------
-
-Skencil needs to access the Python Imaging Library from C, so it needs to
-know where its headerfiles are. Unfortunately there's no standard place
-where they are installed, but if you've installed them as described
-under 'Install PIL' above, you can just do:
-
-    $ ./setup.py configure
-
-If your PIL headerfiles are somewhere else, use
-
-    $ ./setup.py configure --imaging-include=<dir>
-
-where <dir> is the appropriate directory.
-
-Another option you may want to use is '--with-nls' to enable national
-language support. If you've set the environment variable LANG to a
-suitable value (e.g. de for German) Skencil uses that language in its
-menus, dialogs and messages, if Skencil has the appropriate translation.
-
-
-
-Compilation
------------
-
-This is simple, if configuration was successful. Just do
-
-    $ ./setup.py build
-
-This compiles the C-modules.
-
-
-Installation
-------------
-
-setup.py installs almost all files under <prefix>/lib/sketch-<version>.
-
-<prefix> defaults to /usr/local and <version> is the current Skencil
-version. 
-
-It also creates two symbolic links (skencil and sk2ps) in <prefix>/bin
-pointing to skencil.py and sk2ps.ps in <prefix>/lib/sketch-<version>.
-
-To install under /usr/local run
-
-    $ ./setup.py install
-
-to use a different <prefix> run
-
-    $ ./setup.py install --prefix=<dir>
-
-
-You can now start Skencil with 
-
-    $ skencil
-
-if <prefix>/bin and is in your $PATH. If it isn't, use the full filename
-of the symbolic link in the <prefix>/bin directory.
-
-
-
-
-Method 2: The old manual Method
-===============================
-
-
-First, change into the subdirectory Pax. You'll find a file Setup.in.
-Copy that file to Setup and edit it. Follow the comments in that file.
-Pax has to be linked against the same versions of Tcl/Tk as Tkinter.
-
-Now, in Pax, type:
-
-     $ make -f Makefile.pre.in boot
-     $ make
-
-You should have a file Pax/paxmodule.so now.
-
-Now, go to the Filter subdirectory (there's another Setup.in file here,
-but you shouldn't need to change it) and type:
-
-     $ make -f Makefile.pre.in boot
-     $ make
-
-You should have a file streamfilter.so now.
-
-Now, go to the Sketch/Modules subdirectory and edit the file Setup.in
-there. Again, if you change anything, save the file as Setup.
-
-Now, in Sketch/Modules type (you guessed it):
-
-     $ make -f Makefile.pre.in boot
-     $ make
-
-You should have a file _sketchmodule.so now (and some other .so files).
-
-Finally, go to the topmost directory and run the python script
-finishinst.py. This will compile the Python source files. This step is
-not really necessary, but sketch should start a bit faster)
-
-
-Starting Skencil
-================
-
-
-Now you can test Skencil from the topmost directory by running
-
-     $ python skencil.py
-
-or
-
-     $ ./skencil.py
-
-if your Python interpreter is somewhere in your $PATH.
-
-
-If you want to install Skencil somewhere outside of the source tree, use
-the setup.py script as described above.
-
-For further information on Skencil, have a look at the ``User's Guide'',
-or if you're interested how Skencil is implemented or if you want to
-extend it, read the ``Developer's Guide''. Both documents are quite
-incomplete.
-

Deleted: skencil/branches/skencil-0.6/Makefile
===================================================================
--- skencil/branches/skencil-0.6/Makefile	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/Makefile	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,75 +0,0 @@
-#
-#	Make distribution
-#
-
-
-all:
-
-VERSION := $(shell cat Sketch/VERSION)
-
-DIST_BASENAME = skencil-$(VERSION)
-
-DIST_TAR = $(DIST_BASENAME).tar.gz
-
-DISTBASEDIR = dist
-DISTDIR = $(DISTBASEDIR)/$(DIST_BASENAME)
-
-FILES = \
-	README INSTALL NEWS COPYING TODO PROJECTS BUGS CREDITS FAQ \
-	skencil.py sk2ps.py skshow.py skconvert.py sk2ppm.py \
-	finishinst.py setup.py skencil.spec \
-	Examples/* \
-	Tools/* \
-	Pax/X.py Pax/README Pax/COPYING{,.xext} \
-	Misc/README Misc/Symbolgroup/{README,*.sk} Misc/magic \
-	Filter/{README,COPYING} \
-	Plugins/ChangeLog \
-	Sketch/VERSION \
-	Sketch/Pixmaps/*.{xbm,gif} Sketch/Pixmaps/New12/*.xbm \
-	Resources/Fontmetrics/* \
-	Resources/Misc/* \
-	Resources/Messages/*/*/*.mo \
-	Doc/Makefile \
-	Doc/{dev,users}guide/*.xml \
-	Doc/{dev,users}guide/html/*.html \
-	Doc/usersguide/{html/,}Images/*.png \
-	po/*.po po/skencil.pot po/{Makefile,README}
-
-PY_DIRS = Sketch/{,Base,UI,Graphics,Lib,Scripting} Script/ Pax/Generate \
-	Misc/{,Symbolgroup}
-PY_DIRS_RECURSIVE = Plugins/
-C_DIRS = Pax Sketch/Modules Filter
-
-CP = cp -l --parents
-
-skencil.spec: skencil.spec.in Sketch/VERSION
-	rm -f skencil.spec
-	sed -e 's/@VERSION@/$(VERSION)/' < skencil.spec.in > skencil.spec
-
-doc:
-	$(MAKE) -C Doc
-
-messages:
-	$(MAKE) -C po mo
-
-dist: skencil.spec doc messages
-	rm -rf $(DISTDIR)/*
-	test -e $(DISTBASEDIR) || mkdir $(DISTBASEDIR)
-	test -e $(DISTDIR) || mkdir $(DISTDIR)
-	$(CP) $(FILES) $(DISTDIR)
-	for dir in $(PY_DIRS); do \
-		$(CP) $$dir/*.py $(DISTDIR); \
-	done 
-	for dir in $(PY_DIRS_RECURSIVE); do \
-		find $$dir -name '*.py' \
-			-exec cp --parents -p '{}' $(DISTDIR) ';' ; \
-	done 
-	for dir in $(C_DIRS); do \
-		$(CP) $$dir/*.{c,h,in} $(DISTDIR); \
-		if [ -f $$dir/Setup.config ]; then \
-			$(CP) $$dir/Setup.config $(DISTDIR); \
-		fi \
-	done 
-	rm -f `find $(DISTDIR) -name config.c`
-	(cd $(DISTBASEDIR); tar cvzf $(DIST_TAR) $(DIST_BASENAME))
-

Deleted: skencil/branches/skencil-0.6/NEWS
===================================================================
--- skencil/branches/skencil-0.6/NEWS	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/NEWS	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,1590 +0,0 @@
-Skencil 0.6.18 ()
-================================
-
- * Prepare for Python 2.5:
-
-   * The extension modules now use the Python memory allocation API
-     consistently.  Without this change, Skencil would crash with Python
-     2.5.
-
-   * Adapt paxtkinter to changes in Python's id function
-
- * Some more Python 2.4 related fixes:
-
-   * The C-code assumed that the LC_NUMERIC locale was effectively "C"
-     which Pyton versions prior to 2.4 practically guaranteed.
-     Skencil's C-code now sets the locale temporarily to "C" when
-     parsing numbers.
-
- * The User's Guide and the Developer's Guide have been converted to
-   docbook.
-
- * The "Convert to Curve" command is now available whenever it can be
-   applied to at least one of the selected objects
-
- * setup.py now patches the first line of scripts so that they refer to
-   the Python interpreter used for installation.  This is usually what
-   one wants and it makes packaging easier.
-
- * setup.py has a new option, --libdir, to indicate where library files
-   are to be installed to help packagers.
-
-
-
-Skencil 0.6.17 (June 19th, 2005)
-================================
-
- * Prepare for Python 2.4:
-
-   * Update paxtkinter to deal with python's Tkinter changes
-
- * The .sk file format is now the default file format in the File/Open
-   dialog.  Patch by Frank Koormann
-
- * The setup.py script works on HP-UX now.  Shared libraries have a .sl
-   extension there.  Patch by Olivier Mehani (Savannah patch #3709).
-
- * Mouse-wheel support for the canvas.  The mouse wheel scrolls up/down.
-   Savannah patch #3836 by cafeine
-
- * Updated the FAQ a bit to better match the one on the web-page.
-
- * Kinyarwanda translations by Steve Murphy.  The translation seems
-   quote incomplete.
-
-Bug Fixes:
-
- * On some systems math.atan2 raises an exception when called with two
-   zeros.  Fix one occurrence in the arrow module.  
-   Reported by Joel Biddier
-
- * Cancelling the drawing of a poly line or poly bezier with ESC
-   resulted in tracebacks until the next mouse click.  Reported by
-   Antoon Pardon (Savannah bug #9378).  Patch by Valentin Ungureanu
-   (Savannah patch #3141).
-
- * The "Export Raster" script gives a better error message if
-   ghostscript can't be called.  Bug reported by Eric Devost
-
- * When importing EPS files, skencil didn't parse %%BeginData comments
-   correctly.  Fixed by Savannah patch #3134 by Bernhard Reiter
-
- * The svg export filter now sets the winding rule for all objects to
-   even-odd.  Savannah patch #3103 by Philippe Blayo, fixes Savannah bug
-   #5756 by Simon Budig.
-
- * The SVG filter handles ill-formed transform specifications a bit
-   better.  The old version would hang in a regular expression match if
-   the triling closing parenthesis of e.g. a matrix specification was
-   missing.  Bug report by Joel Biddier
-
- * The svg import filter also accepts capital Z as closepath command of
-   a path specification as required by the SVG specification.  Savannah
-   Patch #3587 by Bernhard Reiter.
-
- * In the print dialog, when the user clicked on the file selection
-   button and cancelled the dialog, Skencil would give an exception.
-   This is now fixed.
-
- * The usage messge printed when the --help option is given on the
-   command line now correctly refers to "skencil" not "sketch" anymore.
-
- * The source URL in the spec file now refers to skencil as well.  It
-   still points to sourceforge, though.  Patch by Paul Dickson
-
- * The setup.py script now finds the tcl/tk libraries on OpenBSD as
-   well (savannag bug #12046)
-
- * Already in 0.6.16, but not mentioned before: Skencil's type1 font
-   parsing code could not cope with some type1 files -- files with no
-   subrs or with flexes.  Now it can.  Bug report by André Pascual
-
-
-Skencil 0.6.16 (January 24th, 2004)
-===================================
-
- * Skencil is the new name for the vector drawing program formerly known
-   as "Sketch". 
-
-   This is only a superficial renaming. All places in the GUI are
-   changed and the main executable is now called skencil (for backwards
-   compatibility you can also start Skencil with "sketch" as before).
-
-   Internally nothing has changed in this regard. The main python
-   package is still called Sketch for instance and the userspecific
-   configuration is still stored in ~/.sketch
-
-   Thanks to Frank Koormann for coming up with the name "Skencil".
-
- * New icons including a new icon for Skencil itself contributed by
-   Taiabati (http://www.taiabati.it/).  These icons were drawn with
-   Skencil and the raster versions were created with the help of Gimp.
-   The Skencil files can be found in the Examples directory.
-
- * The sk2ps.py script has a new option, --embed-fonts or -e to embed
-   the fonts used by a drawing in the postscript output. Patch by Otto
-   Tronarp
-
- * The print dialog also has a check box "Embed fonts" now. Patch by
-   Antoon Pardon
-
- * The sk2ppm.py script has a new option, --alpha-bits or -A, to make
-   ghostscript ase anti-aliasing. Patch by Tamito KAJIYAMA
-
- * The skshow.py script has a new option, --fit.  If given it fits the
-   bounding box of the drawing rather than the page to the window size.
-   Patch by Antoon Pardon
-
- * The color dialog has RGB entry fields now. Patch by Bernhard Reiter
-
- * Updated German translations
-
- * Portuguese translations by Lopo Pizarro
-
- * Updated French translation by Michel Robitaille
-
- * Updated Swedish translations by Christian Rose
-
- * WMF export filter by Lukasz Pankowski
-
- * Antoon Pardon has updated the CGM filters
-
- * The CGM export filter supports path text now. Patch by Lukasz Pankowski
-
- * The script that reads GIMP paths is now in the Script subdirectory
-   and activated by default
-
- * The center of rectangles is now also a snap point. Based on a patch
-   by Valentin Ungureanu
-
- * The multi line text objects can deal with more variants of boldness
-   and other attributes in fonts.  Patch by Antoon Pardon
-
- * Make Sketch work with Python 2.3 without warnings:
-
-   - Update paxtkinter so that it works with the new Tkinter
-
-   - Change hex literals so they don't trigger warnings about being
-     interpreted differently in future versions
-
-   - Make sure to use ints and not floats where some C-functions expect
-     ints
-
-Bug Fixes:
-
- * Make sktops.py work when drawing all visible layers and the grid
-   layer is marked as visible. Patch by Andy Thaller
-
- * Sketch failed to load .sk files that contained very long lines
-   following a bezier curve. Patch by Andy Thaller
-
- * Sketch failed to load .sk files that contained empty plugin objects.
-   These objects are now simply ignored when loading such files
-
- * The SVG export filter makes sure now that text objects do not have
-   strokes. Bug reported by Peter Robins
-
- * The SVG import filter now uses a black fill by default. Bug reported
-   by John Ellson
-
- * Fixed the copyright notices which said LPGL but referred to the GPL
-   too. They now have the same license statement as all other LPGPLed
-   files
-
- * When "Snap to Objects" was active and a new object was created the
-   points that Sketch snapped to were not updated properly. Reported by
-   Valentin Ungureanu
-
- * Avoid attribute errors in the __del__ method of Font objects.
-   Reported by Antoon Pardon
-
-
-Sketch 0.6.15 (January 31, 2003)
-================================
-
- * Updated CGM import/export filters from Antoon Pardon
-
-Bug Fixes:
-
- * Fix the order of the items in the changelog in the spec-file (Andy
-   Grimberg)
-
- * When using setup.py install with the --dest-dir option make sure that
-   the correct filename is put into the bycompiled files (*.pyc). Patch
-   from Ralf Ahlbrink
-
- * Make Sketch compile with tcl/tk 8.4. Problem noticed by Michael
-   Soibelman.
-
- * In setup.py, handle the 'make' variable parameters (e.g. CC=gcc)
-   properly when they contain multiple equals signs. Patch by Sebastian
-   Stark
-
- * Allow digits in the keys of format specifiers in the format strings
-   returned by the Info method of a GraphicsObject.
-
- * The SVG import filter now handles the viewBox attribute of the svg
-   element (it doesn't handle the preserveAspectRatio attribute though).
-   The filter also makes sure that non-text object won't get a font
-   attribute and it understands more color names. Bugs reported by Keith
-   Hopper
-
- * The CMX import filter handles poly-curves with a large number of
-   points better now. Reported by Tim Wright.
-
-
-Sketch 0.6.14 (September 21st, 2002)
-====================================
-
- * Brasilian Portuguese translation by Wanderlei Antonio Cavassin
-
- * Swedish translations by Christian Rose
-
- * New French translation by Michel Robitaille.
-
- * New Spanish translation by Esteban Manchado Velázquez
-
- * Updated po/README to explain about the formatting templates (%-format
-   specifiers in strings)
-
- * CGM import/export filters contributed by Antoon Pardon
-
- * New example script Script/footprints.py which contains the code of
-   the footprints script demonstrated in the Sketch presentations at
-   LinuxTag and EuroPython 2002.
-
- * Change the license statements of a few files to match those of other
-   modules (LGPL). The affected file are pdfgensaver.py, svgloader.py
-   and svgsaver.py in Plugins/Filters/ and Sketch/UI/plugindlg.py.
-
- * Already in 0.6.13: The SVG export has some basic support for Text.
-   Based on a Patch by Paul Giotta
-
- * Updated sketch.spec file based on the one Andy Grimberg used for
-   sketch-0.6.13-3.src.rpm
-
-Internal Changes:
-
- * The pdfexport filter can now output to an existing reportlab pdfgen
-   canvas.
-
- * Remove the DEFS= lines from the Makefile.pre.in files. With them,
-   Sketch won't build with current CVS Python and probably won't with
-   2.3 either. The lines are not needed anyway for Sketch.
-
- * Added encoding declarations to some files in preparation for Python
-   2.3 which gives warnings for files that contain non-ascii characters
-   and don't have an encoding declaration.
-
-Bug Fixes:
-
- * Applying Font settings when no object is selected (so that the
-   default settings are changed) now works again. Reported by Antoon
-   Pardon
-
- * Nodes inserted into bezier segments are now 'smooth' instead of
-   'symmetric'. Reported by Antoon Pardon
-
- * sk2ppm now works when the output filename is omitted. Bug reported by
-   Jan-Oliver Wagner
-
- * With Tcl/Tk >= 8.1, filenames with non-ascii characters were not
-   handled correctly. This is better now, but it's probably not perfect.
-   Reported by Bernhard Reiter.
-
- * The SVG export filter now escapes text properly. Bug reported by
-   Stefan Eilers (SF #545267).
-
- * The extension modules in Sketch/Modules, Filter and Pax now use the
-   Python Memory API correctly as specified for Python 1.5.2 but it
-   should also be compatible with later versions including 2.3
-   (according to the discussion in April 2002)
-
- * The postscript output handles writing to an EPS file that's also
-   referenced by the drawing itself. Previously, in such cases Sketch
-   would open the eps file it was writing to again and copy the file
-   into itself filling up the file system. Bug reported by Rodrigo
-   Benenson (SF #550917)
-
- * The command Style->Update Style now works under Python 2.2 as well.
-   Bug reported by Juan Pablo Romero. Pieter Edelman pointed out that it
-   happens only under Python 2.2.
-
- * The line dialog now updates when the selected object doesn't have an
-   outline. It just checks the "None" checkbox in this case. In earlier
-   versions it would just ignore the selection change when the newly
-   selected object didn't have an outline. Reported by Antoon Pardon.
-
- * setup.py now looks for the tk header files in /usr/include/tclX.Y
-   (X.Y is the tcl version) as well.
-
- * Each time the line dialog was opened an empty arrow head was added to
-   the list of arrow heads making the option menu grow by one entry each
-   time the line dialog was opened. Fixed now.
-
- * Fix a typo in the simple_separation script. Spotted by Esteban
-   Manchado Velázquez
-
- * skapp.py referenced the locale module's Error exception which didn't
-   exist in Python 1.5.2.
-
-
-Sketch 0.6.13 (March 3rd, 2002)
-===============================
-
- * You can now assign font properties to multiple objects at once.
-   Suggested/reported/repeatedly whined about ;-) by Jeffrey Boser
-
- * A multi-line text object. You can create multiline text objects with
-   the menu item Edit->Create->Multiline Text. Contributed by Christof
-   Ecker
-
- * An import filter for the Acorn Drawfiles. Contributed by David
-   Boddie.
-
- * The gradient editor now has a button "Reverse" which reverses the
-   gradient in the editor. Patch from Aurelien Gateau
-
- * Updated translations: Spanish by Esteban Manchado Velázquez, Russian
-   by Andrey Kiselev, Italian by Mauro Colorio.
-
- * The wmf import filter supports a PolyPolylines now. Patch from Antoon
-   Pardon.
-
- * A new command line tool, skconvert.py that converts between vector
-   formats Sketch can read and write.
-
- * A new command line tool, sk2ppm to convert vector files to PPM
-   (portable pixmap)
-
- * Two new sample scripts in Script:
-
-   reload_image can reload external raster images or update the preview
-   images of EPS files. 
-
-   simple_separation provides a very simple form of color separation by
-   creating one ps file for each color used in the drawing.
-
- * The Illustrator-import filter now gives a warning if the file looks
-   as if it's not generated by AI. Furthermore it understands text
-   alignment now.
-
- * The SVG import filter parses paths more correctly now. The old
-   version didn't accept numbers without delimiters in between, which is
-   legal in an SVG path if the second number starts with a sign.
-
- * Some of the scripts in the Script module are now loaded automatically
-   on startup. If you don't want that, put the line
-
-   preferences.standard_scripts = []
-
-   into ~/.sketch/preferences.py
-
- * The resolution of EPS images is configurable now. You can set it with
-   in ~/.sketch/preferences.py with a line like
-
-   preferences.eps_preview_resolution = 144
-
-   In this example the resolutioin is set ot 144 pixels per inch, which
-   is twice the default value.
-
-Bug Fixes:
-
- * Quote filenames of EPS files properly when rendering the preview.
-   The previous behavior was a security problem.
-
- * The setup.py script omitted the -lX11 parameter for the paxtkinter
-   module when run under Python 2.1 or with the --tk-autoconf parameter.
-   Spotted by Grant Edwards.
-
- * The PostScriptDevice's DrawLineXY method used the wrong y coordinate
-   for the end-point.
-
- * The PostScriptDevice uses floats for font sizes now.
-
- * Call setlocale to make the gettext functions work properly. There's
-   some strange interaction with tcl/tk for which Sketch/UI/skapp.py
-   contains a workaround. Reported by Gregor Hoffleit.
-
- * Not really a bug-fix, perhaps, but in SafeScripts it's now allowed to
-   call a few of the special python methods, such as __cmp__. The spread
-   script ran into this problem in some cases.
-
- * The reload panel lists the correct modules again.
-
- * In the Pax module, the CopyPlane of the pixmap objects allows another
-   pixmap as the destination drawable too.
-
- * Already done in 0.6.12: Fixed a bug in the stream filter module that
-   prevented Sketch from loading very small images embedded in Sketch
-   documents. Reported by Geoffrey T. Dairiki.
-
-Internal Changes:
-
- * Plugins can now have plugin specific libraries. This is done with a
-   slightly incompatible way in how the plugin path is handled. 
-
-   If A plugin has additional library modules, the library modules
-   should be put into a Lib direcory in the directory where the plugin
-   is placed. Sketch will automatically create a Lib package whose
-   __path__ contains that Lib directory so that the plugin can import
-   modules from there with "import Lib.module". How this works can be
-   seen in both new plugins (multi-line text and the drawfile input
-   filter).
-
- * Plugins may now have an additional configuration variable,
-   load_immediately. When set to true (default false) it will cause the
-   plugin management code to load the plugin module immediately after it
-   has been scanned.
-
- * The function Sketch.UI.prompt.get_sketch_modules once again correctly
-   determines which modules belong to Sketch.
-
-
-Sketch 0.6.12 (July 5th, 2001)
-==============================
-
- * View->Load Palette... also supports Gimp palette files.
-
-Bug fixes:
-
- * The PostScript generator now handles RGBA images used as tiles
-   correctly. Reported by Andy Grimberg.
-
- * Modifying objects that lay far outside the window could lead to X
-   Errors.
-
- * Loading AI files sometimes raised exceptions with an AttributeError
-   "'None' object has no attribute 'guess_continuity'". This is now
-   fixed. Reported by Eric Faurot.
-
- * The CMX import filter handles empty groups gracefully. Bug reported
-   by Yuri Shchedov.
-
- * Fix some typos in skshow's doc-string. This is basically what's
-   already done with the Debian packages.
-
- * Changing the paper format could lead to an inconsistent mapping
-   between document and window coordinates. Reported by Antoon Pardon.
-
-Internal Changes:
-
- * The TrafoPlugin objects have a Trafo method now that returns the
-   transformation.
-
- * TrafoPlugin.__init__ now accepts a trafo object as the trafo kw-arg
-   and accepts the loading kw-arg.
-
- * The Append* methods of curve objects now raise a TypeError exception
-   when the first segment appended to a curve is not a line segment. One
-   consequence of this change is that Sketch may not be able to load
-   some sk-files anymore when they contain curves that start with a
-   bezier segment. You can use the new script Misc/fix_broken_sk_file.py
-   to fix such files.
-
-
-Sketch 0.6.11 (June 9th, 2001)
-==============================
-
- * Updated Spanish translation by Esteban Manchado Velázquez
-
- * Add /usr/lib/ghostscript/fonts to the default list of font
-   directories (for debian).
-
- * Include the .spec file in the tarball and distribute the Misc
-   directory with the RPMs as documentation.
-
-Bug fixes:
-
- * The find_include_dir function in setup.py now catches and ignores
-   OSError exceptions, too. Pointed out by Pierre HANSER.
-
- * The russian translation are now properly contained in the archive as
-   *.mo files too.
-
- * Drawings that contained non-ASCII characters in strings were not read
-   back correctly when saved under Python 2.1
-
- * The import filters now remove empty curve objects. The implementation
-   of 0.6.9 didn't cover all special cases. The new one works
-   differently but shuld catch all cases.
-
-
-Sketch 0.6.10 (May 14th, 2001)
-==============================
-
- * Russian translation contributed by Andrey Kiselev
-
- * Fix setup.py so that Sketch can be compiled with Python 2.1. The main
-   change here is that in Python 2.1, the _tkinter configuration can't
-   be taken from the Setup file anymore because of Python's new build
-   process. 
-
-   If setup.py is run by Python 2.1 or higher it now uses the distutils
-   and code pretty much like Python's setup.py to figure out which
-   compiler flags to use for the Tk-specific C-code.
-
-   This change also introduces two new command line options for the
-   configure command:
-
-   --tk-flags=flags
-
-      Compiler flags to use for building the tk-modules. E.g. 
-
-      ./setup.py configure --tk-flags="-L/opt/tk/lib -ltk8.2 -ltcl8.2"
-
-   --tk-autoconf
-
-      Determine the compiler flags for Sketch's tk-modules without
-      referring to Python's Setup file as described above. When run
-      under Python 2.1 this will always be done. You can use this flag
-      to force this mode under older Python versions. 
-
-      It only works if the distutils are installed. Beginning with
-      Python 1.6 the distutils are part of Python's standard library.
-      For Python 1.5.2 a separate package is available at
-      <http://www.python.org/sigs/distutils-sig/download.html>
-
- * "setup.py build" now stops when an error occurs. This should make
-   build problems more obvious.
-
- * setup.py now stops when an unknown command line flag is given.
-
- * Fix the point extension type to work with Python 2.1
-
- * In the print dialog, the "rotate ccw." checkbutton is automatically
-   set when the document uses landscape page orientation.
-
- * The SVG import filter now has basic support for text and images.
-   Contributed by John Shumway.
-
- * The SVG import filter now works with Python 2.1 (and probably 2.0 as
-   well).
-
- * The virtual size of the canvas is much larger now to accomodate large
-   paper sizes better.
-
- * The generator scripts in Pax/Generate create ANSI prototypes now
-
-
-Bug fixes:
-
- * In the SVG export filter, add a missing space in the radial gradients
-   SVG code, and set gradientUnits="userSpaceOnUse" in linear and radial
-   gradients. Pointed out by Laetitia MARIN.
-
- * The warning module would throw exceptions instead of printing error
-   when plugin directories were not readable. Pointed out by Jonathan
-   Soons.
-
- * The computation of the bounding rectangles of an ellipse threw
-   exceptions on some platforms in some cases. Pointed out by Damien
-   Chrisment
-
- * Catch import errors for plugins better in mainwindow.py. In earlier
-   versions an import error in e.g. the SVG import filter would abort
-   the entire application.
-
- * Fix a bug in the PDF export filter that gave filled arrows the wrong
-   color.
-
- * Python 2.1 exposed a bug in the rect implementation that gave a
-   document an infinite bounding box in some cases.
-
- * Changes in the paperformat have the proper effect now on the position
-   of the page on the virtual canvas.
-
- * Fixed the _type1module to work with Python 2.0.
-
-
-Sketch 0.6.9 (March 1st, 2001)
-==============================
-
- * Italian translation contributed by Mauro Colorio.
-
- * Bernhard Reiter contributed an expanded version of the
-   export_raster.py script which lets you set more parameters in the
-   dialog. It is now in the Script package so that you can import it
-   with the line
-
-   import Script.export_raster
-
-   In your ~/.sketch/userhooks.py.
-
- * The sk2ps script now has a --rotate/-r option to rotate the drawing.
-   Useful to print landscape format drawings.
-
- * The line properties dialog no longer sets the color to None when a
-   group or other object is selected that doesn't have line properties
-
- * Slightly updated FAQ list.
-
-Bug fixes:
-
- * In some cases the PostScript generator rounded text-coordinates to
-   integers instead of using floats. Pointed out by Kai-Uwe Behrmann.
-
- * The PDF-export filter supports arrow heads now and handles dash
-   patterns correctly.
-
- * The XFig import filter supports dashes now
-
- * Fix a small problem in the SVG inport filter's handling of
-   coordinates in %-units. Patch provided by Philipp Matthias Hahn
-
- * Several fixes to make Sketch work with Python 2.0. Thomas Gellekum
-   contributed a patch for Sketch/Modules/skcolor.c and Ron Shonkwiler
-   pointed out problems in Pax when using PseudoColor visuals that are
-   also fixed now.
-
- * In tk versions >= 8.1, key stroke events with non-ASCII characters
-   should work once more for Latin1 characters. Those tk-versions report
-   characters as UTF8 which confused Sketch. Reported by Armin Geisse
-
- * Fixed a small name error in selection.py which could be triggered by
-   buggy user scripts
-
- * Fix a bug in generating the warning message when keystrokes are
-   overridden by userhooks.py
-
- * The import filters are a bit more robust. They ignore empty curve
-   objects automatically
-
-
-Sketch 0.6.8 (August 12th, 2000)
-================================
-
- * Styles can now have explicitly empty fill and line properties. 
-
- * <Ctrl-Space> now does the same as <Space> alone, that is, switch
-   between selection- and edit-mode. Unlike <Space>, <Ctrl-Space> also
-   works when editing text.
-
- * Pressing Ctrl when moving objects or Bezier-nodes now also constrains
-   to diagonals in addition to horizontal and vertical movement. Based
-   on a patch by Antoon Pardon.
-
- * You can now click and drag a bezier segment in edit mode. Based on
-   demo code by Simon Budig.
-
- * Sketch can write PDF files now. For this feature you need reportlab
-   from <http://www.reportlab.com>. This filter is quite complete, but
-   there are some limitations. It doesn't suport embedded EPS files,
-   tiled image fills, fonts that aren't among PDFs builtin fonts (it
-   will use Times-Roman instead), and some more esoteric features.
-
-   Note that reportlab 1.0 has some bugs that affect Sketch. They're
-   already fixed in CVS, so they should be in their next release.
-
- * The SVG export filter supports radial and axial gradients now.
-
- * Guide-lines no longer snap to other guide-lines when dragging them
-   but they still snap to guide-objects (i.e. objects on the guide layer
-   that are not guide-lines).
-
-Bug fixes:
-
- * Give a meaningful error message when trying to print a document that
-   has no printable layers. Previous versions would fail with a
-   traceback in that case. The bug affected both File->Save as
-   PostScript and the Print dialog. Reported by Michael Walton.
-
- * In setup.py, use sys.exec_prefix to determine the location of
-   "Setup". Patch contributed by Tessa Lau
-
- * Sometimes the allocation of a shared memory image fails even though
-   tests at startup showed that they're supported (a common problem on
-   Solaris due to a default configuration which only allows relatively
-   small shared memory images). This case is handled more gracefully
-   now.
-
- * setup.py now also looks in Setup.local (in addition to Setup) for the
-   tkinter configuration. Pointed out by Daisuke Yabuki.
-
- * In paxtkinter, initialize the Tcl interpreter properly. The old
-   incorrect way was causing problems with a japanese
-   internationalization patch. Pointed out by Daisuke Yabuki.
-
- * The rectangle object used to print a lot of tracebacks in edit mode
-   when the user didn't select a handle. Fixed now.
-
- * The information about the currently selected object in the status-bar
-   wasn't always updated correctly
-
-Internal Changes:
-
- * The stream-filter module includes ASCII85 encode and decode filters
-   and some bug-fixes.
-
-
-Sketch 0.6.7 (May 5th, 2000)
-============================
-
- * The missing import of the plugins module that prevented Sketch from
-   loading any vector files, including it's native sk-format, is fixed.
-
- * Correction: The changes in the PIL import code in Sketch 0.6.6 do not
-   make it work with the PIL packages in SuSE Linux 6.2 and 6.3 out of
-   the box. Those packages are broken and have to be fixed as described
-   in INSTALL. The same applies to SuSE 6.4.
-
-
-Sketch 0.6.6 (April 30th, 2000)
-===============================
-
-New or Changed Features:
-
- * French translations contributed by Yves Ceccone and Frédéric
-   Toussaint.
-
- * Updated Spanish translations provided by Esteban Manchado Velázquez.
-
- * A few new scripts in the Scripts package: average_points,
-   create_star_outline, inspect_beziers and create_spiral, contributed
-   by Tamito KAJIYAMA and spread which defines eight scripts to
-   distribute the selected objects in various ways, contributed by
-   Michael Loßin
-
- * A new command line option, --run-script <scriptfile>, which executes
-   the file scriptfile on startup after creating the widgets and either
-   creating an empty new document or loading a document from a file if a
-   document filename was supplied on the command line.
-
-   The script is executed by execfile() with a globals dictionary
-   containg a 'context' object just like a normal user script.
-
- * If a directory is given on the command line instead of a normal file,
-   Sketch now opens a file open dialog with that directory (suggested by
-   François Pinard).
-
- * A simple slideshow tool, skshow.py. It's installed together with
-   sketch.py and sk2ps.py. Run it with the --help option to get more
-   information on how it works. (originally written as an example for
-   Christof Ecker)
-
- * A new crosshairs style cursor, activated by the menu item
-   View->Crosshairs. If snapping is active, this cursor is warped to a
-   snap point if the mouse pointer is near one. (suggested by Rainer
-   Menzner)
-
- * The "Zoom Area" tool can also zoom out now by holding the control key
-   when releasing the mouse button.
-
- * New sections in the Developer's Guide about the connector module and
-   plugin objects.
-
- * A new file Misc/magic with an entry for your magic file, as used by
-   e.g. file(1). Contributed by Michael Loßin.
-
- * An FAQ list.
-
-
-Bug Fixes:
-
- * Updated the AI import filter a bit to deal with Illustrator 8 files.
-   (Reported by Fritz Heinrichmeyer).
-
- * The Python Imaging Library is used as a package now. Some people want
-   to install PIL without the PIL.pth file because of name conflicts
-   with e.g. Zope. This change also makes Sketch work with the pil rpm
-   of SuSE Linux 6.2-6.3 out of the box.
-
- * The PostScript generator now treats dashes for lines with widths less
-   than 1 point as the screen drawing routines. I.e. the lengths of the
-   dash are computed as if the line width was 1 pt.
-
- * Fix the bug in the PostScript generator that produced incorrect
-   dashes if two lines with same logical dash-pattern but different line
-   widths were printed one immediately after the other.
-
- * The View->Outline checkbox menu item now reflects the outline status
-   correctly
-
- * The eval() security hole in the xfig import filter should be plugged
-   now.
-
- * The "Update From..." button in the plugin object dialogs works now. 
-
- * Fixed a bug that caused objects to share fill patterns when assigning
-   fill properties to several objects at once. E.g. assigning an axial
-   gradient to two objects and then transforming one of the objects
-   would modify the gradient of he other object as well.
-
- * Changed a few places where pointers were cast to ints to support
-   64bit systems properly (reported by Philipp Reisner).
-
- * Fixed the AFM file parser to accept floating point numbers in various
-   places as the specification says (reported by Rainer Menzner).
-
- * Fixed a bug where the selection info wasn't updated properly. To
-   reproduce it in 0.6.5: Select the text tool and click somewhere but
-   don't type anything. Select the text tool again and click somewhere
-   else, type something, go to selection mode and press DEL. (reported
-   by Darren Stalder)
-
- * In mainwindow.py, bzip2 isn't called with the -c flag anymore. that
-   flag isn't necessary here anyway and some bzip2 versions didn't like
-   it. (reported by Michael Lossin)
-
- * Cutting/copying and pasting path text objects works now. (reported by
-   Michael Lossin)
-
-Internal Changes:
-
- * In preparation for Python 1.6, checked for and corrected list appends
-   with more than one argument.
-
- * Initialization is a bit simpler now. Programs that use Sketch as a
-   library no only require that the Sketch module is in sys.path and
-   they have to call Sketch.init_lib(). If they want to use the Tk part
-   of Sketch as well they have to call Sketch.init_ui() which implicitly
-   also calls init_lib().
-
- * The default properties for Text-objects created by scripts have
-   changed. They used to have an empty fill pattern, but a black
-   outline, which doesn't make sense and really was a bug. Now they have
-   a black uniform fill and no outline.
-
- * The po files are now created with xpot from po-utils. See po/README.
-
- * The wrapper object for safe scripts doesn't complain about __cmp__
-   and __coerce__ anymore.
-
-
-Sketch 0.6.5 (February 10th, 2000)
-==================================
-
- * "Snap To Objects" now also works for raster images and eps files.
-   They can even be used as guides by moving them onto the guide layer.
-   They behave just like rectangles in this regard.
-
- * bzip2 compressed sk-files (and also ai and svg) can now be
-   uncompressed transparently if bzip2 is installed. The same
-   functionality for gzip was already present in 0.5.0.
-
- * A new example script, Script/save_selection.py that saves the current
-   selection as an eps file.
-
- * More accurate papersizes for the A<n> formats, contributed by Martin
-   Glaser. The sizes used to be derived from first principles, so to
-   speak, everytime on start up, but that does not yield exactly the
-   same values that the standard defines. The old code is still there in
-   Sketch/Graphics/papersize.py, if you're curious.
-
- * The way paper formats are stored in the sk-files has changed
-   slightly. Only formats of a fixed list are stored by name now, for
-   all others only the dimensions are saved. This was done to prevent
-   problems if users add new formats in their userhooks.py.
-
- * The 'layer up' button in the layer dialog works now.
-
- * The DSC parser, used for e.g. extracting the bounding box of EPS
-   files, can cope with non-Unix line separator conventions.
-
- * Fixed a bug in the code that draws axial (linear) gradients on the
-   screen. In some cases the direction of diagonal the gradients was
-   incorrect, most noticable for very large border values. Postscript
-   output was not affected.
-
- * Removed .ps and .eps from the list of possible file name extensions.
-   They misled users to assume that File->Open was the way to load EPS
-   files.
-
- * The --imaging-include option of setup.py should work properly with
-   relative filenames now.
-
- * Removed the GPL copyright notices from Pax/clipmask.[ch] because they
-   shouldn't be there. Those files have the same license as the rest of
-   the code in Pax.
-
- * Fixed a typo in Resources/Fontmetrics/gs.sfd. The font in line 2 is
-   URWGothicL-Book
-
- * "Zoom Out" was translated incorrectly in de.po
-
- * Added -lm to _sketchmodule in Sketch/Modules/Setup.config and
-   Sketch/Modules/Setup.in
-
-
-
-
-Sketch 0.6.4 (January 11th, 2000)
-=================================
-
- * Fixed a bug in Sketch's postscript procset
-   (Resources/Misc/sketch-proc.ps) that caused problems when a
-   sketch-eps that contains eps's that use showpage was embedded in a ps
-   file which was then run through psnup (got that? :) ) To reproduce
-   it, create an eps with dvips, embed it in a Sketch drawing, export as
-   eps, embed it in a tex-document, create a psfile from that with dvips
-   and 'psnup -2' it. The resulting psfile executes a superfluous
-   showpage at the end of the embedded tex-eps.
-
- * Blending of two path-text objects works now. In previous versions
-   attempting this would leave the document in an inconsistent state and
-   the user couldn't undo the operation or even save properly.
-
- * Fixed bugs in the type1 font file parser and the underlying
-   postscript tokenizer. Some type 1 font files caused segfaults in the
-   tokenizer (e.g. the UTB_____.pfa font that comes with X11).
-
- * Updated Spanish translation provided by Esteban Manchado Velázquez.
-
- * More color icons provided by Panos Katsaloulis. Again, if you want to
-   use them, put the line
-
-   preferences.color_icons = 1
-
-   into ~/.sketch/preferences.py .
-
- * Misc/export_raster.py: additional boolean parameter for the
-   export_raster and export_alpha functions, use_bbox. If use_bbox is
-   true only render the contents of the bounding rectangle, otherwise
-   render the entire page.
-
- * Added Misc/Symbolgroup/, a plugin-object that can be used to build a
-   simple symbol library. See Misc/Symbolgroup/README for more details.
-
- * setup.py: Give a more meaningful error message if _tkinter is not
-   configured in Python's Setup
-
- * The mkfontdb.py script can also generate ghostscript Fontmap files
-   now thanks to Jeffrey Boser. The script is now at version 1.3.
-
-
-Sketch 0.6.3 (December 1st, 1999)
-=================================
-
- * The default properties for new objects can be set now by pressing the
-   apply button in the fill-, line- and font-dialogs when no object is
-   selected. Sketch will ask whether graphics objects or text objects
-   should be affected. You can select both, of course.
-
-   If you don't like this behavior, you can switch it off by putting the
-   following line into your ~/.sketch/preferences.py:
-
-   preferences.set_default_properties = 0
-
- * A new button in the lower left corner of the main window (with an X
-   bitmap) that is equivalent to Style/No Fill when pressed with the
-   left mouse button and equivalent to Style/No Line when pressed with
-   the middle mouse button.
-
- * When editing bezier curves, the ctrl-key now restricts the movement
-   of nodes to horizontal and vertical and when dragging a control
-   point, the angle of the tangent is restricted to multiples of 15
-   degrees.
-
- * When drawing bezier curves the ctrl-key now restricts the slope of
-   the tangent to multiples of 15 degrees.
-
- * When drawing poly-lines, the ctrl-key now restricts the slopes of the
-   lines to multiples of 15 degrees.
-
- * Selecting a blend group works a little different now, so that
-   clicking on the interpolation selects the entire blend group. In
-   earlier versions only the interpolation object was selected in that
-   case. Clicking on a control object of a blend group still selects
-   just the control object. (The blend group object contains both the
-   control objects and the interpolation objects).
-
-   The reason for this change is that it makes it easier to select two
-   blend groups to create an interpolation betweem them.
-
-   The change also affects the blend dialog if the selected blend group
-   has more than one control object. To change the number of steps in an
-   interpolation you have to select the interpolation object by holding
-   Ctrl and Shift when clicking on the object, just like you would with
-   a normal group to select a contained object.
- 
- * A small change in the way Sketch determines which handle to drag when
-   editing a bezier curve: When a node and one of its control points
-   coincide, it was impossible to drag the control point. Now Sketch
-   selects the control point in that case. Coinciding nodes and control
-   points can occur when gridding is on and they're often found
-   Illustrator files.
-
- * There's a new directory Misc/ that contains some scripts that I use
-   occasionally. These scripts are somewhat unpolished and will probably
-   need some tweaking to fit your needs.
-
-   I also consider them 'half-supported', that is I test and fix them
-   only as far as I actually use them.
-
-   There are two scripts at the moment. One lets you export raster
-   images via ghostscript, and the other reads paths exported by Gimp.
-
- * A small reorganization of the sfd files in Resources/Fontmetrics. The
-   Charter and Utopia fonts are now listed in a separate file gsopt.sfd.
-
-   The rationale behind this is that std.sfd contains the standard
-   postscript files--in as far as that can be defined--like Times-Roman
-   or Courier. gs.sfd lists the URW fonts that make up the standard
-   ghostscript fonts, which are basically clones of the standard
-   postscript fonts. gsopt.sfd lists optional ghostscript fonts.
-
- * The afm-file parser is more tolerant now. It had problems with empty
-   lines.
-
- * fixed a bug that made the context command 'Select Mask' fail.
-
- * fixed a bug that caused the first few characters of a path-text to be
-   misplaced if the start position coincided with a node (but not the
-   start-node) of the curve-object.
-
- * Fixed a small bug in the cmxfilter that flipped the orientation of
-   conical gradients.
-
- * The command line option --version works again.
-
- * There a new option for ~/.sketch/preferences.py, fallback_font. This
-   is the name of the font to use when a font or the corresponding
-   metrics can't be found. The default is 'Times-Roman'
-
- * Added a note about the slightly broken pyimglib package in SuSE Linux
-   6.2 to the INSTALL file.
-
- * Fixed a few typos in the German translation.
-
- * Updated Spanish translation provided by Esteban Manchado Velázquez.
-
- * Added a new section about export filters to the developer's guide.
-
- * setup.py parsed macro definitions in Setup incorrectly. This is fixed
-   now. I also documented the --python-setup option.
-
- * setup.py's build command accepts arguments of the form <KEY>=<VALUE>
-   now. These are passed through to make to let you override variables
-   like CC or OPT. See the generated Makefiles or Makefile.pre.in for
-   more details.
-
- * The mkfontdb.py script knows a few more foundries and has a new
-   commandline option '-f' to specify the foundry used when it can't be
-   determined from the afm-file. I also increased its version to 1.2
-
-
-
-Sketch 0.6.2 (September 19th, 1999)
-===================================
-
- * Import/Export filters for the proposed Web-standard for vector
-   graphics, SVG. For the import filter, but not for the export filter,
-   you need the Python xml-package; see the INSTALL file for details on
-   where to get it.
-
-   Both filters are very primitive at the moment and only handle some
-   simple shapes and fills/strokes. In particular, there's no support
-   for Text or gradient fills among others yet.
-
- * Cleaned up the documentation to have less practically empty
-   HTML-files and extended the section on font-configuration. It
-   contains information about Sketch's font-path and on how to add
-   fonts. 
-
- * Converted the images in the docs to the PNG format.
-
- * When editing text objects, you can position the caret with the mouse
-   now.
-
- * The create_star script is now interactive. It pops up a modal dialog
-   asking for the parameters of the star as an example how to use
-   dialogs is user scripts.
-
- * The sample scripts select_same_line_color.py and
-   select_same_fill_color.py are substantially faster now if there's a
-   large number of objects to be selected.
-
- * The help message in setup.py is more compact now, thanks to Gregor
-   Hoffleit.
-
- * Fixed a bug in the XFig filter that lead to the rejection of files
-   with "Flush Left" justification (as generated by pstoedit, for
-   example).
-
- * The AI import filter handles text in ai-files generated by ps2ai
-   better now.
-
- * The AI filter understands font encodings now.
-
- * Fixed Sketch/Modules/skrect.c and Sketch/Modules/skcolor.c to avoid
-   Problems with GCC 2.95.
-
- * Fixed Sketch's font code to not require the EncodingScheme key in
-   afm-files. This key is optional and is not present in afm-files
-   generated by ttf2pfa, for instance.
-
-
-
-Sketch 0.6.1 (August 5th, 1999)
-===============================
-
- * Spanish messages contributed by Esteban Manchado Velázquez.
-
- * Color Icons contributed by Panos Katsaloulis. They're not used by
-   default because the set of icons is not complete yet. If you like,
-   you can switch them on by putting the line
-
-   preferences.color_icons = 1
-
-   into ~/.sketch/preferences.py .
-
- * The cursor now changes when the mouse is over a selected object or a
-   guide line. You can switch this feature off by adding the line
-
-   preferences.active_cursor = 0
-
-   to ~/.sketch/preferences.py .
-
- * The AI export filter handles axial and radial gradients now.
-
- * The AI import filter understands gradients better now. In particular,
-   it can handle AI files with gradients created by Corel Draw correctly
-   now (I hope).
-
- * The AI import filter knows about guides and places all guides in an
-   AI-file on the guide layer. In former versions the guide paths were
-   mixed with normal paths resulting in incorrect paths.
-
- * The CMX import filter also loads radial and conical gradients now (in
-   addition to axial gradients).
-
- * Fixed the bug that caused multiple handles at the same position to
-   become invisible in some situations.
-
- * Two new sample scripts, create_star and create_text.
-
- * I added a section to the user scripts documentation, covering 'common
-   tasks' like the creation of objects, manipulating objects and
-   manipulating the current selection.
-
- * The postscript file generated for a landscape drawing now has a
-   %%Orientation: Landscape comment, if the 'rotate ccw' button is
-   checked.
-
- * Updated paxtkinter to work with Tcl/Tk 8.1.
-
-
-Sketch 0.6.0 (May 18th, 1999)
-=============================
-
- * Support for non-english messages via gettext. Run setup.py with the
-   '--with-nls' option to activate this. So far there's only support for
-   German.
-
-   If you want to add support for a new language, have a look at
-   po/README.
-
- * The symbolic links created by `setup.py install' use relative
-   filenames now.
-
- * The Developer's Guide has some more documentation on how to implement
-   import filters
-
- * The Illustrator export filter handles embedded raster images and
-   some text.
-
- * The Illustrator import filter handles some embedded raster image formats.
-
- * Fixed a bug when placing objects (e.g. raster images) while in
-   creation mode.
-
- * Fixed a bug in the PostScript generator, that could lead to wrong
-   fill/stroke colors.
-
- * When drawing poly-lines and you start with just a mouse-click and no
-   drag, only only the starting point is defined. If you drag, the first
-   two points are defined.
-
-   The old behavior was to always create the first two points which
-   resulted in zero-length first segment if the mouse wasn't dragged.
-
- * The reset button in the align dialog has been removed. To switch off
-   alignment in one direction, click on the sunken button.
-
- * The Type1 font parser is smarter. The old parser had problems with
-   fonts using Mac line separators.
-
-
-
-Sketch 0.5.5 (April 22nd, 1999)
-===============================
-
-* Improved import filters:
-
-  - AI import filter has some text support now for point text and path
-    text and it handles transformed gradients slightly better
-
-  - The WMF import filter is much more stable and complete now. The
-    version distributed with 0.5.4 was very incomplete and buggy.
-
-  - The CMX import filter is much more stable and complete now. The
-    version distributed with 0.5.4 was very incomplete. The new version
-    suports 32 bit files.
-
-* The rulers now obey the default unit settings.
-
-* The vertical rulers can display the text either horizontally,
-  vertically (similar to GTK) or rotated (my favourite). The default is
-  horizontally.
-
-  You configure this by appending
-
-  preferences.ruler_text_type = TYPE
-
-  to ~/.sketch/preferences.py (edit this file while Sketch is not
-  running). TYPE can be either 'horizontal', 'vertical' or 'rotated'
-  (including the quotes!). 
-
-  The font for the rulers is determined by preferences.ruler_font for
-  normal horizontal characters and preferences.ruler_font_rotated for
-  rotated text. The default values are:
-
-  preferences.ruler_font = '-*-helvetica-medium-r-*-*-10-*-*-*-*-*-iso8859-1'
-  preferences.ruler_font_rotated = '-*-helvetica-medium-r-*-*-[0 10 ~10 0]-*-*-*-*-*-iso8859-1'
-
-  If you use rotated text, ruler_font_rotated must be compatible with
-  ruler_font, i.e. one must be a rotated version of the other. 
-
-  The '[0 10 ~10 0]' is a transformation matrix which rotates the
-  characters by 90 degrees counter clockwise. This syntax was introduced
-  in X11R6, so to use this your X server must be compatible with that
-  X11 release.
-
-  Depending on the quality of your font renderer and your
-  X-configuration, the rotated fonts might look quite ugly, so you might
-  have to test a number of different fonts to get good results. On my
-  system, these settings are quite acceptable:
-
-  preferences.ruler_font = '-*-lucida-medium-r-*-*-11-*-*-*-*-*-iso8859-1'
-  preferences.ruler_font_rotated = '-*-lucida-medium-r-*-*-[0 11 ~11 0]-*-*-*-*-*-iso8859-1'
-  preferences.ruler_text_type = 'rotated'
-
-
-* The align dialog allows you to align the selected objects relative to
-  the lowermost one. It would probably be better to use the first
-  selected object instead, but that's not possible with Sketch at the
-  moment, due to its implementation.
-
-* Fixed a byte order bug that resulted in wrong colors for images on a
-  big-endian X-server.
-
-* Fixed some mask-group bugs: The Effects| Create Maskgroup entry is now
-  grayed out correctly again and ungrouping the mask group places the
-  mask on top of the objects now. Both bugs were introduced when I
-  changed the behaviour of Create Maskgroup for Sketch 0.5.3.
-
-* The AddFunction function of the script-registry has a new keyword
-  parameter 'args'. See the user's guide for more details.
-
-* If you delete all characters of a text object (with backspace or DEL)
-  and then select a different object or change into another mode, the
-  now empty text-object is removed from the drawing.
-
-
-Sketch 0.5.4 (March 17th, 1999)
-===============================
-
-* A user scripting facility. The user's guide has a new section about
-  user scripts to get you started. The mechanisms to hook user scripts
-  into Sketch are somewhat experimental, though and may change.
-
-* A new import filter for Corel's CMX format. The filter is incomplete
-  and only handles 16bit CMX files, because I only have sample files for
-  that CMX-version.
-
-* A new import filter for Windows Metafiles (WMF), again incomplete.
-
-* The tooltips are active by default now.
-
-* Setting the unit of the position indicator in the status bar (via its
-  context menu) also sets the default unit used else where in Sketch.
-
-* The dimensions of rectangles and ellipses are now given in the current
-  default unit.
-
-* When creating ellipses or rectangles the current dimensions are
-  displayed in the statusbar.
-
-* Similarly, when transforming an object, information about the current
-  transformation is displayed in the statusbar, such as scaling factors
-  and rotation angles.
-
-* The ellipse drawing mode has two new variations:
-
-  - When holding down Shift, the ellipse is centered at the start point.
-
-  - When holding down Shift+Ctrl, the ellipse is a circle centered at
-    the start point with the current pointer position on its periphery.
-
-* Similarly, holding down Shift while drawing a rectangle uses the
-  start point as the center of the rectangle.
-
-* Path-text has been improved, introducing a slight incompatibility:
-
-  - Characters that don't fit on the path are simply not drawn, but they
-    are still there. In previous versions, these characters were all
-    drawn at the same position at the end of the path.
-
-    It is possible that path-text objects will look slightly different
-    in future versions due to improvements in the algorithms used. In
-    particular, multiple subpaths in a curve may be supported.
-
-  - You can drag the start position of the text along the path by
-    dragging the small rectangular handle in edit mode. This is probably
-    not the best interface. Suggestions welcome.
-
-  - In previous versions, the curve-like objects were automatically
-    converted to bezier objetcs before the path-text group was created.
-    Now, these objects remain as they are, i.e. rectangles will remain
-    rectangles and ellipses remain ellipses.
-
-    .sk files with rectangles or ellipses as the curves in path-text
-    objects will not be read correctly by earlier versions.
-
-
-* You can now insert nodes and cut curves at specific positions:
-
-  - Select a curve object in edit mode
-
-  - click on the outline where you want to insert the node or cut the
-    curve. A small filled circle appears.
-
-  - Select "Curve | Insert Nodes" or "Curve | Cut Curve" respectively.
-
-  This new method also affects Line->Curve and Curve->Line. They convert
-  the segment marked with the filled curve.
-
-  The old behaviour is still there.
-
-* The curve-object in a path-text object and the control-objects in a
-  blend-group can now be converted to a bezier object in place.
-
-* Added a few new key-strokes.
-
-* The .sk file version number was updated to "1 2" because of the
-  changes for path-text objects.
-
-* Bug fixes:
-
-  - In the font dialog, the sizes list is updated together with the entry
-    widget.
-
-  - "Update From..." in the font dialog works now.
-
-  - Images loaded from the same image file share the raster data again.
-
-* Renamed the script mkfontdir.py to mkfontdb.py. This new version
-  creates fonts.scale files by default now and is also distributed
-  separately from Sketch. It's now distributed under the GPL and not the
-  LGPL.
-
-
-Sketch 0.5.3 (February 7th, 1999)
-=================================
-
-* Sketch now has an experimental configure, build and install script.
-  This script is modelled after the proposed standard for Python
-  packages and applications currently discussed in the Python distutils
-  SIG, although it's not much more than a wrapper around the old
-  makefiles.
-
-  For details on its use, see the INSTALL file.
-
-* Python 1.5.2 compatibility: 
-
-  I've run Sketch with the 1.5.2b1 release for more than two weeks now,
-  and almost everything works as before, with these exceptions:
-
-  The stricter syntax check for functions with default arguments
-  produced syntax errors in two places. These have been corrected.
-
-  The new sorting order for objects of different types revealed an error
-  in the example file line.sk. This file is fixed in the new release.
-  The skloader should really make more checks during import.
-
-
-* The Drawing modes are now permanent by default. They were mentioned as
-  permanent in the NEWS for Sketch 0.5.2, but this was not really true.
-  Whether they are permanent or temporary is configurable, and the
-  default was `temporary'. To make them temporary again append the line
-
-  preferences.creation_is_temporary = 1
-
-  to the file ~/.sketch/preferences.py. This file (and the directory)
-  will be created automatically by Sketch after it has run. Editing the
-  preferences file works only if Sketch is not running, because Sketch
-  always writes it on exit.
-
-  This option will be moved into the Options-dialog someday.
-
-
-* If you feel adventurous, you can try the tooltips feature, by adding
-  the line
-
-  preferences.activate_tooltips = 1
-
-  to ~/.sketch/preferences.py. I hacked the code recently to make it
-  work again, but it probably still has some bugs.
-
-
-* There's an Illustrator export filter. To save a file in this format,
-  select File|Save As... and supply a filename ending in '.ai'. Due to
-  limitations in the standard Tk file dialog, selecting the Illustrator
-  format in the file type option menu is not sufficient or even
-  necessary.
-
-  The current filter is incomplete. 
-
-
-* Rectangles may have rounded corners now. To create rounded corners,
-  select a rectangle in edit mode and drag one of the corners.
-
-* The .sk file version number was updated because of the rounded corner
-  rectangles.
-
-* Bezier curves (including poly lines) can now be used as guides. Move
-  them to the guide layer and activate Arrange|Snap to guides. This
-  already worked for ellipses and rectangles.
-
-* When drawing polylines, the first click-drag-release creates the first
-  line and not just the staring point.
-
-* When creating a mask group, the topmost object becomes the mask. This
-  is more intuitive, I think, than the lower most used before.
-
-* To create guide lines, you can now simply drag from the rulers into
-  the canvas just as in Gimp or CorelDraw.
-
-* To delete a guide line just drag it and drop it somewhere outside of
-  the canvas.
-
-* A new command File|Insert Document lets you load a vector drawing in
-  any of the supported formats and insert it into the current document
-  as a group. You can then ungroup and edit it.
-
-* The default unit for lengths is now configurable via the options menu.
-  This does not affect the rulers yet.
-
-* The current position in the status bar shows the snapped position now
-  if snapping is active.
-
-* Blending of two closed curves with differing numbers of segments
-  produced ill-formed bezier curves. This is now fixed, but results in
-  sligthly different blend groups as before in this special case.
-
-* Converting a text object to curves results in a group with separate
-  bezier objects for the characters (instead of a single multi-path bezier
-  object). 
-
-* Two new window commands. Windows|Hide Dialogs hides (withdraws) all
-  dialogs currently visible and Windows|Show Dialogs shows them again.
-
-* Added a few new commands to the context menu for fill and line
-  properties.
-
-* A new command to select all nodes of a bezier object. Available from
-  the Curve menu and from the context menu.
-
-* Snapping of guide lines works properly now.
-
-* If you want 'live' scrolling in the drawing area, where the display is
-  updated while the scrollbars are dragged, add this to your Xresources:
-
-  sketch*canvas_frame.Scrollbar.jump:	0
-
-  The current release is not optimized for this, though, so it might be
-  too slow.
-
-* various bug fixes
-
-
-
-
-Sketch 0.5.2  (December 09th 1998)
-==================================
-
-* Sketch contains a work-around for a bug in the Python 1.5.1 module
-  import code that affected Sketch's import filters.
-
-* An improved AI import filter with a faster and better parser. It is
-  still not complete. See the comments in Plugins/Filters/ailoader.py
-  for more details about the implemented features and limitations.
-
-* A new (and experimental) print dialog is available via 'File/Print...'
-
-* The script sk2ps.py works.
-
-* The return value of XClearArea is ignored now, because XClearArea is
-  declared void on SGIs.
-
-* In the layer dialog, the context menu has been reorganized a bit and
-  contains some layer specific entries ('Grid...' for the grid layer
-  (the same as Arrange/Grid...) and 'Guide Lines...' for the guide layer
-  (the same as Arrange/Guide Lines...))
-
-* In the layer dialog , some of the buttons are grayed out if the
-  corresponding layer attribute cannot be changed (e.g. the grid layer
-  is always locked).
-
-* The test for X shared memory images should work properly now.
-
-* fixed the bug where images rotated by exactly 90 degrees were not
-  drawn.
-
-* the drawing modes (create curve, create rectangle, etc) are now
-  permanent. You have to switch to edit-mode or selection mode
-  explicitly.
-
-* Switching between modes is now easier. The buttons for edit/select
-  mode and for drawing are now `radiobuttons' and provide both a means
-  to switch from one mode to another and an indicator for the current
-  mode.
-
-* the button for snap to grid now changes its relief from flat to sunken
-  if snapping is active (instead of changing its bitmap).
-
-* Added a label to the statusbar that indicates whether the drawing was
-  modified since the last save or since it was loaded/created.
-
-* _sketchmodule.so doesn't use drem anymore. (drem is not available on
-  Solaris)
-
-* The color allocation strategy for PseudoColor displays is
-  configurable. The option is not available from the dialog yet.
-
-
-
-Sketch 0.5.1  (November 08th 1998)
-==================================
-
-* The bezier related commands of the arrange menu are now in the curve
-  menu.
-
-* Sketch now asks for confirmation (again) when the window is closed via
-  the window manager. File/Exit did work correctly.
-
-* sketch will print more diagnostic messages by default.
-
-* the code in Sketch/Modules has been rearranged to increase
-  portability. Interdependencies between compiled modules are now
-  handled in a portable way.
-
-* The test for X shared memory images should work properly now.
-  Compiling the paxmodule without shared memory support is now possible.
-
-* sketch used to hang in an infinite loop if a font was not available on
-  the X-server and a MessageBox was popped up with an error message.
-
-* Ctrl + cursor keys scrolls the viewport
-
-* the drag&drop bug, when dragging a color from the palette to the
-  pattern widget in the fill panel, has been fixed.
-
-* fixed Doc/fonts.scale to agree with Doc/fonts.alias
-
-
-
-Sketch 0.5.0  (October 31st 1998)
-=================================
-
-first public release

Deleted: skencil/branches/skencil-0.6/PROJECTS
===================================================================
--- skencil/branches/skencil-0.6/PROJECTS	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/PROJECTS	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,233 +0,0 @@
-Here are some of the more ambitious projects for the development of Skencil:
-
-
-Color Management (Gamma Correction)
-===================================
-
-
-Implementing this might be quite complicated. First of all, colors
-should be represeneted in a device independent manner. SKColor objects
-are currently simply RGB-triples. These could be considered device
-independent only for an ideal device with a gamma value of 1.0.
-
-The internal color representation should use a CIE based color model.
-
-Color managment comes in in various places:
-
- - drawing vector primitives in the window. color objects should be
-   mapped to device colors on the fly (maybe via a lookup table or using
-   some caching techniques)
-
- - drawing bitmap images. This is not trivial, since some images might
-   already be converted to CRT device colors, while others may not. Even
-   though some formats may contain information about this, it should be
-   ultimately up to the user to specify whether and how color correction
-   should be applied to a given image.
-
- - Printing/EPS. We should probably assume that the printer or whoever
-   interprets the data does its own color correction, so we should use
-   device independent colors there.
-
- - importing from other vector formats. Whether any color conversion has
-   to be done depends on the particular format to be imported. XFig
-   files for instance have device dependent color specifications and
-   should be converted. The user should be able to specify the gamma
-   value used for conversion independently from the gamma value used for
-   the display in sketch.
-
- - exporting to other formats (vector and bitmap). Again, sketch's
-   behaviour depends on the format involved, so the same considerations
-   as for importing apply.
-
-Adding color correction affects sketch documents stored with the current
-color representation. In particular gradients and blendgroups that are
-recomputed after loading would be different, because currently color
-interpolations are done in RGB-space. With color management they would
-probably be done in the device independend color space, but that could
-probably be optional.
-
-A complete solution for would require support from X (for the display)
-and from Linux or rather the printing subsystem (for printing).
-
-
-
-Support For Plugin Modules/Objects
-==================================
-
-(the basic functionality is already implemented)
-
-
-Plugin objects
---------------
-
-Plugin objects should be compound objects derived from a special class.
-
-To allow saving and loading of these objects even when the plugin is not
-installed, the plugin object should save all its components like a group
-and put all plugin specific information into the constructor. This could
-be done like this:
-
-.
-.
-.
-object('ClassName', param1, param2, ...,  key1 = arg1, ...)
-<object1>
-<object2>
-.
-.
-.
-endobject()
-.
-.
-.
-
-If the object type ClassName is not known, this object is treated like
-an ordinary group. Actually, this could be a special object class that
-behaves like a group from the user's point of view but stores the plugin
-specific information. That way it could be saved like a plugin again,
-if it is not changed (i.e. ungrouped or otherwise edited.
-
-Other plugins should be treated in a manner that allows sketch to
-simulate them as much as possible if the plugin is not installed.
-
-Ideally, the ClassName has to be unique. There should be a naming
-convention to facilitate this (maybe including a registry for `official'
-plugins). Also, any name conflicts should be handled as gracefully as
-possible with the object treated like an unknown plugin if errors occur.
-
-Some ideas for plugins:
-
-- A Graph object (a la GNUPlot, etc). This could be very complex...
-
-- A Frame object (with subobjects for the corners and the sides that
-  behaves in a special way when the frame is resized)
-
-- Additional patterns (they would have to be converted to a builtin
-  pattern if the plugin is not available)
-
-- Additional edit commands (these don't affect load/save)
-
-- Plug-ins for new file formats (XFig, Tgif, ...)
-
-
-If possible there should be a `lazy' import mechanism for plugins to
-reduce memory demand.
-
-
-
-Export filters
---------------
-
-They could be implemented in three ways:
-
-	1. As classes implementing the same interface as SKSaver. 
-
-	This allows to use the capabilities of the target format to
-	their full potential. Advanced features like blend groups or
-	even gradient fills and compound objects could be preserved if
-	the format supports them. The disadvantage of this approach is
-	that SKSaver's interface is closely related to the internal
-	document structure (and to some degree to the SK-format). Every
-	time the structure changes, the interface changes too.
-
-	2. As graphics devices. 
-
-	The advantage of this approach is that the interface of the
-	graphics devices changes only infrequently. The filters won't
-	have to be updated as frequently as for the other model. A
-	disadvantage is that the graphics device is relatively low
-	level. Graphics devices don't know about compound objects (like
-	layers or groups) so this information would be lost.
-
-	3. The filter traverses the object hierarchy on its own. 
-
-	This is the most flexible approach, though it would require that
-	the filter knows a lot about the internal structure of the
-	document. 
-
-	This is not really as bad as it seems at a first glance. A
-	simple implementation treats all compound objects, easily
-	identified because their is_Compound attribute is true, like
-	groups and rectangles (with sharp or round corners) and ellipses
-	like bezier objects (just test whether an objects is_curve
-	attribute is true and use its AsBezier method).
-
-The best approach would probably be to use the third model for complex
-formats and the second for very simple formats (simple in their
-structure, not necessarily their graphics capabilities).
-
-
-Import/Export Filters
----------------------
-
-Formats that should be supported by filters included in the standard
-distribution:
-
-Format			Method	Implemented
-------			------	-----------
-XFig (+)		3	read (incomplete)
-Tgif (+)		3
-Adobe Illustrator	3	read/write (both incomplete)
-
-PostScript		2	write (read via pstoedit)
-Bitmap files (*)	2	write (very experimental)
-LaTeX (%)		2
-
-less important and perhaps impossible (because of lack of documentation):
-StarOffice (#)		3
-Applixware (#)		3
-CorelDraw (W#)		3
-WindowsMetafile (W+)	2	(might be read as a bitmap image with PIL)
-
-
-(+) These formats don't know bezier curves. (Windows Metafiles for W32
-    might know, though)
-(*) Bitmap files could be created via PostScript/Ghostscript
-(%) Might be difficult because some of those formats are very limited
-(W) MS-Windows
-(#) Are these formats documented anywhere?
-
-Some formats don't have bezier curves. If they have other splines,
-bezier curves should (optionally) be approximated by those splines. If
-they don't have splines at all curves should be approximated by
-polygons.
-
-Also exporting MaskGroups and complex fill patterns (e.g. gradients) can
-be a problem since some formats are very simple and have no clipping
-capabilities or don't have the appropriate fill styles.
-
-Even exporting dash patterns and arrow heads is not trivial, since some
-formats only have a limited predefined set of such patterns and arrows
-(XFig and Tgif for example).
-
-
-
-Special Effects
-===============
-
-
-Calligraphic Effects
---------------------
-
-The user should be able to specify a non circular pen shape. Elliptical
-or rectangular pens would be desirable. This could be implemented by
-computing a polygon for a given curve and resolution and filling it with
-the line pattern. The polygon should be computed on the fly by the
-graphics device (with caching if that is too slow).
-
-An advanced feature would allow the pen shape to vary along the curve
-(it might be larger at one end, etc.).
-
-
-Transparency / Alpha Channel
-----------------------------
-
-Does anyone know how to do this efficiently in X and PostScript?
-
-
-More Shading Patterns
----------------------
-
-Have a look at the capabilities of PostScript Level 3. Especially the
-Gouraud shading, Coons-patches and tensor product patch meshes.
-

Deleted: skencil/branches/skencil-0.6/README
===================================================================
--- skencil/branches/skencil-0.6/README	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/README	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,213 +0,0 @@
-
-What Is Skencil?
-===============
-
-Skencil is an interactive vector drawing program for X (similar to XFig
-or tgif). It is written almost completely in Python, an object oriented
-interpreted programming language.
-
-This is a stable release. It is quite featureful and usable, but there
-are still things missing that I want in a 1.0 release, hence the low
-version number.
-
-To compile and run Skencil, you need some additional software. Have a look
-at the file INSTALL to see what you need and how to install Skencil.
-
-Skencil was originally named "Sketch" (it was renamed with release
-0.6.16) and the name "Sketch" is still used is many places.
-
-
-Resources:
-==========
-
-Change-Log:
-
-	See the file NEWS and Plugins/ChangeLog for plugin specific
-	changes
-
-Website:
-
-	http://www.skencil.org
-
-Mailing Lists:
-
-        Users:
-
-	http://lists.sourceforge.net/mailman/listinfo/sketch-list
-
-	Subscription through the web interface or by sending a mail with
-	the word subscribe in the subject to
-	<sketch-list-request at lists.sourceforge.net>
-
-	Developers:
-
-	http://mail.nongnu.org/mailman/listinfo/sketch-devel
-
-Bugs and Patches:
-
-	https://savannah.nongnu.org/projects/skencil/
-
-	Please report bugs to one of the mailing lists or through the
-	bug-tracker
-
-
-Features
-========
-
-Skencil already has the following features:
-
-	o Drawing primitives:
-		o Rectangles, with optional round corners
-		o Ellipses (full ellipses, arcs, pie slices, chords)
-		o Bezier curves (single and multi path)
-		o External images:
-			o Raster images: JPEG, GIF,...
-			  (all types the Python Imaging Library can read)
-			o Encapsulated PostScript (EPS)
-		o Text
-
-	o All objects, including images and text, can be rotated,
-	  scaled, sheared, etc. (all affine transformations are
-	  possible)
-
-	o Primitives can usually have fill and line properties:
-
-		o Fill properties are patterns like solid colors,
-		  gradients, tiled images and hatching.
-
-		o Line properties are currently a (solid) color, width,
-		  dashes, cap and join styles and arrow heads. Patterns
-		  instead of a single color are planned for the future.
-
-	o Special Effects and Features:
-
-		o Bezier curves, rectangles and ellipses can be used as
-		  guides in addition to the standard vertical and
-		  horizontal guide lines.
-
-		o Blend Groups: Automatically updated interpolations of
-		  arbitrary objects
-
-		o Text can be converted to bezier objects. (This only
-		  works if skencil has access to the PostScript Type 1
-		  font files (pfa or pfb)).
-
-		o Text along a Path
-
-	o Export file-formats:
-
-		o Encapsulated PostScript
-
-		o Adobe Illustrator files
-
-		o Scalable Vector Graphics (SVG)
-
-	o Import file-formats:
-
-		o XFig files (.fig) (incomplete)
-
-		o Adobe Illustrator files (.ai)
-
-		o Windows Meta File (WMF, Windows 3.1)
-
-		o Corel's CMX
-
-		o Scalable Vector Graphics (SVG)
-
-	o Unlimited undo history
-
-	o User scripts
-
-
-Limitations
-===========
-
-o Currently, only TrueColor visuals with depths of 15, 16, 24 or 32 bits
-  and 8-bit PseudoColor visuals are supported.
-
-o Rotated and otherwise transformed text requires (as far as I know) at
-  least X11R6. See below for more information on fonts.
-
-
-License
-=======
-
-Most of Skencil is released under the GNU Library General Public License
-(see the file COPYING for details). The only exceptions are the module
-Pax (in the Pax directory) and the stream filters (in the Filter
-directory). See the respective READMEs for details.
-
-
-Problems
-========
-
-There are some problems you may run into which can be solved by changing
-Skencil's configuration or the X-server's configuration.
-
-
-ImportError: No module named Image
-----------------------------------
-
-This message means that the Python Imaging Library (PIL) is not
-installed correctly. Follow the instrctions in the PIL README.
-
-
-
-Font Problems
--------------
-
-
-Exception TclError: font "..." doesn't exist
---------------------------------------------
-If you get a message like
-
-     Exception TclError: font "[some text with lots of hyphens]" doesn't
-     exist
-
-when browsing fonts in the font dialog, the reason is probably that
-Skencil tries to use fonts that are not installed in the X-server or the
-font server (if you use one). Refer to the ``User's Guide'' on how to
-install fonts and configure Skencil.
-
-
-
-Cannot load '[...]'
--------------------
-When Skencil tries to display the drawing, you get messages like
-
-     Cannot load 'MyFont-Bold':
-     no such font
-
-This can have two reasons:
-
-1. Skencil tries to use fonts that are not installed in the X-server.
-   Refer to the ``User's Guide'' on how to install fonts and configure
-   Skencil.
-
-2. Your server cannot handle transformed fonts or maybe not even scaled
-   fonts. See the next section for details.
-
-
-
-Transformed Fonts
------------------
-
-To rotate, shear or otherwise transform fonts, Skencil relies on the
-capabilities of the server. This means, that the server has to be able
-to understand X font names of the form 
-	`-*-*-*-*-*--[0 0 0 0]-*-*-*-*-0-*-*'. 
-
-The `[0 0 0 0]' stands for a matrix describing the transformation (the
-zeros are replaced by the coefficients of that matrix). Not all servers
-support this. To find out if a server supports this run xlsfonts(1) like
-this:
-
-     $ xlsfonts -fn '-*-*-*-*-*--[0 0 0 0]-*-*-*-*-0-*-*'
-
-If your server supports this feature, a list of font names should be
-printed. You will probably get an error message otherwise.
-
-As far as I know, this syntax for transformed fonts was introduced in
-X11R6.
-
-

Deleted: skencil/branches/skencil-0.6/TODO
===================================================================
--- skencil/branches/skencil-0.6/TODO	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/TODO	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,323 +0,0 @@
-Things to do for Skencil
-(see also PROJECTS for larger and more ambitious things to do) 
-
-
-New Graphics Features:
-======================
-
-Beziers / Curves / Polygons:
-----------------------------
-
-- a function that smoothes a polygon (mainly for importing) or poly
-  bezier by reducing the number of nodes and adjusting the auxiliary
-  nodes.
-
-- Boolean operators: Intersection, Union, Difference of bezier
-  objects/paths.
-
-  This can probably be implemented with a few functions that only work
-  on curve objects. These would therefore be quite independent from the
-  rest of Sketch.
-
-- take continuity at nodes between line and bezier segments into account
-
-Image Objects:
---------------
-
-- user-definable resolution. (now always 72dpi)
-  The resultion is used to determine the intrinsic size of an image.
-  In some cases the image file format may contain the relevant information.
-
-- More image processing
-
-Patterns:
----------
-
-- more hatching varieties: more lines, `transparent' color
-
-- vector patterns (that is, tiled images represented by graphics
-  primitives (and which map more or less directly to PostScript
-  patterns))
-
-- raster image patterns:
-
-  - make the pattern trafo editable independently of the object.
-
-
-
-Other Graphics Features:
-------------------------
-
-- extend grid: have one major unit and a subdivision of that unit
-
-- userdefinable grid. Perhaps defined by plugin-grids
-
-- Maybe even multiple grid layers and guide layers.
-
-- multi-path arrows
-
-- clone objects
-
-- ideas for plugin objects
-
-  - A plot object (function plot, data plot)
-
-  - geometrical/mathematical objects:
-  
-    - spirals
-
-    - fractals. at least those that are easily represented by vector
-      primitives like L-Systems.
-
-  - 3D objects: cubes, spheres, ...
-
-  - extrusions
-
-- support for TrueType fonts.
-
-  This would require an X-server or a font server that supports TrueType
-  fonts or text rendering on the client side.
-
-- define circles by center and radius, or by two points (center and a
-  point on the edge), or by three points. this might be implemented by
-  plugin objects.
-
-- A dialog to directly set coordinates of lines, the dimensions of
-  rectangles, ...
-
-
-Import/Export Filters:
-======================
-
-- bitmap export
-
-- some filters have options that the user should be able to set. (see
-  the notes for a file dialog in the User Interface section)
-
-- when importing EPS-files:
-
-  - Maybe read preview image and use that instead of an image rendered
-    by ghostscript. (if ghostscript is not available or the user wants
-    it that way)
-
-  - resolution of rendered preview should be configurable
-
-- PostScript output:
-
-  - optionally include a preview image in EPS. How do we render this?
-
-- PostScript import:
-
-  - import as an EPS image is implemented. This image can only be edited
-    as a whole (its size, position and orientation can be changed)
-
-  - import via pstoedit (or some similar thing). This could be done
-    transparently from the open command with an appropriate import
-    filter. Files imported that way can be edited. pstoedit does not
-    work correctly for every PostScript file (for instance: it ignores
-    sampled images completely and doesn't understand tricks with
-    gsave/grestore (like the ones used in postscript files generated by
-    sketch)).
-
-
-User Interface:
-===============
-
-- The Ungroup command could also be Split Beziers if only one bezier
-  object is selected
-
-- The current facilities for styles are insufficient. We need a better
-  interface to let the user use styles to their full potential.
-
-- Save styles in a separate file (or files) so that certain styles can
-  be used in several documents
-
-- The file dialog box should have a facility that lets the user set file
-  format specific options. It might also have an optional preview
-  window.
-
-- A Transformation Panel. One panel to let the user specify rotations,
-  translations, scalings and arbitrary affine transformations. It should
-  include an option to transform a duplicate of the selected object(s).
-
-- A Property panel that lets the user set node coordinates, radii and
-  other dimensions.
-
-- edit patterns directly in the canvas. This allows more precise control
-  especially for the gradient patterns.
-
-- allow the user to change the line width of hatching patterns
-
-- change the cursor to indicate snapping (change its form and/or color)
-
-- move the object with the cursor keys
-
-- Make the palette editable: add colors, remove colors, change colors...
-
-- define colors in various color models: RGB, HSV, ...
-
-- Let the user define new dash patterns
-
-- Let the user add new arrow heads
-
-- export as bitmap image (with preview). For best results, it should
-  probably be done with ghostscript which allows advanced features like
-  anti aliasing and it can always render true color images regardless of
-  the capabilities of the Xserver (which could also be used to render
-  the image).
-
-- Allow more than 4 MRU files...
-
-- Maybe have a tree view for the object hierarchy of a drawing
-
-- A clip art facility
-
-- Snapping to the grid/guide lines should also be controllable via the
-  layers panel. Visibility of the grid might be tied to state of
-  snapping.
-
-- Zoom out in zoom mode with mouse button 2. 
-
-- Use a modifier+drag to create a copy.
-
-- Use shift+drag to resize/transform relative to the center of the
-  object. Or resize/transform relative to the rotation center handle.
-  This extended center should also be remembered by the object.
-
-- Have some help in the status bar or in a separate window. This could
-  display things like 'Mouse 2 to end line'
-
-- Support Wheel mice.
-
-- maybe edit the grid parameters with the mouse.
-
-- Maybe snap to intersections of guides.
-
-- Align relative to a specific object which is not moved.
-
-- User defined origin. This would only be used to report coordinates to
-  the user.
-
-
-Other Features:
-===============
-
-- WM_PROTOCOLS: SAVE_YOURSELF, etc
-
-- Autosave
-
-- More flexible backup files. Maybe like emacs ~NN~ optionally
-
-- page layout: margins
-
-- Objects should have some `meta' info, which should be saved to and
-  read from files. Some of these meta attributes should have a
-  standardized meaning, so that plugins would be able to use them.
-  Examples:
-
-	name:	A name for the object. This could be used as an id in
-		SVG files. OTOH, we should perhaps distinguish between a
-		name and an id. A name would have no restrictions other
-		than being a (unicode-) string whereas an id would have
-		to be unique and perhaps have a specific format
-		(compatible with XML, for instance).
-
-        url:	This can be used to create image maps when exporting to
-		a raster image file or for SVG or PDF.
-
-	center: The rotation or resize center.
-
-    
-
-
-
-Implementation:
-===============
-
-- clarify the purpose and semantics of the methods Connect/Disconnect
-  and TieToDocument/UntieFromDocument
-
-- Text objects should use the individual bounding boxes of the
-  characters to detect hits.
-
-- make the bitmap renderer for the gradient patterns optional.
-
-- pax specific code (i.e. initialization from tk-object, a Tkinter
-  baseclass for a PaxWidget, etc) should go into a python module
-  provided by pax.
-
-
-Tk:
----
-
-- Look at Tk_RestrictEvents for a way to detect user events during
-  redraw. This might also lead to a cleaner solution for the double
-  scroll bug and a way to catch SHM-image notifications.
-
-GraphicsDevice:
----------------
-
-- There should be a ClipBox (or possibly a `protected' clip_box) method
-  that returns the bounding box of the current clip region in device
-  coordinates.
-
-   
-Bezier Objects:
----------------
-
-- better behavior for degenerate cases when changing continuity to
-  smooth or symmetrical
-
-- maybe more memory efficient undo info
-
-- implement the curve_check_state function
-
-C-Modules:
-----------
-
-- skpoint:
-
-  - maybe convert from and to complex numbers? If that is implemented
-    trafos should also accept complex numbers. This doesn't really add
-    functionalty, it's just `syntactic sugar', and since complex numbers
-    are not used anywhere in Sketch it's not useful to implement it
-    right now.
-
-- sktrafo:
-
-  - methods for computing the eigen vectors and/or eigen values. This
-    could be used in the hit test for degenerate ellipses.
-
-
-
-Documentation:
-==============
-
-- add remarks about Acrobat Reader and the Times and helvetica fonts to
-  the section about font installation
-
-- It should be possible to read linearly through each document by
-  clicking on a "next" reference.
-
-
-
-Thoughts and Questions:
-=======================
-
-- When changing line attributes (pattern, width, join, cap,...), should
-  objects with an empty line style be affected?
-
-- should objects with no outline and no fill be selectable by single
-  click in normal display mode (not outline)? This can be confusing,
-  since they are invisible.
-
-- MoveSelectionToLayer (in document.py) should distinguish three cases:
-
-  - objects that are below the current layer should be inserted at the
-    bottom of the current layer
-
-  - objects that are above the current layer should be inserted at the
-    top of the current layer
-
-  - objects that are already in the current layer should not be moved at
-    all

Deleted: skencil/branches/skencil-0.6/finishinst.py
===================================================================
--- skencil/branches/skencil-0.6/finishinst.py	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/finishinst.py	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,7 +0,0 @@
-#! /usr/bin/env python
-import os
-from compileall import compile_dir
-
-dirs = ['Sketch', 'Plugins', 'Pax']
-
-map(compile_dir, map(os.path.join, [os.getcwd()] * len(dirs), dirs))

Copied: skencil/branches/skencil-0.6/old_files/BUGS (from rev 700, skencil/branches/skencil-0.6/BUGS)

Copied: skencil/branches/skencil-0.6/old_files/COPYING (from rev 700, skencil/branches/skencil-0.6/COPYING)

Copied: skencil/branches/skencil-0.6/old_files/CREDITS (from rev 700, skencil/branches/skencil-0.6/CREDITS)

Copied: skencil/branches/skencil-0.6/old_files/ChangeLog (from rev 700, skencil/branches/skencil-0.6/ChangeLog)

Copied: skencil/branches/skencil-0.6/old_files/FAQ (from rev 700, skencil/branches/skencil-0.6/FAQ)

Copied: skencil/branches/skencil-0.6/old_files/INSTALL (from rev 700, skencil/branches/skencil-0.6/INSTALL)

Copied: skencil/branches/skencil-0.6/old_files/Makefile (from rev 700, skencil/branches/skencil-0.6/Makefile)

Copied: skencil/branches/skencil-0.6/old_files/NEWS (from rev 700, skencil/branches/skencil-0.6/NEWS)

Copied: skencil/branches/skencil-0.6/old_files/PROJECTS (from rev 700, skencil/branches/skencil-0.6/PROJECTS)

Copied: skencil/branches/skencil-0.6/old_files/README (from rev 700, skencil/branches/skencil-0.6/README)

Copied: skencil/branches/skencil-0.6/old_files/TODO (from rev 700, skencil/branches/skencil-0.6/TODO)

Copied: skencil/branches/skencil-0.6/old_files/finishinst.py (from rev 700, skencil/branches/skencil-0.6/finishinst.py)

Copied: skencil/branches/skencil-0.6/old_files/setup.py (from rev 700, skencil/branches/skencil-0.6/setup.py)

Copied: skencil/branches/skencil-0.6/old_files/sk2ppm.py (from rev 700, skencil/branches/skencil-0.6/sk2ppm.py)

Copied: skencil/branches/skencil-0.6/old_files/sk2ps.py (from rev 700, skencil/branches/skencil-0.6/sk2ps.py)

Copied: skencil/branches/skencil-0.6/old_files/skconvert.py (from rev 700, skencil/branches/skencil-0.6/skconvert.py)

Copied: skencil/branches/skencil-0.6/old_files/skencil.py (from rev 700, skencil/branches/skencil-0.6/skencil.py)

Copied: skencil/branches/skencil-0.6/old_files/skencil.spec.in (from rev 700, skencil/branches/skencil-0.6/skencil.spec.in)

Copied: skencil/branches/skencil-0.6/old_files/skshow.py (from rev 700, skencil/branches/skencil-0.6/skshow.py)

Deleted: skencil/branches/skencil-0.6/setup.py
===================================================================
--- skencil/branches/skencil-0.6/setup.py	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/setup.py	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,784 +0,0 @@
-#! /usr/bin/env python
-
-# Skencil - A Python-based interactive drawing program
-# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2006 by Bernhard Herzog
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-#
-# Configure Script for Skencil
-#
-# This script tries to figure out how to configure Skencil to work work
-# with your python installation.
-#
-# It is very experimental at the moment. In particular it is not as
-# generic as it could be and contains lots of hacks to make it work for
-# the current release.
-#
-
-import sys, os
-import re
-import glob
-import compileall
-import shutil, pipes
-
-from string import split, join, strip, atoi
-
-def abspath(path):
-    if not os.path.isabs(path):
-        path = os.path.join(os.getcwd(), path)
-    return os.path.normpath(path)
-
-#
-# Part 1:
-#
-# extract config info from Python's modules Setup.
-#
-
-rx_comment = re.compile('^[ \t]*#')
-rx_macro = re.compile('^.*=')
-rx_ignore = re.compile(r'[ \t]*($|\*)')
-
-class ModuleConfig:
-
-    def __init__(self):
-        self.files = []
-        self.inc_dirs = []
-        self.macros = []
-        self.lib_dirs = []
-        self.libraries = []
-
-
-def read_target(args, setup):
-    while args[-2:] == '\\\n':
-        #print '->', args
-        line = setup.readline()
-        #print line
-        if not line:
-            break
-        if rx_comment.match(line):
-            continue
-        args = args[:-2] + line
-
-    config = ModuleConfig()
-
-    for item in split(args):
-        if item == '#':
-            break
-        head = item[:2]
-        if head == '-I':
-            config.inc_dirs.append(item)
-        elif head == '-D':
-            config.macros.append(item)
-        elif head == '-L':
-            config.lib_dirs.append(item)
-        elif head == '-l':
-            config.libraries.append(item)
-        else:
-            config.files.append(item)
-    
-    return config
-
-
-def extract_config(setup, configs = None):
-    if configs is None:
-        configs = {}
-    setup = open(setup)
-
-    while 1:
-        line = setup.readline()
-        if not line:
-            break
-        #print line
-        if rx_comment.match(line):
-            #print '==>> is comment'
-            continue
-        if rx_macro.match(line):
-            #print '==>> is macro'
-            continue
-        if rx_ignore.match(line):
-            #print '==>> ignore'
-            continue
-
-        #print '==>> is target',
-        target, args = split(line, None, 1)
-        #print target
-        configs[target] = read_target(args, setup)
-            
-
-    return configs
-
-    
-def print_configs(configs):
-    for key, value in configs.items():
-        print '********', key
-        print 'file    ', value.files
-        print 'inc_dirs', value.inc_dirs
-        print 'macros  ', value.macros
-        print 'lib_dirs', value.lib_dirs
-        print 'libraries', value.libraries
-    
-
-#
-# Part 2:
-#
-# Configure:
-# Convert Skencil's Setup.config to Setup
-#
-
-def find_include_dir(dir, header):
-    try:
-        files = os.listdir(dir)
-        if header in files:
-            return dir
-        else:
-            for file in files:
-                file = os.path.join(dir, file)
-                if os.path.isdir(file):
-                    result = find_include_dir(file, header)
-                    if result:
-                        return result
-    except IOError:
-        pass
-    except OSError:
-        pass
-    return ''
-
-
-rx_replace = re.compile(r'@([a-zA-Z_0-9]+):([^@]+)@')
-
-setup_comment = '''\
-# This file was generated from Setup.config by setup.py
-# If you want to edit the configuration by hand, edit Setup.in and
-# copy it to Setup
-'''
-
-def convert(input, output, configs, flags):
-    input = open(input)
-    output = open(output, 'w')
-    #output = sys.stdout
-
-    output.write(setup_comment)
-    write_nl = 0
-    while 1:
-        line = input.readline()
-        if not line:
-            break
-        if rx_comment.match(line):
-            continue
-        while 1:
-            found = rx_replace.search(line)
-            if found:
-                config_name = found.group(1)
-                if flags.has_key(config_name):
-                    flag_name = found.group(2)
-                    config_flags = flags[config_name]
-                    if config_flags.has_key(flag_name):
-                        value = config_flags[flag_name]
-                    else:
-                        raise ValueError, 'Unknown flag %s:%s' % (config_name,
-                                                                  flag_name)
-                elif configs.has_key(config_name):
-                    config = configs[config_name]
-                    items = split(found.group(2), ',')
-                    value = []
-                    for item in items:
-                        if hasattr(config, item):
-                            value = value + getattr(config, item)
-                        else:
-                            raise ValueError, \
-                                  'Unknown config item %s:%s' % (config_name,
-                                                                 item)
-                    value = join(value)
-                else:
-                    raise ValueError, 'Unknown config type %s' % (config_name,)
-                line = line[:found.start(0)] + value + line[found.end(0):]
-            else:
-                break
-        if line[-2:] == '\\\n':
-            line = line[:-2]
-            write_nl = 1
-        output.write(line)
-    #print line
-    if write_nl:
-        output.write('\n')
-    write_nl = 0
-
-def make_boot(dir):
-    # run 'make -f Makefile.pre.in boot' in dir.
-    if os.system('cd %s; make -f Makefile.pre.in boot PYTHON=%s'
-                 % (dir, sys.executable)):
-        print "exiting because of errors"
-        sys.exit(1)
-
-def configure_tkinter(configs, flags):
-    # If --tk-flags was given on the command line, use those.
-    if flags['tk']['flags']:
-        configs['_tkinter'] = read_target(flags['tk']['flags'], None)
-        return
-    # For python < 2.1 just use the tkconfig from python's Setup, unless
-    # the user explicitly requests auto-configure
-    if (not flags['tk']['autoconf']
-        and (atoi(split(sys.version, '.', 1)[0]) < 2 \
-             or sys.version_info[:2] < (2, 1))):
-        if not configs.has_key('_tkinter'):
-            print "Your Python installation doesn't seem to be configured" \
-                  " with tkinter."
-            sys.exit(1)
-        return
-
-    # We're running python 2.1 or higher or the user explicitly
-    # requested auto configuratin for _tkinter. Try to figure out
-    # which compiler flags to use just like python's setup.py does.
-    import distutils.ccompiler
-    compiler = distutils.ccompiler.new_compiler()
-    configs['_tkinter'] = config = ModuleConfig()
-
-    # first find the tcl/tk libraries. Assume that both the tcl and
-    # tk libs have the same version and are located in the same lib
-    # directory.  Search under the directories listed in lib_dirs.
-    lib_dirs = ['/usr/lib', '/usr/local/lib']
-    print "Looking for tcl/tk libraries under %s..." % (join(lib_dirs, ' ,'),)
-
-    # possible version suffixes.  Some systems use dots in the suffixes
-    # (e.g. debian), some don't (e.g. OpenBSD) so we try both.
-    versions = []
-    for version in ["8.4", "8.3", "8.2", "8.1", "8.0"]:
-        versions.append(version)
-        versions.append(version[0] + version[-1])
-
-    # The actual search.
-    for version in versions:
-        print "   Looking for tcl/tk %s..." % version
-        tklib = compiler.find_library_file(lib_dirs, 'tk' + version )
-        tcllib = compiler.find_library_file(lib_dirs, 'tcl' + version )
-        if tklib and tcllib:
-            print "found %s and %s" % (tklib, tcllib)
-            # Exit the loop when we've found the Tcl/Tk libraries
-            break
-    else:
-        print "Can't find suitable tcl/tk libraries"
-        print "You should perhaps use the --tk-flags option"
-        sys.exit(1)
-
-    config.libraries = ['-ltk' + version, '-ltcl' + version]
-
-    dir = "-L" + os.path.split(tklib)[0]
-    config.lib_dirs.append(dir)
-    dir = "-L" + os.path.split(tcllib)[0]
-    if dir not in config.lib_dirs:
-        config.lib_dirs.append(dir)
-
-    # next, look for the header files
-    std_inc_dirs = ["/usr/include/", "/usr/local/include"]
-    inc_dirs = ["/usr/include/tk" + version,
-                "/usr/include/tcl" + version] + std_inc_dirs
-    print "Looking for tk header files in %s..." % (join(inc_dirs, ', '),)
-    for dir in inc_dirs:
-        dir = find_include_dir(dir, "tk.h")
-        if dir:
-            print "found them in %s" % dir
-            config.inc_dirs.append("-I" + dir)
-            break
-    else:
-        print "Can't find tk headerfiles"
-        sys.exit(1)
-
-    inc_dirs = ["/usr/include/tcl" + version] + std_inc_dirs
-    print "Looking for tcl header files in %s..." % (join(inc_dirs, ', '),)
-    for dir in inc_dirs:
-        dir = find_include_dir(dir, "tcl.h")
-        if dir:
-            print "found them in %s" % dir
-            if dir not in config.inc_dirs:
-                config.inc_dirs.append("-I" + dir)
-            break
-    else:
-        print "Can't find tcl headerfiles"
-        sys.exit(1)
-
-    # Finally, X compiler flags. 'Borrowed' from Python 2.1's setup.py
-    platform = sys.platform
-    if platform == 'sunos5':
-        config.inc_dirs.append('-I/usr/openwin/include')
-        config.lib_dirs.append('-L/usr/openwin/lib')
-    elif os.path.exists('/usr/X11R6/include'):
-        config.inc_dirs.append('-I/usr/X11R6/include')
-        config.lib_dirs.append('-L/usr/X11R6/lib')
-    elif os.path.exists('/usr/X11R5/include'):
-        config.inc_dirs.append('-I/usr/X11R5/include')
-        config.lib_dirs.append('-L/usr/X11R5/lib')
-    else:
-        # Assume default location for X11
-        config.inc_dirs.append('-I/usr/X11/include')
-        config.lib_dirs.append('-L/usr/X11/lib')
-
-    # Finally, link with the X11 libraries
-    config.libraries.append('-lX11')
-
-
-def configure(dirs, flags, setup):
-    if not flags['sketch'].has_key('imaging-include'):
-        print 'option --imaging-include=DIR must be provided'
-        sys.exit(1)
-    else:
-        value = flags['sketch']['imaging-include']
-        value = os.path.expanduser(os.path.expandvars(value))
-        value = abspath(value)
-        header = 'Imaging.h'
-        print 'looking for include dir for %s under %s' % (header, value)
-        dir = find_include_dir(value, header)
-        if not dir:
-            print header, 'not found under', value, '!'
-            sys.exit(1)
-        print 'found it in', dir
-        flags['sketch']['imaging-include'] = '-I' + dir
-
-    if setup == None:
-        configdir = os.path.join(sys.exec_prefix, 'lib',
-                                 'python' + sys.version[:3], 'config')
-        setup = os.path.join(configdir, 'Setup')
-        setup_local = os.path.join(configdir, 'Setup.local')
-    else:
-        setup_local = ''
-    print 'reading configuration from', setup, '...',
-    configs = extract_config(setup)
-    print 'done'
-
-    if setup_local:
-        print 'reading additional configuration from', setup_local, '...',
-        configs = extract_config(setup_local, configs)
-        print 'done'
-
-    configure_tkinter(configs, flags)
-    #if not configs.has_key('_tkinter'):
-    #    print "Your Python installation doesn't seem to be configured with "\
-    #          "tkinter."
-    #    sys.exit(1)        
-
-    for dir in dirs:
-        file = os.path.join(dir, 'Setup.config')
-        if os.path.isfile(file):
-            out = os.path.splitext(file)[0]
-            print 'converting', file, 'to', out, '...',
-            convert(file, out, configs, flags)
-            print 'done'
-        make_boot(dir)
-
-#
-# Build
-#
-
-def make(dir, make_flags):
-    # run 'make' in dir.
-    return os.system('cd %s; make %s' % (dir, join(make_flags)))
-        
-
-
-def build(makedirs, make_flags):
-    for dir in makedirs:
-        print "running 'make' in", dir
-        if make(dir, make_flags):
-            print "exiting because of errors"
-            sys.exit(1)
-
-
-#
-# Install
-#
-
-rx_replace_dir = re.compile(r'@([a-z]+)')
-
-class InstallDirs:
-
-    prefix = ''
-    exec_prefix = ''
-    executable = ''
-    destdir = ''
-
-    def __init__(self, flags):
-        self.prefix = flags['standard']['prefix']
-        self.destdir = flags['standard']['destdir']
-        self.library = flags['standard']['libdir']
-
-    def fix_dirs(self, progname, version):
-        # e.g. progname = 'skencil', version = '0.5.3'
-        if not self.exec_prefix:
-            self.exec_prefix = self.prefix
-        if not self.executable:
-            self.executable = os.path.join(self.exec_prefix, 'bin')
-        if not self.library:
-            self.library = os.path.join(self.prefix, 'lib',
-                                        progname + '-' + version)
-
-    def replace_dirs(self, string):
-        result = ''
-        match = 1
-        while match:
-            match = rx_replace_dir.search(string)
-            if match is not None:
-                start, end = match.span(0)
-                dir = getattr(self, match.group(1))
-                result = result + string[:start] + dir
-                string = string[end:]
-            else:
-                result = result + string
-        return result
-
-    def prepend_destdir(self, dir):
-        # this may return a filename with multiple consecutive slashes
-        # but that shouldn't be problem on Linux.
-        if self.destdir:
-            return self.destdir + '/' + dir
-        return dir
-
-
-# return the longest common prefix of path1 and path2 that is a
-# directory.
-def commonbasedir(path1, path2):
-    if path1[-1] != os.sep:
-	path1 = path1 + os.sep
-    return os.path.split(os.path.commonprefix([path1, path2]))[0]
-
-
-
-# return the absolute path PATH2 as a path relative to the directory
-# PATH1. If commonbasedir(PATH1, PATH2) is '/', return PATH2. Doesn't
-# take symbolic links into account...
-def relpath(path1, path2):
-    #if not os.path.isabs(path2):
-    #	return path2
-    basedir = commonbasedir(path1, path2)
-    if basedir == os.sep:
-	return path2
-    path2 = path2[len(basedir) + 1 : ]
-    curbase = path1
-    while curbase != basedir:
-	curbase = os.path.split(curbase)[0]
-	path2 = os.pardir + os.sep + path2
-    return path2
-
-def create_directory(dir):
-    if os.path.isdir(dir):
-	return
-    parent, base = os.path.split(dir)
-    if parent:
-        create_directory(parent)
-    try:
-        os.mkdir(dir, 0777)
-    except os.error, exc:
-        print "can't create directory %s:%s" % (dir, exc)
-
-    
-def link_file(source, dest):
-    if os.path.isfile(dest) or os.path.islink(dest):
-        # XXX should we really remove this
-        try:
-            os.unlink(dest)
-        except os.error, exc:
-            print "can't create remove %s:%s" % (dest, exc)
-    try:
-        os.symlink(source, dest)
-    except os.error, exc:
-        print "can't create symbolic link %s in %s:%s" % (source, dest, exc)
-
-def install_file(srcfile, dest, flags, dirs, verbose = 1, noop = 0):
-    # srcfile must be a relative pathname, dest a directory
-    srcdir, basename = os.path.split(srcfile)
-    if 'recursive' in flags and not os.path.isabs(srcdir):
-        destdir = os.path.join(dest, srcdir)
-    else:
-        destdir = os.path.normpath(dest)
-    if not noop:
-        create_directory(destdir)
-    if 'link' in flags:
-        # symlink
-        # XXX should the link be relative if the directories have a
-        # common prefix?
-
-        for f in flags:
-            if f[0] == "linkname":
-                linkname = f[1]
-                break
-        else:
-            if basename[-3:] == '.py':
-                # XXX hack
-                linkname = basename[:-3]
-        destfile = os.path.join(destdir, linkname)
-        if 'relative' in flags:
-            # make srcfile a filename relative to destdir. Strip the
-            # value of --dest-dir.
-            d = destdir
-            if dirs.destdir:
-                normalized = os.path.normpath(dirs.destdir)
-                length = len(normalized)
-                if normalized == destdir[:length]:
-                    d = destdir[length:]
-                    if d[0] != '/':
-                        d = '/' + d
-            srcfile = relpath(d, srcfile)
-        if verbose:
-            print 'create symlink %s in %s' % (srcfile, destfile)
-        if not noop:
-            link_file(srcfile, destfile)
-    else:
-        # copy file
-        destfile = os.path.join(destdir, basename)
-        if verbose:
-            print 'copying %s to %s' % (srcfile, destfile)
-        if not noop:
-            # only copy regular files and remove the destination file if
-            # it already exists.
-            if os.path.isfile(srcfile):
-                try:
-                    os.unlink(destfile)
-                except:
-                    pass
-                shutil.copy(srcfile, destfile)
-                if "executable" in flags:
-                    # fix the interpreter line to always point to the
-                    # current python executable.
-                    f = open(destfile)
-                    lines = f.readlines()
-                    f.close()
-                    if lines[0][:2] == "#!":
-                        lines[0] = "#! %s\n" % sys.executable
-                    f = open(destfile, "w")
-                    f.writelines(lines)
-                    f.close()
-        
-def bytecompile(dir, realdir):
-    compileall.compile_dir(os.path.join(os.getcwd(), dir),
-                           ddir=os.path.join(os.getcwd(), realdir))
-
-def install(config, dirs):
-    # 
-    # config is a list of tuples. Each tuple is of the form
-    # (PATTERN, DEST)  or  (PATTERN, DEST, FLAGS)
-    #
-    for item in config:
-        if len(item) == 2:
-            pattern, dest = item
-            flags = ()
-        else:
-            pattern, dest, flags = item
-            if type(flags) == type(''):
-                flags = (flags,)
-        pattern = dirs.replace_dirs(pattern)
-        dest = dirs.prepend_destdir(dirs.replace_dirs(dest))
-        files = glob.glob(pattern)
-        #print pattern, dest, files
-        if not files and 'link' in flags:
-            # hack for symlinks. The source may not exist during tests
-            files = (pattern,)
-        
-        for file in files:
-            install_file(file, dest, flags, dirs)
-            #print 'install', file, 'in', dest
-#
-# Part 3:
-#
-# Drivers
-#
-
-def get_version():
-    version = strip(open('Sketch/VERSION').read())
-    return version
-
-def parse_cmd_line():
-    setup = None
-    argv = sys.argv[1:]
-    flags = {}
-    flags['standard'] = {'prefix': '/usr/local/', 'destdir':'',
-                         'libdir': ''}
-    flags['pax'] = {'XSHM': ''}
-    flags['intl'] = {'files': ''}
-    flags['sketch'] = {'imaging-include':
-                       os.path.join(sys.prefix, 'include',
-                                    'python' + sys.version[:3])}
-    flags['tk'] = {'autoconf': 0, 'flags': ''}
-    flags['make_defs'] = []
-    if len(argv) == 0:
-        command = 'help'
-    else:
-        command = argv[0]
-        if command in ('-h', '--help'):
-            command = 'help'
-        del argv[0]
-    for arg in argv:
-        if '=' in arg:
-            arg, value = split(arg, '=', 1)
-        else:
-            value = None
-        if arg == '--prefix':
-            if value is None:
-                print 'Value required for option --prefix'
-                sys.exit(1)
-            flags['standard']['prefix'] = value
-        elif arg == '--dest-dir':
-            flags['standard']['destdir'] = value
-        elif arg == '--libdir':
-            flags['standard']['libdir'] = value
-        elif arg == '--python-setup':
-            setup = value
-        elif arg == '--pax-no-xshm':
-            flags['pax']['XSHM'] = '-DPAX_NO_XSHM'
-        elif arg == '--imaging-include':
-            if value is None:
-                print 'Value required for option --imaging-include'
-                sys.exit(1)
-            flags['sketch']['imaging-include'] = value
-        elif arg == '--with-nls':
-            flags['intl']['files'] = 'intl intl.c'
-        elif arg == '--tk-flags':
-            flags['tk']['flags'] = value
-        elif arg == '--tk-autoconf':
-            flags['tk']['autoconf'] = 1
-        elif arg in ('-h', '--help'):
-            command = 'help'
-        elif arg[0] != '-' and value:
-            flags['make_defs'].append(pipes.quote(arg + '=' + value))
-        else:
-            sys.stderr.write('Unknown option %s\n' % arg)
-            sys.exit(1)
-    return command, flags, setup
-
-def print_help():
-    setup = os.path.join(sys.prefix, 'lib/python' + sys.version[:3],
-                         'config/Setup')
-    print help_message % {'version': get_version(), 
-                          'pyprefix': sys.prefix,
-                          'pyversion': sys.version[:3],
-                          'pysetup': setup}
-
-help_message = """\
-Usage: setup.py COMMAND [options...]
-
-setup.py configures, builds and installs Skencil. COMMAND is one of:
-
-        configure         configure Skencil
-        build             compile the C extension modules
-        install           install Skencil on your system
-
-Generic options:
-  -h, --help              print this help message
-Options for configure:
-  --imaging-include=DIR   Look (recursively) under DIR for the header files
-                          of PIL (Python Imaging Library)
-                          [%(pyprefix)s/include/python%(pyversion)s]
-  --pax-no-xshm           Compile Pax (a module for direct access to Xlib)
-                          without support for the X Shared Memory extension.
-  --with-nls              Enable national language support for messages, menus,
-                          etc. You need the gettext library for this.
-  --python-setup=FILE     The python Setup file to parse.
-                          [%(pysetup)s]
-  --tk-flags=flags        Compiler flags to use for building the tk-modules
-  --tk-autoconf           Determine the compiler flags for Skencil's tk-modules
-                          without referring to Python's Setup file. When run
-                          under Python 2.1 this will always be done.
-Options for build:
-  <VAR>=<VALUE>           Options like this are passed through to make
-                          to let you override variables like CC or OPT.
-                          See the generated Makefiles for more details.
-Options for install:
-  --prefix=PREFIX         Install files in PREFIX/lib/skencil-%(version)s/ and
-                          PREFIX/bin [/usr/local]
-  --dest-dir=DIR          If given, install the files under DIR, but pretend
-                          that the files are really under the prefix directory.
-  --libdir=DIR            If given, install the library files under DIR,
-                          instead of PREFIX/lib/skencil-%(version)s/
-"""
-
-    
-make_dirs = ('Pax', 'Filter', 'Sketch/Modules')
-
-lib = '@library'
-bin = '@executable'
-install_config = \
-[
-    ('skencil.py', lib, 'executable'),
-    ('sk2ps.py', lib, 'executable'),
-    ('sk2ppm.py', lib, 'executable'),
-    ('skconvert.py', lib, 'executable'),
-    ('skshow.py', lib, 'executable'),
-    ('Plugins/*/*.py', lib, 'recursive'),
-    ('Plugins/*/*/*.py', lib, 'recursive'),
-    ('Plugins/*/*/*/*.py', lib, 'recursive'),
-    ('Sketch/*.py', lib, 'recursive'),
-    ('Sketch/VERSION', lib, 'recursive'),
-    ('Sketch/*/*.py', lib, 'recursive'),
-    ('Sketch/*/*.so', lib, 'recursive'),
-    ('Sketch/*/*.sl', lib, 'recursive'),
-    ('Sketch/*/*.xbm', lib, 'recursive'),
-    ('Sketch/*/*/*.xbm', lib, 'recursive'),
-    ('Sketch/*/*.gif', lib, 'recursive'),
-    ('Script/*.py', lib, 'recursive'),
-    ('Resources/Fontmetrics/*', lib, 'recursive'),
-    ('Resources/Misc/*', lib, 'recursive'),
-    ('Pax/*.so', os.path.join(lib, 'Lib')),
-    ('Pax/*.sl', os.path.join(lib, 'Lib')),
-    ('Pax/*.py', os.path.join(lib, 'Lib')),
-    ('Filter/*.so', os.path.join(lib, 'Lib')),
-    ('Filter/*.sl', os.path.join(lib, 'Lib')),
-    (os.path.join(lib, 'skencil.py'), bin, ('link', 'relative')),
-    # A link named "sketch" for backwards compatibility
-    (os.path.join(lib, 'skencil.py'), bin, ('link', ("linkname", "sketch"),
-                                            'relative')),
-    (os.path.join(lib, 'sk2ps.py'), bin, ('link', 'relative')),
-    (os.path.join(lib, 'sk2ppm.py'), bin, ('link', 'relative')),
-    (os.path.join(lib, 'skconvert.py'), bin, ('link', 'relative')),
-    (os.path.join(lib, 'skshow.py'), bin, ('link', 'relative')),
-]
-progname = 'skencil'
-version = None
-
-def intl_available():
-    sys.path.insert(0, os.path.join(sys.path[0], 'Pax'))
-    try:
-        import intl
-        #print 'intl available'
-        return 1
-    except:
-        #print 'intl not available'
-        return 0
-
-def main():
-    global version
-    version = get_version()
-    command, flags, setup = parse_cmd_line()
-    if command == 'help':
-        print_help()
-    elif command == 'configure':
-        configure(make_dirs, flags, setup)
-    elif command == 'build':
-        build(make_dirs, flags['make_defs'])
-    elif command == 'install':
-        dirs = InstallDirs(flags)
-        dirs.fix_dirs(progname = progname, version = version)
-        install(install_config, dirs)
-        if intl_available():
-            install([('Resources/Messages/*/*/*.mo', lib, 'recursive')], dirs)
-        for dir in ('Sketch', 'Plugins', 'Lib', 'Script'):
-            dir = os.path.join(dirs.library, dir)
-            bytecompile(dirs.prepend_destdir(dir), dir)
-    else:
-        print 'unknown command', command
-        print_help()
-
-
-
-if __name__ == '__main__':
-    main()
-

Deleted: skencil/branches/skencil-0.6/sk2ppm.py
===================================================================
--- skencil/branches/skencil-0.6/sk2ppm.py	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/sk2ppm.py	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,111 +0,0 @@
-#! /usr/bin/env python
-# Sketch - A Python-based interactive drawing program
-# Copyright (C) 1998, 1999, 2001, 2002, 2003 by Bernhard Herzog
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-# Convert a Sketch-file into a PPM file
-
-"""usage: sk2ppm [Options] infile [outfile]
-
-Convert the Skencil/Sketch SK-file infile into a PPM file. Output is
-written to outfile or to stdout.
-
-sk2ppm accepts these options:
-
-  -h --help              Print this help message and exit
-  -b --bbox              Use the document's bounding box to determine the
-                         size of the raster image
-  -r --resolution=N      Resolution of the raster image in pixels per inch
-                         Default: 72
-  -s --gradient-steps=N  Number of interpolated colors used in a gradient
-  -A --alpha-bits=N      Alpha bits for anti-aliasing (1, 2, or 4)
-
-"""
-
-import sys, os
-
-for dir in ('Lib', 'Filter', 'Pax'):
-    dir = os.path.join(sys.path[0], dir)
-    if os.path.isdir(dir):
-        sys.path.insert(1, dir)
-
-from Sketch import load
-from Script.export_raster import export_raster
-
-
-def print_usage():
-    print __doc__
-
-class Context:
-    pass
-
-def main():
-    import Sketch, Sketch.config
-    Sketch.Issue(None, Sketch.const.INITIALIZE)
-    #plugins.load_plugin_configuration(config.plugin_path)
-
-    use_bbox = 0
-    resolution = 72.0
-    steps = alpha = None
-
-    import getopt
-    opts, args = getopt.getopt(sys.argv[1:], 'bhr:s:A:',
-                               ['help', 'bbox', 'resolution=',
-                                'gradient-steps=', 'alpha-bits='])
-
-    for optchar, value in opts:
-        if optchar == '-h' or optchar == '--help':
-            print_usage()
-            return -1
-        elif optchar == '-b' or optchar == '--bbox':
-            use_bbox = 1
-        elif optchar == '-r' or optchar == '--resolution':
-            resolution = float(value)
-        elif optchar == '-s' or optchar == '--gradient-steps':
-            steps = float(value)
-        elif optchar == '-A' or optchar == '--alpha-bits':
-            alpha = int(value)
-            if alpha not in (1, 2, 4):
-                sys.stderr.write("sk2ppm: alpha-bits value must be one of"
-                                 " 1, 2 or 4\n")
-                return -1
-
-    if len(args) not in (1, 2):
-        print_usage()
-        return -1
-
-    if steps is not None:
-        Sketch.config.preferences.gradient_steps_print = steps
-
-    filename = args[0]
-    if len(args) > 1:
-        ppmfile = args[1]
-    else:
-        ppmfile = sys.stdout
-
-    doc = load.load_drawing(filename)
-
-    context = Context()
-    context.document = doc
-
-    export_raster(context, ppmfile, resolution, use_bbox, format = "ppm",
-                  antialias = alpha)
-
-if __name__ == '__main__':
-    result = main()
-
-    if result:
-        sys.exit(result)

Deleted: skencil/branches/skencil-0.6/sk2ps.py
===================================================================
--- skencil/branches/skencil-0.6/sk2ps.py	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/sk2ps.py	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,144 +0,0 @@
-#! /usr/bin/env python
-
-# Sketch - A Python-based interactive drawing program
-# Copyright (C) 1998, 1999, 2000, 2003 by Bernhard Herzog
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-
-
-# Convert a SKFile into a PostScript file.
-#
-# This is a very simple implementation of such a script: Just load the
-# entire drawing into a document object (via the load module) and draw
-# it into a PostScriptDevice.
-#
-# This means that a lot of more or less unnecessary modules are
-# loaded...
-
-import sys, os
-
-from Sketch import load, PostScriptDevice
-from Sketch.Lib import util
-
-def sk2ps(filename, psfilename, **psargs):
-    # convert the SK file FILENAME into a PostScript file PSFILENAME.
-    # Any keyword arguments are passed to the PostScript device class.
-    doc = load.load_drawing(filename)
-    bbox = doc.BoundingRect(visible = psargs.get('visible', 0),
-                            printable = psargs.get('printable', 1))
-    psargs['bounding_box'] = tuple(bbox)
-    psargs['document'] = doc
-    ps = apply(PostScriptDevice, (psfilename,), psargs)
-    doc.Draw(ps)
-    ps.Close()
-
-
-usage = '''\
-usage: sk2ps [Options] infile [outfile]
-
-Convert the Skencil/Sketch SK-file infile to PostScript (EPS). Output is
-written to outfile or to stdout.
-
-Generic options:
-
-  -h --help             Print this help message and exit
-
-Layer Selection:
-
-Normally all layers marked as printable are printed, regardless of
-whether they are visible or not. These options control which layers to
-print:
-
-  -v --visible          Print all layers marked as visible
-  -p --noprintable      Choose layers only according to their visible flag
-                        and the -v option.
-
-Eps Header Comments:
-
-  -t --title=TITLE      Use TITLE as the value of the `Title:\' comment.
-                        Default is the basename of infile.
-  -d --date=DATE        Use the DATE as the vale of the `CreationDate:\'
-                        comment. Default is the current date.
-  -f --for=NAME         Use NAME as the value of the `For:\' comment.
-                        default is the real user name.
-
-Other Options:
-
-  -e --embed-fonts      Embed fonts in the eps file.
-  -r --rotate           Rotate the drawing 90 degree counter clockwise
-'''
-
-def print_usage():
-    print usage
-
-def main():
-    import Sketch
-    Sketch.init_lib()
-
-    draw_printable = 1
-    draw_visible = 0
-    embed_fonts = 0
-    eps_for = util.get_real_username()
-    eps_date = util.current_date()
-    eps_title = None
-    rotate = 0
-
-    import getopt
-    opts, args = getopt.getopt(sys.argv[1:], 'hprved:f:t:',
-                               ['help', 'noprintable', 'rotate', 'visible',
-                                'embed-fonts', 'for=', 'date=', 'title='])
-
-    for optchar, value in opts:
-        if optchar == '-h' or optchar == '--help':
-            print_usage()
-            return -1
-        elif optchar == '-p' or optchar == '--noprintable':
-            draw_printable = 0
-        elif optchar == '-v' or optchar == '--visible':
-            draw_visible = 1
-        elif optchar == '-d' or optchar == '--date':
-            eps_date = value
-        elif optchar == '-f' or optchar == '--for':
-            eps_for = value
-        elif optchar == '-r' or optchar == '--rotate':
-            rotate = 1
-        elif optchar == '-t' or optchar == '--title':
-            eps_title = value
-        elif optchar == '-e' or optchar == '--embed-fonts':
-            embed_fonts = 1
-
-    if len(args) not in (1, 2):
-        print_usage()
-        return -1
-
-    filename = args[0]
-    if len(args) > 1:
-        psfile = args[1]
-    else:
-        psfile = sys.stdout
-
-    if eps_title is None:
-        eps_title = os.path.basename(filename)
-
-    sk2ps(filename, psfile, printable= draw_printable, visible = draw_visible,
-          For = eps_for, CreationDate = eps_date, Title = eps_title,
-          rotate = rotate, embed_fonts = embed_fonts)
-
-if __name__ == '__main__':
-    result = main()
-
-    if result:
-        sys.exit(result)

Deleted: skencil/branches/skencil-0.6/skconvert.py
===================================================================
--- skencil/branches/skencil-0.6/skconvert.py	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/skconvert.py	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,57 +0,0 @@
-#! /usr/bin/env python
-
-# Sketch - A Python-based interactive drawing program
-# Copyright (C) 2002, 2003, 2006 by Bernhard Herzog
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-"""Usage: skconvert infile outfile
-
-Convert a vector graphics file into another format. This is done by
-reading infile into Skencil and saving it as outfile. infile can be in
-any format Skencil can read. The format of the output file is determined
-by its extension.
-"""
-
-import sys, os
-
-from Sketch import load, plugins
-import Sketch
-
-
-def convert(infile, outfile):
-    doc = load.load_drawing(infile)
-    extension = os.path.splitext(outfile)[1]
-    fileformat = plugins.guess_export_plugin(extension)
-    if fileformat:
-        saver = plugins.find_export_plugin(fileformat)
-        saver(doc, outfile)
-    else:
-        sys.stderr.write("skconvert: unrecognized extension %s\n" % extension)
-        sys.exit(1)
-    doc.Destroy()
-
-
-def main():
-    Sketch.init_lib()
-    if len(sys.argv) != 3:
-        sys.stderr.write(__doc__)
-        sys.exit(1)
-
-    convert(sys.argv[1], sys.argv[2])
-
-
-main()
-

Deleted: skencil/branches/skencil-0.6/skencil.py
===================================================================
--- skencil/branches/skencil-0.6/skencil.py	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/skencil.py	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,34 +0,0 @@
-#! /usr/bin/env python
-
-# Sketch - A Python-based interactive drawing program
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2003 by Bernhard Herzog
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-#
-# a small script to find out where Sketch is installed and launch Sketch
-#
-
-import sys
-
-if sys.version < '1.5.1':
-    sys.stderr.write("Sorry, Skencil requires at least Python 1.5.1\n")
-    sys.exit(1)
-
-import Sketch
-
-Sketch.config.sketch_command = sys.argv[0]
-
-Sketch.main.main()

Deleted: skencil/branches/skencil-0.6/skencil.spec.in
===================================================================
--- skencil/branches/skencil-0.6/skencil.spec.in	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/skencil.spec.in	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,111 +0,0 @@
-#
-#  spec file for Skencil
-#
-
-Summary:        python-based vector drawing program
-Name:           skencil
-Version:        @VERSION@
-Release:        1
-License:        LGPL, Python style
-Group:          unsorted
-Source:         http://prdownloads.sourceforge.net/sketch/sketch-%PACKAGE_VERSION.tar.gz
-URL:            http://www.skencil.org/
-Packager:       Andrew Grimberg <tykeal-rpms at bardicgrove.org>
-
-Prefix:         %{_prefix}
-BuildRoot:      %{_tmppath}/%{name}-buildroot
-Requires:       python >= 1.5.1, python-imaging, tkinter
-BuildRequires:  python >= 1.5.1, python-imaging
-
-%description
-Skencil is an interactive X11 vector drawing program. It is written
-almost completely in Python, an object oriented interpreted programming
-language.
-
-%prep
-%setup
-mv Pax/README Pax/README.pax
-mv Pax/COPYING Pax/COPYING.pax
-mv Filter/COPYING Filter/COPYING.filter
-mv Filter/README Filter/README.filter
-mv Tools/README Tools/README.tools
-mv Tools/COPYING Tools/COPYING.tools
-
-%build
-./setup.py configure --with-nls
-./setup.py build
-
-
-%install
-strip -S Pax/*.so
-strip -S Filter/*.so
-strip -S Sketch/Modules/*.so
-./setup.py install --prefix=%{buildroot}%{_prefix}
-%{__install} -m 755 Tools/mkfontdb.py %{buildroot}%{_bindir}
-
-%clean
-rm -rf %{buildroot}
-
-%files
-%defattr(-, root, root)
-%{_libdir}/%{name}-%PACKAGE_VERSION
-%{_bindir}/skencil
-%{_bindir}/sketch
-%{_bindir}/sk2ps
-%{_bindir}/skshow
-%{_bindir}/sk2ppm
-%{_bindir}/skconvert
-%{_bindir}/mkfontdb.py
-%doc Examples
-%doc Doc
-%doc README INSTALL BUGS CREDITS COPYING TODO PROJECTS FAQ NEWS
-%doc Pax/README.pax Pax/COPYING.pax Pax/COPYING.xext
-%doc Filter/README.filter Filter/COPYING.filter
-%doc Tools/README.tools Tools/COPYING.tools
-%doc Misc
-
-#%post
-#for i in $(/usr/sbin/chkfontpath | %{__grep} Type1 | %{__sed} 's/[0-9]*: //g'); do
-#	if [ -e $i ]; then
-#		%{_bindir}/mkfontdb.py -s -o $i/std.sfd $i
-#	fi
-#done
-
-%changelog
-* Sun Nov 30 2003 Bernhard Herzog
-- Renamed Sketch to Skencil where applicable
-
-* Wed Jan 29 2003 Andrew Grimberg
-- Updated for 0.6.15
-- Changed 'Copyright' field to 'License' as Copyright appears to be deprecated
-
-* Mon Dec 30 2002 Andrew Grimberg
-- Commented out the postinstall script.  It doesn't appear to be fixing the 
-  problems that I was attempting to correct.  When I can figure out the fix
-  I'll get a script in to do that.
-
-* Mon Nov 04 2002 Andrew Grimberg
-- Updated the requiremnts to require python-Imaging instead of _imaging.so
-- Added a requirement for tkinter to be installed
-- Added build requirements of pythong >= 1.5.1 and pythong-Imaging
-- Added in the mkfontdb.py tool (and associated docs) into the distributed
-  rpm (wasn't doing that before)
-- Added a postinstall script to build the std.sfd file (sketch fonts database
-  for Type1 fonts) for each Type1 directory on the font path
-
-* Sat Sep 21 2002 Andrew Grimberg
-- Updated Packager: field for RPM build.
-- Moved changelog entry from Bernhard into the proper location for build of
-  rpms.  (Gotta be in descending chronological order).
-
-* Sat Sep 21 2002 Bernhard Herzog
-- Make the Packager: field empty and tweak the Version: field so that it
-  can be incorporated in the sketch 0.6 source archive.
-
-* Tue Mar 19 2002 Andrew Grimberg
-- Added in sk2ppm and skconvert to the installed package
-- Removed an unneeded pre variable (wasn't being properly used anyway)
-- Added in a cleanup from the setup.py install call
-
-* Sat Mar 16 2002 Andrew Grimberg
-- Rebuilt .spec to support user building of package and package relocation

Deleted: skencil/branches/skencil-0.6/skshow.py
===================================================================
--- skencil/branches/skencil-0.6/skshow.py	2010-09-22 12:17:50 UTC (rev 704)
+++ skencil/branches/skencil-0.6/skshow.py	2010-09-22 12:20:12 UTC (rev 705)
@@ -1,226 +0,0 @@
-#!/usr/bin/env python
-
-# Sketch - A Python-based interactive drawing program
-# Copyright (C) 2000, 2001 by Bernhard Herzog
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-
-'''\
-skshow [options] file1 [file2 ...]
-
-A slideshow for sketch files. Use space/backspace or left and right
-mouse button for navigation.
-
-Options:
- -h, --help     Print this help message
- --keep         Keep files in memory after loading them
- --preload      Load the next file in advance while the old one is shown
- --fit          Fit drawing in window
- --display=DISP The X display to use
- --geometry=GEO The size and/or position of the window in the form WxH+X+Y
-
-'''
-
-
-import sys, getopt
-
-class Options:
-    display = None
-    geometry = '640x480'
-    keep = 0
-    preload = 0
-    fit = 0
-    files = []
-
-def parse_options():
-    try:
-        opts, args = getopt.getopt(sys.argv[1:], "h",
-                                   ["display=", "geometry=", "keep", "preload", "fit" ,
-                                    "help"])
-    except getopt.error:
-        sys.stderr.write(__doc__)
-        sys.exit(0)
-
-    for opt, value in opts:
-        if opt == "--display":
-            Options.display = value
-        elif opt == "--geometry":
-            Options.geometry = value
-        elif opt == "--keep":
-            Options.keep = 1
-        elif opt == "--preload":
-            Options.preload = 1
-        elif opt == "--fit":
-            Options.fit = 1
-        elif opt in ("-h", "--help"):
-            sys.stderr.write(__doc__)
-            sys.exit(0)
-
-    Options.files = args
-
-parse_options()
-
-import Sketch
-Sketch.init_ui()
-
-import Sketch.UI.skapp, Sketch.UI.view, Sketch.load
-
-from Tkinter import BOTH
-
-
-class ShowView(Sketch.UI.view.SketchView):
-
-    def __init__(self, master=None, toplevel = None, double_buffer = 1,
-                 show_page_outline = 0, **kw):
-	apply(Sketch.UI.view.SketchView.__init__, (self, master), kw)
-        self.double_buffer = double_buffer
-        self.show_page_outline = show_page_outline
-
-    def do_clear(self, region):
-        if not self.double_buffer:
-            Sketch.UI.view.SketchView.do_clear(self, region)
-
-    def RedrawMethod(self, region = None):
-        if self.double_buffer:
-            self.gc.StartDblBuffer()
-        Sketch.UI.view.SketchView.RedrawMethod(self, region)
-        if self.double_buffer:
-            self.gc.EndDblBuffer()
-        self.tkwin.Sync()
-
-
-class MainWindow:
-
-    def __init__(self, app, files, keep = 0, preload = 0):
-        self.application = app
-        self.files = files
-        self.keep = keep
-        self.preload = preload
-        self.docs = [None] * len(self.files)
-        self.current = 0
-        self.autofill = 1
-        self.build_window()
-        self.bind_events()
-
-    def build_window(self):
-        root = self.application.root
-        self.view = ShowView(root, toplevel = root)
-        self.view.pack(fill = BOTH, expand = 1)
-	self.view.focus()
-
-    def bind_events(self):
-        self.view.bind("<Configure>", self.view_resized)
-        self.view.bind("<Map>", self.view_resized)
-        self.view.bind("<q>", self.Exit)
-        for event in ("<1>", "<n>", "<space>"):
-            self.view.bind(event, self.next_file)
-        for event in ("<3>", "<p>", "<BackSpace>"):
-            self.view.bind(event, self.previous_file)
-
-    def adjust_view(self):
-        if self.autofill:
-            if Options.fit:
-                self.view.FitToWindow()
-            else:
-                self.view.FitPageToWindow()
-            #self.view.SetScale(1.0)
-            #self.view.SetCenter((512, 384), move_contents = 0)
-
-    def view_resized(self, event):
-        self.adjust_view()
-
-    def next_file(self, *args):
-        which = self.current + 1
-        if which < len(self.files):
-            self.current = which
-            self.load_file(which)
-
-    def previous_file(self, event):
-        which = self.current - 1
-        if which >= 0:
-            self.current = which
-            self.load_file(which)
-            
-    def load_file(self, which):
-        if self.docs[which] is None:
-            filename = self.files[which]
-            doc = Sketch.load.load_drawing(filename)
-            self.docs[which] = doc
-        else:
-            doc = self.docs[which]
-        
-        self.view.SetDocument(doc)
-        self.adjust_view()
-
-        if not self.keep and which > 0 and self.docs[which - 1] is not None:
-            self.docs[which - 1].Destroy()
-            self.docs[which - 1] = None
-        
-        if self.preload:
-            self.view.after_idle(self.preload_files)
-
-    def preload_files(self, *args):
-        next = self.current + 1
-        if next < len(self.docs) and not self.docs[next]:
-            filename = self.files[next]
-            doc = Sketch.load.load_drawing(filename)
-            self.docs[next] = doc
-
-
-    def Exit(self, *args):
-        self.application.Exit()
-
-    def Run(self):
-        self.load_file(0)
-	self.application.Mainloop()
-
-    
-
-
-class SketchShowApplication(Sketch.UI.skapp.TkApplication):
-
-    tk_basename = 'sketchshow'
-    tk_class_name = 'SketchShow'
-
-    def __init__(self, files, screen_name = None, geometry = None, keep = 0,
-                 preload = 0):
-	Sketch.UI.skapp.TkApplication.__init__(self, screen_name = screen_name,
-                                               geometry = geometry)
-	self.files = files
-	self.build_window(keep, preload)
-
-    def init_tk(self, screen_name = None, geometry = None):
-	Sketch.UI.skapp.TkApplication.init_tk(self, screen_name = screen_name,
-                                              geometry = geometry)
-        Sketch.init_modules_from_widget(self.root)
-
-    def build_window(self, keep, preload):
-        #self.root.wm_maxsize(1024, 768)
-        self.main_window = MainWindow(self, self.files, keep = keep,
-                                      preload = preload)
-
-    def Run(self):
-	self.main_window.Run()
-
-    def Exit(self):
-	self.root.destroy()
-
-
-app = SketchShowApplication(Options.files, screen_name = Options.display,
-                            geometry = Options.geometry, keep = Options.keep,
-                            preload = Options.preload)
-app.Run()
-
-



More information about the Skencil-commits mailing list