/usr/share/doc/tuxpaint-data/html/EXTENDING.html is in tuxpaint-data 1:0.9.21-1.1ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><title>Extending Tux Paint</title>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#FF0000"
alink="#FF00FF">
<center>
<h1><img src="images/tuxpaint-title.png" width=220 height=219
alt="Tux Paint"><br>
version
0.9.21
<br>
Extending Tux Paint</h1>
<p>Copyright 2002-2008 by Bill Kendrick and others<br>
New Breed Software</p>
<p><a href="mailto:bill@newbreedsoftware.com">bill@newbreedsoftware.com</a><br>
<a href="http://www.tuxpaint.org/">http://www.tuxpaint.org/</a></p>
<p>June 14, 2002 - July 10, 2008</p>
</center>
<hr size=2 noshade>
<p>If you wish to add or change things like Brushes and Rubber Stamps
used by Tux Paint, you can do it fairly easily by simply putting
or removing files on your hard disk.</p>
<p>Note: You'll need to restart Tux Paint for the changes to take
effect.</p>
<h2>Where Files Go</h2>
<blockquote>
<h3>Standard Files</h3>
<blockquote>
<p>Tux Paint looks for its various data files in its
'data' directory.</p>
<h4>Linux and Unix</h4>
<blockquote>
<p>Where this directory goes depends on what value was set for
"<code>DATA_PREFIX</code>" when Tux Paint was built. See
INSTALL.txt for details.</p>
<p>By default, though, the directory is:</p>
<blockquote><code>
/usr/local/share/tuxpaint/
</code></blockquote>
<p>If you installed from a package, it is more likely to be:</p>
<blockquote><code>
/usr/share/tuxpaint/
</code></blockquote>
</blockquote>
<h4>Windows</h4>
<blockquote>
<p>Tux Paint looks for a directory called 'data' in the same
directory as the executable. This is the directory that the
installer used when installing Tux Paint e.g.:</p>
<blockquote><code>
C:\Program Files\TuxPaint\data
</code></blockquote>
</blockquote>
<h4>Mac OS X</h4>
<blockquote>
<p>Tux Paint stores its data files inside the "Tux Paint"
application (which is actually a special kind of folder on
Mac OS X). The following steps explain how to get to
the folders within:</p>
<ol>
<li>Bring up a 'context' menu by holding the [Control] key and clicking
the Tux Paint icon the in Finder. (If you have a mouse with more
than one button, you can simply right-click the icon.)</li>
<li>Select "Show Contents" from the menu that appears.
A new Finder window will appear with a folder inside called
"Contents."</li>
<li>Open the "Contents" folder and open the "Resources" folder found
inside.</li>
<li>There, you will find the "starters", "stamps" and "brushes"
folders. Adding new content to these folders will make the content
available to any user that launches this copy (icon) of
Tux Paint.</li>
</ol>
<p><em>Note:</em> If you install a newer version of Tux Paint
and replace or discard the old version, you will lose changes made
by following the instructions above, so keep backups of your new
content (stamps, brushes, etc.).</p>
<p>Tux Paint also looks for files in a "TuxPaint" folder
that you can place in your system's "Application Support" folder
(found under "Library" at the root of your hard disk):</p>
<blockquote><code>
/Library/Application Support/TuxPaint/
</code></blockquote>
<p>It also looks for files in the user's "Application Support" folder:
</p>
<blockquote><code>
/Users/<i>(user name)</i>/Library/Application Support/TuxPaint/
</code></blockquote>
<p>When you upgrade to a newer version of Tux Paint, the contents of this
TuxPaint folder will stay the same and remain accessible by all users
of Tux Paint.</p>
</blockquote>
</blockquote>
<hr size=1 noshade>
<h3>Personal Files</h3>
<blockquote>
<p>You can also create brushes, stamps, fonts and 'starters' in your
own directory (folder) for Tux Paint to find.</p>
<h4>Windows</h4>
<blockquote>
<p>Your personal Tux Paint folder is stored in your
"Application Data". For example, on newer Windows (set up
for an English-speaking user):</p>
<blockquote><code>
C:\Documents and Settings\<i>(user name)</i>\Application
Data\TuxPaint\
</code></blockquote>
</blockquote>
<h4>Mac OS X</h4>
<blockquote>
<p>Your personal Tux Paint folder is stored in your
"Application Support" folder:
<blockquote><code>
/Users/<i>(user name)</i>/Library/Application Support/
TuxPaint/</code>
</code></blockquote>
</blockquote>
<h4>Linux and Unix</h4>
<blockquote>
<p>Your personal Tux Paint directory is
"<code>$(HOME)/.tuxpaint/</code>" (also known as
"<code>~/.tuxpaint/</code>".</p>
<p>That is, if your home directory is "<code>/home/karl</code>", then
your Tux Paint directory is
"<code>/home/karl/.tuxpaint/</code>".</p>
<p>Don't forget the period ("<code>.</code>") before the
'<code>tuxpaint</code>'!</p>
</blockquote>
<p>To add brushes, stamps fonts, and 'starters,' create subdirectories
under your personal Tux Paint directory named
"<code><b>brushes</b></code>", "<code><b>stamps</b></code>",
"<code><b>fonts</b></code>" and
"<code><b>starters</b></code>" respectively.</p>
<p>(For example, if you created a brush named "<code>flower.png</code>",
you would put it in "<code>~/.tuxpaint/brushes/</code>" under Linux or
Unix.)</p>
</blockquote>
</blockquote>
<hr size=1 noshade>
<h2>Brushes</h2>
<blockquote>
<p>The brushes used for drawing with the 'Brush' and 'Lines' tools in
Tux Paint are simply PNG image files.</p>
<img src="images/brush_edit.png" width=123 height=147 alt="" align=right>
<p>The alpha (transparency) of the PNG image is used to determine the shape
of the brush, which means that the shape can be 'anti-aliased' and even
partially-transparent!</p>
<p>Greyscale pixels in the brush PNG will be drawn using the
currently-selected color in Tux Paint. Color pixels will be
tinted.</p>
<p>Brush images should be no wider than 40 pixels across and
no taller than 40 pixels high. (i.e., the maximum size
can be 40 x 40.)</p>
<h3>Brush Options</h3>
<blockquote>
<p>Aside from a graphical shape, brushes can also be given other
attributes. To do this, you need to create a 'data file'
for the brush.</p>
<p>A brush data file is simply a text file containing the options.</p>
<p>The file has the same name as the PNG image, but a "<code>.dat</code>"
extension. (e.g., "<code>brush.png</code>"'s data file is the text
file "<code>brush.dat</code>" in the same directory.)</p>
<h4>Brush Spacing</h4>
<blockquote>
<p>As of Tux Paint version 0.9.16, you can now specify the spacing
for brushes (that is, how often they are drawn). By default, the
spacing will be the brush's height, divided by 4.</p>
<p>Add a line containing the line "<code><b>spacing=<i>N</i></b></code>"
to the brush's data file, where <i>N</i> is the spacing you want
for the brush. (The lower the number, the more often the brush is
drawn.)</p>
</blockquote>
<h4>Animated Brushes</h4>
<blockquote>
<p>As of Tux Paint version 0.9.16, you may now create animated
brushes. As the brush is used, each frame of the animation is
drawn.</p>
<p>Lay each frame out across a wide PNG image. For example,
if your brush is 30x30 and you have 5 frames, the image should
be 150x30.</p>
<p>Add a line containing the line "<code><b>frames=<i>N</i></b></code>"
to the brush's data file, where <i>N</i> is the number of frames
in the brush.</p>
<p><b>Note:</b> If you'd rather the frames be flipped through
randomly, rather than sequentially, also add a line containing
"<code><b>random</b></code>" to the brush's data file.</p>
</blockquote>
<h4>Directional Brushes</h4>
<blockquote>
<p>As of Tux Paint version 0.9.16, you may now create directional
brushes. As the brush is used, different shapes are drawn, depending
on the direction the brush is going.</p>
<p>The directional shapes are divided into a 3x3 square in a PNG image.
For example, if your brush is 30x30, the image should be 90x90, and
each of the direction's shapes placed in a 3x3 grid. The center
region is used for no motion. The top right is used for motion that's
both up, and to the right. And so on.</p>
<p>Add a line containing the line "<code><b>directional</b></code>"
to the brush's data file.</p>
</blockquote>
<h4>Animated Directional Brushes</h4>
<blockquote>
<p>You may mix both animated and directional features into one
brush. Use both options ("<code><b>frames=<i>N</i></b></code>" and
"<code><b>directional</b></code>"), in separate lines in the
brush's "<code>".dat</code>" file.</p>
<p>Lay the brush out so that each 3x3 set of directional shapes are
laid out across a wide PNG image. For example, if the brush is 30x30
and there are 5 frames, it would be 450x90. (The leftmost 150x90 pixels
of the image represent the 9 direction shapes for the first frame,
for example.)</p>
</blockquote>
</blockquote>
<p>Place the brush image PNGs (and any data text files) in the
"<code><b>brushes</b></code>" directory.</p>
<p>Note: If your new brushes all come out as solid squares or rectangles,
it's because you forgot to use alpha transparency! See the documentation
file "PNG.txt" for more information and tips.</p>
<br clear=all>
</blockquote>
<hr size=1 noshade>
<h2>Stamps</h2>
<blockquote>
<p>All stamp-related files go in the "<code><b>stamps</b></code>" directory.
It's useful to create subdirectories and sub-subdirectories
there to organize the stamps. (For example, you can have a
"<code>holidays</code>" folder with "<code>halloween</code>" and
"<code>christmas</code>" sub-folders.)</p>
<h3>Images</h3>
<blockquote>
<p>Rubber Stamps in Tux Paint can be made up of a number of separate
files. The one file that is required is, of course, the picture
itself.</p>
<img src="images/stamp_edit.png" width=128 height=147 alt="" align=right>
<p>As of Tux Paint version 0.9.17, Stamps may be either PNG
bitmap images or SVG vector images. They can be full-color or greyscale.
The alpha (transparency) channel of PNGs is used to determine the actual
shape of the picture (otherwise you'll stamp a large rectangle on your
drawings).</p>
<p>PNGs can be any size, and Tux Paint (by default) provides
a set of sizing buttons to let the user scale the stamp up (larger)
and down (smaller).</p>
<p>SVGs are vector-based, and will be scaled appropriately for the
canvas being used in Tux Paint.</p>
<p>Note: If your new PNG stamps all have solid rectangular-shaped outlines
of a solid color (e.g., white or black), it's because you forgot to use
alpha transparency! See the documentation file
"<a href="../PNG.txt">PNG.txt</a>" for more information and tips.</p>
<p>Note: If your new SVG stamps seem to have a lot of whitespace,
make sure the SVG 'document' is no larger than the shape(s) within.
If they are being clipped, make sure the 'document' is large enough
to contain the shape(s). See the documentation file
"<a href="../SVG.txt">SVG.txt</a>" for more information and tips.</p>
<p><b>Advanced Users:</b> The
<a href="ADVANCED-STAMPS-HOWTO.html">Advanced Stamps HOWTO</a> describes,
in detail, how to make PNG images which will scale perfectly when used as
stamps in Tux Paint.</p>
<br clear=all>
</blockquote>
<hr size=1 noshade>
<h3>Description Text</h3>
<blockquote>
<p>Text (".TXT") files with the same name as the PNG or SVG.
(e.g., "<code>picture.png</code>"'s description is stored in
"<code>picture.txt</code>" in the same directory.)</p>
<p>The first line of the text file will be used as the US English
description of the stamp's image. It must be encoded in UTF-8.</p>
<h4>Language Support</h4>
<blockquote>
<p>Additional lines can be added to the text file to provide
translations of the description, to be displayed when Tux Paint
is running in a different locale (like French or Spanish).</p>
<p>The beginning of the line should correspond to the language code
of the language in question (e.g., "<code>fr</code>" for French, and
"<code>zh_TW</code>" for Traditional Chinese), followed by
"<code>.utf8=</code>" and the translated description (encoded
in UTF-8).</p>
<p>There are scripts in the "<code>po</code>" directory for converting
the text files to PO format (and back) for easy translation to
different languages. Therefore you should never add or change translations
in the .txt files directly.</p>
<p>If no translation is available for the language Tux Paint
is currently running in, the US English text is used.</p>
</blockquote>
<h4>Windows Users</h4>
<blockquote>
<p>Use NotePad or WordPad to edit/create these files.
Be sure to save them as Plain Text, and make sure they have
"<code>.txt</code>" at the end of the filename...</p>
</blockquote>
</blockquote>
<hr size=1 noshade>
<h3>Sound Effects</h3>
<blockquote>
<p>WAVE (".wav") or OGG Vorbis (".ogg")
files with the same name as the PNG or SVG.
(e.g., "<code>picture.svg</code>"'s sound effect is the sound file
"<code>picture.wav</code>" in the same directory.)</p>
<h4>Language Support</h4>
<blockquote>
<p>For sounds for different locales (e.g., if the sound is someone
saying a word, and you want translated versions of the word said),
also create WAV or OGG files with the locale's label in the filename, in
the form: "<code><b>STAMP_LOCALE.EXT</b></code>"</p>
<p>"<code>picture.png</code>"'s sound effect, when Tux Paint is run
in Spanish mode, would be "<code>picture_es.wav</code>".
In French mode, "<code>picture_fr.wav</code>". In Brazilian
Portuguese mode, "<code>picture_pt_BR.wav</code>". And so on...</p>
<p>If no localized sound effect can be loaded, Tux Paint will
attempt to load the 'default' sound file.
(e.g., "<code>picture.wav</code>")</p>
</blockquote>
<p>Note: For descriptive sounds (not sound effects, like a bang or
a bird chirping), consider using the Descriptive Sounds,
described below.</p>
</blockquote>
<hr size=1 noshade>
<h3>Descriptive Sound</h3>
<blockquote>
<p>WAVE (".wav") or OGG Vorbis (".ogg")
files with the same name as the PNG or SVG, followed by
"<code>_desc</code>" (e.g., "<code>picture.svg</code>"'s descriptive
sound is the sound file "<code>picture_desc.ogg</code>" in the same
directory.)</p>
<h4>Language Support</h4>
<blockquote>
<p>For descriptions in different languages,
also create WAV or OGG files with both "<code>_desc</code>" and
the locale's label in the filename, in
the form: "<code><b>STAMP_desc_LOCALE.EXT</b></code>"</p>
<p>"<code>picture.png</code>"'s descriptive sound, when Tux Paint
is run in Spanish mode, would be "<code>picture_desc_es.wav</code>".
In French mode, "<code>picture_desc_fr.wav</code>". In
Brazilian Portuguese mode, "<code>picture_desc_br_PT.wav</code>".
And so on...</p>
<p>If no localized descriptive sound can be loaded, Tux Paint will
attempt to load the 'default' descriptive sound file.
(e.g., "<code>picture_desc.wav</code>")</p>
</blockquote>
</blockquote>
<hr size=1 noshade>
<h3>Stamp Options</h3>
<blockquote>
<p>Aside from a graphical shape, a textual description, and a sound
effect, stamps can also be given other attributes. To do this, you need
to create a 'data file' for the stamp.</p>
<p>A stamp data file is simply a text file containing the options.</p>
<p>The file has the same name as the PNG or SVG image, but a
"<code>.dat</code>" extension. (e.g., "<code>picture.png</code>"'s
data file is the text file "<code>picture.dat</code>" in the same
directory.)</p>
<h4>Colored Stamps</h4>
<blockquote>
<p>Stamps can be made to be either "colorable" or "tintable."</p>
<h5>Colorable</h5>
<blockquote>
<p>"Colorable" stamps they work much like brushes - you pick the stamp
to get the shape, and then pick the color you want it to be.
(Symbol stamps, like the mathematical and musical ones, are an
example.)</p>
<p>Nothing about the original image is used except the transparency
(from "alpha" channel). The color of the stamp comes out solid.</p>
<center><img src="images/ex_colorable.png" width=74 height=92
alt=""></center>
<p>Add a line containing the word "<code><b>colorable</b></code>"
to the stamp's data file.</p>
</blockquote>
<h5>Tinted</h5>
<blockquote>
<p>"Tinted" stamps are similar to "colorable" ones, except the
details of the original image are kept. (To put it technically,
the original image is used, but its hue is changed, based on the
currently-selected color.)</p>
<center><img src="images/ex_tintable.png" width=151 height=78
alt=""></center>
<p>Add a line containing the word "<code><b>tintable</b></code>"
to the stamp's data file.</p>
<h6>Tinting Options:</h6>
<blockquote>
<p>Depending on the contents of your stamp, you might want to
have Tux Paint use one of a numer of methods when tinting it.
Add one of the following lines to the stamp's data file:</p>
<dl>
<dt>"<code><b>tinter=normal</b></code>" (default)</dt>
<dd>This is the normal tinting mode. (Hue range is
+/- 18 degrees, 27 replace.)</dd>
<dt>"<code><b>tinter=anyhue</b></code>"</dt>
<dd>This remaps all hues in the stamp. (Hue range is
+/- 180 degrees.)</dd>
<dt>"<code><b>tinter=narrow</b></code>"</dt>
<dd>This like 'anyhue', but a narrower hue angle.
(Hue range is +/- 6 degrees, 9 replace.)</dd>
<dt>"<code><b>tinter=vector</b></code>"</dt>
<dd>This is map 'black through white' to
'black through destination'.</dd>
</dl>
</blockquote>
</blockquote>
</blockquote>
<h4>Unalterable Stamps</h4>
<blockquote>
<p>By default, a stamp can be flipped upside down, shown as a mirror
image, or both. This is done using the control buttons below the
stamp selector, at the lower right side of the screen in
Tux Paint.</p>
<p>Sometimes, it doesn't make sense for a stamp to be flippable or
mirrored; for example, stamps of letters or numbers.
Sometimes stamps are symmetrical, so letting the user flip or mirror
them isn't useful.</p>
<p>To make a stamp un-flippable, add the option
"<code><b>noflip</b></code>" to the stamp's data file.</p>
<p>To keep a stamp from being mirrored, add a line containing the word
"<code><b>nomirror</b></code>" to the stamp's data file.</p>
</blockquote>
<h4>Initial Stamp Size</h4>
<blockquote>
<p>By default, Tux Paint assumes that your stamp is sized
appropriately for unscaled display on a 608x472 canvas. This is
the original Tux Paint canvas size, provided by a 640x480 screen.
Tux Paint will then adjust the stamp according to the current
canvas size and, if enabled, the user's stamp size controls.</p>
<p>If your stamp would be too big or too small, you can specify
a scale factor. If your stamp would be 2.5 times as wide (or tall)
as it should be, add the option "<code><b>scale 40%</b></code>" or
"<code><b>scale 5/2</b></code>" or "<code><b>scale 2.5</b></code>"
or "<code><b>scale 2:5</b></code>" to your image. You may include
an "<code><b>=</b></code>" if you wish, as in
"<code><b>scale=40%</b></code>".</p>
</blockquote>
<h4>Windows Users</h4>
<blockquote>
<p>You can use NotePad or WordPad to create these file.
Be sure to save it as Plain Text, and make sure the filename
has "<code>.dat</code>" at the end, and not "<code>.txt</code>"...</p>
</blockquote>
</blockquote>
<h3>Pre-Mirrored and Flipped Images</h3>
<blockquote>
<p>In some cases, you may wish to provide a pre-drawn version of
a stamp's mirror-image, flipped image, or even both. For example,
imagine a picture of a fire truck with the words
"<i>Fire Department</i>" written across the side. You probably
do not want that text to appear backwards when the image is flipped!</p>
<p>To create a mirrored version of a stamp that you want Tux Paint
to use, rather than mirroring one on its own, simply create a second
"<code>.png</code>" or "<code>.svg</code>" graphics file with the
same name, except with "<code><b>_mirror</b></code>" before the filename
extension.</p>
<p>For example, for the stamp "<code><b>truck.png</b></code>" you would
create another file named "<code><b>truck_mirror.png</b></code>", which
will be used when the stamp is mirrored (rather than using a
backwards version of '<code>truck.png</code>').</p>
<p>As of Tux Paint 0.9.18, you may similarly provide a pre-flipped
image with "<code><b>_flip</b></code>" in the name, and/or an image that
is both mirrored and flipped, by naming it
"<code><b>_mirror_flip</b></code>".</p>
<p><b>Note:</b> If the user flips and mirrors an image, and a pre-drawn
"<code>_mirror_flip</code>" doesn't exist, but either "<code>_flip</code>"
or "<code>_mirror</code>" does, it will be used, and mirrored or flipped,
respectively.</p>
</blockquote>
</blockquote>
<hr size=1 noshade>
<h2>Fonts</h2>
<blockquote>
<img src="images/fontsizes.png" width=48 height=48 alt="" align=right>
<p>The fonts used by Tux Paint are TrueType Fonts (TTF).</p>
<p>Simply place them in the "<code><b>fonts</b></code>" directory.
Tux Paint will load the font and provide four different sizes
in the 'Letters' selector when using the 'Text' tool.</p>
<br clear=all>
</blockquote>
<hr size=1 noshade>
<h2>'Starters'</h2>
<blockquote>
<img src="images/open_open.png" width=48 height=48 alt="" align=right>
<p>'Starter' images appear in the 'New' dialog, along with solid
color background choices. (Note: In earlier versions of Tux Paint,
they appeared in the 'Open' dialog, together with saved drawings.)</p>
<p>Unlike pictures drawn in Tux Paint by users and then opened
later, opening a 'starter' creates a new drawing. When you save, the
'starter' image is not overwritten. Additionally, as you edit your new
picture, the contents of the original 'starter' affect it.</p>
<b>Coloring-Book Style</b>
<blockquote>
<p>The most basic kind of 'starter' is similar to a picture in a coloring
book. It's an outline of a shape which you can then color in and
add details to. In Tux Paint, as you draw, type text, or stamp
stamps, the outline remains 'above' what you draw. You can erase the
parts of the drawing you made, but you can't erase the outline.</p>
<p>To create this kind of 'starter' image, simply draw an outlined
picture in a paint program, make the rest of the graphic transparent
(that will come out as white in Tux Paint), and save it as a
PNG format file.</p>
<p><b>Note:</b> A common mistake is to make the image black and white,
rather than black and transparent. Unless there are transparent zones
in the 'starter' image, <i>all</i> drawing done by the user in
Tux Paint will be covered up by the 'starter'.</p>
</blockquote>
<b>Scene-Style</b>
<blockquote>
<p>Along with the 'coloring-book' style overlay, you can also provide
a separate background image as part of a 'starter' picture. The
overlay acts the same: it can't be drawn over, erased, or affected by
'Magic' tools. However, the background can be!</p>
<p>When the 'Eraser' tool is used on a picture based on this kind of
'starter' image, rather than turning the canvas to a solid color,
such as white, it returns that part of the canvas to the original
background picture from the 'starter'.</p>
<p>By creating both an overlay and a background, you can create a
'starter' which simulates depth. Imagine a background that shows
the ocean, and an overlay that's a picture of a reef. You can then
draw (or stamp) fish in the picture. They'll appear in the ocean,
but never 'in front of' the reef.</p>
<p>To create this kind of 'starter' picture, simply create an overlay
(with transparency) as described above, and save it as a PNG.
Then create another image (without transparency), and save it with
the same filename, but with "<code>-back</code>" appended to the
name. (e.g., "<code>reef-back.png</code>" would be the background
ocean picture that corresponds to the "<code>reef.png</code>"
overlay, or foreground.)</p>
</blockquote>
<p>The 'starter' images should be the same size as Tux Paint's
canvas. (See the "Loading Other Pictures into Tux Paint" section of
<a href="README.html">README</a> for details on sizing.) If they are not,
they will be stretched, without affecting the shape ("aspect ratio");
however some smudging may be applied to the edges.</p>
<p>Place them in the "<code><b>starters</b></code>" directory.
When the 'New' dialog is accessed in Tux Paint, the 'starter'
images will appear in the screen that appears, after the various solid color
choices.</p>
<p><b>Note:</b> 'Starters' can't be saved over from within Tux Paint,
since loading a 'starter' is really like creating a new image.
(Instead of being blank, though there's already something there to work
with.) The 'Save' command simply creates a new picture, like it would
if the 'New' command had been used.</p>
<p><b>Note:</b> 'Starters' are 'attached' to saved pictures, via a
small text file that has the same name as the saved file, but with
"<code>.dat</code>" as the extension. This allows the overlay and
background, if any, to continue to affect the drawing even after
Tux Paint has been quit, or another picture loaded or started.
(In other words, if you base a drawing on a 'starter' image, it will
always be affected by it.)</p>
<br clear=all>
</blockquote>
<hr size=1 noshade>
<h2>Translations</h2>
<blockquote>
<p>Tux Paint supports numerous languages, thanks to use of the
"gettext" localization library. (See <a href="OPTIONS.html">OPTIONS</a>
for how to change locales in Tux Paint.)</p>
<p>To translate Tux Paint to a new language, copy the translation
template file, "<code>tuxpaint.pot</code>" (found in Tux Paint's
source code, in the folder "<code>src/po/</code>"). Rename the copy as a
"<code>.po</code>" file, with an appropriate name for the locale you're
translating to (e.g., "<code>es.po</code>" for Spanish; or
"<code>pt_BR.po</code>" for Brazilian Portuguese, versus
"<code>pt.po</code>" or "<code>pt_PT.po</code>" for Portuguese spoken in
Portugal.)</p>
<p>Open the newly-created "<code>.po</code>" file — you can edit
in a <i>plain</i> text edtior, such as Emacs, Pico or VI on Linux, or
NotePad on Windows. The original English text used in Tux Paint
is listed in lines starting with "<code>msgid</code>". Enter your
translations of each of these pieces of text in the empty
"<code>msgstr</code>" lines directly below the corresponding
"<code>msgid</code>" lines. (<i>Note:</i> Do not remove the quotes.)</p>
<p>Example:</p>
<blockquote>
<p><code>msgid "Smudge"<br>
msgstr "<u>Manchar</u>"<br>
<br>
msgid "Click and move to draw large bricks."<br>
msgstr "<u>Haz clic y arrastra para dibujar ladrillos grandes.</u>"
</code></p>
</blockquote>
<p>A graphical tool, called <i><b>poEdit</b></i>
(<a href="http://www.poedit.net/">http://www.poedit.net/</a>), is available
for Linux, Windows and Mac OS X.</p>
<p><i>Note:</i> It is best to always work off of the <i>latest</i>
Tux Paint text catalog template ("<code>tuxpaint.pot</code>"),
since new text is added, and old text is occasionally changed.
The text catalog for the upcoming, unreleased version of Tux Paint
can be found in Tux Paint's CVS repository
(see: <a href="http://www.tuxpaint.org/download/source/cvs/">http://www.tuxpaint.org/download/source/cvs/</a>),
and on the Tux Paint website at
<a href="http://www.tuxpaint.org/help/po/">http://www.tuxpaint.org/help/po/</a>.</p>
<p>To edit an existing translation, download the latest "<code>.po</code>"
file for that language, and edit it as described above.</p>
<p>You may send new or edited translation files to Bill Kendrick,
lead developer of Tux Paint, at:
<a href="mailto:bill@newbreedsoftware.com">bill@newbreedsoftware.com</a>,
or post them to the "tuxpaint-i18n" mailing list
(see: <a href="http://www.tuxpaint.org/lists/">http://www.tuxpaint.org/lists/</a>).</p>
<p>Alternatively, if you have an account with
<a href="http://www.sourceforge.net/">SourceForge.net</a>, you can request
to be added to the "<code>tuxpaint</code>" project and receive write-access
to the CVS source code repository so that you may commit your changes
directly.</p>
<p><i>Note:</i> Additional locale support also requires additions
to Tux Paint's source code (<code>/src/i18n.h</code> and
<code>/src/i18n.c</code>), and requires updates to the <code>Makefile</code>,
to have the "<code>.po</code>" gettext catalog source files compiled into
"<code>.mo</code>" files, and installed, for use at runtime.</p>
</blockquote>
<h2>Alternative Input Methods</h2>
<blockquote>
<p>As of version 0.9.17, Tux Paint's "Text" tool can provide
alternative input methods for some languages. For example, when
Tux Paint is running with a Japanese locale, the
<b>right [Alt]</b> key can be pressed to cycle between Latin,
Romanized Hiragana and Romanized Katakana modes.
This allows native characters and words to be entered into the "Text" tool by
typing one or more keys on a keyboard with Latin characters (e.g., a
US QWERTY keyboard).</p>
<p>To create an input method for a new locale, create a text file
with a name based on the locale (e.g., "<code>ja</code>" for Japanese),
with "<code>.im</code>" as the extension (e.g., "<code>ja.im</code>").</p>
<p>The "<code>.im</code>" file can have multiple character mapping sections
for different character mapping modes. For example, on a Japanese typing
system, typing <b>[K]</b> <b>[A]</b> in Hiragana mode generates a
different Unicode character than typing
<b>[K]</b> <b>[A]</b> in Katakana mode.</p>
<p>List the character mappings in this file, one per line. Each line should
contain (separated by whitespace):</p>
<ul>
<li>the Unicode value of the character, in hexadecimal
(more than one character can be listed, separated by a colon (':'),
this allowing some sequences to map to words)
<li>the keycode sequence (the ASCII characters that must be entered to
generate the Unicode character)
<li>a flag (or "<code>-</code>")
</ul>
<p>Start additional character mapping sections with a line containign the word
"<code>section</code>".</p>
<p>Example:</p>
<blockquote>
<p><code># Hiragana<br>
304B ka -<br>
304C ga -<br>
304D ki -<br>
304E gi -<br>
304D:3083 kya -<br>
3063:305F tta -<br>
<br>
# Katakana<br>
section<br>
30AB ka -<br>
30AC ga -<br>
30AD ki -<br>
30AE gi -
</code></p>
</blockquote>
<p><i>Note:</i> Blank lines within the "<code>.im</code>" file
will be ignored, as will any text following a "<code>#</code>"
(pound/hash) character — it can be used to denote comments,
as seen in the example above.</p>
<p><i>Note:</i> Meanings of the flags are locale-specific, and are processed
by the language-specific source code in "<code>src/im.c</code>".
For example, "<code>b</code>" is used in Korean to handle
Batchim, which may carry over to the next character.</p>
<p><i>Note:</i> Additional input method support also requires additions
to Tux Paint's source code (<code>/src/im.c</code>), and requires
updates to the <code>Makefile</code>,
to have the "<code>.im</code>" files installed, for use at runtime.</p>
</blockquote>
</body></html>
|