/[skencil]/website/trunk/pages/relnotes.html
ViewVC logotype

Annotation of /website/trunk/pages/relnotes.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 658 - (hide annotations)
Tue Apr 11 08:22:48 2006 UTC (18 years, 10 months ago) by torsten
File MIME type: text/html
File size: 67940 byte(s)
Continued restructuring of the repository. Moved folder from skencil.org into the trunk folder.

1 jpaalasm 606 title: Skencil / Release Notes
2    
3 bh 634 <div class="section" id="skencil-0-6-17-june-19th-2005">
4     <h2><a name="skencil-0-6-17-june-19th-2005">Skencil 0.6.17 (June 19th, 2005)</a></h2>
5     <blockquote>
6     <ul class="simple">
7     <li>Prepare for Python 2.4:<ul>
8     <li>Update paxtkinter to deal with python's Tkinter changes</li>
9     </ul>
10     </li>
11     <li>The .sk file format is now the default file format in the File/Open
12     dialog. Patch by Frank Koormann</li>
13     <li>The setup.py script works on HP-UX now. Shared libraries have a .sl
14     extension there. Patch by Olivier Mehani (Savannah patch #3709).</li>
15     <li>Mouse-wheel support for the canvas. The mouse wheel scrolls up/down.
16     Savannah patch #3836 by cafeine</li>
17     <li>Updated the FAQ a bit to better match the one on the web-page.</li>
18     <li>Kinyarwanda translations by Steve Murphy. The translation seems
19     quote incomplete.</li>
20     </ul>
21     </blockquote>
22     <p>Bug Fixes:</p>
23     <blockquote>
24     <ul class="simple">
25     <li>On some systems math.atan2 raises an exception when called with two
26     zeros. Fix one occurrence in the arrow module.
27     Reported by Joel Biddier</li>
28     <li>Cancelling the drawing of a poly line or poly bezier with ESC
29     resulted in tracebacks until the next mouse click. Reported by
30     Antoon Pardon (Savannah bug #9378). Patch by Valentin Ungureanu
31     (Savannah patch #3141).</li>
32     <li>The &quot;Export Raster&quot; script gives a better error message if
33     ghostscript can't be called. Bug reported by Eric Devost</li>
34     <li>When importing EPS files, skencil didn't parse %%BeginData comments
35     correctly. Fixed by Savannah patch #3134 by Bernhard Reiter</li>
36     <li>The svg export filter now sets the winding rule for all objects to
37     even-odd. Savannah patch #3103 by Philippe Blayo, fixes Savannah bug
38     #5756 by Simon Budig.</li>
39     <li>The SVG filter handles ill-formed transform specifications a bit
40     better. The old version would hang in a regular expression match if
41     the triling closing parenthesis of e.g. a matrix specification was
42     missing. Bug report by Joel Biddier</li>
43     <li>The svg import filter also accepts capital Z as closepath command of
44     a path specification as required by the SVG specification. Savannah
45     Patch #3587 by Bernhard Reiter.</li>
46     <li>In the print dialog, when the user clicked on the file selection
47     button and cancelled the dialog, Skencil would give an exception.
48     This is now fixed.</li>
49     <li>The usage messge printed when the --help option is given on the
50     command line now correctly refers to &quot;skencil&quot; not &quot;sketch&quot; anymore.</li>
51     <li>The source URL in the spec file now refers to skencil as well. It
52     still points to sourceforge, though. Patch by Paul Dickson</li>
53     <li>The setup.py script now finds the tcl/tk libraries on OpenBSD as
54     well (savannag bug #12046)</li>
55     <li>Already in 0.6.16, but not mentioned before: Skencil's type1 font
56     parsing code could not cope with some type1 files -- files with no
57     subrs or with flexes. Now it can. Bug report by AndrĂ© Pascual</li>
58     </ul>
59     </blockquote>
60     </div>
61 jpaalasm 606 <div class="section" id="skencil-0-6-16-january-24th-2004">
62     <h2><a name="skencil-0-6-16-january-24th-2004">Skencil 0.6.16 (January 24th, 2004)</a></h2>
63     <blockquote>
64     <ul>
65     <li><p class="first">Skencil is the new name for the vector drawing program formerly known
66     as &quot;Sketch&quot;.</p>
67     <p>This is only a superficial renaming. All places in the GUI are
68     changed and the main executable is now called skencil (for backwards
69     compatibility you can also start Skencil with &quot;sketch&quot; as before).</p>
70     <p>Internally nothing has changed in this regard. The main python
71     package is still called Sketch for instance and the userspecific
72     configuration is still stored in ~/.sketch</p>
73     <p>Thanks to Frank Koormann for coming up with the name &quot;Skencil&quot;.</p>
74     </li>
75     <li><p class="first">New icons including a new icon for Skencil itself contributed by
76     Taiabati (<a class="reference" href="http://www.taiabati.it/">http://www.taiabati.it/</a>). These icons were drawn with
77     Skencil and the raster versions were created with the help of Gimp.
78     The Skencil files can be found in the Examples directory.</p>
79     </li>
80     <li><p class="first">The sk2ps.py script has a new option, --embed-fonts or -e to embed
81     the fonts used by a drawing in the postscript output. Patch by Otto
82     Tronarp</p>
83     </li>
84     <li><p class="first">The print dialog also has a check box &quot;Embed fonts&quot; now. Patch by
85     Antoon Pardon</p>
86     </li>
87     <li><p class="first">The sk2ppm.py script has a new option, --alpha-bits or -A, to make
88     ghostscript ase anti-aliasing. Patch by Tamito KAJIYAMA</p>
89     </li>
90     <li><p class="first">The skshow.py script has a new option, --fit. If given it fits the
91     bounding box of the drawing rather than the page to the window size.
92     Patch by Antoon Pardon</p>
93     </li>
94     <li><p class="first">The color dialog has RGB entry fields now. Patch by Bernhard Reiter</p>
95     </li>
96     <li><p class="first">Updated German translations</p>
97     </li>
98     <li><p class="first">Portuguese translations by Lopo Pizarro</p>
99     </li>
100     <li><p class="first">Updated French translation by Michel Robitaille</p>
101     </li>
102     <li><p class="first">Updated Swedish translations by Christian Rose</p>
103     </li>
104     <li><p class="first">WMF export filter by Lukasz Pankowski</p>
105     </li>
106     <li><p class="first">Antoon Pardon has updated the CGM filters</p>
107     </li>
108     <li><p class="first">The CGM export filter supports path text now. Patch by Lukasz Pankowski</p>
109     </li>
110     <li><p class="first">The script that reads GIMP paths is now in the Script subdirectory
111     and activated by default</p>
112     </li>
113     <li><p class="first">The center of rectangles is now also a snap point. Based on a patch
114     by Valentin Ungureanu</p>
115     </li>
116     <li><p class="first">The multi line text objects can deal with more variants of boldness
117     and other attributes in fonts. Patch by Antoon Pardon</p>
118     </li>
119     <li><p class="first">Make Sketch work with Python 2.3 without warnings:</p>
120     <ul class="simple">
121     <li>Update paxtkinter so that it works with the new Tkinter</li>
122     <li>Change hex literals so they don't trigger warnings about being
123     interpreted differently in future versions</li>
124     <li>Make sure to use ints and not floats where some C-functions expect
125     ints</li>
126     </ul>
127     </li>
128     </ul>
129     </blockquote>
130     <p>Bug Fixes:</p>
131     <blockquote>
132     <ul class="simple">
133     <li>Make sktops.py work when drawing all visible layers and the grid
134     layer is marked as visible. Patch by Andy Thaller</li>
135     <li>Sketch failed to load .sk files that contained very long lines
136     following a bezier curve. Patch by Andy Thaller</li>
137     <li>Sketch failed to load .sk files that contained empty plugin objects.
138     These objects are now simply ignored when loading such files</li>
139     <li>The SVG export filter makes sure now that text objects do not have
140     strokes. Bug reported by Peter Robins</li>
141     <li>The SVG import filter now uses a black fill by default. Bug reported
142     by John Ellson</li>
143     <li>Fixed the copyright notices which said LPGL but referred to the GPL
144     too. They now have the same license statement as all other LPGPLed
145     files</li>
146     <li>When &quot;Snap to Objects&quot; was active and a new object was created the
147     points that Sketch snapped to were not updated properly. Reported by
148     Valentin Ungureanu</li>
149     <li>Avoid attribute errors in the __del__ method of Font objects.
150     Reported by Antoon Pardon</li>
151     </ul>
152     </blockquote>
153     </div>
154     <div class="section" id="sketch-0-6-15-january-31-2003">
155     <h2><a name="sketch-0-6-15-january-31-2003">Sketch 0.6.15 (January 31, 2003)</a></h2>
156     <blockquote>
157     <ul class="simple">
158     <li>Updated CGM import/export filters from Antoon Pardon</li>
159     </ul>
160     </blockquote>
161     <p>Bug Fixes:</p>
162     <blockquote>
163     <ul class="simple">
164     <li>Fix the order of the items in the changelog in the spec-file (Andy
165     Grimberg)</li>
166     <li>When using setup.py install with the --dest-dir option make sure that
167     the correct filename is put into the bycompiled files (*.pyc). Patch
168     from Ralf Ahlbrink</li>
169     <li>Make Sketch compile with tcl/tk 8.4. Problem noticed by Michael
170     Soibelman.</li>
171     <li>In setup.py, handle the 'make' variable parameters (e.g. CC=gcc)
172     properly when they contain multiple equals signs. Patch by Sebastian
173     Stark</li>
174     <li>Allow digits in the keys of format specifiers in the format strings
175     returned by the Info method of a GraphicsObject.</li>
176     <li>The SVG import filter now handles the viewBox attribute of the svg
177     element (it doesn't handle the preserveAspectRatio attribute though).
178     The filter also makes sure that non-text object won't get a font
179     attribute and it understands more color names. Bugs reported by Keith
180     Hopper</li>
181     <li>The CMX import filter handles poly-curves with a large number of
182     points better now. Reported by Tim Wright.</li>
183     </ul>
184     </blockquote>
185     </div>
186     <div class="section" id="sketch-0-6-14-september-21st-2002">
187     <h2><a name="sketch-0-6-14-september-21st-2002">Sketch 0.6.14 (September 21st, 2002)</a></h2>
188     <blockquote>
189     <ul class="simple">
190     <li>Brasilian Portuguese translation by Wanderlei Antonio Cavassin</li>
191     <li>Swedish translations by Christian Rose</li>
192     <li>New French translation by Michel Robitaille.</li>
193     <li>New Spanish translation by Esteban Manchado VelĂ¡zquez</li>
194     <li>Updated po/README to explain about the formatting templates (%-format
195     specifiers in strings)</li>
196     <li>CGM import/export filters contributed by Antoon Pardon</li>
197     <li>New example script Script/footprints.py which contains the code of
198     the footprints script demonstrated in the Sketch presentations at
199     LinuxTag and EuroPython 2002.</li>
200     <li>Change the license statements of a few files to match those of other
201     modules (LGPL). The affected file are pdfgensaver.py, svgloader.py
202     and svgsaver.py in Plugins/Filters/ and Sketch/UI/plugindlg.py.</li>
203     <li>Already in 0.6.13: The SVG export has some basic support for Text.
204     Based on a Patch by Paul Giotta</li>
205     <li>Updated sketch.spec file based on the one Andy Grimberg used for
206     sketch-0.6.13-3.src.rpm</li>
207     </ul>
208     </blockquote>
209     <p>Internal Changes:</p>
210     <blockquote>
211     <ul class="simple">
212     <li>The pdfexport filter can now output to an existing reportlab pdfgen
213     canvas.</li>
214     <li>Remove the DEFS= lines from the Makefile.pre.in files. With them,
215     Sketch won't build with current CVS Python and probably won't with
216     2.3 either. The lines are not needed anyway for Sketch.</li>
217     <li>Added encoding declarations to some files in preparation for Python
218     2.3 which gives warnings for files that contain non-ascii characters
219     and don't have an encoding declaration.</li>
220     </ul>
221     </blockquote>
222     <p>Bug Fixes:</p>
223     <blockquote>
224     <ul class="simple">
225     <li>Applying Font settings when no object is selected (so that the
226     default settings are changed) now works again. Reported by Antoon
227     Pardon</li>
228     <li>Nodes inserted into bezier segments are now 'smooth' instead of
229     'symmetric'. Reported by Antoon Pardon</li>
230     <li>sk2ppm now works when the output filename is omitted. Bug reported by
231     Jan-Oliver Wagner</li>
232     <li>With Tcl/Tk &gt;= 8.1, filenames with non-ascii characters were not
233     handled correctly. This is better now, but it's probably not perfect.
234     Reported by Bernhard Reiter.</li>
235     <li>The SVG export filter now escapes text properly. Bug reported by
236     Stefan Eilers (SF #545267).</li>
237     <li>The extension modules in Sketch/Modules, Filter and Pax now use the
238     Python Memory API correctly as specified for Python 1.5.2 but it
239     should also be compatible with later versions including 2.3
240     (according to the discussion in April 2002)</li>
241     <li>The postscript output handles writing to an EPS file that's also
242     referenced by the drawing itself. Previously, in such cases Sketch
243     would open the eps file it was writing to again and copy the file
244     into itself filling up the file system. Bug reported by Rodrigo
245     Benenson (SF #550917)</li>
246     <li>The command Style-&gt;Update Style now works under Python 2.2 as well.
247     Bug reported by Juan Pablo Romero. Pieter Edelman pointed out that it
248     happens only under Python 2.2.</li>
249     <li>The line dialog now updates when the selected object doesn't have an
250     outline. It just checks the &quot;None&quot; checkbox in this case. In earlier
251     versions it would just ignore the selection change when the newly
252     selected object didn't have an outline. Reported by Antoon Pardon.</li>
253     <li>setup.py now looks for the tk header files in /usr/include/tclX.Y
254     (X.Y is the tcl version) as well.</li>
255     <li>Each time the line dialog was opened an empty arrow head was added to
256     the list of arrow heads making the option menu grow by one entry each
257     time the line dialog was opened. Fixed now.</li>
258     <li>Fix a typo in the simple_separation script. Spotted by Esteban
259     Manchado VelĂ¡zquez</li>
260     <li>skapp.py referenced the locale module's Error exception which didn't
261     exist in Python 1.5.2.</li>
262     </ul>
263     </blockquote>
264     </div>
265     <div class="section" id="sketch-0-6-13-march-3rd-2002">
266     <h2><a name="sketch-0-6-13-march-3rd-2002">Sketch 0.6.13 (March 3rd, 2002)</a></h2>
267     <blockquote>
268     <ul>
269     <li><p class="first">You can now assign font properties to multiple objects at once.
270     Suggested/reported/repeatedly whined about ;-) by Jeffrey Boser</p>
271     </li>
272     <li><p class="first">A multi-line text object. You can create multiline text objects with
273     the menu item Edit-&gt;Create-&gt;Multiline Text. Contributed by Christof
274     Ecker</p>
275     </li>
276     <li><p class="first">An import filter for the Acorn Drawfiles. Contributed by David
277     Boddie.</p>
278     </li>
279     <li><p class="first">The gradient editor now has a button &quot;Reverse&quot; which reverses the
280     gradient in the editor. Patch from Aurelien Gateau</p>
281     </li>
282     <li><p class="first">Updated translations: Spanish by Esteban Manchado VelĂ¡zquez, Russian
283     by Andrey Kiselev, Italian by Mauro Colorio.</p>
284     </li>
285     <li><p class="first">The wmf import filter supports a PolyPolylines now. Patch from Antoon
286     Pardon.</p>
287     </li>
288     <li><p class="first">A new command line tool, skconvert.py that converts between vector
289     formats Sketch can read and write.</p>
290     </li>
291     <li><p class="first">A new command line tool, sk2ppm to convert vector files to PPM
292     (portable pixmap)</p>
293     </li>
294     <li><p class="first">Two new sample scripts in Script:</p>
295     <p>reload_image can reload external raster images or update the preview
296     images of EPS files.</p>
297     <p>simple_separation provides a very simple form of color separation by
298     creating one ps file for each color used in the drawing.</p>
299     </li>
300     <li><p class="first">The Illustrator-import filter now gives a warning if the file looks
301     as if it's not generated by AI. Furthermore it understands text
302     alignment now.</p>
303     </li>
304     <li><p class="first">The SVG import filter parses paths more correctly now. The old
305     version didn't accept numbers without delimiters in between, which is
306     legal in an SVG path if the second number starts with a sign.</p>
307     </li>
308     <li><p class="first">Some of the scripts in the Script module are now loaded automatically
309     on startup. If you don't want that, put the line</p>
310     <p>preferences.standard_scripts = []</p>
311     <p>into ~/.sketch/preferences.py</p>
312     </li>
313     <li><p class="first">The resolution of EPS images is configurable now. You can set it with
314     in ~/.sketch/preferences.py with a line like</p>
315     <p>preferences.eps_preview_resolution = 144</p>
316     <p>In this example the resolutioin is set ot 144 pixels per inch, which
317     is twice the default value.</p>
318     </li>
319     </ul>
320     </blockquote>
321     <p>Bug Fixes:</p>
322     <blockquote>
323     <ul class="simple">
324     <li>Quote filenames of EPS files properly when rendering the preview.
325     The previous behavior was a security problem.</li>
326     <li>The setup.py script omitted the -lX11 parameter for the paxtkinter
327     module when run under Python 2.1 or with the --tk-autoconf parameter.
328     Spotted by Grant Edwards.</li>
329     <li>The PostScriptDevice's DrawLineXY method used the wrong y coordinate
330     for the end-point.</li>
331     <li>The PostScriptDevice uses floats for font sizes now.</li>
332     <li>Call setlocale to make the gettext functions work properly. There's
333     some strange interaction with tcl/tk for which Sketch/UI/skapp.py
334     contains a workaround. Reported by Gregor Hoffleit.</li>
335     <li>Not really a bug-fix, perhaps, but in SafeScripts it's now allowed to
336     call a few of the special python methods, such as __cmp__. The spread
337     script ran into this problem in some cases.</li>
338     <li>The reload panel lists the correct modules again.</li>
339     <li>In the Pax module, the CopyPlane of the pixmap objects allows another
340     pixmap as the destination drawable too.</li>
341     <li>Already done in 0.6.12: Fixed a bug in the stream filter module that
342     prevented Sketch from loading very small images embedded in Sketch
343     documents. Reported by Geoffrey T. Dairiki.</li>
344     </ul>
345     </blockquote>
346     <p>Internal Changes:</p>
347     <blockquote>
348     <ul>
349     <li><p class="first">Plugins can now have plugin specific libraries. This is done with a
350     slightly incompatible way in how the plugin path is handled.</p>
351     <p>If A plugin has additional library modules, the library modules
352     should be put into a Lib direcory in the directory where the plugin
353     is placed. Sketch will automatically create a Lib package whose
354     __path__ contains that Lib directory so that the plugin can import
355     modules from there with &quot;import Lib.module&quot;. How this works can be
356     seen in both new plugins (multi-line text and the drawfile input
357     filter).</p>
358     </li>
359     <li><p class="first">Plugins may now have an additional configuration variable,
360     load_immediately. When set to true (default false) it will cause the
361     plugin management code to load the plugin module immediately after it
362     has been scanned.</p>
363     </li>
364     <li><p class="first">The function Sketch.UI.prompt.get_sketch_modules once again correctly
365     determines which modules belong to Sketch.</p>
366     </li>
367     </ul>
368     </blockquote>
369     </div>
370     <div class="section" id="sketch-0-6-12-july-5th-2001">
371     <h2><a name="sketch-0-6-12-july-5th-2001">Sketch 0.6.12 (July 5th, 2001)</a></h2>
372     <blockquote>
373     <ul class="simple">
374     <li>View-&gt;Load Palette... also supports Gimp palette files.</li>
375     </ul>
376     </blockquote>
377     <p>Bug fixes:</p>
378     <blockquote>
379     <ul class="simple">
380     <li>The PostScript generator now handles RGBA images used as tiles
381     correctly. Reported by Andy Grimberg.</li>
382     <li>Modifying objects that lay far outside the window could lead to X
383     Errors.</li>
384     <li>Loading AI files sometimes raised exceptions with an AttributeError
385     &quot;'None' object has no attribute 'guess_continuity'&quot;. This is now
386     fixed. Reported by Eric Faurot.</li>
387     <li>The CMX import filter handles empty groups gracefully. Bug reported
388     by Yuri Shchedov.</li>
389     <li>Fix some typos in skshow's doc-string. This is basically what's
390     already done with the Debian packages.</li>
391     <li>Changing the paper format could lead to an inconsistent mapping
392     between document and window coordinates. Reported by Antoon Pardon.</li>
393     </ul>
394     </blockquote>
395     <p>Internal Changes:</p>
396     <blockquote>
397     <ul class="simple">
398     <li>The TrafoPlugin objects have a Trafo method now that returns the
399     transformation.</li>
400     <li>TrafoPlugin.__init__ now accepts a trafo object as the trafo kw-arg
401     and accepts the loading kw-arg.</li>
402     <li>The Append* methods of curve objects now raise a TypeError exception
403     when the first segment appended to a curve is not a line segment. One
404     consequence of this change is that Sketch may not be able to load
405     some sk-files anymore when they contain curves that start with a
406     bezier segment. You can use the new script Misc/fix_broken_sk_file.py
407     to fix such files.</li>
408     </ul>
409     </blockquote>
410     </div>
411     <div class="section" id="sketch-0-6-11-june-9th-2001">
412     <h2><a name="sketch-0-6-11-june-9th-2001">Sketch 0.6.11 (June 9th, 2001)</a></h2>
413     <blockquote>
414     <ul class="simple">
415     <li>Updated Spanish translation by Esteban Manchado VelĂ¡zquez</li>
416     <li>Add /usr/lib/ghostscript/fonts to the default list of font
417     directories (for debian).</li>
418     <li>Include the .spec file in the tarball and distribute the Misc
419     directory with the RPMs as documentation.</li>
420     </ul>
421     </blockquote>
422     <p>Bug fixes:</p>
423     <blockquote>
424     <ul class="simple">
425     <li>The find_include_dir function in setup.py now catches and ignores
426     OSError exceptions, too. Pointed out by Pierre HANSER.</li>
427     <li>The russian translation are now properly contained in the archive as
428     *.mo files too.</li>
429     <li>Drawings that contained non-ASCII characters in strings were not read
430     back correctly when saved under Python 2.1</li>
431     <li>The import filters now remove empty curve objects. The implementation
432     of 0.6.9 didn't cover all special cases. The new one works
433     differently but shuld catch all cases.</li>
434     </ul>
435     </blockquote>
436     </div>
437     <div class="section" id="sketch-0-6-10-may-14th-2001">
438     <h2><a name="sketch-0-6-10-may-14th-2001">Sketch 0.6.10 (May 14th, 2001)</a></h2>
439     <blockquote>
440     <ul>
441     <li><p class="first">Russian translation contributed by Andrey Kiselev</p>
442     </li>
443     <li><p class="first">Fix setup.py so that Sketch can be compiled with Python 2.1. The main
444     change here is that in Python 2.1, the _tkinter configuration can't
445     be taken from the Setup file anymore because of Python's new build
446     process.</p>
447     <p>If setup.py is run by Python 2.1 or higher it now uses the distutils
448     and code pretty much like Python's setup.py to figure out which
449     compiler flags to use for the Tk-specific C-code.</p>
450     <p>This change also introduces two new command line options for the
451     configure command:</p>
452 bh 634 <table class="docutils option-list" frame="void" rules="none">
453 jpaalasm 606 <col class="option" />
454     <col class="description" />
455     <tbody valign="top">
456 bh 634 <tr><td class="option-group" colspan="2">
457     <kbd><span class="option">--tk-flags=<var>flags</var></span></kbd></td>
458 jpaalasm 606 </tr>
459     <tr><td>&nbsp;</td><td><p class="first">Compiler flags to use for building the tk-modules. E.g.</p>
460     <p class="last">./setup.py configure --tk-flags=&quot;-L/opt/tk/lib -ltk8.2 -ltcl8.2&quot;</p>
461     </td></tr>
462 bh 634 <tr><td class="option-group">
463 jpaalasm 606 <kbd><span class="option">--tk-autoconf</span></kbd></td>
464     <td><p class="first">Determine the compiler flags for Sketch's tk-modules without
465     referring to Python's Setup file as described above. When run
466     under Python 2.1 this will always be done. You can use this flag
467     to force this mode under older Python versions.</p>
468     <p class="last">It only works if the distutils are installed. Beginning with
469     Python 1.6 the distutils are part of Python's standard library.
470     For Python 1.5.2 a separate package is available at
471     &lt;<a class="reference" href="http://www.python.org/sigs/distutils-sig/download.html">http://www.python.org/sigs/distutils-sig/download.html</a>&gt;</p>
472     </td></tr>
473     </tbody>
474     </table>
475     </li>
476     <li><p class="first">&quot;setup.py build&quot; now stops when an error occurs. This should make
477     build problems more obvious.</p>
478     </li>
479     <li><p class="first">setup.py now stops when an unknown command line flag is given.</p>
480     </li>
481     <li><p class="first">Fix the point extension type to work with Python 2.1</p>
482     </li>
483     <li><p class="first">In the print dialog, the &quot;rotate ccw.&quot; checkbutton is automatically
484     set when the document uses landscape page orientation.</p>
485     </li>
486     <li><p class="first">The SVG import filter now has basic support for text and images.
487     Contributed by John Shumway.</p>
488     </li>
489     <li><p class="first">The SVG import filter now works with Python 2.1 (and probably 2.0 as
490     well).</p>
491     </li>
492     <li><p class="first">The virtual size of the canvas is much larger now to accomodate large
493     paper sizes better.</p>
494     </li>
495     <li><p class="first">The generator scripts in Pax/Generate create ANSI prototypes now</p>
496     </li>
497     </ul>
498     </blockquote>
499     <p>Bug fixes:</p>
500     <blockquote>
501     <ul class="simple">
502     <li>In the SVG export filter, add a missing space in the radial gradients
503     SVG code, and set gradientUnits=&quot;userSpaceOnUse&quot; in linear and radial
504     gradients. Pointed out by Laetitia MARIN.</li>
505     <li>The warning module would throw exceptions instead of printing error
506     when plugin directories were not readable. Pointed out by Jonathan
507     Soons.</li>
508     <li>The computation of the bounding rectangles of an ellipse threw
509     exceptions on some platforms in some cases. Pointed out by Damien
510     Chrisment</li>
511     <li>Catch import errors for plugins better in mainwindow.py. In earlier
512     versions an import error in e.g. the SVG import filter would abort
513     the entire application.</li>
514     <li>Fix a bug in the PDF export filter that gave filled arrows the wrong
515     color.</li>
516     <li>Python 2.1 exposed a bug in the rect implementation that gave a
517     document an infinite bounding box in some cases.</li>
518     <li>Changes in the paperformat have the proper effect now on the position
519     of the page on the virtual canvas.</li>
520     <li>Fixed the _type1module to work with Python 2.0.</li>
521     </ul>
522     </blockquote>
523     </div>
524     <div class="section" id="sketch-0-6-9-march-1st-2001">
525     <h2><a name="sketch-0-6-9-march-1st-2001">Sketch 0.6.9 (March 1st, 2001)</a></h2>
526     <blockquote>
527     <ul>
528     <li><p class="first">Italian translation contributed by Mauro Colorio.</p>
529     </li>
530     <li><p class="first">Bernhard Reiter contributed an expanded version of the
531     export_raster.py script which lets you set more parameters in the
532     dialog. It is now in the Script package so that you can import it
533     with the line</p>
534     <p>import Script.export_raster</p>
535     <p>In your ~/.sketch/userhooks.py.</p>
536     </li>
537     <li><p class="first">The sk2ps script now has a --rotate/-r option to rotate the drawing.
538     Useful to print landscape format drawings.</p>
539     </li>
540     <li><p class="first">The line properties dialog no longer sets the color to None when a
541     group or other object is selected that doesn't have line properties</p>
542     </li>
543     <li><p class="first">Slightly updated FAQ list.</p>
544     </li>
545     </ul>
546     </blockquote>
547     <p>Bug fixes:</p>
548     <blockquote>
549     <ul class="simple">
550     <li>In some cases the PostScript generator rounded text-coordinates to
551     integers instead of using floats. Pointed out by Kai-Uwe Behrmann.</li>
552     <li>The PDF-export filter supports arrow heads now and handles dash
553     patterns correctly.</li>
554     <li>The XFig import filter supports dashes now</li>
555     <li>Fix a small problem in the SVG inport filter's handling of
556     coordinates in %-units. Patch provided by Philipp Matthias Hahn</li>
557     <li>Several fixes to make Sketch work with Python 2.0. Thomas Gellekum
558     contributed a patch for Sketch/Modules/skcolor.c and Ron Shonkwiler
559     pointed out problems in Pax when using PseudoColor visuals that are
560     also fixed now.</li>
561     <li>In tk versions &gt;= 8.1, key stroke events with non-ASCII characters
562     should work once more for Latin1 characters. Those tk-versions report
563     characters as UTF8 which confused Sketch. Reported by Armin Geisse</li>
564     <li>Fixed a small name error in selection.py which could be triggered by
565     buggy user scripts</li>
566     <li>Fix a bug in generating the warning message when keystrokes are
567     overridden by userhooks.py</li>
568     <li>The import filters are a bit more robust. They ignore empty curve
569     objects automatically</li>
570     </ul>
571     </blockquote>
572     </div>
573     <div class="section" id="sketch-0-6-8-august-12th-2000">
574     <h2><a name="sketch-0-6-8-august-12th-2000">Sketch 0.6.8 (August 12th, 2000)</a></h2>
575     <blockquote>
576     <ul>
577     <li><p class="first">Styles can now have explicitly empty fill and line properties.</p>
578     </li>
579     <li><p class="first">&lt;Ctrl-Space&gt; now does the same as &lt;Space&gt; alone, that is, switch
580     between selection- and edit-mode. Unlike &lt;Space&gt;, &lt;Ctrl-Space&gt; also
581     works when editing text.</p>
582     </li>
583     <li><p class="first">Pressing Ctrl when moving objects or Bezier-nodes now also constrains
584     to diagonals in addition to horizontal and vertical movement. Based
585     on a patch by Antoon Pardon.</p>
586     </li>
587     <li><p class="first">You can now click and drag a bezier segment in edit mode. Based on
588     demo code by Simon Budig.</p>
589     </li>
590     <li><p class="first">Sketch can write PDF files now. For this feature you need reportlab
591     from &lt;<a class="reference" href="http://www.reportlab.com">http://www.reportlab.com</a>&gt;. This filter is quite complete, but
592     there are some limitations. It doesn't suport embedded EPS files,
593     tiled image fills, fonts that aren't among PDFs builtin fonts (it
594     will use Times-Roman instead), and some more esoteric features.</p>
595     <p>Note that reportlab 1.0 has some bugs that affect Sketch. They're
596     already fixed in CVS, so they should be in their next release.</p>
597     </li>
598     <li><p class="first">The SVG export filter supports radial and axial gradients now.</p>
599     </li>
600     <li><p class="first">Guide-lines no longer snap to other guide-lines when dragging them
601     but they still snap to guide-objects (i.e. objects on the guide layer
602     that are not guide-lines).</p>
603     </li>
604     </ul>
605     </blockquote>
606     <p>Bug fixes:</p>
607     <blockquote>
608     <ul class="simple">
609     <li>Give a meaningful error message when trying to print a document that
610     has no printable layers. Previous versions would fail with a
611     traceback in that case. The bug affected both File-&gt;Save as
612     PostScript and the Print dialog. Reported by Michael Walton.</li>
613     <li>In setup.py, use sys.exec_prefix to determine the location of
614     &quot;Setup&quot;. Patch contributed by Tessa Lau</li>
615     <li>Sometimes the allocation of a shared memory image fails even though
616     tests at startup showed that they're supported (a common problem on
617     Solaris due to a default configuration which only allows relatively
618     small shared memory images). This case is handled more gracefully
619     now.</li>
620     <li>setup.py now also looks in Setup.local (in addition to Setup) for the
621     tkinter configuration. Pointed out by Daisuke Yabuki.</li>
622     <li>In paxtkinter, initialize the Tcl interpreter properly. The old
623     incorrect way was causing problems with a japanese
624     internationalization patch. Pointed out by Daisuke Yabuki.</li>
625     <li>The rectangle object used to print a lot of tracebacks in edit mode
626     when the user didn't select a handle. Fixed now.</li>
627     <li>The information about the currently selected object in the status-bar
628     wasn't always updated correctly</li>
629     </ul>
630     </blockquote>
631     <p>Internal Changes:</p>
632     <blockquote>
633     <ul class="simple">
634     <li>The stream-filter module includes ASCII85 encode and decode filters
635     and some bug-fixes.</li>
636     </ul>
637     </blockquote>
638     </div>
639     <div class="section" id="sketch-0-6-7-may-5th-2000">
640     <h2><a name="sketch-0-6-7-may-5th-2000">Sketch 0.6.7 (May 5th, 2000)</a></h2>
641     <blockquote>
642     <ul class="simple">
643     <li>The missing import of the plugins module that prevented Sketch from
644     loading any vector files, including it's native sk-format, is fixed.</li>
645     <li>Correction: The changes in the PIL import code in Sketch 0.6.6 do not
646     make it work with the PIL packages in SuSE Linux 6.2 and 6.3 out of
647     the box. Those packages are broken and have to be fixed as described
648     in INSTALL. The same applies to SuSE 6.4.</li>
649     </ul>
650     </blockquote>
651     </div>
652     <div class="section" id="sketch-0-6-6-april-30th-2000">
653     <h2><a name="sketch-0-6-6-april-30th-2000">Sketch 0.6.6 (April 30th, 2000)</a></h2>
654     <p>New or Changed Features:</p>
655     <blockquote>
656     <ul>
657     <li><p class="first">French translations contributed by Yves Ceccone and FrĂ©dĂ©ric
658     Toussaint.</p>
659     </li>
660     <li><p class="first">Updated Spanish translations provided by Esteban Manchado VelĂ¡zquez.</p>
661     </li>
662     <li><p class="first">A few new scripts in the Scripts package: average_points,
663     create_star_outline, inspect_beziers and create_spiral, contributed
664     by Tamito KAJIYAMA and spread which defines eight scripts to
665     distribute the selected objects in various ways, contributed by
666     Michael LoĂŸin</p>
667     </li>
668     <li><p class="first">A new command line option, --run-script &lt;scriptfile&gt;, which executes
669     the file scriptfile on startup after creating the widgets and either
670     creating an empty new document or loading a document from a file if a
671     document filename was supplied on the command line.</p>
672     <p>The script is executed by execfile() with a globals dictionary
673     containg a 'context' object just like a normal user script.</p>
674     </li>
675     <li><p class="first">If a directory is given on the command line instead of a normal file,
676     Sketch now opens a file open dialog with that directory (suggested by
677     François Pinard).</p>
678     </li>
679     <li><p class="first">A simple slideshow tool, skshow.py. It's installed together with
680     sketch.py and sk2ps.py. Run it with the --help option to get more
681     information on how it works. (originally written as an example for
682     Christof Ecker)</p>
683     </li>
684     <li><p class="first">A new crosshairs style cursor, activated by the menu item
685     View-&gt;Crosshairs. If snapping is active, this cursor is warped to a
686     snap point if the mouse pointer is near one. (suggested by Rainer
687     Menzner)</p>
688     </li>
689     <li><p class="first">The &quot;Zoom Area&quot; tool can also zoom out now by holding the control key
690     when releasing the mouse button.</p>
691     </li>
692     <li><p class="first">New sections in the Developer's Guide about the connector module and
693     plugin objects.</p>
694     </li>
695     <li><p class="first">A new file Misc/magic with an entry for your magic file, as used by
696     e.g. file(1). Contributed by Michael LoĂŸin.</p>
697     </li>
698     <li><p class="first">An FAQ list.</p>
699     </li>
700     </ul>
701     </blockquote>
702     <p>Bug Fixes:</p>
703     <blockquote>
704     <ul class="simple">
705     <li>Updated the AI import filter a bit to deal with Illustrator 8 files.
706     (Reported by Fritz Heinrichmeyer).</li>
707     <li>The Python Imaging Library is used as a package now. Some people want
708     to install PIL without the PIL.pth file because of name conflicts
709     with e.g. Zope. This change also makes Sketch work with the pil rpm
710     of SuSE Linux 6.2-6.3 out of the box.</li>
711     <li>The PostScript generator now treats dashes for lines with widths less
712     than 1 point as the screen drawing routines. I.e. the lengths of the
713     dash are computed as if the line width was 1 pt.</li>
714     <li>Fix the bug in the PostScript generator that produced incorrect
715     dashes if two lines with same logical dash-pattern but different line
716     widths were printed one immediately after the other.</li>
717     <li>The View-&gt;Outline checkbox menu item now reflects the outline status
718     correctly</li>
719     <li>The eval() security hole in the xfig import filter should be plugged
720     now.</li>
721     <li>The &quot;Update From...&quot; button in the plugin object dialogs works now.</li>
722     <li>Fixed a bug that caused objects to share fill patterns when assigning
723     fill properties to several objects at once. E.g. assigning an axial
724     gradient to two objects and then transforming one of the objects
725     would modify the gradient of he other object as well.</li>
726     <li>Changed a few places where pointers were cast to ints to support
727     64bit systems properly (reported by Philipp Reisner).</li>
728     <li>Fixed the AFM file parser to accept floating point numbers in various
729     places as the specification says (reported by Rainer Menzner).</li>
730     <li>Fixed a bug where the selection info wasn't updated properly. To
731     reproduce it in 0.6.5: Select the text tool and click somewhere but
732     don't type anything. Select the text tool again and click somewhere
733     else, type something, go to selection mode and press DEL. (reported
734     by Darren Stalder)</li>
735     <li>In mainwindow.py, bzip2 isn't called with the -c flag anymore. that
736     flag isn't necessary here anyway and some bzip2 versions didn't like
737     it. (reported by Michael Lossin)</li>
738     <li>Cutting/copying and pasting path text objects works now. (reported by
739     Michael Lossin)</li>
740     </ul>
741     </blockquote>
742     <p>Internal Changes:</p>
743     <blockquote>
744     <ul class="simple">
745     <li>In preparation for Python 1.6, checked for and corrected list appends
746     with more than one argument.</li>
747     <li>Initialization is a bit simpler now. Programs that use Sketch as a
748     library no only require that the Sketch module is in sys.path and
749     they have to call Sketch.init_lib(). If they want to use the Tk part
750     of Sketch as well they have to call Sketch.init_ui() which implicitly
751     also calls init_lib().</li>
752     <li>The default properties for Text-objects created by scripts have
753     changed. They used to have an empty fill pattern, but a black
754     outline, which doesn't make sense and really was a bug. Now they have
755     a black uniform fill and no outline.</li>
756     <li>The po files are now created with xpot from po-utils. See po/README.</li>
757     <li>The wrapper object for safe scripts doesn't complain about __cmp__
758     and __coerce__ anymore.</li>
759     </ul>
760     </blockquote>
761     </div>
762     <div class="section" id="sketch-0-6-5-february-10th-2000">
763     <h2><a name="sketch-0-6-5-february-10th-2000">Sketch 0.6.5 (February 10th, 2000)</a></h2>
764     <blockquote>
765     <ul class="simple">
766     <li>&quot;Snap To Objects&quot; now also works for raster images and eps files.
767     They can even be used as guides by moving them onto the guide layer.
768     They behave just like rectangles in this regard.</li>
769     <li>bzip2 compressed sk-files (and also ai and svg) can now be
770     uncompressed transparently if bzip2 is installed. The same
771     functionality for gzip was already present in 0.5.0.</li>
772     <li>A new example script, Script/save_selection.py that saves the current
773     selection as an eps file.</li>
774     <li>More accurate papersizes for the A&lt;n&gt; formats, contributed by Martin
775     Glaser. The sizes used to be derived from first principles, so to
776     speak, everytime on start up, but that does not yield exactly the
777     same values that the standard defines. The old code is still there in
778     Sketch/Graphics/papersize.py, if you're curious.</li>
779     <li>The way paper formats are stored in the sk-files has changed
780     slightly. Only formats of a fixed list are stored by name now, for
781     all others only the dimensions are saved. This was done to prevent
782     problems if users add new formats in their userhooks.py.</li>
783     <li>The 'layer up' button in the layer dialog works now.</li>
784     <li>The DSC parser, used for e.g. extracting the bounding box of EPS
785     files, can cope with non-Unix line separator conventions.</li>
786     <li>Fixed a bug in the code that draws axial (linear) gradients on the
787     screen. In some cases the direction of diagonal the gradients was
788     incorrect, most noticable for very large border values. Postscript
789     output was not affected.</li>
790     <li>Removed .ps and .eps from the list of possible file name extensions.
791     They misled users to assume that File-&gt;Open was the way to load EPS
792     files.</li>
793     <li>The --imaging-include option of setup.py should work properly with
794     relative filenames now.</li>
795     <li>Removed the GPL copyright notices from Pax/clipmask.[ch] because they
796     shouldn't be there. Those files have the same license as the rest of
797     the code in Pax.</li>
798     <li>Fixed a typo in Resources/Fontmetrics/gs.sfd. The font in line 2 is
799     URWGothicL-Book</li>
800     <li>&quot;Zoom Out&quot; was translated incorrectly in de.po</li>
801     <li>Added -lm to _sketchmodule in Sketch/Modules/Setup.config and
802     Sketch/Modules/Setup.in</li>
803     </ul>
804     </blockquote>
805     </div>
806     <div class="section" id="sketch-0-6-4-january-11th-2000">
807     <h2><a name="sketch-0-6-4-january-11th-2000">Sketch 0.6.4 (January 11th, 2000)</a></h2>
808     <blockquote>
809     <ul>
810     <li><p class="first">Fixed a bug in Sketch's postscript procset
811     (Resources/Misc/sketch-proc.ps) that caused problems when a
812     sketch-eps that contains eps's that use showpage was embedded in a ps
813     file which was then run through psnup (got that? :) ) To reproduce
814     it, create an eps with dvips, embed it in a Sketch drawing, export as
815     eps, embed it in a tex-document, create a psfile from that with dvips
816     and 'psnup -2' it. The resulting psfile executes a superfluous
817     showpage at the end of the embedded tex-eps.</p>
818     </li>
819     <li><p class="first">Blending of two path-text objects works now. In previous versions
820     attempting this would leave the document in an inconsistent state and
821     the user couldn't undo the operation or even save properly.</p>
822     </li>
823     <li><p class="first">Fixed bugs in the type1 font file parser and the underlying
824     postscript tokenizer. Some type 1 font files caused segfaults in the
825     tokenizer (e.g. the UTB_____.pfa font that comes with X11).</p>
826     </li>
827     <li><p class="first">Updated Spanish translation provided by Esteban Manchado VelĂ¡zquez.</p>
828     </li>
829     <li><p class="first">More color icons provided by Panos Katsaloulis. Again, if you want to
830     use them, put the line</p>
831     <p>preferences.color_icons = 1</p>
832     <p>into ~/.sketch/preferences.py .</p>
833     </li>
834     <li><p class="first">Misc/export_raster.py: additional boolean parameter for the
835     export_raster and export_alpha functions, use_bbox. If use_bbox is
836     true only render the contents of the bounding rectangle, otherwise
837     render the entire page.</p>
838     </li>
839     <li><p class="first">Added Misc/Symbolgroup/, a plugin-object that can be used to build a
840     simple symbol library. See Misc/Symbolgroup/README for more details.</p>
841     </li>
842     <li><p class="first">setup.py: Give a more meaningful error message if _tkinter is not
843     configured in Python's Setup</p>
844     </li>
845     <li><p class="first">The mkfontdb.py script can also generate ghostscript Fontmap files
846     now thanks to Jeffrey Boser. The script is now at version 1.3.</p>
847     </li>
848     </ul>
849     </blockquote>
850     </div>
851     <div class="section" id="sketch-0-6-3-december-1st-1999">
852     <h2><a name="sketch-0-6-3-december-1st-1999">Sketch 0.6.3 (December 1st, 1999)</a></h2>
853     <blockquote>
854     <ul>
855     <li><p class="first">The default properties for new objects can be set now by pressing the
856     apply button in the fill-, line- and font-dialogs when no object is
857     selected. Sketch will ask whether graphics objects or text objects
858     should be affected. You can select both, of course.</p>
859     <p>If you don't like this behavior, you can switch it off by putting the
860     following line into your ~/.sketch/preferences.py:</p>
861     <p>preferences.set_default_properties = 0</p>
862     </li>
863     <li><p class="first">A new button in the lower left corner of the main window (with an X
864     bitmap) that is equivalent to Style/No Fill when pressed with the
865     left mouse button and equivalent to Style/No Line when pressed with
866     the middle mouse button.</p>
867     </li>
868     <li><p class="first">When editing bezier curves, the ctrl-key now restricts the movement
869     of nodes to horizontal and vertical and when dragging a control
870     point, the angle of the tangent is restricted to multiples of 15
871     degrees.</p>
872     </li>
873     <li><p class="first">When drawing bezier curves the ctrl-key now restricts the slope of
874     the tangent to multiples of 15 degrees.</p>
875     </li>
876     <li><p class="first">When drawing poly-lines, the ctrl-key now restricts the slopes of the
877     lines to multiples of 15 degrees.</p>
878     </li>
879     <li><p class="first">Selecting a blend group works a little different now, so that
880     clicking on the interpolation selects the entire blend group. In
881     earlier versions only the interpolation object was selected in that
882     case. Clicking on a control object of a blend group still selects
883     just the control object. (The blend group object contains both the
884     control objects and the interpolation objects).</p>
885     <p>The reason for this change is that it makes it easier to select two
886     blend groups to create an interpolation betweem them.</p>
887     <p>The change also affects the blend dialog if the selected blend group
888     has more than one control object. To change the number of steps in an
889     interpolation you have to select the interpolation object by holding
890     Ctrl and Shift when clicking on the object, just like you would with
891     a normal group to select a contained object.</p>
892     </li>
893     <li><p class="first">A small change in the way Sketch determines which handle to drag when
894     editing a bezier curve: When a node and one of its control points
895     coincide, it was impossible to drag the control point. Now Sketch
896     selects the control point in that case. Coinciding nodes and control
897     points can occur when gridding is on and they're often found
898     Illustrator files.</p>
899     </li>
900     <li><p class="first">There's a new directory Misc/ that contains some scripts that I use
901     occasionally. These scripts are somewhat unpolished and will probably
902     need some tweaking to fit your needs.</p>
903     <p>I also consider them 'half-supported', that is I test and fix them
904     only as far as I actually use them.</p>
905     <p>There are two scripts at the moment. One lets you export raster
906     images via ghostscript, and the other reads paths exported by Gimp.</p>
907     </li>
908     <li><p class="first">A small reorganization of the sfd files in Resources/Fontmetrics. The
909     Charter and Utopia fonts are now listed in a separate file gsopt.sfd.</p>
910     <p>The rationale behind this is that std.sfd contains the standard
911     postscript files--in as far as that can be defined--like Times-Roman
912     or Courier. gs.sfd lists the URW fonts that make up the standard
913     ghostscript fonts, which are basically clones of the standard
914     postscript fonts. gsopt.sfd lists optional ghostscript fonts.</p>
915     </li>
916     <li><p class="first">The afm-file parser is more tolerant now. It had problems with empty
917     lines.</p>
918     </li>
919     <li><p class="first">fixed a bug that made the context command 'Select Mask' fail.</p>
920     </li>
921     <li><p class="first">fixed a bug that caused the first few characters of a path-text to be
922     misplaced if the start position coincided with a node (but not the
923     start-node) of the curve-object.</p>
924     </li>
925     <li><p class="first">Fixed a small bug in the cmxfilter that flipped the orientation of
926     conical gradients.</p>
927     </li>
928     <li><p class="first">The command line option --version works again.</p>
929     </li>
930     <li><p class="first">There a new option for ~/.sketch/preferences.py, fallback_font. This
931     is the name of the font to use when a font or the corresponding
932     metrics can't be found. The default is 'Times-Roman'</p>
933     </li>
934     <li><p class="first">Added a note about the slightly broken pyimglib package in SuSE Linux
935     6.2 to the INSTALL file.</p>
936     </li>
937     <li><p class="first">Fixed a few typos in the German translation.</p>
938     </li>
939     <li><p class="first">Updated Spanish translation provided by Esteban Manchado VelĂ¡zquez.</p>
940     </li>
941     <li><p class="first">Added a new section about export filters to the developer's guide.</p>
942     </li>
943     <li><p class="first">setup.py parsed macro definitions in Setup incorrectly. This is fixed
944     now. I also documented the --python-setup option.</p>
945     </li>
946     <li><p class="first">setup.py's build command accepts arguments of the form &lt;KEY&gt;=&lt;VALUE&gt;
947     now. These are passed through to make to let you override variables
948     like CC or OPT. See the generated Makefiles or Makefile.pre.in for
949     more details.</p>
950     </li>
951     <li><p class="first">The mkfontdb.py script knows a few more foundries and has a new
952     commandline option '-f' to specify the foundry used when it can't be
953     determined from the afm-file. I also increased its version to 1.2</p>
954     </li>
955     </ul>
956     </blockquote>
957     </div>
958     <div class="section" id="sketch-0-6-2-september-19th-1999">
959     <h2><a name="sketch-0-6-2-september-19th-1999">Sketch 0.6.2 (September 19th, 1999)</a></h2>
960     <blockquote>
961     <ul>
962     <li><p class="first">Import/Export filters for the proposed Web-standard for vector
963     graphics, SVG. For the import filter, but not for the export filter,
964     you need the Python xml-package; see the INSTALL file for details on
965     where to get it.</p>
966     <p>Both filters are very primitive at the moment and only handle some
967     simple shapes and fills/strokes. In particular, there's no support
968     for Text or gradient fills among others yet.</p>
969     </li>
970     <li><p class="first">Cleaned up the documentation to have less practically empty
971     HTML-files and extended the section on font-configuration. It
972     contains information about Sketch's font-path and on how to add
973     fonts.</p>
974     </li>
975     <li><p class="first">Converted the images in the docs to the PNG format.</p>
976     </li>
977     <li><p class="first">When editing text objects, you can position the caret with the mouse
978     now.</p>
979     </li>
980     <li><p class="first">The create_star script is now interactive. It pops up a modal dialog
981     asking for the parameters of the star as an example how to use
982     dialogs is user scripts.</p>
983     </li>
984     <li><p class="first">The sample scripts select_same_line_color.py and
985     select_same_fill_color.py are substantially faster now if there's a
986     large number of objects to be selected.</p>
987     </li>
988     <li><p class="first">The help message in setup.py is more compact now, thanks to Gregor
989     Hoffleit.</p>
990     </li>
991     <li><p class="first">Fixed a bug in the XFig filter that lead to the rejection of files
992     with &quot;Flush Left&quot; justification (as generated by pstoedit, for
993     example).</p>
994     </li>
995     <li><p class="first">The AI import filter handles text in ai-files generated by ps2ai
996     better now.</p>
997     </li>
998     <li><p class="first">The AI filter understands font encodings now.</p>
999     </li>
1000     <li><p class="first">Fixed Sketch/Modules/skrect.c and Sketch/Modules/skcolor.c to avoid
1001     Problems with GCC 2.95.</p>
1002     </li>
1003     <li><p class="first">Fixed Sketch's font code to not require the EncodingScheme key in
1004     afm-files. This key is optional and is not present in afm-files
1005     generated by ttf2pfa, for instance.</p>
1006     </li>
1007     </ul>
1008     </blockquote>
1009     </div>
1010     <div class="section" id="sketch-0-6-1-august-5th-1999">
1011     <h2><a name="sketch-0-6-1-august-5th-1999">Sketch 0.6.1 (August 5th, 1999)</a></h2>
1012     <blockquote>
1013     <ul>
1014     <li><p class="first">Spanish messages contributed by Esteban Manchado VelĂ¡zquez.</p>
1015     </li>
1016     <li><p class="first">Color Icons contributed by Panos Katsaloulis. They're not used by
1017     default because the set of icons is not complete yet. If you like,
1018     you can switch them on by putting the line</p>
1019     <p>preferences.color_icons = 1</p>
1020     <p>into ~/.sketch/preferences.py .</p>
1021     </li>
1022     <li><p class="first">The cursor now changes when the mouse is over a selected object or a
1023     guide line. You can switch this feature off by adding the line</p>
1024     <p>preferences.active_cursor = 0</p>
1025     <p>to ~/.sketch/preferences.py .</p>
1026     </li>
1027     <li><p class="first">The AI export filter handles axial and radial gradients now.</p>
1028     </li>
1029     <li><p class="first">The AI import filter understands gradients better now. In particular,
1030     it can handle AI files with gradients created by Corel Draw correctly
1031     now (I hope).</p>
1032     </li>
1033     <li><p class="first">The AI import filter knows about guides and places all guides in an
1034     AI-file on the guide layer. In former versions the guide paths were
1035     mixed with normal paths resulting in incorrect paths.</p>
1036     </li>
1037     <li><p class="first">The CMX import filter also loads radial and conical gradients now (in
1038     addition to axial gradients).</p>
1039     </li>
1040     <li><p class="first">Fixed the bug that caused multiple handles at the same position to
1041     become invisible in some situations.</p>
1042     </li>
1043     <li><p class="first">Two new sample scripts, create_star and create_text.</p>
1044     </li>
1045     <li><p class="first">I added a section to the user scripts documentation, covering 'common
1046     tasks' like the creation of objects, manipulating objects and
1047     manipulating the current selection.</p>
1048     </li>
1049     <li><p class="first">The postscript file generated for a landscape drawing now has a
1050     %%Orientation: Landscape comment, if the 'rotate ccw' button is
1051     checked.</p>
1052     </li>
1053     <li><p class="first">Updated paxtkinter to work with Tcl/Tk 8.1.</p>
1054     </li>
1055     </ul>
1056     </blockquote>
1057     </div>
1058     <div class="section" id="sketch-0-6-0-may-18th-1999">
1059     <h2><a name="sketch-0-6-0-may-18th-1999">Sketch 0.6.0 (May 18th, 1999)</a></h2>
1060     <blockquote>
1061     <ul>
1062     <li><p class="first">Support for non-english messages via gettext. Run setup.py with the
1063     '--with-nls' option to activate this. So far there's only support for
1064     German.</p>
1065     <p>If you want to add support for a new language, have a look at
1066     po/README.</p>
1067     </li>
1068     <li><p class="first">The symbolic links created by `setup.py install' use relative
1069     filenames now.</p>
1070     </li>
1071     <li><p class="first">The Developer's Guide has some more documentation on how to implement
1072     import filters</p>
1073     </li>
1074     <li><p class="first">The Illustrator export filter handles embedded raster images and
1075     some text.</p>
1076     </li>
1077     <li><p class="first">The Illustrator import filter handles some embedded raster image formats.</p>
1078     </li>
1079     <li><p class="first">Fixed a bug when placing objects (e.g. raster images) while in
1080     creation mode.</p>
1081     </li>
1082     <li><p class="first">Fixed a bug in the PostScript generator, that could lead to wrong
1083     fill/stroke colors.</p>
1084     </li>
1085     <li><p class="first">When drawing poly-lines and you start with just a mouse-click and no
1086     drag, only only the starting point is defined. If you drag, the first
1087     two points are defined.</p>
1088     <p>The old behavior was to always create the first two points which
1089     resulted in zero-length first segment if the mouse wasn't dragged.</p>
1090     </li>
1091     <li><p class="first">The reset button in the align dialog has been removed. To switch off
1092     alignment in one direction, click on the sunken button.</p>
1093     </li>
1094     <li><p class="first">The Type1 font parser is smarter. The old parser had problems with
1095     fonts using Mac line separators.</p>
1096     </li>
1097     </ul>
1098     </blockquote>
1099     </div>
1100     <div class="section" id="sketch-0-5-5-april-22nd-1999">
1101     <h2><a name="sketch-0-5-5-april-22nd-1999">Sketch 0.5.5 (April 22nd, 1999)</a></h2>
1102     <ul>
1103     <li><p class="first">Improved import filters:</p>
1104     <ul class="simple">
1105     <li>AI import filter has some text support now for point text and path
1106     text and it handles transformed gradients slightly better</li>
1107     <li>The WMF import filter is much more stable and complete now. The
1108     version distributed with 0.5.4 was very incomplete and buggy.</li>
1109     <li>The CMX import filter is much more stable and complete now. The
1110     version distributed with 0.5.4 was very incomplete. The new version
1111     suports 32 bit files.</li>
1112     </ul>
1113     </li>
1114     <li><p class="first">The rulers now obey the default unit settings.</p>
1115     </li>
1116     <li><p class="first">The vertical rulers can display the text either horizontally,
1117     vertically (similar to GTK) or rotated (my favourite). The default is
1118     horizontally.</p>
1119     <p>You configure this by appending</p>
1120     <p>preferences.ruler_text_type = TYPE</p>
1121     <p>to ~/.sketch/preferences.py (edit this file while Sketch is not
1122     running). TYPE can be either 'horizontal', 'vertical' or 'rotated'
1123     (including the quotes!).</p>
1124     <p>The font for the rulers is determined by preferences.ruler_font for
1125     normal horizontal characters and preferences.ruler_font_rotated for
1126     rotated text. The default values are:</p>
1127     <p>preferences.ruler_font = '-<em>-helvetica-medium-r-</em>-<em>-10-</em>-<em>-</em>-<em>-</em>-iso8859-1'
1128     preferences.ruler_font_rotated = '-<em>-helvetica-medium-r-</em>-<em>-[0 10 ~10 0]-</em>-<em>-</em>-<em>-</em>-iso8859-1'</p>
1129     <p>If you use rotated text, ruler_font_rotated must be compatible with
1130     ruler_font, i.e. one must be a rotated version of the other.</p>
1131     <p>The '[0 10 ~10 0]' is a transformation matrix which rotates the
1132     characters by 90 degrees counter clockwise. This syntax was introduced
1133     in X11R6, so to use this your X server must be compatible with that
1134     X11 release.</p>
1135     <p>Depending on the quality of your font renderer and your
1136     X-configuration, the rotated fonts might look quite ugly, so you might
1137     have to test a number of different fonts to get good results. On my
1138     system, these settings are quite acceptable:</p>
1139     <p>preferences.ruler_font = '-<em>-lucida-medium-r-</em>-<em>-11-</em>-<em>-</em>-<em>-</em>-iso8859-1'
1140     preferences.ruler_font_rotated = '-<em>-lucida-medium-r-</em>-<em>-[0 11 ~11 0]-</em>-<em>-</em>-<em>-</em>-iso8859-1'
1141     preferences.ruler_text_type = 'rotated'</p>
1142     </li>
1143     <li><p class="first">The align dialog allows you to align the selected objects relative to
1144     the lowermost one. It would probably be better to use the first
1145     selected object instead, but that's not possible with Sketch at the
1146     moment, due to its implementation.</p>
1147     </li>
1148     <li><p class="first">Fixed a byte order bug that resulted in wrong colors for images on a
1149     big-endian X-server.</p>
1150     </li>
1151     <li><p class="first">Fixed some mask-group bugs: The Effects| Create Maskgroup entry is now
1152     grayed out correctly again and ungrouping the mask group places the
1153     mask on top of the objects now. Both bugs were introduced when I
1154     changed the behaviour of Create Maskgroup for Sketch 0.5.3.</p>
1155     </li>
1156     <li><p class="first">The AddFunction function of the script-registry has a new keyword
1157     parameter 'args'. See the user's guide for more details.</p>
1158     </li>
1159     <li><p class="first">If you delete all characters of a text object (with backspace or DEL)
1160     and then select a different object or change into another mode, the
1161     now empty text-object is removed from the drawing.</p>
1162     </li>
1163     </ul>
1164     </div>
1165     <div class="section" id="sketch-0-5-4-march-17th-1999">
1166     <h2><a name="sketch-0-5-4-march-17th-1999">Sketch 0.5.4 (March 17th, 1999)</a></h2>
1167     <ul>
1168     <li><p class="first">A user scripting facility. The user's guide has a new section about
1169     user scripts to get you started. The mechanisms to hook user scripts
1170     into Sketch are somewhat experimental, though and may change.</p>
1171     </li>
1172     <li><p class="first">A new import filter for Corel's CMX format. The filter is incomplete
1173     and only handles 16bit CMX files, because I only have sample files for
1174     that CMX-version.</p>
1175     </li>
1176     <li><p class="first">A new import filter for Windows Metafiles (WMF), again incomplete.</p>
1177     </li>
1178     <li><p class="first">The tooltips are active by default now.</p>
1179     </li>
1180     <li><p class="first">Setting the unit of the position indicator in the status bar (via its
1181     context menu) also sets the default unit used else where in Sketch.</p>
1182     </li>
1183     <li><p class="first">The dimensions of rectangles and ellipses are now given in the current
1184     default unit.</p>
1185     </li>
1186     <li><p class="first">When creating ellipses or rectangles the current dimensions are
1187     displayed in the statusbar.</p>
1188     </li>
1189     <li><p class="first">Similarly, when transforming an object, information about the current
1190     transformation is displayed in the statusbar, such as scaling factors
1191     and rotation angles.</p>
1192     </li>
1193     <li><p class="first">The ellipse drawing mode has two new variations:</p>
1194     <ul class="simple">
1195     <li>When holding down Shift, the ellipse is centered at the start point.</li>
1196     <li>When holding down Shift+Ctrl, the ellipse is a circle centered at
1197     the start point with the current pointer position on its periphery.</li>
1198     </ul>
1199     </li>
1200     <li><p class="first">Similarly, holding down Shift while drawing a rectangle uses the
1201     start point as the center of the rectangle.</p>
1202     </li>
1203     <li><p class="first">Path-text has been improved, introducing a slight incompatibility:</p>
1204     <ul>
1205     <li><p class="first">Characters that don't fit on the path are simply not drawn, but they
1206     are still there. In previous versions, these characters were all
1207     drawn at the same position at the end of the path.</p>
1208     <p>It is possible that path-text objects will look slightly different
1209     in future versions due to improvements in the algorithms used. In
1210     particular, multiple subpaths in a curve may be supported.</p>
1211     </li>
1212     <li><p class="first">You can drag the start position of the text along the path by
1213     dragging the small rectangular handle in edit mode. This is probably
1214     not the best interface. Suggestions welcome.</p>
1215     </li>
1216     <li><p class="first">In previous versions, the curve-like objects were automatically
1217     converted to bezier objetcs before the path-text group was created.
1218     Now, these objects remain as they are, i.e. rectangles will remain
1219     rectangles and ellipses remain ellipses.</p>
1220     <p>.sk files with rectangles or ellipses as the curves in path-text
1221     objects will not be read correctly by earlier versions.</p>
1222     </li>
1223     </ul>
1224     </li>
1225     <li><p class="first">You can now insert nodes and cut curves at specific positions:</p>
1226     <ul class="simple">
1227     <li>Select a curve object in edit mode</li>
1228     <li>click on the outline where you want to insert the node or cut the
1229     curve. A small filled circle appears.</li>
1230     <li>Select &quot;Curve | Insert Nodes&quot; or &quot;Curve | Cut Curve&quot; respectively.</li>
1231     </ul>
1232     <p>This new method also affects Line-&gt;Curve and Curve-&gt;Line. They convert
1233     the segment marked with the filled curve.</p>
1234     <p>The old behaviour is still there.</p>
1235     </li>
1236     <li><p class="first">The curve-object in a path-text object and the control-objects in a
1237     blend-group can now be converted to a bezier object in place.</p>
1238     </li>
1239     <li><p class="first">Added a few new key-strokes.</p>
1240     </li>
1241     <li><p class="first">The .sk file version number was updated to &quot;1 2&quot; because of the
1242     changes for path-text objects.</p>
1243     </li>
1244     <li><p class="first">Bug fixes:</p>
1245     <ul class="simple">
1246     <li>In the font dialog, the sizes list is updated together with the entry
1247     widget.</li>
1248     <li>&quot;Update From...&quot; in the font dialog works now.</li>
1249     <li>Images loaded from the same image file share the raster data again.</li>
1250     </ul>
1251     </li>
1252     <li><p class="first">Renamed the script mkfontdir.py to mkfontdb.py. This new version
1253     creates fonts.scale files by default now and is also distributed
1254     separately from Sketch. It's now distributed under the GPL and not the
1255     LGPL.</p>
1256     </li>
1257     </ul>
1258     </div>
1259     <div class="section" id="sketch-0-5-3-february-7th-1999">
1260     <h2><a name="sketch-0-5-3-february-7th-1999">Sketch 0.5.3 (February 7th, 1999)</a></h2>
1261     <ul>
1262     <li><p class="first">Sketch now has an experimental configure, build and install script.
1263     This script is modelled after the proposed standard for Python
1264     packages and applications currently discussed in the Python distutils
1265     SIG, although it's not much more than a wrapper around the old
1266     makefiles.</p>
1267     <p>For details on its use, see the INSTALL file.</p>
1268     </li>
1269     <li><p class="first">Python 1.5.2 compatibility:</p>
1270     <p>I've run Sketch with the 1.5.2b1 release for more than two weeks now,
1271     and almost everything works as before, with these exceptions:</p>
1272     <p>The stricter syntax check for functions with default arguments
1273     produced syntax errors in two places. These have been corrected.</p>
1274     <p>The new sorting order for objects of different types revealed an error
1275     in the example file line.sk. This file is fixed in the new release.
1276     The skloader should really make more checks during import.</p>
1277     </li>
1278     <li><p class="first">The Drawing modes are now permanent by default. They were mentioned as
1279     permanent in the NEWS for Sketch 0.5.2, but this was not really true.
1280     Whether they are permanent or temporary is configurable, and the
1281     default was `temporary'. To make them temporary again append the line</p>
1282     <p>preferences.creation_is_temporary = 1</p>
1283     <p>to the file ~/.sketch/preferences.py. This file (and the directory)
1284     will be created automatically by Sketch after it has run. Editing the
1285     preferences file works only if Sketch is not running, because Sketch
1286     always writes it on exit.</p>
1287     <p>This option will be moved into the Options-dialog someday.</p>
1288     </li>
1289     <li><p class="first">If you feel adventurous, you can try the tooltips feature, by adding
1290     the line</p>
1291     <p>preferences.activate_tooltips = 1</p>
1292     <p>to ~/.sketch/preferences.py. I hacked the code recently to make it
1293     work again, but it probably still has some bugs.</p>
1294     </li>
1295     <li><p class="first">There's an Illustrator export filter. To save a file in this format,
1296     select File|Save As... and supply a filename ending in '.ai'. Due to
1297     limitations in the standard Tk file dialog, selecting the Illustrator
1298     format in the file type option menu is not sufficient or even
1299     necessary.</p>
1300     <p>The current filter is incomplete.</p>
1301     </li>
1302     <li><p class="first">Rectangles may have rounded corners now. To create rounded corners,
1303     select a rectangle in edit mode and drag one of the corners.</p>
1304     </li>
1305     <li><p class="first">The .sk file version number was updated because of the rounded corner
1306     rectangles.</p>
1307     </li>
1308     <li><p class="first">Bezier curves (including poly lines) can now be used as guides. Move
1309     them to the guide layer and activate Arrange|Snap to guides. This
1310     already worked for ellipses and rectangles.</p>
1311     </li>
1312     <li><p class="first">When drawing polylines, the first click-drag-release creates the first
1313     line and not just the staring point.</p>
1314     </li>
1315     <li><p class="first">When creating a mask group, the topmost object becomes the mask. This
1316     is more intuitive, I think, than the lower most used before.</p>
1317     </li>
1318     <li><p class="first">To create guide lines, you can now simply drag from the rulers into
1319     the canvas just as in Gimp or CorelDraw.</p>
1320     </li>
1321     <li><p class="first">To delete a guide line just drag it and drop it somewhere outside of
1322     the canvas.</p>
1323     </li>
1324     <li><p class="first">A new command File|Insert Document lets you load a vector drawing in
1325     any of the supported formats and insert it into the current document
1326     as a group. You can then ungroup and edit it.</p>
1327     </li>
1328     <li><p class="first">The default unit for lengths is now configurable via the options menu.
1329     This does not affect the rulers yet.</p>
1330     </li>
1331     <li><p class="first">The current position in the status bar shows the snapped position now
1332     if snapping is active.</p>
1333     </li>
1334     <li><p class="first">Blending of two closed curves with differing numbers of segments
1335     produced ill-formed bezier curves. This is now fixed, but results in
1336     sligthly different blend groups as before in this special case.</p>
1337     </li>
1338     <li><p class="first">Converting a text object to curves results in a group with separate
1339     bezier objects for the characters (instead of a single multi-path bezier
1340     object).</p>
1341     </li>
1342     <li><p class="first">Two new window commands. Windows|Hide Dialogs hides (withdraws) all
1343     dialogs currently visible and Windows|Show Dialogs shows them again.</p>
1344     </li>
1345     <li><p class="first">Added a few new commands to the context menu for fill and line
1346     properties.</p>
1347     </li>
1348     <li><p class="first">A new command to select all nodes of a bezier object. Available from
1349     the Curve menu and from the context menu.</p>
1350     </li>
1351     <li><p class="first">Snapping of guide lines works properly now.</p>
1352     </li>
1353     <li><p class="first">If you want 'live' scrolling in the drawing area, where the display is
1354     updated while the scrollbars are dragged, add this to your Xresources:</p>
1355     <p>sketch*canvas_frame.Scrollbar.jump: 0</p>
1356     <p>The current release is not optimized for this, though, so it might be
1357     too slow.</p>
1358     </li>
1359     <li><p class="first">various bug fixes</p>
1360     </li>
1361     </ul>
1362     </div>
1363     <div class="section" id="sketch-0-5-2-december-09th-1998">
1364     <h2><a name="sketch-0-5-2-december-09th-1998">Sketch 0.5.2 (December 09th 1998)</a></h2>
1365     <ul class="simple">
1366     <li>Sketch contains a work-around for a bug in the Python 1.5.1 module
1367     import code that affected Sketch's import filters.</li>
1368     <li>An improved AI import filter with a faster and better parser. It is
1369     still not complete. See the comments in Plugins/Filters/ailoader.py
1370     for more details about the implemented features and limitations.</li>
1371     <li>A new (and experimental) print dialog is available via 'File/Print...'</li>
1372     <li>The script sk2ps.py works.</li>
1373     <li>The return value of XClearArea is ignored now, because XClearArea is
1374     declared void on SGIs.</li>
1375     <li>In the layer dialog, the context menu has been reorganized a bit and
1376     contains some layer specific entries ('Grid...' for the grid layer
1377     (the same as Arrange/Grid...) and 'Guide Lines...' for the guide layer
1378     (the same as Arrange/Guide Lines...))</li>
1379     <li>In the layer dialog , some of the buttons are grayed out if the
1380     corresponding layer attribute cannot be changed (e.g. the grid layer
1381     is always locked).</li>
1382     <li>The test for X shared memory images should work properly now.</li>
1383     <li>fixed the bug where images rotated by exactly 90 degrees were not
1384     drawn.</li>
1385     <li>the drawing modes (create curve, create rectangle, etc) are now
1386     permanent. You have to switch to edit-mode or selection mode
1387     explicitly.</li>
1388     <li>Switching between modes is now easier. The buttons for edit/select
1389     mode and for drawing are now `radiobuttons' and provide both a means
1390     to switch from one mode to another and an indicator for the current
1391     mode.</li>
1392     <li>the button for snap to grid now changes its relief from flat to sunken
1393     if snapping is active (instead of changing its bitmap).</li>
1394     <li>Added a label to the statusbar that indicates whether the drawing was
1395     modified since the last save or since it was loaded/created.</li>
1396     <li>_sketchmodule.so doesn't use drem anymore. (drem is not available on
1397     Solaris)</li>
1398     <li>The color allocation strategy for PseudoColor displays is
1399     configurable. The option is not available from the dialog yet.</li>
1400     </ul>
1401     </div>
1402     <div class="section" id="sketch-0-5-1-november-08th-1998">
1403     <h2><a name="sketch-0-5-1-november-08th-1998">Sketch 0.5.1 (November 08th 1998)</a></h2>
1404     <ul class="simple">
1405     <li>The bezier related commands of the arrange menu are now in the curve
1406     menu.</li>
1407     <li>Sketch now asks for confirmation (again) when the window is closed via
1408     the window manager. File/Exit did work correctly.</li>
1409     <li>sketch will print more diagnostic messages by default.</li>
1410     <li>the code in Sketch/Modules has been rearranged to increase
1411     portability. Interdependencies between compiled modules are now
1412     handled in a portable way.</li>
1413     <li>The test for X shared memory images should work properly now.
1414     Compiling the paxmodule without shared memory support is now possible.</li>
1415     <li>sketch used to hang in an infinite loop if a font was not available on
1416     the X-server and a MessageBox was popped up with an error message.</li>
1417     <li>Ctrl + cursor keys scrolls the viewport</li>
1418     <li>the drag&amp;drop bug, when dragging a color from the palette to the
1419     pattern widget in the fill panel, has been fixed.</li>
1420     <li>fixed Doc/fonts.scale to agree with Doc/fonts.alias</li>
1421     </ul>
1422     </div>
1423     <div class="section" id="sketch-0-5-0-october-31st-1998">
1424     <h2><a name="sketch-0-5-0-october-31st-1998">Sketch 0.5.0 (October 31st 1998)</a></h2>
1425     <p>first public release</p>
1426     </div>

Properties

Name Value
svn:eol-style native
svn:executable *
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26