File: spec_0.1.1.html

package info (click to toggle)
create-resources 0.1.3-6
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 10,648 kB
  • sloc: makefile: 17
file content (569 lines) | stat: -rw-r--r-- 16,950 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<link media='all' href='styles.css' rel='stylesheet' type='text/css' />
<title>test</title>
</head>
<body>

<div id='wikidata'>
<h1>Shared resources. Specification</h1>
<p><b>Current version</b> : 0.1. See Revisions History below for list of changes between versions.</p>

<p>You can find the most recent version of the spec 
<a href="http://create.freedesktop.org/wiki/index.php/Shared_resources">
in the wiki of CREATE Project</a>.</p>

<b>Warning: This specification is a work in progress. It's not recommended to follow it in its 
current state.</b>


<h1>Abstract</h1>

<p>Today opensource graphics applications seem to like to work out uniform solutions. 
Krita uses GIMP's brushes, Inkscape uses GIMP's color swatches files. Still missing are ways to share 
resources like brushes, so that users wouldn't need to install all of these resources separately for 
each and every application that can read such data.</p>

<p>The intention of this specification is to work out uniform rules for storing possibly shared data, 
which would let</p>

<ul>
<li> developers benefit from no efforts duplication;</li>
<li> packagers benefit from no efforts duplication;</li>
<li> users benefit from using one root directory for all art supplies and one art supplies registry for all applications.</li>

</ul>

</p><p>

<h1>Applications</h1>

</p><p>

Following applications (in strict alphabetical order) are taken into consideration while writing this specification (as of current version):
<ul>
<li> <a  title='WWW link'  href='http://cinepaint.sourceforge.net'>CinePaint</a> (0.19)</li>
<li> <a  title='WWW link'  href='http://www.gimp.org'>GNU Image Manipulation Program</a> (2.3.3+CVS)</li>

<li> <a  title='WWW link'  href='http://www.inkscape.org'>Inkscape</a> (0.42+CVS)</li>
<li> <a  title='WWW link'  href='http://koffice.kde.org/karbon/'>Karbon14</a> (1.4.1+SVN)</li>
<li> <a  title='WWW link'  href='http://koffice.kde.org/krita/'>Krita</a> (1.4.1)</li>
<li> <a  title='WWW link'  href='http://www.btinternet.com/~mark.tyler4/mtpaint/'>mtPaint</a> (2.19.10)</li>

<li> <a  title='WWW link'  href='http://www.openoffice.org'>OpenOffice.org</a></li>
<li> <a  title='WWW link'  href='http://www.scribus.net'>Scribus</a> (1.3.0+CVS)</li>
<li> <a  title='WWW link'  href='http://sk1.sourceforge.net'>sK1</a> (rc0)</li>
<li> <a  title='WWW link'  href='http://www.skencil.org'>Skencil</a> (0.6.17)</li>

</ul>

<h1>Types of resources and directories at present time</h1>
<h2>Brushes</h2>
<h3>Bitmap brushes</h3>

<p>A brush file is usually a container format that can store different types of raster graphics (e.g. PNG).</p>

<p>Table 1. Bitmap brushes</p>

