1 |
title: Skencil / Frequently Asked Questions |
2 |
|
3 |
<h2>Table of Contents</h2> |
4 |
1 <a href="#FAQ1">About Skencil</a><br /> |
5 |
1.1 <a href="#FAQ1.1">What is Skencil?</a><br /> |
6 |
1.2 <a href="#FAQ1.2">Why would I want to use Skencil? I have GIMP!</a><br /> |
7 |
1.3 <a href="#FAQWebpage">Where can I find out more about Skencil?</a><br /> |
8 |
1.4 <a href="#FAQ1.4">Which Platforms does Skencil work on?</a><br /> |
9 |
2 <a href="#FAQ2">Troubleshooting</a><br /> |
10 |
2.1 <a href="#FAQ2.1">I get the error message "ImportError: No module named Image"</a><br /> |
11 |
2.2 <a href="#FAQ2.2">The window resizes when I drag the mouse or change the selection</a><br /> |
12 |
3 <a href="#FAQ3">Using Skencil</a><br /> |
13 |
3.1 <a href="#FAQ3.1">How do I import a PostScript or EPS file?</a><br /> |
14 |
3.2 <a href="#FAQ3.2">How do I export a drawing as EPS?</a><br /> |
15 |
3.3 <a href="#FAQ3.3">How do I close a curve or polygon?</a><br /> |
16 |
3.4 <a href="#FAQ3.4">How do I rotate an object by a precise angle?</a><br /> |
17 |
3.5 <a href="#FAQ3.5">Is there a command line tool to convert sk-files to PostScript?</a><br /> |
18 |
4 <a href="#FAQ4">Miscellaneous</a><br /> |
19 |
4.1 <a href="#FAQFeatureRequest">Why doesn't Skencil have support for <some cool feature>?</a><br /> |
20 |
4.2 <a href="#FAQ4.2">Which font formats are supported?</a><br /> |
21 |
4.3 <a href="#FAQTrueTypeFonts">Why doesn't Skencil support TrueType fonts?</a><br /> |
22 |
4.4 <a href="#FAQEncodings">Can I input text in ISO-Latin-2 or some other encoding?</a><br /> |
23 |
5 <a href="#FAQ5">Microsoft Windows specific issues</a><br /> |
24 |
5.1 <a href="#FAQWindowsImportError">I get "ImportError: DLL load failed" error message when trying to start |
25 |
the program</a><br /> |
26 |
<h2><a name="FAQ1">1 About Skencil</a></h2> |
27 |
<h3><a name="FAQ1.1">1.1 What is Skencil?</a></h3> |
28 |
<p> |
29 |
|
30 |
Skencil is an interactive vector drawing program for GNU/Linux and other |
31 |
UNIX compatible systems. Skencil is implemented almost completely in |
32 |
Python, a very high-level, object oriented, interpreted language, with |
33 |
the rest written in C for speed. |
34 |
</p> |
35 |
<h3><a name="FAQ1.2">1.2 Why would I want to use Skencil? I have GIMP!</a></h3> |
36 |
|
37 |
<p>Skencil is a <em>vector drawing program</em>. That means a Skencil drawing |
38 |
is made up of shapes like rectangles, ellipses and curves that can be |
39 |
filled and stroked. Each object is represented by the mathematical |
40 |
description of its shape, e.g. for a circle they're the coordinates of |
41 |
the center point and the length of the radius. Because of this, vector |
42 |
drawings can be scaled without quality loss and it's very easy to change |
43 |
parts of a drawing.</p> |
44 |
|
45 |
<p>GIMP, on the other hand, is an <em>image manipulation program</em>. |
46 |
A GIMP image is made up of thousands of pixels and apart from layers has |
47 |
no inner structure. This representation has the advantage that you can |
48 |
easily have a lot of fine detail because each pixel can have a different |
49 |
color, but after you e.g. have drawn a line, all you have is pixels. You |
50 |
can't easily change the position or length or color of the line after |
51 |
you've drawn it. Furthermore, a raster image is always designed with one |
52 |
particular resolution in mind and scaling it often reduces its quality.</p> |
53 |
|
54 |
|
55 |
<p>Both kinds of graphics programs have their strengths and weaknesses |
56 |
and for some purposes an image manipulation program is the appropriate |
57 |
tool while for others it's the vector drawing program and often you'll |
58 |
need both.</p> |
59 |
<h3><a name="FAQWebpage">1.3 Where can I find out more about Skencil?</a></h3> |
60 |
<p> |
61 |
|
62 |
The best place to go for information about Skencil is its web-page at |
63 |
<a href="http://www.skencil.org/">http://www.skencil.org/</a>. |
64 |
</p> |
65 |
<h3><a name="FAQ1.4">1.4 Which Platforms does Skencil work on?</a></h3> |
66 |
|
67 |
<p> |
68 |
The feedback I've got so far about other platforms indicates that Skencil |
69 |
runs on these platforms too: |
70 |
</p> |
71 |
|
72 |
<ul><li>GNU/Linux on i386, Alpha, m68k, PowerPC and Sparc</li><li>FreeBSD</li><li>Solaris 2.5.1, 2.6, 2.7</li><li>IRIX64 6.4</li><li>AIX</li></ul> |
73 |
<h2><a name="FAQ2">2 Troubleshooting</a></h2> |
74 |
<h3><a name="FAQ2.1">2.1 I get the error message "ImportError: No module named Image"</a></h3> |
75 |
|
76 |
|
77 |
<p>This message usually means that the Python Imaging Library (PIL) is not |
78 |
installed on your system, so the solution is to install it.</p> |
79 |
|
80 |
<p> URLs for the sources and rpms can be found on Skencil's web-page |
81 |
(see FAQ <a href="#FAQWebpage">1.3</a>) and in the INSTALL file. Some Linux |
82 |
distributions already contain a suitable version of PIL although in some |
83 |
cases they're a bit buggy.</p> |
84 |
|
85 |
<p>SuSE Linux 6.2, 6.3 and 6.4, for instance, have a PIL-package, but |
86 |
it's slightly broken. The file /usr/lib/python1.5/site-packages/PIL.pth |
87 |
is missing. To fix this, create that file with just the line 'PIL' in it |
88 |
(without the quotes). (the purpose and syntax of *.pth files is |
89 |
described in /usr/lib/python1.5/site.py)</p> |
90 |
|
91 |
<h3><a name="FAQ2.2">2.2 The window resizes when I drag the mouse or change the selection</a></h3> |
92 |
<p> |
93 |
|
94 |
The frequent resizes are caused by the changing texts in the status bar. |
95 |
The best solution is to either use the "--geometry" command line option |
96 |
to set the size of the main window or to put an entry like |
97 |
"sketch.geometry: 900x680" into your .Xdefaults file. |
98 |
</p> |
99 |
<h2><a name="FAQ3">3 Using Skencil</a></h2> |
100 |
<h3><a name="FAQ3.1">3.1 How do I import a PostScript or EPS file?</a></h3> |
101 |
|
102 |
|
103 |
<p>That depends on what you want to do exactly.</p> |
104 |
|
105 |
<p>If you want to embed an EPS file as a whole into a Skencil drawing, |
106 |
just treat it like a raster image, i.e. use the menu command |
107 |
Edit->Create->Load Image file or use the corresponding toolbar button |
108 |
which is the rightmost one.</p> |
109 |
|
110 |
<p>In this case, you get an EPS-object which Skencil displays with a |
111 |
preview image rendered by ghostscript. It behaves very much like a |
112 |
raster image, but when you output your drawing as a postscript file, the |
113 |
EPS' postscript code is copied to the output file.</p> |
114 |
|
115 |
<p>If you want to import your postscript file because you want to edit |
116 |
its contents, to change fill colors for example, you can in some |
117 |
circumstances use the normal file loading commands, i.e. File->Open or |
118 |
File->Insert Document, to achieve this. It only works if the file is |
119 |
actually an Illustrator file.</p> |
120 |
|
121 |
<p> For other postscript files, have a look at <a href="http://www.geocities.com/SiliconValley/Network/1958/pstoedit/">pstoedit</a>. It uses ghostscript to interpret arbitrary postscript |
122 |
files and can write several vector file formats, including Skencil's own |
123 |
sk-format.</p> |
124 |
<h3><a name="FAQ3.2">3.2 How do I export a drawing as EPS?</a></h3> |
125 |
<p> |
126 |
|
127 |
Just print into a file or use File->Save as PostScript in the menu. |
128 |
Skencil always generates EPS files. You don't have to do anything |
129 |
special. |
130 |
</p> |
131 |
<h3><a name="FAQ3.3">3.3 How do I close a curve or polygon?</a></h3> |
132 |
<p> |
133 |
|
134 |
In edit mode, select both end points and invoke the menu command |
135 |
Curve->Close Nodes. |
136 |
</p> |
137 |
<h3><a name="FAQ3.4">3.4 How do I rotate an object by a precise angle?</a></h3> |
138 |
<p> |
139 |
|
140 |
Skencil doesn't have a dialog for this yet, but if you want to rotate it |
141 |
by a multiple of 15 degrees, just hold control while rotating the object |
142 |
interactively. |
143 |
</p> |
144 |
<h3><a name="FAQ3.5">3.5 Is there a command line tool to convert sk-files to PostScript?</a></h3> |
145 |
<p> |
146 |
|
147 |
Skencil comes with a script called sk2ps that does just that. It's |
148 |
automatically installed alongside Skencil and can even read all the file |
149 |
formats Skencil can read. |
150 |
</p> |
151 |
<h2><a name="FAQ4">4 Miscellaneous</a></h2> |
152 |
<h3><a name="FAQFeatureRequest">4.1 Why doesn't Skencil have support for <some cool feature>?</a></h3> |
153 |
|
154 |
<p>Depending on what the feature in question is, there are several possible |
155 |
answers.</p> |
156 |
|
157 |
<p>The most common reason is simply that nobody has written it yet. |
158 |
There are many useful features that Skencil should have, but currently |
159 |
there's only one Programmer writing code and that severely limits what |
160 |
gets implemented and how fast.</p> |
161 |
|
162 |
<p>Of course, not every feature is useful or fits well with the goals |
163 |
of the Skencil project. However, I hope to make Skencil flexible and |
164 |
extensible enough to accommodate such features with plugins and user |
165 |
scripts.</p> |
166 |
|
167 |
<p>See also the FAQs about TrueType fonts (<a href="#FAQTrueTypeFonts">4.3</a>) and text encodings (<a href="#FAQEncodings">4.4</a>)</p> |
168 |
<h3><a name="FAQ4.2">4.2 Which font formats are supported?</a></h3> |
169 |
<p> |
170 |
|
171 |
Currently, Skencil supports only Type 1 fonts. |
172 |
</p> |
173 |
<h3><a name="FAQTrueTypeFonts">4.3 Why doesn't Skencil support TrueType fonts?</a></h3> |
174 |
|
175 |
<p>Well, font-handling under Linux/Unix/X is pretty complex. Applications |
176 |
have to do a lot of things themselves that should be provided by the |
177 |
'system' (whatever that means). So it's simply a lot of work and I went |
178 |
the easy route and support only Type1 fonts because X can render them |
179 |
even without any special setup and printing them is no problem because |
180 |
it's the native PostScript font format.</p> |
181 |
|
182 |
<p> Now, with FreeType and XFree 4.0, supporting TrueType fonts will |
183 |
become much easier and Skencil will support them one day.</p> |
184 |
|
185 |
<p>You may also want to have a look at the CurveText extension or the |
186 |
JapaneseText extension which let you create bezier objects based on |
187 |
TrueType fonts. Both extensions are available through the <a href="addon.html">add-on page</a></p> |
188 |
<h3><a name="FAQEncodings">4.4 Can I input text in ISO-Latin-2 or some other encoding?</a></h3> |
189 |
|
190 |
<p>Unfortunately, no. At least not in the 0.6 stable releases.</p> |
191 |
|
192 |
<p>Adding proper support for that would require a lot more work than I |
193 |
want to do for 0.6.x. It would require changes to the way events are |
194 |
handled, text objects would have to know about encodings and the |
195 |
post-script output code as well, and it would require changes to the |
196 |
file format.</p> |
197 |
|
198 |
<p>That having been said, one of the goals of the current developer |
199 |
series, 0.7, is better text support including better support for |
200 |
encodings other than ISO-Latin-1. One of the first steps will probably |
201 |
be to switch to unicode internally.</p> |
202 |
|
203 |
<p>When I added text support to Skencil, I simply chose the most simple |
204 |
way to handle encodings that would suffice for my needs and that's |
205 |
Latin-1 and some support for font-specific encodings for symbol fonts. I |
206 |
knew of course that this wouldn't be enough in the long run, especially |
207 |
with respect to non-latin scripts and multi-byte character sets, but |
208 |
having a simple implementation that works for many users is always |
209 |
better than to have no usable code because the project gets bogged down |
210 |
in a too complex design, IMO, especially in a Free Software project.</p> |
211 |
<h2><a name="FAQ5">5 Microsoft Windows specific issues</a></h2> |
212 |
<h3><a name="FAQWindowsImportError">5.1 I get "ImportError: DLL load failed" error message when trying to start |
213 |
the program</a></h3> |
214 |
|
215 |
<p>The error can be caused by missing DLL libraries or by wrong versions of |
216 |
some DLL libraries on your system.</p> |
217 |
|
218 |
<p>If the error message is e.g. "The specified procedure could not be found", |
219 |
you propably have an old version of some GTK-related DLL in your system |
220 |
directory. On Windows, DLLs are searched from system directories before PATH |
221 |
directories. That's why a wrong version of a library can get loaded. To solve |
222 |
the problem, move the offending DLL form the system directory to a non-system |
223 |
directory on PATH.</p> |
224 |
|
225 |
<p>DLL problems can usually be solved be examining PyGTK's gobject.pyd using |
226 |
<a href="http://www.dependencywalker.com">Dependency Walker</a>.</p> |
227 |
|