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 — 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&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
"Authors" to "Contributors". 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 "Needs further
investigation".</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 "Needs further investigation"
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 "XML brushes". Added mentioning openclipart
gradients to Karbon14 (Section "Gradients"). 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>
|