<table class='wikitable' cellspacing='0' cellpadding='4'>
<tr><td>CinePaint</td><td>
 Uses GIMP's '''.gbr''' and '''.gih''' brushes, but with higher color resolution </td><td>
 ~/.cinepaint/brushes and $INSTALL_PATH/share/cinepaint/brushes</td></tr>

<tr><td> Inkscape </td><td>
 Doesn't use bitmap brushes </td><td>

</td></tr>

<tr><td> Karbon14 </td><td>
 Doesn't use bitmap brushes </td><td>
</td></tr>

<tr><td> Krita </td><td>
 Uses GIMP's '''.gbr''' and '''.gih''' brushes </td><td>
 $INSTALL_PATH/share/apps/krita/brushes/</td></tr>

<tr><td> mtPaint </td><td>
 Doesn't use bitmap brushes </td><td>
</td></tr>

<tr><td> Scribus </td><td>
 Doesn't use bitmap brushes and doesn't need them </td><td>
</td></tr>

<tr><td> sK1 </td><td>
 Doesn't use bitmap brushes </td><td>
</td></tr>

<tr><td> Skencil </td><td>
 Doesn't use bitmap brushes </td><td>
</td></tr>

<tr><td> GIMP </td><td>

 Supported file formats are: '''.gbr''' (GIMP Brush 8bit grayscale or 24bit RGB, also <a  href='CinePaint'>CinePaint</a>'s 16bit .gbr), '''.abr''' (Photoshop Brush, 8bit grayscale), '''.gih''' (GIMP image hose, a format for animated brushes; PSP image tubes can be loaded using the PSP import plug-in, saving them again as .gih makes them available to GIMP), '''.vbr''' (GIMP parametric brush, a simple format for vector brushes). </td><td>
 ~/.gimp-$VERSION/brushes and $INSTALL_PATH/share/gimp/$VERSION/brushes</td></tr>

</table>

<h3>Vector brushes</h3>

</p><p>

Vector brushes are different from bitmap/raster brushes being freely scalable up and down without losing much quality. So far they are not implemented in any of opensource software, but should be kept in mind in the long run.

</p><p>

<h2>XML brushes</h2>

</p><p>

XML brushes describe types of behaviour, like paint deposition, fringe spatter and so on.

</p><p>

<h2>Gradients</h2>

</p><p>

Gradient files store description of gradients

</p><p>

Table 2. Gradients
<table class='wikitable' cellspacing='0' cellpadding='4'>
<tr><td>CinePaint</td><td>
 Uses GIMP's '''.ggr''' gradients of higher than originally color resolution </td><td>
 ~/.cinepaint/gradients and $INSTALL_PATH/share/cinepaint/gradients</td></tr>

<tr><td> Inkscape </td><td>
 Stores gradients in documents </td><td>
</td></tr>

<tr><td> Karbon14 </td><td>
 Uses its own '''.kgr''' files, openclipart svg gradient files ('''.svg'''), GIMP's '''.gpl''' files </td><td>
 $INSTALL_PATH/share/apps/karbon/gradients/ and ~/.kde/share/apps/karbon/gradients</td></tr>

<tr><td> Krita </td><td>
 Uses GIMP's '''.ggr''' gradients </td><td>
 $INSTALL_PATH/share/apps/krita/gradients/</td></tr>

<tr><td> mtPaint </td><td>
 Doesn't use gradients </td><td>

</td></tr>

<tr><td> Scribus </td><td>
 Gradients come from vector code </td><td>
</td></tr>

<tr><td> sK1 </td><td>
 Stores gradients in documents, uses <b>
.skg CMYK gradients files </td><td>

 ~/.sK1/gradients $sK1_HOME/RESOURCES/gradients</td></tr>

<tr><td> Skencil </td><td>
 Stores gradients in documents </td><td>
</td></tr>

<tr><td> GIMP </td><td>
 Uses GIMP's '''.ggr''' files (GIMP Gradient, RGB colors stored as floats) and '''.svg''' files (as defined in the SVG spec) </td><td>

 ~/.gimp-$VERSION/gradients and $INSTALL_PATH/share/gimp/$VERSION/gradients</td></tr>

<tr><td> <a  href='OpenOffice'>OpenOffice</a>.org Draw </td><td>
 Uses Star Office Gradients ('''.sog''') which is written using draw XML (swatches, and hatches (patterns) are also specified) </td><td>
</td></tr>

<tr><td> <a  href='OpenOffice'>OpenOffice</a>.org Impress </td><td>

 Uses Star Office Gradients ('''.sog''') which is written using draw XML (swatches, and hatches (patterns) are also specified) </td><td>
</td></tr>

</table>

</p><p>

<h2>Color swatches</h2>

</p><p>

There is some confusion in terms. Color swatches are same as palettes and color sets: these are files that store a set of predefined colors. Currently all of opensource applications support RGB based color swatches files only.

</p><p>

Table 3. Color swatches
<table class='wikitable' cellspacing='0' cellpadding='4'>
<tr><td>CinePaint</td><td>
 Uses GIMP's '''.gpl''' palette files of higher than originally color resolution </td><td>
 ~/.cinepaint/palettes and $INSTALL_PATH/share/cinepaint/palettes</td></tr>

<tr><td> Inkscape </td><td>
 Uses GIMP's '''.gpl''' palette files </td><td>

 ~/.inkscape/palettes and $INSTALL_PATH/share/inkscape/palettes</td></tr>

<tr><td> Karbon14 </td><td>
 Doesn't support palette files yet. </td><td>
 </td></tr>

<tr><td> Krita </td><td>
 Uses GIMP's '''.gpl''' palette files </td><td>

 $INSTALL_PATH/share/apps/krita/palettes/</td></tr>

<tr><td> mtPaint </td><td>
 Uses GIMP's '''.gpl''' palette files </td><td>
 '''n/a'''</td></tr>

<tr><td> Scribus </td><td>

 Currently the same as X11/gimp ones, they are loaded from the installed files into the documents </td>
 <td> Installed into $(libdir)/scribus/
<pre> rgbscribusgnome.txt  Gnome set
 rgbscribusgreys.txt  X11 greys only
 rgbscribusopenoffice.txt  OpenOffice.org set
 rgbscribus.txt X11 full set
 rgbsvg.txt SVG set
</pre>
</td></tr>

<tr><td> sK1 </td><td>
 4-bytes CMYK palettes ('''.skp''') </td><td>
 ~/.sK1/palettes, $sK1_HOME/RESOURCES/palettes</td></tr>

<tr><td> Skencil </td><td>

 RGB palettes with three floats (0.0 <del>
</del>
 1.0) and an optional name per color ('''.spl''').  Can read gimp palette files as well. </td><td>
 $skencil_HOME/Resources/Misc</td></tr>

<tr><td> GIMP </td><td>
 Uses GIMP's '''.gpl''' palette files (8bit RGB), RIFF palette files (8bit RGB), Photoshop's '''.act''' binary color palettes (8bit RGB), JASC's Paint Shop Pro '''.psp''' color palettes (8bit RGB) </td><td>

 ~/.gimp-$VERSION/palettes and $INSTALL_PATH/share/gimp/$VERSION/palettes</td></tr>

</table>

</p><p>

<h2>Patterns</h2>
<h3>Bitmap patterns</h3>

</p><p>

Bitmap patterns are same as textures&nbsp;— files with an image inside (a container format as well) to fill a selected area multiply times creating a pattern.

</p><p>

Table 4. Bitmap brushes
<table class='wikitable' cellspacing='0' cellpadding='4'>
<tr><td>CinePaint</td><td>
 Uses GIMP's pattern files ('''.pat''') of higher than originally color resolution </td><td>
 ~/.cinepaint/patterns and $INSTALL_PATH/share/cinepaint/patterns</td></tr>

<tr><td> Inkscape </td><td>

 Doesn't use bitmap patterns </td><td>
</td></tr>

<tr><td> Karbon14 </td><td>
 Doesn't use bitmap patterns </td><td>
</td></tr>

<tr><td> Krita </td><td>
 Uses GIMP's pattern files ('''.pat''') </td><td>

 $INSTALL_PATH/share/apps/krita/patterns</td></tr>

<tr><td> mtPaint </td><td>
 Doesn't use bitmap patterns </td><td>
 </td></tr>

<tr><td> Scribus </td><td>
 Doesn't use bitmap patterns </td><td>

</td></tr>

<tr><td> sK1 </td><td>
 CMYK bitmap patterns ('''.tiff''', '''.jpg''') </td><td>
 ~/.sK1/patterns , $sK1_HOME/RESOURCES/patterns</td></tr>

<tr><td> Skencil </td><td>
 Any raster image the Python Imaging Library can read </td><td>

 $skencil_HOME/Resources/Misc</td></tr>

<tr><td> GIMP </td><td>
 Uses GIMP's '''.pat''' files (GIMP pattern, RGB or RGBA, 8bit per channel) and all image formats supported by gdk-pixbuf, most importantly PNG, JPEG and SVG (rendered at librsvg's default resolution) </td><td>
 ~/.gimp-$VERSION/patterns and $INSTALL_PATH/share/gimp/$VERSION/patterns</td></tr>

</table>

</p><p>

<h3>Vector patterns</h3>

</p><p>

Vector patterns are same as bitmap ones being just vector based and thus scalable up/down without losing much quality. So far they are not implemented in any of opensource software, but should be kept in mind in the long run.

</p><p>

<h3>Clipart</h3>
Under clipart we understand files that are all-sufficient and can be reused as part of some other artwork. It can be either bitmap or vector graphics.

</p><p>

Table 5. Clipart
<table class='wikitable' cellspacing='0' cellpadding='4'>
<tr><td>CinePaint</td><td>

 Not implemented </td><td>
</td></tr>

<tr><td> Inkscape </td><td>
 There is a separately shipped clip art navigator (currently v0.4) </td><td>
</td></tr>

<tr><td> Karbon14 </td><td>
 There is an initial implementation of a clipart browser </td><td>

 </td></tr>

<tr><td> Krita </td><td>
 Not implemented </td><td>
</td></tr>

<tr><td> mtPaint </td><td>
 Not implemented </td><td>

</td></tr>

<tr><td> Scribus </td><td>
 Clipart browser is at design stage </td><td>
</td></tr>

<tr><td> sK1 </td><td>
 B&amp;W '''.sk1''' clipart </td><td>

 $sK1_HOME/RESOURCES/symbols and user defined symbols in ~/.sK1/symbols</td></tr>

<tr><td> Skencil </td><td>
 Not implemented </td><td>
</td></tr>

<tr><td> GIMP </td><td>
 Not implemented </td><td>

 </td></tr>

</table>

</p><p>

<h1>Proposed changes</h1>

</p><p>

Make all of the above applications use one root directory for all art supplies:

</p><p>

</b>
<b>On UNIX (GNU/Linux, FreeBSD etc.) systems</b> :


</p><p>

<i>
usr</i>
share/create/ and ~/.create/ (for local use)

</p><p>

<b>
Windows systems</b>
:

</p><p>

C:\%COMMONFILES%\create and C:\%APPDATA%\create (for local use)

</p><p>

<b>
On Mac OS X systems</b>
: suggestion: /Library/Application\ Support/create and ~/Library/Application\ Support/create (for local use)

</p><p>

The outline for subdirectories would look the following way then:

</p><p>

<pre>
/usr/share/create/
		brushes
			gimp
			photoshop
			pipe
			vector
			xml 
		clipart
		gradients
			gimp
			karbon14
			svg
		patterns
			bitmap
			vector 
		swatches



</pre>
<h1>Needs further investigation</h1>
<ul>
<li> directories of all of the above and below mentioned applications in Mac OS X;</li>

<li> more information about Karbon14;</li>
<li> information about Abiword (clipart);</li>
<li> possibility of application icons reuse.</li>
<li> usage of the <a  title='WWW link'  href='http://standards.freedesktop.org/basedir-spec/latest/index.html'>
XDG Base Directory Specification</a> at Freedesktop.org. On Unix that would mean storing local files in 
$XDG_DATA_HOME/create rather than $HOME/.create</li>
</ul>

</p><p>

<h1>References</h1>

</p><p>

<ol>
<li> <a  title='WWW link'  href='http://bugs.scribus.net/view.php?id=2040'>A bug report</a> 
covering paths to search for ICC by Scribus.</li>
<li> <a  title='WWW link'  href='http://article.gmane.org/gmane.comp.video.gimp.devel/8040'>
A letter from Alan Horkan</a> to gimp-developer@ list, which initiated an offlist discussion among 
GIMP, Krita, Inkscape and Scribus developers.</li>

<li> <a  href='https://bugs.freedesktop.org/show_bug.cgi?id=3907'>An initial request</a> by 
Alexandre Prokoudine for a new project covering shared graphics applications resources at 
Freedesktop.org.</li>
<li> <a  title='WWW link'  href='http://rejon.org/?p=124'>A blog entry</a> by Jon Philips', where
 in comments it was decided to merge efforts with CREATE project at Freedesktop.org</li>
<li> <a  title='WWW link'  href='http://freedesktop.org/wiki/OpenIcc'>OpenIcc</a> — a project with 
two main goals: 1) to work out a common set of settings for color savvy applications to share ICC/ICM 
profiles and settings; 2) to bring together those developers in areas like printing, display and desktop 
applications to work together to make color management end to end work for open source applications. 
OpenIcc and ICC in common aren't covered by 'Shared resources' spec beginning from v0.0.4.</li>

<li> <a  title='WWW link'  href='http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=office'>
OpenDocument specification</a></li>
</ol>

</p><p>

<h1>Contributors</h1>

</p><p>

<a  href='mailto:tbscope=at=gmail.com'>Tim Beaulen</a>

</p><p>

<a  href='mailto:cbradney=at=zip.com.au'>Craig Bradney</a>

</p><p>

<a  href='mailto:horkana=at=maths.tcd.ie'>Alan Horkan</a>

</p><p>

<a  href='mailto:sven=at=gimp.org'>Sven Neumann</a>

</p><p>

<a  href='mailto:igor_nov=at=ukrpost.net'>Igor Novikov</a>

</p><p>

<a  href='mailto:alexandre.prokoudine=at=gmail.com'>Alexandre Prokoudine</a>

</p><p>

<a  href='mailto:boud=at=valdyas.org'>Boudewijn Rempt</a>

</p><p>

<a  href='mailto:rower=at=movieeditor.com'>Robin Rowe</a>

</p><p>

<a  href='mailto:marktyler_5=at=hotmail.com'>Mark Tyler</a>

</p><p>

<h1>License</h1>
License applied to this specification is Creative Commons No Derivative Works

</p><p>

<h1>Revisions History</h1>
<ul>
<li> Revision 0.1 (5 December 2005). Added more infor about Karbon14, Krita. Added mtPaint 
and its author, Mark Tyler. Added Sven's elaboration on file formats supported by GIMP. Changed 
&quot;Authors&quot; to &quot;Contributors&quot;. Integrated suggestion of anonymous user 
about locale sensitive path variable on Windows. Added suggestion for OS X folders. Added link to 
OpenDocument spec. Added XDG Base Directory Specification to the list &quot;Needs further 
investigation&quot;.</li>

</ul>

</p><p>

<ul>
<li> Revision 0.0.5 (9 September 2005). Added sK1 to the list of considered applications. 
Added information about Sketch and sK1. Cleaned up &quot;Needs further investigation&quot; 
section. Added Robin Rowe to the list of contributors and moved to alphabetical order instead of 
order of appearance.</li>
</ul>

</p><p>

<ul>
<li> Revision 0.0.4 (4 September 2005). Switched to DocBook/XML. ICC is moved away from the 
spec, because OpenIcc spec should be informative enough. Lots of typos are fixed. Changed structure 
of the document and added section &quot;XML brushes&quot;. Added mentioning openclipart 
gradients to Karbon14 (Section &quot;Gradients&quot;). Reorganised subdirectories definition and 
changed it to an outline. Added info about Cinepaint. Changed mentioned version of Clipart browser 
which was written for Google's Summer Of Code contest.</li>

</ul>

</p><p>

<ul>
<li> Revision 0.0.3 (16 August 2005). Added a References section and several references.</li>
</ul>

</p><p>

<ul>
<li> Revision 0.0.2 (16 August 2005). Fixed description for Scribus in color swatches and ICC aspect.</li>
</ul>

</p><p>

<ul>
<li> Revision 0.0.1 (16 August 2005). Initial version</li>
</ul>
</p>
</div><div id='footer'>DidiWiki, Version: 0.5</div>
</body>
</html>