diff --git a/data/brushes/dog.dat b/data/brushes/dog.dat
new file mode 100644
index 000000000..2eef1561a
--- /dev/null
+++ b/data/brushes/dog.dat
@@ -0,0 +1,3 @@
+frames=2
+directional
+spacing=48
diff --git a/data/brushes/dog.png b/data/brushes/dog.png
new file mode 100644
index 000000000..b5c7f1749
Binary files /dev/null and b/data/brushes/dog.png differ
diff --git a/docs/CHANGES.txt b/docs/CHANGES.txt
index 92277acb7..35db5c838 100644
--- a/docs/CHANGES.txt
+++ b/docs/CHANGES.txt
@@ -7,7 +7,7 @@ Various contributors (see below, and AUTHORS.txt)
http://www.tuxpaint.org/
-2022.March.17 (0.9.28)
+2022.April.14 (0.9.28)
* Improvements to "Paint" and "Lines" tools:
------------------------------------------
* Brush spacing may now be altered within Tux Paint.
@@ -128,6 +128,20 @@ http://www.tuxpaint.org/
you scale down (similar to "Panels", but with non-integer scaling).
Bill Kendrick
+ * New Brushes:
+ ------------
+ * "Dog" animated directional brush.
+ (Modified version of art from the "oneko" package by Tatsuya Kato.
+ https://github.com/tie/oneko)
+ Brushified by Bill Kendrick
+
+ * Other Improvements:
+ -------------------
+ * The up & down scroll buttons now auto-repeat if you click/tap and
+ hold them in the "Tools" section, and "Open", "New", and "Slideshow"
+ dialogs. (For https://sourceforge.net/p/tuxpaint/feature-requests/173/)
+ Bill Kendrick
+
* Localization Updates:
---------------------
* Albanian translation
@@ -196,6 +210,12 @@ http://www.tuxpaint.org/
saved drawing. (Affected Windows only.)
Bill Kendrick
+ * Avoid crashes when coming across unexpected Label data stored within
+ a saved PNG image.
+ (h/t Donny Sianipar for the report & sample image)
+ Bill Kendrick and
+ TOYAMA Shin-ichi
+
* Ports & Building:
-----------------
* Windows
@@ -238,7 +258,8 @@ http://www.tuxpaint.org/
* Documentation updates:
---------------------
* Added some styling, use of HTML semantic tags, call-outs for notes,
- improved printed output, and other improvements to the README docs.
+ improved printed output, and other improvements to the README and
+ OPTIONS docs.
Bill Kendrick
* macOS Apple Silicon and Universal Binary build instructions
diff --git a/docs/en/EXTENDING.txt b/docs/en/EXTENDING.txt
index b41fcf76d..148a0afcf 100644
--- a/docs/en/EXTENDING.txt
+++ b/docs/en/EXTENDING.txt
@@ -5,922 +5,894 @@
Copyright © 2002-2022 by various contributors; see AUTHORS.txt.
https://tuxpaint.org/
- January 20, 2022
+ March 30, 2022
- ----------------------------------------------------------------------
-
- +------------------------------------------+
- |Table of Contents |
- |------------------------------------------|
- | * Where Files Go |
- | * Standard Files |
- | * Personal Files |
- | * Brushes |
- | * Brush Options |
- | * Stamps |
- | * Stamp Images |
- | * Stamp Descriptive Text |
- | * Stamp Sound Effects |
- | * Stamp Descriptive Sound |
- | * Stamp Options |
- | * Pre-Mirrored and Flipped Stamps |
- | * Fonts |
- | * 'Starters' |
- | * Coloring-Book Style Starters |
- | * Scene-Style Starters |
- | * 'Templates' |
- | * Translations |
- | * Alternative Input Methods |
- | * On-screen Keyboard |
- +------------------------------------------+
-
- ----------------------------------------------------------------------
+ +------------------------------------------+
+ |Table of Contents |
+ |------------------------------------------|
+ | * Where Files Go |
+ | * Standard Files |
+ | * Personal Files |
+ | * Brushes |
+ | * Brush Options |
+ | * Stamps |
+ | * Stamp Images |
+ | * Stamp Descriptive Text |
+ | * Stamp Sound Effects |
+ | * Stamp Descriptive Sound |
+ | * Stamp Options |
+ | * Pre-Mirrored and Flipped Stamps |
+ | * Fonts |
+ | * 'Starters' |
+ | * Coloring-Book Style Starters |
+ | * Scene-Style Starters |
+ | * 'Templates' |
+ | * Translations |
+ | * Alternative Input Methods |
+ | * On-screen Keyboard |
+ +------------------------------------------+
If you wish to add or change things like Brushes, Starters, Rubber Stamps,
and other content used by Tux Paint, you can do so fairly easily by simply
adding, changing, or removing files where Tux Paint looks for them.
- Note: You'll need to re-launch Tux Paint for the changes to take effect.
+ 💡 Note: You'll need to re-launch Tux Paint for the changes to take effect.
- ----------------------------------------------------------------------
+ Where Files Go
-Where Files Go
+Standard Files
- Standard Files
+ Tux Paint looks for its various data files in its 'data' directory.
- Tux Paint looks for its various data files in its 'data' directory.
+ Linux and Unix
- Linux and Unix
+ Where this directory goes depends on what value was set for
+ "DATA_PREFIX" when Tux Paint was built. See 'Install
+ documentation' for details.
- Where this directory goes depends on what value was set for
- "DATA_PREFIX" when Tux Paint was built. See 'Install documentation'
- for details.
+ By default, though, the directory is:
- By default, though, the directory is:
+ /usr/local/share/tuxpaint/
- /usr/local/share/tuxpaint/
+ If you installed from a package, it is more likely to be:
- If you installed from a package, it is more likely to be:
+ /usr/share/tuxpaint/
- /usr/share/tuxpaint/
+ Windows
- Windows
+ 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.:
- 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.:
+ C:\Program Files\TuxPaint\data
- C:\Program Files\TuxPaint\data
+ macOS
- macOS
+ Tux Paint stores its data files inside the "Tux Paint" application
+ icon (which is actually a special kind of folder on macOS & Mac OS
+ X before it). The following steps explain how to get to the
+ folders within it:
- Tux Paint stores its data files inside the "Tux Paint" application
- icon (which is actually a special kind of folder on macOS & Mac OS X
- before it). The following steps explain how to get to the folders
- within it:
+ 1. 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.)
+ 2. Select "Show Contents" from the menu that appears. A new
+ Finder window will appear with a folder inside called
+ "Contents".
+ 3. Open the "Contents" folder and open the "Resources" folder
+ found inside.
+ 4. There, you will find various sub-folders, such as "starters",
+ "stamps", "brushes", etc. Adding new content to these folders
+ will make the content available to any user that launches
+ this copy (icon) of Tux Paint.
- 1. 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.)
- 2. Select "Show Contents" from the menu that appears. A new Finder
- window will appear with a folder inside called "Contents".
- 3. Open the "Contents" folder and open the "Resources" folder found
- inside.
- 4. There, you will find various sub-folders, such as "starters",
- "stamps", "brushes", etc. Adding new content to these folders
- will make the content available to any user that launches this
- copy (icon) of Tux Paint.
+ 💡 Note: 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.).
- Note: 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.).
+ 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 filesystem):
- 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 filesystem):
+ /Library/Application Support/TuxPaint/
- /Library/Application Support/TuxPaint/
+ 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.
- 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.
+Personal Files
- ----------------------------------------------------------------------
+ You can also create brushes, stamps, 'starters', templates, and fonts in
+ your own user account directory (folder) for Tux Paint to find.
- Personal Files
+ Windows
- You can also create brushes, stamps, 'starters', templates, and fonts
- in your own user account directory (folder) for Tux Paint to find.
+ Your personal Tux Paint folder is stored in your personal
+ "Application Data". For example, on newer Windows:
- Windows
+ C:\Documents and Settings\(username)\Application Data\TuxPaint\
- Your personal Tux Paint folder is stored in your personal
- "Application Data". For example, on newer Windows:
+ macOS
- C:\Documents and Settings\(username)\Application Data\TuxPaint\
+ Your personal Tux Paint folder is stored in your personal
+ "Application Support" folder:
- macOS
+ /Users/(username)/Library/Application Support/TuxPaint/
- Your personal Tux Paint folder is stored in your personal
- "Application Support" folder:
+ Linux and Unix
- /Users/(username)/Library/Application Support/TuxPaint/
+ Your personal Tux Paint files go into a 'hidden directory' found
+ in your account's home directory: "$(HOME)/.tuxpaint/" (also known
+ as "~/.tuxpaint/").
- Linux and Unix
+ That is, if your home directory is "/home/tux", then your personal
+ Tux Paint files go in "/home/tux/.tuxpaint/".
- Your personal Tux Paint files go into a 'hidden directory' found in
- your account's home directory: "$(HOME)/.tuxpaint/" (also known as
- "~/.tuxpaint/").
+ Don't forget the period (".") before the "tuxpaint"!
- That is, if your home directory is "/home/tux", then your personal
- Tux Paint files go in "/home/tux/.tuxpaint/".
+ To add your own brushes, stamps, 'starters,' templates, and fonts, create
+ subdirectories under your personal Tux Paint directory named "brushes",
+ "stamps", "starters", "templates", "fonts", respectively.
- Don't forget the period (".") before the "tuxpaint"!
+ (For example, if you created a brush named "flower.png", you would put it
+ in "~/.tuxpaint/brushes/" under Linux or Unix.)
- To add your own brushes, stamps, 'starters,' templates, and fonts,
- create subdirectories under your personal Tux Paint directory named
- "brushes", "stamps", "starters", "templates", "fonts", respectively.
+ Brushes
- (For example, if you created a brush named "flower.png", you would put
- it in "~/.tuxpaint/brushes/" under Linux or Unix.)
+ The brushes used for drawing with the 'Brush' and 'Lines' tools in Tux
+ Paint are simply PNG image files.
- ----------------------------------------------------------------------
+ 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!
-Brushes
+ Greyscale pixels in the brush PNG will be drawn using the
+ currently-selected color in Tux Paint. Color pixels will be tinted.
- The brushes used for drawing with the 'Brush' and 'Lines' tools in Tux
- Paint are simply PNG image files.
+Brush Options
- 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!
+ 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.
- Greyscale pixels in the brush PNG will be drawn using the
- currently-selected color in Tux Paint. Color pixels will be tinted.
+ A brush's data file is simply a plain ASCII text file containing the
+ options for the brush.
- Brush Options
+ The file has the same name as the PNG image, but a ".dat" extension.
+ (e.g., "brush.png"'s data file is the text file "brush.dat", found in the
+ same directory.)
- 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.
+ Brush Spacing
- A brush's data file is simply a plain ASCII text file containing the
- options for the brush.
+ 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.
- The file has the same name as the PNG image, but a ".dat" extension.
- (e.g., "brush.png"'s data file is the text file "brush.dat", found in
- the same directory.)
+ Add a line containing the line "spacing=N" to the brush's data
+ file, where "N" is the spacing you want for the brush. (The lower
+ the number, the more often the brush is drawn.)
- Brush Spacing
+ Animated Brushes
- 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.
+ 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.
- Add a line containing the line "spacing=N" to the brush's data file,
- where "N" is the spacing you want for the brush. (The lower the
- number, the more often the brush is drawn.)
+ 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.
- Animated Brushes
+ Add a line containing the line "frames=N" to the brush's data
+ file, where "N" is the number of frames in the brush.
- 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.
+ ⚙ Note: If you'd rather the frames be flipped through randomly,
+ rather than sequentially, also add a line containing "random" to
+ the brush's data file.
- 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.
+ Directional Brushes
- Add a line containing the line "frames=N" to the brush's data file,
- where "N" is the number of frames in the brush.
+ 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.
- Note: If you'd rather the frames be flipped through randomly, rather
- than sequentially, also add a line containing "random" to the
- brush's data file.
+ 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.
- Directional Brushes
-
- 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.
-
- 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.
-
- Add a line containing the word "directional" to the brush's data
- file.
-
- Rotating Brushes
-
- As of Tux Paint version 0.9.27, you may now create rotating brushes.
- As the brush is used, it is rotated 360 degrees, depending on the
- direction the brush is going.
-
- Add a line containing the word "rotate" to the brush's data file.
-
- Animated Directional or Rotating Brushes
-
- You may mix both animated and either directional or rotating
- features into one brush. Use both options desired ("frames=N" and
- "directional" or "rotate"), in separate lines in the brush's ".dat"
- file.
-
- For directional brushes, 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.)
-
- Place the brush image PNGs (and any data text files) in the "brushes"
- directory.
-
- Note: If your new brushes all come out as solid squares or rectangles,
- it's because you forgot to use alpha transparency! See the 'PNG
- documentation' in Tux Paint for more information and tips.
-
- ----------------------------------------------------------------------
-
-Stamps
-
- All stamp-related files go in the "stamps" directory. It's useful to
- create subdirectories and sub-subdirectories there to organize the
- stamps. (For example, you can have a "holidays" folder with "halloween"
- and "christmas" sub-folders.)
-
- Stamp Images
-
- 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.
-
- 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).
-
- 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).
-
- SVGs are vector-based, and will be scaled appropriately for the canvas
- size being used in Tux Paint.
-
- Note: If your new PNG-based stamps all come out as solid squares or
- rectangles, it's because you forgot to use alpha transparency! See the
- 'PNG documentation' in Tux Paint for more information and tips.
-
- 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 'SVG documentation' in Tux Paint for more
- information and tips.
-
- Advanced Users: The 'Advanced Stamps How-To' document describes, in
- detail, how to make PNG images which will scale perfectly when used as
- stamps in Tux Paint.
-
- ----------------------------------------------------------------------
-
- Stamp Descriptive Text
-
- Tux Paint will display descriptive text when a stamp is selected.
- These are placed in plain text files with the same name as the PNG or
- SVG, but with a ".txt" filename extension. (e.g., "stamp.png"'s
- description is stored in "stamp.txt" in the same directory.)
-
- 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.
-
- Localization Support
-
- 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).
-
- The beginning of the line should correspond to the language code of
- the language in question (e.g., "fr" for French, and "zh_TW" for
- Traditional Chinese), followed by ".utf8=" and the translated
- description (Unicode, encoded in UTF-8).
-
- For Tux Paint developers: There are scripts in the "po" 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.
-
- If no translation is available for the language Tux Paint is
- currently running in, the US English text is used.
-
- Windows Users
-
- Use NotePad or WordPad to edit/create these files. Be sure to save
- them as plain-text, and make sure they have a ".txt" extension at
- the end of the filename.
-
- ----------------------------------------------------------------------
-
- Stamp Sound Effects
-
- Tux Paint can play a sound effect when a stamp is selected. For
- example, the sound of a duck quaking when selecting a duck, or a brief
- piece of music when a musical instrument is chosen. Files may be in
- "WAVE (".wav")" or "OGG Vorbis (".ogg")" formats, and are given same
- name as the PNG or SVG image. (e.g., "stamp.svg"'s sound effect is the
- sound file "stamp.ogg" in the same directory.)
-
- Localization Support
-
- 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: "stamp_LOCALE.EXT"
-
- The sound effect that will be played when the stamp corresponding to
- the image file "stamp.png" is selected, and when Tux Paint is using
- the Spanish locale, would be "stamp_es.wav". Under the French
- locale, it would be "stamp_fr.wav". Under the Brazilian Portuguese
- locale, "stamp_pt_BR.wav". And so on...
-
- If no localized sound effect can be loaded, Tux Paint will attempt
- to load the 'default' sound file. (e.g., "stamp.wav")
-
- Note: For descriptive sounds (not sound effects, like a bang or a bird
- chirping), consider using descriptive sounds; see 'Stamp Descriptive
- Sound', below.
-
- ----------------------------------------------------------------------
-
- Stamp Descriptive Sound
-
- Tux Paint can also play a descriptive sound when a stamp is selected.
- For example, the sound of someone saying the word "duck" when
- selecting a duck, or the name of a musical instrument when one is
- chosen. Files may be in "WAVE (".wav")" or "OGG Vorbis (".ogg")"
- formats, and are given same name as the PNG or SVG image, with "_desc"
- at the end. (e.g., "stamp.svg"'s descriptive sound is the sound file
- "stamp_desc.ogg" in the same directory.)
-
- Localization Support
-
- For descriptive sounds for different locales, also create WAV or OGG
- files with both "_desc" and the locale's label in the filename, in
- the form: "stamp_desc_LOCALE.EXT"
-
- The descriptive sound that will be played when the stamp
- corresponding to the image file "stamp.png" is selected, and when
- Tux Paint is using the Spanish locale, would be "stamp_desc_es.wav".
- Under the French locale, it would be "stamp_desc_fr.wav". Under the
- Brazilian Portuguese locale, "stamp_desc_pt_BR.wav". And so on...
-
- If no localized descriptive sound can be loaded, Tux Paint will
- attempt to load the 'default' sound file. (e.g., "stamp_desc.wav")
-
- ----------------------------------------------------------------------
-
- Stamp Options
-
- Aside from a graphical shape, a textual description, a sound effect,
- and a descriptive sound, stamps can also be given other attributes. To
- do this, you need to create a 'data file' for the stamp.
-
- A stamp's data file is simply a plain ASCII text file containing the
- options for the stamp.
-
- The file has the same name as the PNG or SVG image, but a ".dat"
- extension. (e.g., "stamp.png"'s data file is the text file
- "stamp.dat", found in the same directory.)
-
- Colored Stamps
-
- Stamps can be made to be either "colorable" or "tintable."
-
- Colorable
-
- "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.)
-
- Nothing about the original image is used except the transparency
- (from "alpha" channel). The color of the stamp comes out solid.
-
- Add a line containing the word "colorable" to the stamp's data
+ Add a line containing the word "directional" to the brush's data
file.
- Tinted
-
- "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.)
-
- Add a line containing the word "tintable" to the stamp's data
- file.
-
- Tinting Options:
-
- Depending on the contents of your stamp, you might want to have
- Tux Paint use one of a number of methods when tinting it. Add
- one of the following lines to the stamp's data file:
-
- Normal tinter — "tinter=normal" (the default)
- This is the normal tinting mode. First, the primary hue
- of the stamp is determined. (For example, a picture of a
- flower with a stem will have the petal color seen as the
- primary hue of the overall image.) Next, the most highly
- saturated part of the picture is found. With "normal
- tinter", the range of hue used to do this starts out
- within ±18° of the pimary hue found in step 1. (If none
- can be found, it widens the range by 50% and tries
- again.) Finally, the image is tinted. Anything falling
- within 50% of the range (e.g., ±27°) is altered to have
- the hue of the color chosen by the user.
+ Rotating Brushes
- Narrow tinter — "tinter=narrow"
- This like the "normal" option described above, but
- starts a narrower hue range of ±6°. Anything found
- within 50% of the range (e.g. ±9°) is tinted. If too
- much of your stamp is being tinted, try this option.
+ As of Tux Paint version 0.9.27, you may now create rotating
+ brushes. As the brush is used, it is rotated 360 degrees,
+ depending on the direction the brush is going.
- 'Any hue' tinter — "tinter=anyhue"
- This remaps all hues in the stamp. It works similarly to
- the "anyhue" and "narrow" options described above, but
- the hue range is ±180°.
+ Add a line containing the word "rotate" to the brush's data file.
- Vector tinter — "tinter=vector"
- This maps 'black through white' to 'black through
- destination'.
+ Animated Directional or Rotating Brushes
- Unalterable Stamps
+ You may mix both animated and either directional or rotating
+ features into one brush. Use both options desired ("frames=N" and
+ "directional" or "rotate"), in separate lines in the brush's
+ ".dat" file.
- 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.
+ For directional brushes, 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.)
- 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.
+ Place the brush image PNGs (and any data text files) in the "brushes"
+ directory.
- To prevent a stamp from being flipped vertically, add the option
- "noflip" to the stamp's data file.
+ 💡 Note: If your new brushes all come out as solid squares or rectangles,
+ it's because you forgot to use alpha transparency! See the 'PNG
+ documentation' in Tux Paint for more information and tips.
- To prevent a stamp from being mirrored horizontally, add the option
- "nomirror" to the stamp's data file.
+ Stamps
- Initial Stamp Size
+ All stamp-related files go in the "stamps" directory. It's useful to
+ create subdirectories and sub-subdirectories there to organize the stamps.
+ (For example, you can have a "holidays" folder with "halloween" and
+ "christmas" sub-folders.)
- By default, Tux Paint assumes that your stamp is sized appropriately
- for unscaled display on a 608x472 canvas. This was 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.
-
- 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 one of the following options, which represent the
- same adjustment, to the stamp's data file. (An equals sign, "=", may
- be included after the word "scale".)
-
- * "scale 40%"
- * "scale 5/2"
- * "scale 2.5"
- * "scale 2:5"
-
- Windows Users
-
- Use NotePad or WordPad to edit/create these files. Be sure to save
- them as plain-text, and make sure they have a ".txt" extension at
- the end of the filename.
-
- Pre-Mirrored and Flipped Stamps
-
- 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 "Fire Department"
- written across the side. You probably do not want that text to appear
- backwards when the image is flipped!
-
- 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
- ".png" or ".svg" graphics file with the same name, except with
- "_mirror" before the filename extension.
-
- For example, for the stamp "stamp.png" you would create another file
- named "stamp_mirror.png", which will be used when the stamp is
- mirrored (rather than using a backwards version of "stamp.png").
-
- As of Tux Paint 0.9.18, you may similarly provide a pre-flipped image
- with "_flip" in the name, and/or an image that is both mirrored and
- flipped, by naming it "_mirror_flip".
-
- Note: If the user flips and mirrors an image, and a pre-drawn
- "_mirror_flip" doesn't exist, but either "_flip" or "_mirror" does, it
- will be used, and mirrored or flipped, respectively.
-
- ----------------------------------------------------------------------
-
-Fonts
-
- The fonts used by Tux Paint are TrueType Fonts (TTF).
-
- Simply place them in the "fonts" directory. Tux Paint will load the font
- and provide four different sizes in the 'Letters' selector when using
- the 'Text' and 'Label' tools.
-
- ----------------------------------------------------------------------
-
-'Starters'
-
- 'Starter' images appear in the 'New' dialog, along with solid color
- background choices.
-
- When you use a 'starter' image, make modifications, and save it, the
- original 'starter' image is not overwritten. Additionally, as you edit
- your new picture, the contents of the original 'starter' can affect it.
+Stamp Images
- Coloring-Book Style Starters
+ 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.
- 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.
+ 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).
- To create this kind of 'starter' image, simply create an outlined
- black and white picture in a paint program, and save it as a raster
- PNG file, or vector SVG. If saving as a PNG, you may optionally render
- the image as black-and-transparent, rather than black-and-white, but
- (as of Tux Paint 0.9.21) this is not required.
-
- Scene-Style Starters
-
- 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!
-
- 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' image.
+ 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).
- 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.
-
- To create this kind of 'starter' picture, simply create an overlay
- (with transparency) and save it as a PNG. Then create another image
- (without transparency), and save it with the same filename, but with
- "-back" (short for 'background') appended to the name. (e.g.,
- "starter-back.png" would be the background ocean picture that
- corresponds to the overlay, or foreground.)
-
- For best results, 'starter' images should be at least the same size as
- Tux Paint's drawing canvas. (See the "Loading Other Pictures into Tux
- Paint" section of Tux Paint's main documentation (README) for details on
- sizing.) If they are not, they will be stretched or scaled. This is done
- without affecting the shape ("aspect ratio"); however some smudging may
- be applied to the edges.
-
- Place them in the "starters" 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.
-
- Note: 'Starters' are 'attached' to saved pictures, via a small text file
- that has the same name as the saved file, but with ".dat" as the
- extension. This allows it to continue to affect the drawing even after
- Tux Paint has been quit, or another picture is loaded or a new image is
- created. (In other words, if you base a drawing on a 'starter' image, it
- will always be affected by it.)
-
- ----------------------------------------------------------------------
-
-'Templates'
-
- 'Template' images also appear in the 'New' dialog, along with solid
- color background choices and 'Starters'. (Note: Tux Paint prior to
- version 0.9.22 did not have the 'Template' feature.)
-
- Unlike pictures drawn in Tux Paint by users and then opened later,
- opening a 'template' creates a new drawing. When you save, the
- 'template' image is not overwritten. Unlike 'starters', there is no
- immutable 'layer' above the canvas. You may draw over any part of it.
-
- When the 'Eraser' tool is used on a picture based on this kind of
- 'template' 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 'template' image.
-
- 'Templates' are simply image files (in PNG, JPEG, SVG, or KPX (KidPix)
- format). No preparation or conversion should be required.
-
- For best results, 'template' images should be at least the same size as
- Tux Paint's drawing canvas. (See the "Loading Other Pictures into Tux
- Paint" section of Tux Paint's main documentation (README) for details on
- sizing.) If they are not, they will be stretched or scaled. This is done
- without affecting the shape ("aspect ratio"); however some smudging may
- be applied to the edges.
-
- Place them in the "templates" directory. When the 'New' dialog is
- accessed in Tux Paint, the 'template' images will appear in the screen
- that appears, after the various solid color choices.
-
- Note: 'Templates' are 'attached' to saved pictures, via a small text
- file that has the same name as the saved file, but with ".dat" as the
- extension. This allows it to continue to affect the drawing even after
- Tux Paint has been quit, or another picture is loaded or a new image is
- created. (In other words, if you base a drawing on a 'template' image,
- it will always be affected by it.)
-
- ----------------------------------------------------------------------
-
-Translations
-
- Tux Paint supports numerous languages, thanks to use of the "gettext"
- localization library. (See "Options documentation" for how to change
- locales in Tux Paint.)
-
- To translate Tux Paint to a new language, copy the translation template
- file, "tuxpaint.pot" (found in Tux Paint's source code, in the folder
- "src/po/"). Rename the copy as a ".po" file, with an appropriate name
- for the locale you're translating to (e.g., "es.po" for Spanish; or
- "pt_BR.po" for Brazilian Portuguese, versus "pt.po" or "pt_PT.po" for
- Portuguese spoken in Portugal.)
-
- Open the newly-created ".po" file — you can edit in a plain 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 "msgid".
- Enter your translations of each of these pieces of text in the empty
- "msgstr" lines directly below the corresponding "msgid" lines. (Note: Do
- not remove the quotes.)
-
- Example:
-
- msgid "Smudge"
- msgstr "Manchar"
-
- msgid "Click and drag to draw large bricks."
- msgstr "Haz clic y arrastra para dibujar ladrillos grandes."
-
- Various tools exist to manage gettext translation catalogs, so you don't
- have to edit them by hand in a text editor. Here are a few:
-
- * Poedit
- * Gtranslator (GNOME Translator)
- * Virtraal
- * Lokalize
-
- Note: It is best to always work off of the latest Tux Paint text catalog
- template ("tuxpaint.pot"), 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 Git repository (see:
- https://tuxpaint.org/download/source/git/), and on the Tux Paint website
- at https://tuxpaint.org/help/po/.
-
- To edit an existing translation, download the latest ".po" file for that
- language, and edit it as described above.
-
- You may send new or edited translation files to Bill Kendrick, lead
- developer of Tux Paint, at: bill@newbreedsoftware.com, or post them to
- the "tuxpaint-i18n" mailing list (see: https://tuxpaint.org/lists/).
-
- Alternatively, if you have an account with SourceForge.net, you can
- request to be added to the "tuxpaint" project and receive write-access
- to the Git source code repository so that you may commit your changes
- directly.
-
- Note: Support for new locales requires making additions to Tux Paint's
- source code ("/src/i18n.h" and "/src/i18n.c"), and requires updates to
- the Makefile, to ensure the ".po" files are compiled into ".mo" files,
- and available for use at runtime.
-
- ----------------------------------------------------------------------
-
-Alternative Input Methods
-
- Tux Paint's 'Text' and 'Label' tools can provide alternative input
- methods for some languages. For example, when Tux Paint is running with
- a Japanese locale, the right [Alt] 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' and 'Label'
- tools by typing one or more keys on a keyboard with Latin characters
- (e.g., a US QWERTY keyboard).
-
- To create an input method for a new locale, create a text file with a
- name based on the locale (e.g., "ja" for Japanese), with ".im" as the
- extension (e.g., "ja.im").
-
- The ".im" file can have multiple character mapping sections for
- different character mapping modes. For example, on a Japanese typing
- system, typing [K] [A] in Hiragana mode generates a different Unicode
- character ("か") than typing [K] [A] in Katakana mode ("カ").
-
- List the character mappings in this file, one per line. Each line should
- contain (separated by whitespace):
-
- * 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)
- * the keycode sequence (the ASCII characters that must be entered to
- generate the Unicode character)
- * a flag (or "-" if none)
-
- Start additional character mapping sections with a line containign the
- word "section".
-
- Example:
-
- # Hiragana
- 304B ka -
- 304C ga -
- 304D ki -
- 304E gi -
- 304D:3083 kya -
- 3063:305F tta -
-
- # Katakana
- section
- 30AB ka -
- 30AC ga -
- 30AD ki -
- 30AE gi -
-
- Note: Blank lines within the ".im" file will be ignored, as will any
- text following a "#" (pound/hash) character — it can be used to denote
- comments, as seen in the example above.
-
- Note: Meanings of the flags are locale-specific, and are processed by
- the language-specific source code in "src/im.c". For example, "b" is
- used in Korean to handle Batchim, which may carry over to the next
- character.
+ SVGs are vector-based, and will be scaled appropriately for the canvas
+ size being used in Tux Paint.
- Note: Support for new input methods requires making additions to Tux
- Paint's source code ("/src/im.c"), and requires updates to the Makefile,
- to ensure the ".im" files are available for use at runtime.
-
- ----------------------------------------------------------------------
-
-On-screen Keyboard
-
- As of version 0.9.22, Tux Paint's 'Text' and 'Label' tools can present
- an on-screen keyboard that allows the pointer (via a mouse, eye-tracking
- systems, etc.) to be used to input characters. Files that describe the
- layout and available keys are stored in Tux Paint "osk" directory. Each
- keyboard layout is defined by a number of files (some of which may be
- shared by different layouts).
-
- We'll use the QWERTY keyboard as an example:
-
- Layout overview file ("qwerty.layout")
-
- This is a text file that specifies the other files used to describe
- the layout and key mappings.
-
- layout qwerty.h_layout
- keymap us-intl-altgr-dead-keys.keymap
- composemap en_US.UTF-8_Compose
- keysymdefs keysymdef.h
- keyboardlist qwerty.layout default.layout
-
- Note: Blank lines within the ".layout" file will be ignored, as will
- any text following a "#" (pound/hash) character — it can be used to
- denote comments, as seen in the example above.
-
- The "keyboardlist" line describes which layouts to switch to, when the
- user clicks the left and right buttons on the keyboard. (See below.)
-
- Keyboard layout file ("qwerty.h_layout")
-
- This describes how big the keyboard is (as a "width × height" grid),
- and lists each key with its numeric keycode (see the "keymap" file,
- below), the width it should be drawn at (typically "1.0", to take one
- space on the keyboard, but in the example below, notice the "TAB" and
- "SPACE" keys are much wider), the character or text to display on the
- key, depending on which modifier keys have been pressed (one each for:
- no modifiers, [Shift], [AltGr], and [Shift] + [AltGr]), and finally
- whether or not the key is affected by the [CapsLock] key (use "1") or
- [AltGr] (alternate graphics) key (use "2"), or not at all (use "0").
-
- WIDTH 15
- HEIGHT 5
-
- KEY 49 1.0 ` ~ ` ~ 0
- KEY 10 1.0 1 ! ¡ ¹ 0
- KEY 11 1.0 2 @ ² ˝ 0
- KEY 12 1.0 3 # · ³ 0
- KEY 13 1.0 4 $ ¤ £ 0
- KEY 14 1.0 5 % € ¸ 0
- KEY 15 1.0 6 ^ ¼ ^ 0
- ...
- KEY 21 1.0 = + × ÷ 0
- KEY 22 2.0 DELETE DELETE DELETE DELETE 0
-
- NEWLINE
-
- KEY 23 1.5 TAB TAB TAB TAB 0
- KEY 24 1.0 q Q ä Ä 1
- KEY 25 1.0 w W å Å 1
- KEY 26 1.0 e E é É 1
- KEY 27 1.0 r R ® ® 1
- ...
-
- NEWLINE
-
- # Arrow to left will change to the previous keyboard
- KEY 2 1.0 <- <- <- <- 0
-
- KEY 133 2.0 Cmp Cmp Cmp Cmp 0
-
- # The ALT or ALTGR keys are used in im to switch the input mode
- KEY 64 2.0 Alt Alt Alt Alt 0
-
- # Space
- KEY 65 7.0 SPACE SPACE SPACE SPACE 0
-
- KEY 108 2.0 AltGr AltGr AltGr AltGr 0
-
- # Arrow to right will change to the next keyboard
- KEY 1 1.0 -> -> -> -> 0
-
- Notice here that alphabetic keys ([Q], [W], etc.) will be affected by
- [CapsLock], while numeric keys ([1], [2], etc.), [Space], and so on,
- will not.
-
- Keycodes up to "8" are reserved for internal use. The ones currently
- used are described below.
-
- * 0 — empty button
- * 1 — next layout (per the layout file's "keyboardlist" setting)
- * 2 — previous layout (per the layout file's "keyboardlist" setting)
-
- Keymap file ("us-intl-altgr-dead-keys.keymap")
-
- This file defines which numeric keycodes (seen in the keyboard layout
- files, such as "qwerty.h_layout" described above) should be mapped to
- which actual characters that an application such as Tux Paint expects
- to receive when keys (e.g., on a real keyboard) are pressed.
-
- If you're using an operating system such as Linux, which runs X-Window
- and has the "xmodmap" command-line tool available, you can run it with
- the ("print keymap expressions" option, "-pke", to generate a keymap
- file.
-
- keycode 9 = Escape NoSymbol Escape Escape
- keycode 10 = 1 exclam exclamdown onesuperior 1 exclam 1 exclam
- NoSymbol onesuperior
- keycode 11 = 2 at twosuperior dead_doubleacute 2 at 2 at onehalf
- twosuperior
- keycode 12 = 3 numbersign periodcentered threesuperior dead_macron
- periodcentered
- ...
- keycode 52 = z Z ae AE Arabic_hamzaonyeh asciitilde guillemotright
- NoSymbol Greek_zeta Greek_ZETA U037D U03FF
- keycode 53 = x X x X Arabic_hamza Arabic_sukun guillemotleft
- NoSymbol Greek_chi Greek_CHI rightarrow leftarrow
- keycode 54 = c C copyright cent Arabic_hamzaonwaw braceright
- Greek_psi Greek_PSI copyright
- keycode 55 = v V v V Arabic_ra braceleft Greek_omega Greek_OMEGA
- U03D6
- keycode 56 = b B b B UFEFB UFEF5 Greek_beta Greek_BETA U03D0
- keycode 57 = n N ntilde Ntilde Arabic_alefmaksura Arabic_maddaonalef
- Greek_nu Greek_NU U0374 U0375
- keycode 58 = m M mu mu Arabic_tehmarbuta apostrophe Greek_mu
- Greek_MU U03FB U03FA
- keycode 59 = comma less ccedilla Ccedilla Arabic_waw comma comma
- less guillemotleft
- keycode 60 = period greater dead_abovedot dead_caron Arabic_zain
- period period greater guillemotright periodcentered
- keycode 61 = slash question questiondown dead_hook Arabic_zah
- Arabic_question_mark slash question
- keycode 62 = Shift_R NoSymbol Shift_R Shift_R
- ...
-
- Composemap file ("en_US.UTF-8_Compose")
-
- This file describes single characters that can be composed by multiple
- inputs. For example, "[Compose]" followed by "[A]" and "[E]" can be
- used to create the "æ" character.
-
- The file that comes with Tux Paint is based on the US English UTF-8
- (Unicode) composemap that comes with X.Org's X Window system. The
- current version from the Xlib library has a web located page at
- https://www.x.org/releases/current/doc/libX11/i18n/compose/en_US.UTF-8.html.
-
- Keysym definitions file ("keysymdef.h")
-
- This file (which is a C programming language header file) is also from
- the X Window System. It defines the Unicode values of each keycap
- (e.g., "XK_equal" corresponds to "U+003D", for the character "="
- ("EQUALS SIGN").
-
- Note: This file is not compiled into Tux Paint, but is read and parsed
- at runtime.
-
- It is unlikely that any modification will be required of this file.
-
- ----------------------------------------------------------------------
+ 💡 Note: If your new PNG-based stamps all come out as solid squares or
+ rectangles, it's because you forgot to use alpha transparency! See the
+ 'PNG documentation' in Tux Paint for more information and tips.
+
+ 💡 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 'SVG documentation' in Tux Paint for more information
+ and tips.
+
+ ⚙ Advanced Users: The 'Advanced Stamps How-To' document describes, in
+ detail, how to make PNG images which will scale perfectly when used as
+ stamps in Tux Paint.
+
+Stamp Descriptive Text
+
+ Tux Paint will display descriptive text when a stamp is selected. These
+ are placed in plain text files with the same name as the PNG or SVG, but
+ with a ".txt" filename extension. (e.g., "stamp.png"'s description is
+ stored in "stamp.txt" in the same directory.)
+
+ 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.
+
+ Localization Support
+
+ 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).
+
+ The beginning of the line should correspond to the language code
+ of the language in question (e.g., "fr" for French, and "zh_TW"
+ for Traditional Chinese), followed by ".utf8=" and the translated
+ description (Unicode, encoded in UTF-8).
+
+ For Tux Paint developers: There are scripts in the "po" 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.
+
+ If no translation is available for the language Tux Paint is
+ currently running in, the US English text is used.
+
+ Windows Users
+
+ Use NotePad or WordPad to edit/create these files. Be sure to save
+ them as plain-text, and make sure they have a ".txt" extension at
+ the end of the filename.
+
+Stamp Sound Effects
+
+ Tux Paint can play a sound effect when a stamp is selected. For example,
+ the sound of a duck quaking when selecting a duck, or a brief piece of
+ music when a musical instrument is chosen. Files may be in "WAVE (".wav")"
+ or "OGG Vorbis (".ogg")" formats, and are given same name as the PNG or
+ SVG image. (e.g., "stamp.svg"'s sound effect is the sound file "stamp.ogg"
+ in the same directory.)
+
+ Localization Support
+
+ 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: "stamp_LOCALE.EXT"
+
+ The sound effect that will be played when the stamp corresponding
+ to the image file "stamp.png" is selected, and when Tux Paint is
+ using the Spanish locale, would be "stamp_es.wav". Under the
+ French locale, it would be "stamp_fr.wav". Under the Brazilian
+ Portuguese locale, "stamp_pt_BR.wav". And so on...
+
+ If no localized sound effect can be loaded, Tux Paint will attempt
+ to load the 'default' sound file. (e.g., "stamp.wav")
+
+ 💡 Note: Also consider using descriptive sounds; see 'Stamp Descriptive
+ Sound', below.
+
+Stamp Descriptive Sound
+
+ Tux Paint can also play a descriptive sound when a stamp is selected. For
+ example, the sound of someone saying the word "duck" when selecting a
+ duck, or the name of a musical instrument when one is chosen. Files may be
+ in "WAVE (".wav")" or "OGG Vorbis (".ogg")" formats, and are given same
+ name as the PNG or SVG image, with "_desc" at the end. (e.g.,
+ "stamp.svg"'s descriptive sound is the sound file "stamp_desc.ogg" in the
+ same directory.)
+
+ Localization Support
+
+ For descriptive sounds for different locales, also create WAV or
+ OGG files with both "_desc" and the locale's label in the
+ filename, in the form: "stamp_desc_LOCALE.EXT"
+
+ The descriptive sound that will be played when the stamp
+ corresponding to the image file "stamp.png" is selected, and when
+ Tux Paint is using the Spanish locale, would be
+ "stamp_desc_es.wav". Under the French locale, it would be
+ "stamp_desc_fr.wav". Under the Brazilian Portuguese locale,
+ "stamp_desc_pt_BR.wav". And so on...
+
+ If no localized descriptive sound can be loaded, Tux Paint will
+ attempt to load the 'default' sound file. (e.g., "stamp_desc.wav")
+
+Stamp Options
+
+ Aside from a graphical shape, a textual description, a sound effect, and a
+ descriptive sound, stamps can also be given other attributes. To do this,
+ you need to create a 'data file' for the stamp.
+
+ A stamp's data file is simply a plain ASCII text file containing the
+ options for the stamp.
+
+ The file has the same name as the PNG or SVG image, but a ".dat"
+ extension. (e.g., "stamp.png"'s data file is the text file "stamp.dat",
+ found in the same directory.)
+
+ Colored Stamps
+
+ Stamps can be made to be either "colorable" or "tintable."
+
+ Colorable
+
+ "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.)
+
+ Nothing about the original image is used except the
+ transparency (from "alpha" channel). The color of the
+ stamp comes out solid.
+
+ Add a line containing the word "colorable" to the
+ stamp's data file.
+
+ Tinted
+
+ "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.)
+
+ Add a line containing the word "tintable" to the
+ stamp's data file.
+
+ Tinting Options:
+
+ Depending on the contents of your stamp, you might
+ want to have Tux Paint use one of a number of methods
+ when tinting it. Add one of the following lines to
+ the stamp's data file:
+
+ Normal tinter — "tinter=normal" (the default)
+ This is the normal tinting mode. First,
+ the primary hue of the stamp is
+ determined. (For example, a picture of a
+ flower with a stem will have the petal
+ color seen as the primary hue of the
+ overall image.) Next, the most highly
+ saturated part of the picture is found.
+ With "normal tinter", the range of hue
+ used to do this starts out within ±18°
+ of the pimary hue found in step 1. (If
+ none can be found, it widens the range
+ by 50% and tries again.) Finally, the
+ image is tinted. Anything falling within
+ 50% of the range (e.g., ±27°) is altered
+ to have the hue of the color chosen by
+ the user.
+
+ Narrow tinter — "tinter=narrow"
+ This like the "normal" option described
+ above, but starts a narrower hue range
+ of ±6°. Anything found within 50% of the
+ range (e.g. ±9°) is tinted. If too much
+ of your stamp is being tinted, try this
+ option.
+
+ 'Any hue' tinter — "tinter=anyhue"
+ This remaps all hues in the stamp. It
+ works similarly to the "anyhue" and
+ "narrow" options described above, but
+ the hue range is ±180°.
+
+ Vector tinter — "tinter=vector"
+ This maps 'black through white' to
+ 'black through destination'.
+
+ Unalterable Stamps
+
+ 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.
+
+ 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.
+
+ To prevent a stamp from being flipped vertically, add the option
+ "noflip" to the stamp's data file.
+
+ To prevent a stamp from being mirrored horizontally, add the
+ option "nomirror" to the stamp's data file.
+
+ Initial Stamp Size
+
+ By default, Tux Paint assumes that your stamp is sized
+ appropriately for unscaled display on a 608x472 canvas. This was
+ 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.
+
+ 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 one of the following options, which represent
+ the same adjustment, to the stamp's data file. (An equals sign,
+ "=", may be included after the word "scale".)
+
+ * "scale 40%"
+ * "scale 5/2"
+ * "scale 2.5"
+ * "scale 2:5"
+
+ Windows Users
+
+ Use NotePad or WordPad to edit/create these files. Be sure to save
+ them as plain-text, and make sure they have a ".txt" extension at
+ the end of the filename.
+
+Pre-Mirrored and Flipped Stamps
+
+ 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 "Fire Department" written across the side.
+ You probably do not want that text to appear backwards when the image is
+ flipped!
+
+ 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 ".png" or
+ ".svg" graphics file with the same name, except with "_mirror" before the
+ filename extension.
+
+ For example, for the stamp "stamp.png" you would create another file named
+ "stamp_mirror.png", which will be used when the stamp is mirrored (rather
+ than using a backwards version of "stamp.png").
+
+ As of Tux Paint 0.9.18, you may similarly provide a pre-flipped image with
+ "_flip" in the name, and/or an image that is both mirrored and flipped, by
+ naming it "_mirror_flip".
+
+ 💡 Note: If the user flips and mirrors an image, and a pre-drawn
+ "_mirror_flip" doesn't exist, but either "_flip" or "_mirror" does, it
+ will be used, and mirrored or flipped, respectively.
+
+ Fonts
+
+ The fonts used by Tux Paint are TrueType Fonts (TTF).
+
+ Simply place them in the "fonts" directory. Tux Paint will load the font
+ and provide four different sizes in the 'Letters' selector when using the
+ 'Text' and 'Label' tools.
+
+ 'Starters'
+
+ 'Starter' images appear in the 'New' dialog, along with solid color
+ background choices.
+
+ When you use a 'starter' image, make modifications, and save it, the
+ original 'starter' image is not overwritten. Additionally, as you edit
+ your new picture, the contents of the original 'starter' can affect it.
+
+Coloring-Book Style Starters
+
+ 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.
+
+ To create this kind of 'starter' image, simply create an outlined black
+ and white picture in a paint program, and save it as a raster PNG file, or
+ vector SVG. If saving as a PNG, you may optionally render the image as
+ black-and-transparent, rather than black-and-white, but (as of Tux Paint
+ 0.9.21) this is not required.
+
+Scene-Style Starters
+
+ 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!
+
+ 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' image.
+
+ 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.
+
+ To create this kind of 'starter' picture, simply create an overlay (with
+ transparency) and save it as a PNG. Then create another image (without
+ transparency), and save it with the same filename, but with "-back" (short
+ for 'background') appended to the name. (e.g., "starter-back.png" would be
+ the background ocean picture that corresponds to the overlay, or
+ foreground.)
+
+ For best results, 'starter' images should be at least the same size as Tux
+ Paint's drawing canvas. (See the "Loading Other Pictures into Tux Paint"
+ section of Tux Paint's main documentation (README) for details on sizing.)
+ If they are not, they will be stretched or scaled. This is done without
+ affecting the shape ("aspect ratio"); however some smudging may be applied
+ to the edges.
+
+ Place them in the "starters" 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.
+
+ 💡 Note: 'Starters' are 'attached' to saved pictures, via a small text file
+ that has the same name as the saved file, but with ".dat" as the
+ extension. This allows it to continue to affect the drawing even after Tux
+ Paint has been quit, or another picture is loaded or a new image is
+ created. (In other words, if you base a drawing on a 'starter' image, it
+ will always be affected by it.)
+
+ 'Templates'
+
+ 'Template' images also appear in the 'New' dialog, along with solid color
+ background choices and 'Starters'. (Note: Tux Paint prior to version
+ 0.9.22 did not have the 'Template' feature.)
+
+ Unlike pictures drawn in Tux Paint by users and then opened later, opening
+ a 'template' creates a new drawing. When you save, the 'template' image is
+ not overwritten. Unlike 'starters', there is no immutable 'layer' above
+ the canvas. You may draw over any part of it.
+
+ When the 'Eraser' tool is used on a picture based on this kind of
+ 'template' 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 'template' image.
+
+ 'Templates' are simply image files (in PNG, JPEG, SVG, or KPX (KidPix)
+ format). No preparation or conversion should be required.
+
+ For best results, 'template' images should be at least the same size as
+ Tux Paint's drawing canvas. (See the "Loading Other Pictures into Tux
+ Paint" section of Tux Paint's main documentation (README) for details on
+ sizing.) If they are not, they will be stretched or scaled. This is done
+ without affecting the shape ("aspect ratio"); however some smudging may be
+ applied to the edges.
+
+ Place them in the "templates" directory. When the 'New' dialog is accessed
+ in Tux Paint, the 'template' images will appear in the screen that
+ appears, after the various solid color choices.
+
+ 💡 Note: 'Templates' are 'attached' to saved pictures, via a small text
+ file that has the same name as the saved file, but with ".dat" as the
+ extension. This allows it to continue to affect the drawing even after Tux
+ Paint has been quit, or another picture is loaded or a new image is
+ created. (In other words, if you base a drawing on a 'template' image, it
+ will always be affected by it.)
+
+ Translations
+
+ Tux Paint supports numerous languages, thanks to use of the "gettext"
+ localization library. (See "Options documentation" for how to change
+ locales in Tux Paint.)
+
+ To translate Tux Paint to a new language, copy the translation template
+ file, "tuxpaint.pot" (found in Tux Paint's source code, in the folder
+ "src/po/"). Rename the copy as a ".po" file, with an appropriate name for
+ the locale you're translating to (e.g., "es.po" for Spanish; or "pt_BR.po"
+ for Brazilian Portuguese, versus "pt.po" or "pt_PT.po" for Portuguese
+ spoken in Portugal.)
+
+ Open the newly-created ".po" file — you can edit in a plain 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 "msgid".
+ Enter your translations of each of these pieces of text in the empty
+ "msgstr" lines directly below the corresponding "msgid" lines. (Note: Do
+ not remove the quotes.)
+
+ Example:
+
+ msgid "Smudge"
+ msgstr "Manchar"
+
+ msgid "Click and drag to draw large bricks."
+ msgstr "Haz clic y arrastra para dibujar ladrillos grandes."
+
+ Various tools exist to manage gettext translation catalogs, so you don't
+ have to edit them by hand in a text editor. Here are a few:
+ * Poedit
+ * Gtranslator (GNOME Translator)
+ * Virtraal
+ * Lokalize
+
+ 💡 Note: It is best to always work off of the latest Tux Paint text catalog
+ template ("tuxpaint.pot"), 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 Git repository (see:
+ https://tuxpaint.org/download/source/git/), and on the Tux Paint website
+ at https://tuxpaint.org/help/po/.
+
+ To edit an existing translation, download the latest ".po" file for that
+ language, and edit it as described above.
+
+ You may send new or edited translation files to Bill Kendrick, lead
+ developer of Tux Paint, at: bill@newbreedsoftware.com, or post them to the
+ "tuxpaint-i18n" mailing list (see: https://tuxpaint.org/lists/).
+
+ Alternatively, if you have an account with SourceForge.net, you can
+ request to be added to the "tuxpaint" project and receive write-access to
+ the Git source code repository so that you may commit your changes
+ directly.
+
+ 💡 Note: Support for new locales requires making additions to Tux Paint's
+ source code ("/src/i18n.h" and "/src/i18n.c"), and requires updates to the
+ Makefile, to ensure the ".po" files are compiled into ".mo" files, and
+ available for use at runtime.
+
+ Alternative Input Methods
+
+ Tux Paint's 'Text' and 'Label' tools can provide alternative input methods
+ for some languages. For example, when Tux Paint is running with a Japanese
+ locale, the right [Alt] 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' and 'Label' tools by
+ typing one or more keys on a keyboard with Latin characters (e.g., a US
+ QWERTY keyboard).
+
+ To create an input method for a new locale, create a text file with a name
+ based on the locale (e.g., "ja" for Japanese), with ".im" as the extension
+ (e.g., "ja.im").
+
+ The ".im" file can have multiple character mapping sections for different
+ character mapping modes. For example, on a Japanese typing system, typing
+ [K] [A] in Hiragana mode generates a different Unicode character ("か")
+ than typing [K] [A] in Katakana mode ("カ").
+
+ List the character mappings in this file, one per line. Each line should
+ contain (separated by whitespace):
+
+ * 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)
+ * the keycode sequence (the ASCII characters that must be entered to
+ generate the Unicode character)
+ * a flag (or "-" if none)
+
+ Start additional character mapping sections with a line containign the
+ word "section".
+
+ Example:
+
+ # Hiragana
+ 304B ka -
+ 304C ga -
+ 304D ki -
+ 304E gi -
+ 304D:3083 kya -
+ 3063:305F tta -
+
+ # Katakana
+ section
+ 30AB ka -
+ 30AC ga -
+ 30AD ki -
+ 30AE gi -
+
+ ⚙ Note: Blank lines within the ".im" file will be ignored, as will any
+ text following a "#" (pound/hash) character — it can be used to denote
+ comments, as seen in the example above.
+
+ 💡 Note: Meanings of the flags are locale-specific, and are processed by
+ the language-specific source code in "src/im.c". For example, "b" is used
+ in Korean to handle Batchim, which may carry over to the next character.
+
+ 💡 Note: Support for new input methods requires making additions to Tux
+ Paint's source code ("/src/im.c"), and requires updates to the Makefile,
+ to ensure the ".im" files are available for use at runtime.
+
+ On-screen Keyboard
+
+ As of version 0.9.22, Tux Paint's 'Text' and 'Label' tools can present an
+ on-screen keyboard that allows the pointer (via a mouse, eye-tracking
+ systems, etc.) to be used to input characters. Files that describe the
+ layout and available keys are stored in Tux Paint "osk" directory. Each
+ keyboard layout is defined by a number of files (some of which may be
+ shared by different layouts).
+
+ We'll use the QWERTY keyboard as an example:
+
+Layout overview file ("qwerty.layout")
+
+ This is a text file that specifies the other files used to describe the
+ layout and key mappings.
+
+ layout qwerty.h_layout
+ keymap us-intl-altgr-dead-keys.keymap
+ composemap en_US.UTF-8_Compose
+ keysymdefs keysymdef.h
+ keyboardlist qwerty.layout default.layout
+
+ ⚙ Note: Blank lines within the ".layout" file will be ignored, as will any
+ text following a "#" (pound/hash) character — it can be used to denote
+ comments, as seen in the example above.
+
+ The "keyboardlist" line describes which layouts to switch to, when the
+ user clicks the left and right buttons on the keyboard. (See below.)
+
+Keyboard layout file ("qwerty.h_layout")
+
+ This describes how big the keyboard is (as a "width × height" grid), and
+ lists each key with its numeric keycode (see the "keymap" file, below),
+ the width it should be drawn at (typically "1.0", to take one space on the
+ keyboard, but in the example below, notice the "TAB" and "SPACE" keys are
+ much wider), the character or text to display on the key, depending on
+ which modifier keys have been pressed (one each for: no modifiers,
+ [Shift], [AltGr], and [Shift] + [AltGr]), and finally whether or not the
+ key is affected by the [CapsLock] key (use "1") or [AltGr] (alternate
+ graphics) key (use "2"), or not at all (use "0").
+
+ WIDTH 15
+ HEIGHT 5
+
+ KEY 49 1.0 ` ~ ` ~ 0
+ KEY 10 1.0 1 ! ¡ ¹ 0
+ KEY 11 1.0 2 @ ² ˝ 0
+ KEY 12 1.0 3 # · ³ 0
+ KEY 13 1.0 4 $ ¤ £ 0
+ KEY 14 1.0 5 % € ¸ 0
+ KEY 15 1.0 6 ^ ¼ ^ 0
+ ...
+ KEY 21 1.0 = + × ÷ 0
+ KEY 22 2.0 DELETE DELETE DELETE DELETE 0
+
+ NEWLINE
+
+ KEY 23 1.5 TAB TAB TAB TAB 0
+ KEY 24 1.0 q Q ä Ä 1
+ KEY 25 1.0 w W å Å 1
+ KEY 26 1.0 e E é É 1
+ KEY 27 1.0 r R ® ® 1
+ ...
+
+ NEWLINE
+
+ # Arrow to left will change to the previous keyboard
+ KEY 2 1.0 <- <- <- <- 0
+
+ KEY 133 2.0 Cmp Cmp Cmp Cmp 0
+
+ # The ALT or ALTGR keys are used in im to switch the input mode
+ KEY 64 2.0 Alt Alt Alt Alt 0
+
+ # Space
+ KEY 65 7.0 SPACE SPACE SPACE SPACE 0
+
+ KEY 108 2.0 AltGr AltGr AltGr AltGr 0
+
+ # Arrow to right will change to the next keyboard
+ KEY 1 1.0 -> -> -> -> 0
+
+ Notice here that alphabetic keys ([Q], [W], etc.) will be affected by
+ [CapsLock], while numeric keys ([1], [2], etc.), [Space], and so on, will
+ not.
+
+ Keycodes up to "8" are reserved for internal use. The ones currently used
+ are described below.
+
+ * 0 — empty button
+ * 1 — next layout (per the layout file's "keyboardlist" setting)
+ * 2 — previous layout (per the layout file's "keyboardlist" setting)
+
+Keymap file ("us-intl-altgr-dead-keys.keymap")
+
+ This file defines which numeric keycodes (seen in the keyboard layout
+ files, such as "qwerty.h_layout" described above) should be mapped to
+ which actual characters that an application such as Tux Paint expects to
+ receive when keys (e.g., on a real keyboard) are pressed.
+
+ If you're using an operating system such as Linux, which runs X-Window and
+ has the "xmodmap" command-line tool available, you can run it with the
+ ("print keymap expressions" option, "-pke", to generate a keymap file.
+
+ keycode 9 = Escape NoSymbol Escape Escape
+ keycode 10 = 1 exclam exclamdown onesuperior 1 exclam 1 exclam NoSymbol
+ onesuperior
+ keycode 11 = 2 at twosuperior dead_doubleacute 2 at 2 at onehalf
+ twosuperior
+ keycode 12 = 3 numbersign periodcentered threesuperior dead_macron
+ periodcentered
+ ...
+ keycode 52 = z Z ae AE Arabic_hamzaonyeh asciitilde guillemotright
+ NoSymbol Greek_zeta Greek_ZETA U037D U03FF
+ keycode 53 = x X x X Arabic_hamza Arabic_sukun guillemotleft NoSymbol
+ Greek_chi Greek_CHI rightarrow leftarrow
+ keycode 54 = c C copyright cent Arabic_hamzaonwaw braceright Greek_psi
+ Greek_PSI copyright
+ keycode 55 = v V v V Arabic_ra braceleft Greek_omega Greek_OMEGA U03D6
+ keycode 56 = b B b B UFEFB UFEF5 Greek_beta Greek_BETA U03D0
+ keycode 57 = n N ntilde Ntilde Arabic_alefmaksura Arabic_maddaonalef
+ Greek_nu Greek_NU U0374 U0375
+ keycode 58 = m M mu mu Arabic_tehmarbuta apostrophe Greek_mu Greek_MU
+ U03FB U03FA
+ keycode 59 = comma less ccedilla Ccedilla Arabic_waw comma comma less
+ guillemotleft
+ keycode 60 = period greater dead_abovedot dead_caron Arabic_zain period
+ period greater guillemotright periodcentered
+ keycode 61 = slash question questiondown dead_hook Arabic_zah
+ Arabic_question_mark slash question
+ keycode 62 = Shift_R NoSymbol Shift_R Shift_R
+ ...
+
+Composemap file ("en_US.UTF-8_Compose")
+
+ This file describes single characters that can be composed by multiple
+ inputs. For example, "[Compose]" followed by "[A]" and "[E]" can be used
+ to create the "æ" character.
+
+ The file that comes with Tux Paint is based on the US English UTF-8
+ (Unicode) composemap that comes with X.Org's X Window system. The current
+ version from the Xlib library has a web located page at
+ https://www.x.org/releases/current/doc/libX11/i18n/compose/en_US.UTF-8.html.
+
+Keysym definitions file ("keysymdef.h")
+
+ This file (which is a C programming language header file) is also from the
+ X Window System. It defines the Unicode values of each keycap (e.g.,
+ "XK_equal" corresponds to "U+003D", for the character "=" ("EQUALS SIGN").
+
+ 💡 Note: This file is not compiled into Tux Paint, but is read and parsed
+ at runtime.
+
+ It is unlikely that any modification will be required of this file.
diff --git a/docs/en/INSTALL.txt b/docs/en/INSTALL.txt
index acd74cc27..071d1b387 100644
--- a/docs/en/INSTALL.txt
+++ b/docs/en/INSTALL.txt
@@ -5,853 +5,783 @@
Copyright © 2002-2022 by various contributors; see AUTHORS.txt.
https://tuxpaint.org/
- January 20, 2022
+ March 31, 2022
- ----------------------------------------------------------------------
+ +----------------------------------------------------+
+ |Table of Contents |
+ |----------------------------------------------------|
+ | * Requirements |
+ | * Simple DirectMedia Layer library (libSDL) |
+ | * Other Libraries |
+ | * Compiling and Installation |
+ | * Windows |
+ | * Linux/Unix |
+ | * macOS |
+ | * Debugging |
+ | * Uninstalling Tux Paint |
+ | * Windows |
+ | * macOS |
+ | * Linux |
+ +----------------------------------------------------+
- +----------------------------------------------------+
- |Table of Contents |
- |----------------------------------------------------|
- | * Requirements |
- | * Simple DirectMedia Layer library (libSDL) |
- | * Other Libraries |
- | * Compiling and Installation |
- | * Windows Users |
- | * Linux/Unix Users |
- | * macOS Users |
- | * Debugging |
- | * Uninstalling Tux Paint |
- | * Windows |
- | * macOS |
- | * Linux |
- +----------------------------------------------------+
+ Requirements
- ----------------------------------------------------------------------
+Simple DirectMedia Layer library (libSDL)
-Requirements
+ Tux Paint requires the Simple DirectMedia Layer Library (libSDL), an Open
+ Source multimedia programming library available under the GNU Lesser
+ General Public License (LGPL).
- Simple DirectMedia Layer library (libSDL)
+ Along with libSDL, Tux Paint depends on a number of other SDL 'helper'
+ libraries: SDL_Image (for graphics files), SDL_gfx (for some graphical
+ functions, like rotation), SDL_TTF and (optionally) SDL_Pango (for True
+ Type Font support) and, optionally, SDL_Mixer (for sound effects).
- Tux Paint requires the Simple DirectMedia Layer Library (libSDL), an
- Open Source multimedia programming library available under the GNU
- Lesser General Public License (LGPL).
+ Linux/Unix
- Along with libSDL, Tux Paint depends on a number of other SDL 'helper'
- libraries: SDL_Image (for graphics files), SDL_gfx (for some graphical
- functions, like rotation), SDL_TTF and (optionally) SDL_Pango (for
- True Type Font support) and, optionally, SDL_Mixer (for sound
- effects).
+ The SDL libraries are available as source-code, or as RPM or
+ Debian packages for various distributions of Linux. They can be
+ downloaded from:
- Linux/Unix Users:
+ * libSDL: http://www.libsdl.org/
+ * SDL_Image: http://www.libsdl.org/projects/SDL_image/
+ * SDL_gfx:
+ https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/
+ (https://sourceforge.net/projects/sdlgfx/)
+ * SDL_TTF: http://www.libsdl.org/projects/SDL_ttf/
+ * SDL_Pango: http://sourceforge.net/projects/sdlpango/
+ (optional)
+ * SDL_Mixer: http://www.libsdl.org/projects/SDL_mixer/
+ (optional)
- The SDL libraries are available as source-code, or as RPM or Debian
- packages for various distributions of Linux. They can be downloaded
- from:
+ They are also typically available along with your Linux
+ distribution (e.g. on an installation media, or available via
+ package maintainance software like Debian's "apt").
- * libSDL: http://www.libsdl.org/
- * SDL_Image: http://www.libsdl.org/projects/SDL_image/
- * SDL_gfx:
- https://www.ferzkopp.net/wordpress/2016/01/02/sdl_gfx-sdl2_gfx/
- (https://sourceforge.net/projects/sdlgfx/)
- * SDL_TTF: http://www.libsdl.org/projects/SDL_ttf/
- * SDL_Pango: http://sourceforge.net/projects/sdlpango/ (optional)
- * SDL_Mixer: http://www.libsdl.org/projects/SDL_mixer/ (optional)
-
- They are also typically available along with your Linux distribution
- (e.g. on an installation media, or available via package
- maintainance software like Debian's "apt").
-
- Note: When installing libraries from packages, be sure to ALSO
- install the development versions of the packages. (For example,
- install both "SDL-1.2.4.rpm" and "SDL-1.2.4-devel.rpm".)
+ 💡 Note: When installing libraries from packages, be sure to ALSO
+ install the development versions of the packages. (For example,
+ install both "SDL-1.2.4.rpm" and "SDL-1.2.4-devel.rpm".)
Other Libraries
- Tux Paint also takes advantage of a number of other free, LGPL'd
- libraries. Under Linux, just like SDL, they should either already be
- installed, or are readily available for installation as part of your
- Linux distribution.
+ Tux Paint also takes advantage of a number of other free, LGPL'd
+ libraries. Under Linux, just like SDL, they should either already be
+ installed, or are readily available for installation as part of your Linux
+ distribution.
- libPNG
+ libPNG
- Tux Paint uses PNG (Portable Network Graphics) format for its data
- files. SDL_image will require libPNG be installed.
+ Tux Paint uses PNG (Portable Network Graphics) format for its data
+ files. SDL_image will require libPNG be installed.
- http://www.libpng.org/pub/png/libpng.html
+ http://www.libpng.org/pub/png/libpng.html
- gettext
+ gettext
- Tux Paint uses your system's locale settings along with the
- "gettext" library to support various languages (e.g., Spanish).
- You'll need the gettext library installed.
+ Tux Paint uses your system's locale settings along with the
+ "gettext" library to support various languages (e.g., Spanish).
+ You'll need the gettext library installed.
- http://www.gnu.org/software/gettext/
+ http://www.gnu.org/software/gettext/
- libpaper (Linux/Unix only)
+ libpaper (Linux/Unix only)
- As of Tux Paint 0.9.17, Tux Paint can determine your system's
- default paper size (e.g., A4 or Letter), or can be told to use a
- particular paper size, thanks to "libpaper".
+ As of Tux Paint 0.9.17, Tux Paint can determine your system's
+ default paper size (e.g., A4 or Letter), or can be told to use a
+ particular paper size, thanks to "libpaper".
- https://github.com/naota/libpaper
+ https://github.com/naota/libpaper
- FriBiDi
+ FriBiDi
- Tux Paint's "Text" and also "Label" tools support bidirectional
- languages, thanks to the "FriBiDi" library.
+ Tux Paint's "Text" and also "Label" tools support bidirectional
+ languages, thanks to the "FriBiDi" library.
- http://fribidi.org/
+ http://fribidi.org/
- SVG graphics support
+ SVG graphics support
- As of Tux Paint 0.9.17, Tux Paint can load SVG (Scalable Vector
- Graphics) images as stamps. Two sets of libraries are supported, and
- SVG support can be completely disabled (via "make SVG_LIB:=")
+ As of Tux Paint 0.9.17, Tux Paint can load SVG (Scalable Vector
+ Graphics) images as stamps. Two sets of libraries are supported,
+ and SVG support can be completely disabled (via "make SVG_LIB:=")
- librsvg-2 & libCairo2 (newer libraries)
+ librsvg-2 & libCairo2 (newer libraries)
+ * libRSVG 2: http://librsvg.sourceforge.net/
+ * Cairo 2: http://www.cairographics.org/
+ * These also depend on the following:
+ * GdkPixbuf & GLib: http://www.gtk.org/
+ * Pango: http://www.pango.org/
- * libRSVG 2: http://librsvg.sourceforge.net/
- * Cairo 2: http://www.cairographics.org/
- * These also depend on the following:
- * GdkPixbuf & GLib: http://www.gtk.org/
- * Pango: http://www.pango.org/
+ Older SVG libraries
+ * libcairo1, libsvg1, & libsvg-cairo1:
+ http://www.cairographics.org/
+ * These also depend on the following:
+ * libxml2:
+ https://gitlab.gnome.org/GNOME/libxml2
- Older SVG libraries
+ Animated GIF Export feature
- * libcairo1, libsvg1, & libsvg-cairo1:
- http://www.cairographics.org/
- * These also depend on the following:
- * libxml2: https://gitlab.gnome.org/GNOME/libxml2
+ To support export of animated GIFs (slideshows), the
+ "libimagequant" library (from the "pngquant2" project) is
+ required.
- Animated GIF Export feature
+ https://github.com/ImageOptim/libimagequant
- To support export of animated GIFs (slideshows), the "libimagequant"
- library (from the "pngquant2" project) is required.
+ NetPBM Tools (optional) No longer used, by default
- https://github.com/ImageOptim/libimagequant
+ 📜 Under Linux and Unix, earlier versions of Tux Paint used the
+ NetPBM tools to assist with printing. (A PNG is generated by Tux
+ Paint, and converted into a PostScript using the 'pngtopnm' and
+ 'pnmtops' NetPBM command-line tools.)
- NetPBM Tools (optional) No longer used, by default
+ http://netpbm.sourceforge.net/
- Under Linux and Unix, earlier versions of Tux Paint used the NetPBM
- tools to assist with printing. (A PNG is generated by Tux Paint, and
- converted into a PostScript using the 'pngtopnm' and 'pnmtops'
- NetPBM command-line tools.)
+ Compiling and Installation
- http://netpbm.sourceforge.net/
+ Tux Paint is released under the GNU General Public License (GPL) (see
+ "COPYING.txt" for details), and therefore the 'source code' to the program
+ is available freely.
- ----------------------------------------------------------------------
+Windows
-Compiling and Installation
+ November 3, 2021 Shin-ichi TOYAMA dolphin6k@wmail.plala.or.jp
+
- Tux Paint is released under the GNU General Public License (GPL) (see
- "COPYING.txt" for details), and therefore the 'source code' to the
- program is available freely.
+ Compiling Set-Up
- Windows Users
+ As of February 2005 (starting with Tux Paint 0.9.15), the "Makefile"
+ includes support for building on a Windows system using MinGW/MSYS
+ (https://sourceforge.net/projects/msys2/).
- November 3, 2021 Shin-ichi TOYAMA dolphin6k@wmail.plala.or.jp
-
+ Many tools and libraries are required to build Tux Paint. The package
+ management system "pacman" helps you install them automatically solving
+ complicated dependencies.
- Compiling Set-Up
+ Download the latest MSYS2 environment from
+ https://sourceforge.net/projects/msys2/files/Base/ and install it where
+ you'd like (the default is "C:\msys64")
- As of February 2005 (starting with Tux Paint 0.9.15), the "Makefile"
- includes support for building on a Windows system using MinGW/MSYS
- (https://sourceforge.net/projects/msys2/).
+ Open the MSYS2 shell from the "Start Menu" -> "MSYS2 64bit" -> "MSYS2
+ MSYS" and execute following command (press [Enter] or [Return] to accept
+ the defaults for all questions):
- Many tools and libraries are required to build Tux Paint. The
- package management system "pacman" helps you install them
- automatically solving complicated dependencies.
+ pacman -Syu
- Download the latest MSYS2 environment from
- https://sourceforge.net/projects/msys2/files/Base/ and install it
- where you'd like (the default is "C:\msys64")
+ This will update core system and the window will close automatically.
+ Repeat the steps above one more time to finish the remaining update
+ process.
- Open the MSYS2 shell from the "Start Menu" -> "MSYS2 64bit" ->
- "MSYS2 MSYS" and execute following command (press [Enter] or
- [Return] to accept the defaults for all questions):
+ Within the MSYS2 shell, run the following command to install basic
+ development tools:
- pacman -Syu
+ pacman -S base-devel msys2-devel git
- This will update core system and the window will close
- automatically. Repeat the steps above one more time to finish the
- remaining update process.
-
- Within the MSYS2 shell, run the following command to install basic
- development tools:
-
- pacman -S base-devel msys2-devel git
-
- Proceed to the next "MinGW 64bit (x86_64) toolchains" section, or skip
- to the "MinGW 32bit (i686) toolchains" section if you need only a
- 32bit build environment.
+ Proceed to the next "MinGW 64bit (x86_64) toolchains" section, or skip to
+ the "MinGW 32bit (i686) toolchains" section if you need only a 32bit build
+ environment.
-------------------------------------------------------
MinGW 64bit (x86_64) toolchains
- Within the MSYS2 shell, run the following command to install basic
- 64bit development tools:
+ Within the MSYS2 shell, run the following command to install basic 64bit
+ development tools:
- pacman -S mingw-w64-x86_64-toolchain
+ pacman -S mingw-w64-x86_64-toolchain
64bit (x86_64) dependency libraries for Tux Paint
- You can install tools and libraries required for compiling Tux Paint
- on MSYS2/MINGW using "pacman" except for SDL_Pango.
+ You can install tools and libraries required for compiling Tux Paint on
+ MSYS2/MINGW using "pacman" except for SDL_Pango.
- "ntldd" is a small tool which examine windows executable files to
- list Dynamic Link Library (.dll) files they depends on. Tux Paint's
- packaging process for binary distribution uses it to find required
- .dll files.
+ "ntldd" is a small tool which examine windows executable files to list
+ Dynamic Link Library (.dll) files they depends on. Tux Paint's packaging
+ process for binary distribution uses it to find required .dll files.
- FLTK is a cross-platform GUI toolkit used by "Tux Paint Config.".
- You can skip installing it if you are only building "Tux Paint".
+ FLTK is a cross-platform GUI toolkit used by "Tux Paint Config.". You can
+ skip installing it if you are only building "Tux Paint".
- $ pacman -S mingw-w64-x86_64-SDL_{image,mixer,ttf,gfx}
- $ pacman -S mingw-w64-x86_64-librsvg
- $ pacman -S mingw-w64-x86_64-fribidi
- $ pacman -S mingw-w64-x86_64-libimagequant
- $ pacman -S mingw-w64-x86_64-fltk
- $ pacman -S mingw-w64-x86_64-ntldd-git
+ $ pacman -S mingw-w64-x86_64-SDL_{image,mixer,ttf,gfx}
+ $ pacman -S mingw-w64-x86_64-librsvg
+ $ pacman -S mingw-w64-x86_64-fribidi
+ $ pacman -S mingw-w64-x86_64-libimagequant
+ $ pacman -S mingw-w64-x86_64-fltk
+ $ pacman -S mingw-w64-x86_64-ntldd-git
- Note: Close the shell before proceeding to the remaining process.
+ 💡 Note: Close the shell before proceeding to the remaining process.
Install SDL_Pango on the 64bit environment
- SDL_Pango should be installed manually.
+ SDL_Pango should be installed manually.
- This time, use the MinGW "64bit" shell. Open the shell from the
- "Start Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 64-bit"
+ This time, use the MinGW "64bit" shell. Open the shell from the "Start
+ Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 64-bit"
SDL_Pango
- At first, you have to prepare source tar-ball and a required patch
- in the same directory.
+ At first, you have to prepare source tar-ball and a required patch in the
+ same directory.
+ * Download source tar-ball of SDL_Pango-0.1.2 from SDL_Pango's page on
+ Sourceforge.net.
+ * Download a patch file from John Popplewell's "Tux Paint - MinGW/MSYS
+ build instructions" webpage. (This adds some extra (required)
+ functionality to SDL_Pango.)
- * Download source tar-ball of SDL_Pango-0.1.2 from SDL_Pango's
- page on Sourceforge.net.
- * Download a patch file from John Popplewell's "Tux Paint -
- MinGW/MSYS build instructions" webpage. (This adds some extra
- (required) functionality to SDL_Pango.)
+ Build and install SDL_Pango as follows.
- Build and install SDL_Pango as follows.
+ $ tar zxvf SDL_Pango-0.1.2.tar.gz
+ $ cd SDL_Pango-0.1.2/
+ $ patch -p0 < ../SDL_Pango-configure-extra-api.patch
+ $ ./configure --prefix=/mingw64 && make && make install
- $ tar zxvf SDL_Pango-0.1.2.tar.gz
- $ cd SDL_Pango-0.1.2/
- $ patch -p0 < ../SDL_Pango-configure-extra-api.patch
- $ ./configure --prefix=/mingw64 && make && make install
-
- Proceed to the next "MinGW 32bit (i686) toolchains" section, or skip
- to the "ImageMagick" section if you need only a 64bit build
- environment.
+ Proceed to the next "MinGW 32bit (i686) toolchains" section, or skip to
+ the "ImageMagick" section if you need only a 64bit build environment.
-------------------------------------------------------
MinGW 32bit (i686) toolchains
- Within the MSYS2 shell, run the following command to install basic
- 32bit development tools:
+ Within the MSYS2 shell, run the following command to install basic 32bit
+ development tools:
- pacman -S mingw-w64-i686-toolchain
+ pacman -S mingw-w64-i686-toolchain
32bit (i686) dependency libraries for Tux Paint
- You can install tools and libraries required for compiling Tux Paint
- on MSYS2/MINGW using "pacman" except for SDL_Pango.
+ You can install tools and libraries required for compiling Tux Paint on
+ MSYS2/MINGW using "pacman" except for SDL_Pango.
- "ntldd" is a small tool which examine windows executable files to
- list Dynamic Link Library (.dll) files they depends on. Tux Paint's
- packaging process for binary distribution uses it to find required
- .dll files.
+ "ntldd" is a small tool which examine windows executable files to list
+ Dynamic Link Library (.dll) files they depends on. Tux Paint's packaging
+ process for binary distribution uses it to find required .dll files.
- FLTK is a cross-platform GUI toolkit used by "Tux Paint Config.".
- You can skip installing it if you are only building "Tux Paint".
+ FLTK is a cross-platform GUI toolkit used by "Tux Paint Config.". You can
+ skip installing it if you are only building "Tux Paint".
- $ pacman -S mingw-w64-i686-SDL_{image,mixer,ttf,gfx}
- $ pacman -S mingw-w64-i686-librsvg
- $ pacman -S mingw-w64-i686-fribidi
- $ pacman -S mingw-w64-i686-libimagequant
- $ pacman -S mingw-w64-i686-fltk
- $ pacman -S mingw-w64-i686-ntldd-git
+ $ pacman -S mingw-w64-i686-SDL_{image,mixer,ttf,gfx}
+ $ pacman -S mingw-w64-i686-librsvg
+ $ pacman -S mingw-w64-i686-fribidi
+ $ pacman -S mingw-w64-i686-libimagequant
+ $ pacman -S mingw-w64-i686-fltk
+ $ pacman -S mingw-w64-i686-ntldd-git
- Note: Close the shell before proceeding to the remaining process.
+ 💡 Note: Close the shell before proceeding to the remaining process.
Install SDL_Pango on the 32bit environment
- SDL_Pango should be installed manually.
+ SDL_Pango should be installed manually.
- This time, use the MinGW "32bit" shell. Open the shell from the
- "Start Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 32-bit"
+ This time, use the MinGW "32bit" shell. Open the shell from the "Start
+ Menu" -> "MSYS2 64bit" -> "MSYS2 MinGW 32-bit"
SDL_Pango
- At first, you have to prepare source tar-ball and a required patch
- in the same directory.
+ At first, you have to prepare source tar-ball and a required patch in the
+ same directory.
+ * Download source tar-ball of SDL_Pango-0.1.2 from SDL_Pango's page on
+ Sourceforge.net.
+ * Download a patch file from John Popplewell's "Tux Paint - MinGW/MSYS
+ build instructions" webpage. (This adds some extra (required)
+ functionality to SDL_Pango.)
- * Download source tar-ball of SDL_Pango-0.1.2 from SDL_Pango's
- page on Sourceforge.net.
- * Download a patch file from John Popplewell's "Tux Paint -
- MinGW/MSYS build instructions" webpage. (This adds some extra
- (required) functionality to SDL_Pango.)
+ Build and install SDL_Pango as follows.
- Build and install SDL_Pango as follows.
+ $ tar zxvf SDL_Pango-0.1.2.tar.gz
+ $ cd SDL_Pango-0.1.2/
+ $ patch -p0 < ../SDL_Pango-configure-extra-api.patch
+ $ ./configure --prefix=/mingw32 && make && make install
- $ tar zxvf SDL_Pango-0.1.2.tar.gz
- $ cd SDL_Pango-0.1.2/
- $ patch -p0 < ../SDL_Pango-configure-extra-api.patch
- $ ./configure --prefix=/mingw32 && make && make install
+ ImageMagick
- -------------------------------------------------------
+ ImageMagick is a compilation of command line tools to create, edit,
+ compose, or convert bitmap images supporting quite a large number of image
+ formats. Tux Paint uses two functions ("convert" and "composite") in it to
+ generate thumbnails for startar images and templates during the build
+ process.
- ImageMagick
+ Using official binary release available from "Windows Binary Release" is
+ recommended, due to the commands installed with "pacman" on MinGW/MSYS not
+ working as expected!
- ImageMagick is a compilation of command line tools to create, edit,
- compose, or convert bitmap images supporting quite a large number of
- image formats. Tux Paint uses two functions ("convert" and
- "composite") in it to generate thumbnails for startar images and
- templates during the build process.
+ Do not forget to enable "Install legacy utilities (e.g. convert)" while
+ installing it, because Tux Paint's build process uses them.
- Using official binary release available from "Windows Binary
- Release" is recommended, due to the commands installed with "pacman"
- on MinGW/MSYS not working as expected!
+ Add the path to the directory in which ImageMagick is installed at the top
+ of your "PATH" environment variable. For example:
- Do not forget to enable "Install legacy utilities (e.g. convert)"
- while installing it, because Tux Paint's build process uses them.
+ $ export PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH
- Add the path to the directory in which ImageMagick is installed at
- the top of your "PATH" environment variable. For example:
+ You can make this permanent by adding the above to your the BASH shell
+ configuration file, "~/.bash_profile".
- $ export PATH=/c/Program\ Files/ImageMagick-7.0.10-Q16-HDRI:$PATH
+ Tux Paint
- You can make this permanent by adding the above to your the BASH
- shell configuration file, "~/.bash_profile".
+ You can compile 64bit binaries using MSYS2 64bit shell, and 32bit binaries
+ using MSYS2 32bit shell, respectively.
- -------------------------------------------------------
+ * Select "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" from the "Start Menu" to
+ open the 64bit shell.
+ * Select "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" from the "Start Menu" to
+ open the 32bit shell.
- Tux Paint
+ Compile Tux Paint with the following command:
- You can compile 64bit binaries using MSYS2 64bit shell, and 32bit
- binaries using MSYS2 32bit shell, respectively.
+ $ make bdist-win32
- * Select "MSYS2 64bit" -> "MSYS2 MinGW 64-bit" from the "Start
- Menu" to open the 64bit shell.
- * Select "MSYS2 64bit" -> "MSYS2 MinGW 32-bit" from the "Start
- Menu" to open the 32bit shell.
+ 💡 Note: At this point, you will want to build "Tux Paint Config." for
+ Windows, so it can be included along with "Tux Paint", if you're making an
+ official (or test) release. The build process will look for it in a
+ directory named "tuxpaint-config" (with no version number, e.g.,
+ "tuxpaint-config-X.Y.Z"). See "Tux Paint Config."'s INSTALL.txt
+ documentation for details.
- Compile Tux Paint with the following command:
+ All the files needed for starting Tux Paint (and Tux Paint Config.) are
+ collected in the directory for binary distribution "bdist" directory under
+ "win32". You can start them by double-clicking their executable (.exe)
+ files in the "bdist" directory.
- $ make bdist-win32
+ Building the Tux Paint Windows Installer
- Note: At this point, you will want to build "Tux Paint Config." for
- Windows, so it can be included along with "Tux Paint", if you're
- making an official (or test) release. The build process will look
- for it in a directory named "tuxpaint-config" (with no version
- number, e.g., "tuxpaint-config-X.Y.Z"). See "Tux Paint Config."'s
- INSTALL.txt documentation for details.
+ Inno Setup is used to build executable installer for Tux Paint. Therefore
+ you have to install it in the first place.
- All the files needed for starting Tux Paint (and Tux Paint Config.)
- are collected in the directory for binary distribution "bdist"
- directory under "win32". You can start them by double-clicking their
- executable (.exe) files in the "bdist" directory.
+ Inno Setup officially supports translations for only about 20 languages.
+ However, one of the great points of Tux Paint is it supports so many
+ languages. Therefore, the set up script "tuxpaint.iss" to build the
+ installer is written to use much more translations including unofficial
+ one which are available on "Inno Setup Translations". You have to download
+ translation files (.isl) required and put them in "Languages" directory
+ under the directory in which Inno Setup is installed.
- -------------------------------------------------------
+ Before building an installer, edit the "tuxpaint.iss" file and enable one
+ of the lines starting with "#define BuildTarget=", depending on the
+ architecture of the installer you want to create.
- Building the Tux Paint Windows Installer:
+ Then, you can easily build an executable installer by right-clicking on
+ the "tuxpaint.iss" icon in the "win32" directory and selecting "Compile"
+ on the list. It will run for a while, and eventually you will find a
+ "tuxpaint-X.Y.Z-windows--installer.exe" file in the same directory.
- Inno Setup is used to build executable installer for Tux Paint.
- Therefore you have to install it in the first place.
+ Running the Tux Paint Windows Installer
- Inno Setup officially supports translations for only about 20
- languages. However, one of the great points of Tux Paint is it
- supports so many languages. Therefore, the set up script
- "tuxpaint.iss" to build the installer is written to use much more
- translations including unofficial one which are available on "Inno
- Setup Translations". You have to download translation files (.isl)
- required and put them in "Languages" directory under the directory
- in which Inno Setup is installed.
+ Double-click the Tux Paint installer executable (.EXE file) and follow the
+ instructions.
- Before building an installer, edit the "tuxpaint.iss" file and
- enable one of the lines starting with "#define BuildTarget=",
- depending on the architecture of the installer you want to create.
+ First, you will be asked to read the license. (It is the GNU General
+ Public License (GPL), which is also available as "COPYING.txt".)
- Then, you can easily build an executable installer by right-clicking
- on the "tuxpaint.iss" icon in the "win32" directory and selecting
- "Compile" on the list. It will run for a while, and eventually you
- will find a "tuxpaint-X.Y.Z-windows--installer.exe" file in
- the same directory.
+ You will then be asked whether you want to install shortcuts to Tux Paint
+ in your Windows Start Menu and on your Windows Desktop. (Both options are
+ set by default.)
- -------------------------------------------------------
+ Then you will be asked where you wish to install Tux Paint. The default
+ should be suitable, as long as there is space available. Otherwise, pick a
+ different location.
- Running the Tux Paint Windows Installer:
+ At this point, you can click 'Install' to install Tux Paint!
- Double-click the Tux Paint installer executable (.EXE file) and
- follow the instructions.
+ Changing the Settings Using the Shortcut
- First, you will be asked to read the license. (It is the GNU General
- Public License (GPL), which is also available as "COPYING.txt".)
+ To change program settings, right-click on the TuxPaint shortcut and
+ select 'Properties' (at the bottom).
- You will then be asked whether you want to install shortcuts to Tux
- Paint in your Windows Start Menu and on your Windows Desktop. (Both
- options are set by default.)
+ Make sure the 'Shortcut' tab is selected in the window that appears, and
+ examine the 'Target:' field. You should see something like this:
- Then you will be asked where you wish to install Tux Paint. The
- default should be suitable, as long as there is space available.
- Otherwise, pick a different location.
+ "C:\Program Files\TuxPaint\TuxPaint.exe"
- At this point, you can click 'Install' to install Tux Paint!
+ You can now add command-line options which will be enabled when you
+ double-click the icon.
- -------------------------------------------------------
+ For example, to make the game run in fullscreen mode, with simple shapes
+ (no rotation option) and in French, add the options (after
+ 'TuxPaint.exe'), like so:
- Changing the Settings Using the Shortcut:
+ "C:\Program Files\TuxPaint\TuxPaint.exe" -f -s --lang french
- To change program settings, right-click on the TuxPaint shortcut and
- select 'Properties' (at the bottom).
+ (See the main documentation for a full list of available command-line
+ options.)
- Make sure the 'Shortcut' tab is selected in the window that appears,
- and examine the 'Target:' field. You should see something like this:
+ If you make a mistake or it all disappears use [Ctrl] + [Z] to undo or
+ just hit the [Esc] key and the box will close with no changes made (unless
+ you pushed the "Apply" button!).
- "C:\Program Files\TuxPaint\TuxPaint.exe"
+ When you have finished, click "OK."
- You can now add command-line options which will be enabled when you
- double-click the icon.
+ If Something Goes Wrong
- For example, to make the game run in fullscreen mode, with simple
- shapes (no rotation option) and in French, add the options (after
- 'TuxPaint.exe'), like so:
+ If, when you double-click on the shortcut to run Tux Paint, nothing
+ happens, it is probably because some of these command-line options are
+ wrong. Open an Explorer like before, and look for a file called
+ "stderr.txt" in the TuxPaint folder.
- "C:\Program Files\TuxPaint\TuxPaint.exe" -f -s --lang french
+ It will contain a description of what was wrong. Usually it will just be
+ due to incorrect character-case (capital 'Z' instead of lowercase 'z') or
+ a missing (or extra) '-' (dash).
- (See the main documentation for a full list of available
- command-line options.)
+Linux/Unix
- If you make a mistake or it all disappears use [Ctrl] + [Z] to undo
- or just hit the [Esc] key and the box will close with no changes
- made (unless you pushed the "Apply" button!).
+ Compiling:
- When you have finished, click "OK."
+ 💡 Note: Tux Paint does not use autoconf/automake, so there is no
+ "./configure" script to run. Compiling should be straight-forward though,
+ assuming everything Tux Paint needs is installed.
- -------------------------------------------------------
+ To compile the program from source, simply run the following command from
+ a shell prompt (e.g., "$"):
- If Something Goes Wrong:
+ $ make
- If, when you double-click on the shortcut to run Tux Paint, nothing
- happens, it is probably because some of these command-line options
- are wrong. Open an Explorer like before, and look for a file called
- "stderr.txt" in the TuxPaint folder.
+ Disabling SVG support (and hence Cairo, libSVG, and svg-cairo dependencies):
- It will contain a description of what was wrong. Usually it will
- just be due to incorrect character-case (capital 'Z' instead of
- lowercase 'z') or a missing (or extra) '-' (dash).
+ To disable SVG support (e.g., if your system is not currently supported by
+ the Cairo library or other SVG-related dependencies), you can run "make"
+ with "SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG" added:
- ----------------------------------------------------------------------
+ $ make SVG_LIB= SVG_CFLAGS=
- Linux/Unix Users
+ Disabling Pango support (and hence Pango, Cairo, etc. dependencies):
- Compiling:
+ 📜 Prior to version 0.9.18, Tux Paint used the libSDL_ttf library for
+ rendering text using TrueType Fonts. Since 0.9.18, libSDL_Pango is used,
+ as it has much greater support for internationalization. However, if you
+ wish to disable the use of SDL_Pango, you may do so running "make" with
+ "SDL_PANGO_LIB=" added:
- Note: Tux Paint does not use autoconf/automake, so there is no
- "./configure" script to run. Compiling should be straight-forward
- though, assuming everything Tux Paint needs is installed.
+ $ make SDL_PANGO_LIB=
- To compile the program from source, simply run the following command
- from a shell prompt (e.g., "$"):
+ Disabling Sound at Compile-time
- $ make
+ If you don't have a sound card, or would prefer to build the program with
+ no sound support (and therefore without a the SDL_mixer dependency), you
+ can run "make" with "SDL_MIXER_LIB=" added:
- -------------------------------------------------------
+ $ make SDL_MIXER_LIB=
- Disabling SVG support (and hence Cairo, libSVG, and svg-cairo dependencies):
+ Other options
- To disable SVG support (e.g., if your system is not currently
- supported by the Cairo library or other SVG-related dependencies),
- you can run "make" with "SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG"
- added:
+ Various other options (e.g., installation paths) may be overridden; see
+ them in "Makefile" for further details.
- $ make SVG_LIB= SVG_CFLAGS=
+ If you get errors
- -------------------------------------------------------
+ If you receive any errors during compile-time, make sure you have the
+ appropriate libraries installed (see above). If using packaged versions of
+ the libraries (e.g., RPMs under RedHat or DEBs under Debian), be sure to
+ get the corresponding "-dev" or "-devel" packages as well, otherwise you
+ won't be able to compile Tux Paint (and other programs) from source!
- Disabling Pango support (and hence Pango, Cairo, etc. dependencies):
+ Installng
- Prior to version 0.9.18, Tux Paint used the libSDL_ttf library for
- rendering text using TrueType Fonts. Since 0.9.18, libSDL_Pango is
- used, as it has much greater support for internationalization.
- However, if you wish to disable the use of SDL_Pango, you may do so
- running "make" with "SDL_PANGO_LIB=" added:
+ Assuming no fatal errors occured, you can now install the program so that
+ it can be run by users on the system. By default, this must be done by the
+ "root" user ('superuser'). Switch to "root" by typing the command:
- $ make SDL_PANGO_LIB=
+ $ su
- -------------------------------------------------------
+ Enter "root"'s password at the prompt. You should now be "root" (with a
+ prompt like "#"). To install the program and its data files, type:
- Disabling Sound at Compile-time:
+ # make install
- If you don't have a sound card, or would prefer to build the program
- with no sound support (and therefore without a the SDL_mixer
- dependency), you can run "make" with "SDL_MIXER_LIB=" added:
+ Finally, you can switch back to your regular user by exiting superuser
+ mode:
- $ make SDL_MIXER_LIB=
+ # exit
- -------------------------------------------------------
+ Alternatively, you may be able to simply use the "sudo" command (e.g., on
+ Ubuntu Linux):
- Other options:
+ $ sudo make install
- Various other options (e.g., installation paths) may be overridden;
- see them in "Makefile" for further details.
+ 💡 Note: By default, "tuxpaint", the executable program, is placed in
+ "/usr/local/bin/". The data files (images, sounds, etc.) are placed in
+ "/usr/local/share/tuxpaint/".
- -------------------------------------------------------
+ Changing Where Things Go
- If you get errors:
+ You can change where things will go by setting "Makefile"variables on the
+ command line. "DESTDIR" is used to place output in a staging area for
+ package creation. "PREFIX" is the basis of where all other files go, and
+ is, by default, set to "/usr/local".
- If you receive any errors during compile-time, make sure you have
- the appropriate libraries installed (see above). If using packaged
- versions of the libraries (e.g., RPMs under RedHat or DEBs under
- Debian), be sure to get the corresponding "-dev" or "-devel"
- packages as well, otherwise you won't be able to compile Tux Paint
- (and other programs) from source!
+ Other variables are:
- -------------------------------------------------------
+ BIN_PREFIX
+ Where the "tuxpaint" binary will be installed. (Set to
+ "$(PREFIX)/bin" by default - e.g., "/usr/local/bin")
- Installng:
+ DATA_PREFIX
+ Where the data files (sound, graphics, brushes, stamps, fonts)
+ will go, and where Tux Paint will look for them when it's run.
+ (Set to "$(PREFIX)/share/tuxpaint")
- Assuming no fatal errors occured, you can now install the program so
- that it can be run by users on the system. By default, this must be
- done by the "root" user ('superuser'). Switch to "root" by typing
- the command:
+ DOC_PREFIX
+ Where the documentation text files (the "docs" directory) will go.
+ (Set to "$(PREFIX)/share/doc/tuxpaint")
- $ su
+ MAN_PREFIX
+ Where the manual page for Tux Paint will go. (Set to
+ "$(PREFIX)/share/man")
- Enter "root"'s password at the prompt. You should now be "root"
- (with a prompt like "#"). To install the program and its data files,
- type:
+ ICON_PREFIX — $(PREFIX)/share/pixmaps
- # make install
+ X11_ICON_PREFIX — $(PREFIX)/X11R6/include/X11/pixmaps
- Finally, you can switch back to your regular user by exiting
- superuser mode:
+ GNOME_PREFIX — $(PREFIX)/share/gnome/apps/Graphics
- # exit
+ KDE_PREFIX — $(PREFIX)/share/applnk/Graphics
+ Where the icons and launchers (for GNOME and KDE) will go.
- Alternatively, you may be able to simply use the "sudo" command
- (e.g., on Ubuntu Linux):
+ LOCALE_PREFIX
+ Where the translation files for Tux Paint will go, and where Tux
+ Paint will look for them. (Set to "$(PREFIX)/share/locale/")
+ (Final location of a translation file will be under the locale's
+ directory (e.g., "es" for Spanish), within the "LC_MESSAGES"
+ subdirectory.)
- $ sudo make install
+ 💡 Note: This list is out of date. See "Makefile" and "Makefile-i18n" for a
+ complete list.
- Note: By default, "tuxpaint", the executable program, is placed in
- "/usr/local/bin/". The data files (images, sounds, etc.) are placed
- in "/usr/local/share/tuxpaint/".
+macOS
- Changing Where Things Go
+ January 20, 2022 Mark Kim
- You can change where things will go by setting "Makefile"variables
- on the command line. "DESTDIR" is used to place output in a
- staging area for package creation. "PREFIX" is the basis of where
- all other files go, and is, by default, set to "/usr/local".
+ Tux Paint 0.9.22 and earlier required building Tux Paint from the Xcode
+ IDE. Starting with 0.9.23, however, Tux Paint for macOS is built as though
+ it were a Linux application.
- Other variables are:
+ Prerequisites
- BIN_PREFIX
- Where the "tuxpaint" binary will be installed. (Set to
- "$(PREFIX)/bin" by default - e.g., "/usr/local/bin")
+ Although Tux Paint is built without the Xcode IDE, Xcode itself is still
+ required to build Tux Paint. Download it from the App Store, and launch it
+ once to accept its license agreements. You may also need to install the
+ Xcode command line tools using the command:
- DATA_PREFIX
- Where the data files (sound, graphics, brushes, stamps,
- fonts) will go, and where Tux Paint will look for them
- when it's run. (Set to "$(PREFIX)/share/tuxpaint")
+ xcode-select --install
- DOC_PREFIX
- Where the documentation text files (the "docs" directory)
- will go. (Set to "$(PREFIX)/share/doc/tuxpaint")
+ Building Tux Paint also requires various libraries. We install them from
+ MacPorts where possible, source code otherwise. Install MacPorts to the
+ default /opt/local path according to the instructions found on their
+ website: https://www.macports.org/
+ * ImageMagick
+ * cairo
+ * fribidi
+ * lbzip2
+ * libimagequant^*
+ * libpaper
+ * libpng
+ * librsvg
+ * libsdl
+ * libsdl_image
+ * libsdl_mixer
+ * libsdl_pango
+ * libsdl_ttf
+ * libsdl_gfx
+ * pkgconfig
+ * zlib
+ ... but you should install any package that is required by the latest
+ version of Tux Paint.
- MAN_PREFIX
- Where the manual page for Tux Paint will go. (Set to
- "$(PREFIX)/share/man")
+ ^* Not available from MacPorts as of this writing, see below.
- ICON_PREFIX — $(PREFIX)/share/pixmaps
+ libimagequant
- X11_ICON_PREFIX — $(PREFIX)/X11R6/include/X11/pixmaps
+ libimagequant is not available from MacPorts as of this writing. It can be
+ installed from the source code as follows. It should be installed to
+ /opt/local (same as MacPorts) for the library to be included in
+ TuxPaint.dmg.
- GNOME_PREFIX — $(PREFIX)/share/gnome/apps/Graphics
+ $ sudo port install rust cargo
+ $ git clone https://github.com/ImageOptim/libimagequant.git
+ $ cd libimagequant/imagequant-sys
+ $ cargo build --release # Must use cargo from MacPorts
+ $ sudo make PREFIX=/opt/local install
- KDE_PREFIX — $(PREFIX)/share/applnk/Graphics
- Where the icons and launchers (for GNOME and KDE) will go.
+ WARNING: Having any UNIX-like toolset installed on your Mac besides
+ MacPorts and Xcode, such as Fink or Brew, will prevent your app bundle
+ from being portable. Be sure Fink and Brew are not accessible from your
+ build environment.
- LOCALE_PREFIX
- Where the translation files for Tux Paint will go, and
- where Tux Paint will look for them. (Set to
- "$(PREFIX)/share/locale/") (Final location of a
- translation file will be under the locale's directory
- (e.g., "es" for Spanish), within the "LC_MESSAGES"
- subdirectory.)
+ How to Build
- Note: This list is out of date. See "Makefile" and "Makefile-i18n"
- for a complete list.
+ Simply, run:
+
+ % make
+ % make install
+
+ ... to create the TuxPaint.app application bundle that can be run in-place
+ or copied to /Applications. To create the DMG file for distribution, use
+ 'make TuxPaint.dmg'.
+
+ Additional steps may be required when building for the Apple Silicon. See
+ "Building for Apple Silicon" below.
+
+ Known Issues
+
+ * A macOS binary built on a specific version of macOS only runs on that
+ version of macOS or later. To ensure Tux Paint can run on the oldest
+ version of macOS possible, build it on the oldest version of macOS
+ available. As of this writing we know Tux Paint cannot be built to run
+ on macOS 10.7 or earlier.
+
+ See "Old Versions of macOS" below for best-effort instructions on how
+ to obtain, install, and build Tux Paint on an old version of macOS.
+
+ Alternatively, Tux Paint and all of its library dependencies may be
+ compiled with appropriate options to be runnable on older versions of
+ macOS. These options are already set on Tux Paint, so only its
+ dependencies (from MacPorts) need to be recompiled. See "Recompiling
+ MacPorts" below for the instructions.
+
+ Old Versions of macOS
+
+ Some old versions of macOS can be downloaded from Apple's support page:
+ https://support.apple.com/en-us/HT211683
+
+ macOS for Intel CPU does allow dual booting of multiple versions of the
+ OS, but it's safer and easier to install the old macOS onto a flash drive.
+ Wherever you're installing it, the target drive's partitioniong scheme and
+ partition type must match what the old macOS expects, so use the Disk
+ Utility to partition and format the flash drive accordingly.
+
+ Dual booting multiple versions of macOS for Apple Silicon has been so far
+ unsuccessful. Instead of installing an older version of macOS for Apple
+ Silicon to build Tux Paint to run on the old version of macOS for Apple
+ Silicon, use the instructions found in the "Recompiling MacPorts" section
+ to build Tux Paint to run on older versions of macOS for Apple Silicon.
+
+ As of this writing, the oldest version of macOS available on Apple's
+ support site is Yosemite 10.10, which expects "GPT (GUID Partition Table)"
+ partitioning scheme instead of the older MBR scheme, and "Mac OS Extended
+ (Journaled)" as the partition type instead of the newer APFS partition
+ type.
+
+ Upon launching the installer, if you get a popup about macOS being too old
+ or new to be installed, a bootable installer can be created using the
+ instructions found here: https://support.apple.com/en-mide/HT201372
+
+ Once the old macOS is installed, you may find the Xcode on the App Store
+ is too new to run on the version of the old macOS. Old versions of Xcode
+ can be downloaded from Apple's Developer site in an area accessible with
+ free registration: https://developer.apple.com/download/more/
+
+ The list of macOS versions and the last version of Xcode compatible with
+ them are laid out nicely on the Wikipedia page on Xcode:
+ https://en.wikipedia.org/wiki/Xcode#Version_comparison_table
- ----------------------------------------------------------------------
+ And because Xcode is being installed manually, you can skip the step to
+ install the Xcode command line tools (do not run "xcode-select --install")
+ but otherwise build Tux Paint using the same steps described in the
+ earlier part of this document.
- macOS Users
+ Recompiling MacPorts
- January 20, 2022 Mark Kim
+ To recompile MacPorts to be usable on older versions of macOS, set the
+ following options in /opt/local/etc/macports/macports.conf:
- Tux Paint 0.9.22 and earlier required building Tux Paint from the
- Xcode IDE. Starting with 0.9.23, however, Tux Paint for macOS is built
- as though it were a Linux application.
+ buildfromsource always
+ macosx_deployment_target 10.10
- Prerequisites
+ Then uninstall all MacPorts packages:
- Although Tux Paint is built without the Xcode IDE, Xcode itself is
- still required to build Tux Paint. Download it from the App Store,
- and launch it once to accept its license agreements. You may also
- need to install the Xcode command line tools using the command:
+ $ sudo port -fp uninstall installed
- xcode-select --install
+ Then reinstall all MacPorts packages needed by Tux Paint. Also rebuild
+ libimagequant using the updated Cargo package from MacPorts.
- Building Tux Paint also requires various libraries. We install them
- from MacPorts where possible, source code otherwise. Install
- MacPorts to the default /opt/local path according to the
- instructions found on their website: https://www.macports.org/
- * ImageMagick
- * cairo
- * fribidi
- * lbzip2
- * libimagequant^*
- * libpaper
- * libpng
- * librsvg
- * libsdl
- * libsdl_image
- * libsdl_mixer
- * libsdl_pango
- * libsdl_ttf
- * libsdl_gfx
- * pkgconfig
- * zlib
- ... but you should install any package that is required by the
- latest version of Tux Paint.
+ As of this writing, all libraries Tux Paint requires from MacPorts can be
+ recompiled in this manner to run on macOS 10.10 Yosemite and later on
+ Intel CPUs, and macOS 11.0 Big Sur and later on Apple Silicon.
+ Unfortunately, although MacPorts has the option to enable the building of
+ universal libraries, several libraries Tux Paint require cannot be built
+ as universal libraries so they can only be built to run natively on the
+ hardware on which they were built. See "Building a Universal Binary" below
+ for instructions on how to build Tux Paint as a Universal Binary.
- ^* Not available from MacPorts as of this writing, see below.
+ Building for Apple Silicon
- libimagequant
+ macOS for Applie Silicon requires all native Apple Silicon applications be
+ signed, even if it is signed "ad-hoc" (anonymously). Because of this,
+ compilers that produce native Apple Silicon applications sign all produced
+ binaries and libraries as a part of the compilation process.^* However,
+ the Tux Paint compilation process modifies the libraries to be modular
+ (using install_name_tool) so they can be added into the application
+ bundle, which has the unfortunate side effect of breaking the signature.
+ This can be addressed by signing the application bundle ad-hoc (example
+ below) or using your own Apple Developer Identity if you have one. The DMG
+ file, if needed, must be created after signing the App Bundle so the DMG
+ file is created with signed App Bundle:
- libimagequant is not available from MacPorts as of this writing.
- It can be installed from the source code as follows. It should be
- installed to /opt/local (same as MacPorts) for the library to be
- included in TuxPaint.dmg.
+ $ codesign -s - TuxPaint.app
+ $ make TuxPaint.dmg
- $ sudo port install rust cargo
- $ git clone https://github.com/ImageOptim/libimagequant.git
- $ cd libimagequant/imagequant-sys
- $ cargo build --release # Must use cargo from MacPorts
- $ sudo make PREFIX=/opt/local install
+ ^* For more information on the code signing requirements on the Apple
+ Silicon, see
+ https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper.
- WARNING: Having any UNIX-like toolset installed on your Mac besides
- MacPorts and Xcode, such as Fink or Brew, will prevent your app
- bundle from being portable. Be sure Fink and Brew are not accessible
- from your build environment.
+ If you get an error that the application bundle is already signed, remove
+ it before signing::
- -------------------------------------------------------
+ $ codesign --remove-signature TuxPaint.app
- How to Build
+ If you plan to combine the Apple Silicon bundle with the Intel CPU bundle
+ to produce the Universal bundle, the code signing must be done after they
+ are combined. See "Building a Universal Binary" below.
- Simply, run:
-
- % make
- % make install
+ Building a Universal Binary
- ... to create the TuxPaint.app application bundle that can be run
- in-place or copied to /Applications. To create the DMG file for
- distribution, use 'make TuxPaint.dmg'.
+ To build Tux Paint as a Universal Binary, compile Tux Paint for the Intel
+ CPU and the Apple Silicon separately first. Then rename the app bundle for
+ the Intel CPU to TuxPaint-x86_64.app, and the bundle for the Apple Silicon
+ to TuxPaint-arm64.app, copy the app bundle from the Intel machine to the
+ Apple Silicon machine, then use the provided build-universal.sh script to
+ combine the two application bundles as below. The produced bundle must be
+ signed (see "Building for Apple Silicon" above for more details). The DMG
+ file, if required, must be built after the signing:
- Additional steps may be required when building for the Apple
- Silicon. See "Building for Apple Silicon" below.
-
- -------------------------------------------------------
-
- Known Issues
-
- * A macOS binary built on a specific version of macOS only runs on
- that version of macOS or later. To ensure Tux Paint can run on
- the oldest version of macOS possible, build it on the oldest
- version of macOS available. As of this writing we know Tux Paint
- cannot be built to run on macOS 10.7 or earlier.
-
- See "Old Versions of macOS" below for best-effort instructions
- on how to obtain, install, and build Tux Paint on an old version
- of macOS.
-
- Alternatively, Tux Paint and all of its library dependencies may
- be compiled with appropriate options to be runnable on older
- versions of macOS. These options are already set on Tux Paint,
- so only its dependencies (from MacPorts) need to be recompiled.
- See "Recompiling MacPorts" below for the instructions.
-
- -------------------------------------------------------
-
- Old Versions of macOS
-
- Some old versions of macOS can be downloaded from Apple's support
- page: https://support.apple.com/en-us/HT211683
-
- macOS for Intel CPU does allow dual booting of multiple versions of
- the OS, but it's safer and easier to install the old macOS onto a
- flash drive. Wherever you're installing it, the target drive's
- partitioniong scheme and partition type must match what the old
- macOS expects, so use the Disk Utility to partition and format the
- flash drive accordingly.
-
- Dual booting multiple versions of macOS for Apple Silicon has been
- so far unsuccessful. Instead of installing an older version of macOS
- for Apple Silicon to build Tux Paint to run on the old version of
- macOS for Apple Silicon, use the instructions found in the
- "Recompiling MacPorts" section to build Tux Paint to run on older
- versions of macOS for Apple Silicon.
-
- As of this writing, the oldest version of macOS available on Apple's
- support site is Yosemite 10.10, which expects "GPT (GUID Partition
- Table)" partitioning scheme instead of the older MBR scheme, and
- "Mac OS Extended (Journaled)" as the partition type instead of the
- newer APFS partition type.
-
- Upon launching the installer, if you get a popup about macOS being
- too old or new to be installed, a bootable installer can be created
- using the instructions found here:
- https://support.apple.com/en-mide/HT201372
-
- Once the old macOS is installed, you may find the Xcode on the App
- Store is too new to run on the version of the old macOS. Old
- versions of Xcode can be downloaded from Apple's Developer site in
- an area accessible with free registration:
- https://developer.apple.com/download/more/
+ $ macos/build-universal.sh
+ $ codesign -s - TuxPaint.app
+ $ make TuxPaint.dmg
- The list of macOS versions and the last version of Xcode compatible
- with them are laid out nicely on the Wikipedia page on Xcode:
- https://en.wikipedia.org/wiki/Xcode#Version_comparison_table
+ Debugging
- And because Xcode is being installed manually, you can skip the step
- to install the Xcode command line tools (do not run "xcode-select
- --install") but otherwise build Tux Paint using the same steps
- described in the earlier part of this document.
+ ⚙ Debugging output — to "STDOUT" on Linux and Unix, to a "stdout.txt" file
+ on Windows, and to the file "/tmp/tuxpaint.log" on macOS — can be enabled
+ by setting "DEBUG" (and, if verbose logging is wanted, "VERBOSE") #defines
+ in "src/debug.h" and (re)compiling Tux Paint.
- Recompiling MacPorts
+ Uninstalling Tux Paint
- To recompile MacPorts to be usable on older versions of macOS, set
- the following options in /opt/local/etc/macports/macports.conf:
+Windows
- buildfromsource always
- macosx_deployment_target 10.10
+ Using the Uninstaller
- Then uninstall all MacPorts packages:
+ If you installed the Start Menu shortcuts (the default), then go to the
+ TuxPaint folder and select "Uninstall". A box will be displayed that will
+ confirm that you are about to uninstall Tux Paint and, if you are certain
+ that you want to permanently remove Tux Paint, click on the 'Uninstall'
+ button.
- $ sudo port -fp uninstall installed
+ When it has finished, click on the close button.
- Then reinstall all MacPorts packages needed by Tux Paint. Also
- rebuild libimagequant using the updated Cargo package from MacPorts.
+ Using the Control Panel
- As of this writing, all libraries Tux Paint requires from MacPorts
- can be recompiled in this manner to run on macOS 10.10 Yosemite and
- later on Intel CPUs, and macOS 11.0 Big Sur and later on Apple
- Silicon. Unfortunately, although MacPorts has the option to enable
- the building of universal libraries, several libraries Tux Paint
- require cannot be built as universal libraries so they can only be
- built to run natively on the hardware on which they were built. See
- "Building a Universal Binary" below for instructions on how to build
- Tux Paint as a Universal Binary.
+ It is also possible to use the entry "TuxPaint (remove only)" in the
+ Control Panel Add/Remove programs section.
- Building for Apple Silicon
+macOS
- macOS for Applie Silicon requires all native Apple Silicon
- applications be signed, even if it is signed "ad-hoc" (anonymously).
- Because of this, compilers that produce native Apple Silicon
- applications sign all produced binaries and libraries as a part of
- the compilation process.^* However, the Tux Paint compilation
- process modifies the libraries to be modular (using
- install_name_tool) so they can be added into the application bundle,
- which has the unfortunate side effect of breaking the signature.
- This can be addressed by signing the application bundle ad-hoc
- (example below) or using your own Apple Developer Identity if you
- have one. The DMG file, if needed, must be created after signing the
- App Bundle so the DMG file is created with signed App Bundle:
+ Delete "TuxPaint.app" from the "Applications" folder. Data files,
+ including the configuration files, stamps, and saved pictures, may be
+ found in "Library/Application Support/TuxPaint" (all users) and
+ "/Users/USERNAME/Library/Application Support/TuxPaint" (individual users).
- $ codesign -s - TuxPaint.app
- $ make TuxPaint.dmg
+Linux
- ^* For more information on the code signing requirements on the
- Apple Silicon, see
- https://developer.apple.com/documentation/macos-release-notes/macos-big-sur-11_0_1-universal-apps-release-notes#:~:text=New%20in%20macOS,pass%20through%20Gatekeeper.
-
- If you get an error that the application bundle is already signed,
- remove it before signing::
-
- $ codesign --remove-signature TuxPaint.app
-
- If you plan to combine the Apple Silicon bundle with the Intel CPU
- bundle to produce the Universal bundle, the code signing must be
- done after they are combined. See "Building a Universal Binary"
- below.
-
- Building a Universal Binary
-
- To build Tux Paint as a Universal Binary, compile Tux Paint for the
- Intel CPU and the Apple Silicon separately first. Then rename the
- app bundle for the Intel CPU to TuxPaint-x86_64.app, and the bundle
- for the Apple Silicon to TuxPaint-arm64.app, copy the app bundle
- from the Intel machine to the Apple Silicon machine, then use the
- provided build-universal.sh script to combine the two application
- bundles as below. The produced bundle must be signed (see "Building
- for Apple Silicon" above for more details). The DMG file, if
- required, must be built after the signing:
-
- $ macos/build-universal.sh
- $ codesign -s - TuxPaint.app
- $ make TuxPaint.dmg
-
- ----------------------------------------------------------------------
-
-Debugging
-
- Debugging output — to "STDOUT" on Linux and Unix, to a "stdout.txt" file
- on Windows, and to the file "/tmp/tuxpaint.log" on macOS — can be
- enabled by setting "DEBUG" (and, if verbose logging is wanted,
- "VERBOSE") #defines in "src/debug.h" and (re)compiling Tux Paint.
-
- ----------------------------------------------------------------------
-
-Uninstalling Tux Paint
-
- Windows
-
- Using the Uninstaller
-
- If you installed the Start Menu shortcuts (the default), then go to
- the TuxPaint folder and select "Uninstall". A box will be displayed
- that will confirm that you are about to uninstall Tux Paint and, if
- you are certain that you want to permanently remove Tux Paint, click
- on the 'Uninstall' button.
-
- When it has finished, click on the close button.
-
- Using the Control Panel
-
- It is also possible to use the entry "TuxPaint (remove only)" in the
- Control Panel Add/Remove programs section.
-
- ----------------------------------------------------------------------
-
- macOS
-
- Delete "TuxPaint.app" from the "Applications" folder. Data files,
- including the configuration files, stamps, and saved pictures, may be
- found in "Library/Application Support/TuxPaint" (all users) and
- "/Users/USERNAME/Library/Application Support/TuxPaint" (individual
- users).
-
- ----------------------------------------------------------------------
-
- Linux
-
- Within the Tux Paint source directory (where you compiled Tux Paint),
- you can use the "make uninstall" target to uninstall Tux Paint. By
- default, this must be done by the "root" user ('superuser'), but if
- you installed Tux Paint somewhere else (e.g., using a "PREFIX=..."
- setting to "make" and "make install"), you may not, and will want to
- provide those same settings here. (See the installation instructions
- above for further information.)
+ Within the Tux Paint source directory (where you compiled Tux Paint), you
+ can use the "make uninstall" target to uninstall Tux Paint. By default,
+ this must be done by the "root" user ('superuser'), but if you installed
+ Tux Paint somewhere else (e.g., using a "PREFIX=..." setting to "make" and
+ "make install"), you may not, and will want to provide those same settings
+ here. (See the installation instructions above for further information.)
diff --git a/docs/en/OPTIONS.txt b/docs/en/OPTIONS.txt
index 884d969bd..f2cbb5246 100644
--- a/docs/en/OPTIONS.txt
+++ b/docs/en/OPTIONS.txt
@@ -6,1377 +6,1313 @@ Options Documentation
Copyright © 2002-2022 by various contributors; see AUTHORS.txt.
https://tuxpaint.org/
- January 20, 2022
+ March 30, 2022
- ----------------------------------------------------------------------
-
- +---------------------------------------------+
- |Table of Contents |
- |---------------------------------------------|
- | * Tux Paint Config. |
- | * Configuration File |
- | * Available Options |
- | * Video/Sound |
- | * Mouse/Keyboard |
- | * Simplification |
- | * Languages |
- | * Printing |
- | * Saving |
- | * Data |
- | * Accessibility |
- | * Joystick |
- | * Overriding System Config. Options |
- | * Command-Line Options |
- | * Command-Line Informational Options |
- | * Choosing a Different Language |
- | * Available Languages |
- | * Setting Your Environment's Locale |
- | * Special Fonts |
- +---------------------------------------------+
-
- ----------------------------------------------------------------------
+ +---------------------------------------------+
+ |Table of Contents |
+ |---------------------------------------------|
+ | * Tux Paint Config. |
+ | * Configuration File |
+ | * Available Options |
+ | * Video/Sound |
+ | * Mouse/Keyboard |
+ | * Simplification |
+ | * Languages |
+ | * Printing |
+ | * Saving |
+ | * Data |
+ | * Accessibility |
+ | * Joystick |
+ | * Overriding System Config. Options |
+ | * Command-Line Options |
+ | * Command-Line Informational Options |
+ | * Choosing a Different Language |
+ | * Available Languages |
+ | * Setting Your Environment's Locale |
+ | * Special Fonts |
+ +---------------------------------------------+
Tux Paint Config.
- A graphical tool is available that allows you to change Tux Paint's
- behavior. However, if you'd rather not install and use this tool, or
- want a better understanding of the available options, please continue
- reading.
-
- ----------------------------------------------------------------------
+ A graphical tool is available that allows you to change Tux Paint's
+ behavior. However, if you'd rather not install and use this tool, or want
+ a better understanding of the available options, please continue reading.
Configuration File
- You can create a simple configuration file for Tux Paint, which it will
- read each time you start it up.
+ You can create a simple configuration file for Tux Paint, which it will
+ read each time you start it up.
- The file is simply a plain text file containing the options you want
- enabled:
+ The file is simply a plain text file containing the options you want
+ enabled:
Linux and Unix Users
- The file you should create is called ".tuxpaintrc" and it should be
- placed in your home directory. (a.k.a. "~/.tuxpaintrc" or
- "$HOME/.tuxpaintrc")
+ The file you should create is called ".tuxpaintrc" and it should be placed
+ in your home directory. (a.k.a. "~/.tuxpaintrc" or "$HOME/.tuxpaintrc")
System-Wide Configuration File
- Before this file is read, a system-wide configuration file is read.
- (By default, this configuration has no settings enabled.) It is
- located at:
+ Before this file is read, a system-wide configuration file is read. (By
+ default, this configuration has no settings enabled.) It is located at:
- /etc/tuxpaint/tuxpaint.conf
+ /etc/tuxpaint/tuxpaint.conf
- You can disable reading of this file altogether, leaving the
- settings as defaults (which can then be overridden by your
- ".tuxpaintrc" file and/or command-line arguments) by using the
- command-line option:
+ You can disable reading of this file altogether, leaving the settings as
+ defaults (which can then be overridden by your ".tuxpaintrc" file and/or
+ command-line arguments) by using the command-line option:
- --nosysconfig
+ --nosysconfig
macOS Users
- The file you should create is called "tuxpaint.cfg" and it should be
- placed in your home folder, under the sub-folder: Library/Application
- Support/TuxPaint
+ The file you should create is called "tuxpaint.cfg" and it should be
+ placed in your home folder, under the sub-folder: Library/Application
+ Support/TuxPaint
System-Wide Configuration File
- Before this file is read, a system-wide configuration file is read.
- (By default, this configuration has no settings enabled.) It is
- located at:
+ Before this file is read, a system-wide configuration file is read. (By
+ default, this configuration has no settings enabled.) It is located at:
- /Library/Application Support/TuxPaint/tuxpaint.cfg
+ /Library/Application Support/TuxPaint/tuxpaint.cfg
Windows Users
- The file you should create is called "tuxpaint.cfg" and it should be
- placed in Tux Paint's folder.
+ The file you should create is called "tuxpaint.cfg" and it should be
+ placed in Tux Paint's folder.
- You can use NotePad or WordPad to create this file. Be sure to save it
- as Plain Text, and make sure the filename doesn't have ".txt" at the
- end...
-
- ----------------------------------------------------------------------
+ You can use NotePad or WordPad to create this file. Be sure to save it as
+ Plain Text, and make sure the filename doesn't have ".txt" at the end...
Available Options
- The following settings can be set in the configuration file.
- (Command-line settings will override these. See the "Command-Line
- Options" section, below.)
-
- ----------------------------------------------------------------------
+ The following settings can be set in the configuration file. (Command-line
+ settings will override these. See the "Command-Line Options" section,
+ below.)
Video/Sound
Video
- fullscreen=yes
+ fullscreen=yes
- Run the program in full screen mode, rather than in a
- window.
+ Run the program in full screen mode, rather than in a window.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "fullscreen=no". In both cases, may be overridden by the
- command-line option "--windowed".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "fullscreen=no".
+ In both cases, may be overridden by the command-line option
+ "--windowed".
- fullscreen=native
+ fullscreen=native
- Run the program in full screen mode. Additionally, assume
- the screen's current resolution (set by the operating
- system).
+ Run the program in full screen mode. Additionally, assume the
+ screen's current resolution (set by the operating system).
- windowsize=SIZE
+ windowsize=SIZE
- Run the program at a different size (in windowed mode) or at
- a different screen resolution (in fullscreen mode), rather
- than the default (usually 800x600).
+ Run the program at a different size (in windowed mode) or at a
+ different screen resolution (in fullscreen mode), rather than the
+ default (usually 800x600).
- The SIZE value should be presented in pixels, in
- 'width-by-height' format, with an "x" (lowercase X) between
- the values. The size can be anything that's at least 640
- wide, and at least 480 tall.
+ The SIZE value should be presented in pixels, in 'width-by-height'
+ format, with an "x" (lowercase X) between the values. The size can
+ be anything that's at least 640 wide, and at least 480 tall.
- Some examples:
+ Some examples:
- * 640x480
- * 1024x768
- * 768x1024
- * 1600x1200
+ * 640x480
+ * 1024x768
+ * 768x1024
+ * 1600x1200
- orient=portrait
+ orient=portrait
- Swaps the width/height options given to Tux Paint, useful
- for rotating the window on portait displays, such as a
- tablet PC that's in tablet orientation.
+ Swaps the width/height options given to Tux Paint, useful for
+ rotating the window on portait displays, such as a tablet PC
+ that's in tablet orientation.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "orient=landscape". In both cases, may be overridden by the
- command-line option "--orient=landscape".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "orient=landscape". In both cases, may be overridden by the
+ command-line option "--orient=landscape".
- native=yes
+ native=yes
- When running Tux Paint in fullscreen mode, this assumes the
- screen's current resolution (overriding any "windowsize"
- option), as set by the operating system.
+ When running Tux Paint in fullscreen mode, this assumes the
+ screen's current resolution (overriding any "windowsize" option),
+ as set by the operating system.
- allowscreensaver=yes
+ allowscreensaver=yes
- By default, Tux Paint prevents your system's screensaver
- from starting up. You can override this by using the
- "allowscreensaver" option. Note: This requires version
- 1.2.12 or higher of the SDL library. (You can also do this
- by setting the "SDL_VIDEO_ALLOW_SCREENSAVER" environment
- variable on your system to "1".)
+ By default, Tux Paint prevents your system's screensaver from
+ starting up. You can override this by using the "allowscreensaver"
+ option. Note: This requires version 1.2.12 or higher of the SDL
+ library. (You can also do this by setting the
+ "SDL_VIDEO_ALLOW_SCREENSAVER" environment variable on your system
+ to "1".)
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "allowscreensaver=no" or "disablescreensaver=yes". In both
- cases, may be overridden by the command-line option
- "--disablescreensaver".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "allowscreensaver=no" or "disablescreensaver=yes". In both cases,
+ may be overridden by the command-line option
+ "--disablescreensaver".
Sound
- nosound=yes
+ nosound=yes
- Disable sound effects. (Note: Pressing [Alt] + [S] cannot be
- used to reenable sounds if they were disabled using this
- option.)
+ Disable sound effects. (Note: Pressing [Alt] + [S] cannot be used
+ to reenable sounds if they were disabled using this option.)
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nosound=no" or "sound=yes". In both cases, may be
- overridden by the command-line option "--sound".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "nosound=no" or
+ "sound=yes". In both cases, may be overridden by the command-line
+ option "--sound".
- nostereo=yes
+ nostereo=yes
- Disable stereo panning support. (Useful for users with
- hearing impairment in one ear, or places where a single
- speaker or headphone is being used.)
+ Disable stereo panning support. (Useful for users with hearing
+ impairment in one ear, or places where a single speaker or
+ headphone is being used.)
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nostereo=no" or "stereo=yes". In both cases, may be
- overridden by the command-line option "--stereo".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "nostereo=no" or
+ "stereo=yes". In both cases, may be overridden by the command-line
+ option "--stereo".
Interface Size
- buttonsize=SIZE
+ buttonsize=SIZE
- Set the pixel size of buttons in Tux Paint's user interface
- (overriding the default of "48"). Useful when using very
- high-density displays or coarse input devices, such as eye
- gaze trackers.
+ Set the pixel size of buttons in Tux Paint's user interface
+ (overriding the default of "48"). Useful when using very
+ high-density displays or coarse input devices, such as eye gaze
+ trackers.
- The SIZE value should be presented in pixels, and can be
- anything between 24 and 192, inclusive. Most buttons are
- square, and this will affect their width and height.
+ The SIZE value should be presented in pixels, and can be anything
+ between 24 and 192, inclusive. Most buttons are square, and this
+ will affect their width and height.
- Note: If the chosen button size would cause the buttons to
- be too large for all required UI elements to appear under
- Tux Paint's chosen window size, the largest possible button
- size will be used. (A note will appear in stderr.)
+ 💡 Note: If the chosen button size would cause the buttons to be
+ too large for all required UI elements to appear under Tux Paint's
+ chosen window size, the largest possible button size will be used.
+ (A note will appear in stderr.)
- colorsrows=ROWS
+ colorsrows=ROWS
- How many rows of color palette buttons to show; useful when
- using a large color palette (see "colorfile", above), and/or
- for use with coarse input devices (like eyegaze trackers).
- "ROWS" may be between "1" (the default) and "3".
-
- ----------------------------------------------------------------------
+ How many rows of color palette buttons to show; useful when using
+ a large color palette (see "colorfile", above), and/or for use
+ with coarse input devices (like eyegaze trackers). "ROWS" may be
+ between "1" (the default) and "3".
Mouse/Keyboard
Cursor
- nofancycursors=yes
+ nofancycursors=yes
- This disables the fancy mouse pointer shapes in Tux Paint,
- and uses your environment's normal mouse pointer.
+ This disables the fancy mouse pointer shapes in Tux Paint, and
+ uses your environment's normal mouse pointer.
- In some enviornments, the fancy cursors cause problems. Use
- this option to avoid them.
+ In some enviornments, the fancy cursors cause problems. Use this
+ option to avoid them.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nofancycursors=no" or "fancycursors=yes". In both cases,
- may be overridden by the command-line option
- "--fancycursors".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "nofancycursors=no" or "fancycursors=yes". In both cases, may be
+ overridden by the command-line option "--fancycursors".
- hidecursor=yes
+ hidecursor=yes
- This completely hides the mouse pointer shapes in Tux Paint.
+ This completely hides the mouse pointer shapes in Tux Paint.
- This is useful for touchscreen devices, such as tablet PCs.
+ This is useful for touchscreen devices, such as tablet PCs.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "hidecursor=no" or "showcursor=yes". In both cases, may be
- overridden by the command-line option "--showcursor".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "hidecursor=no"
+ or "showcursor=yes". In both cases, may be overridden by the
+ command-line option "--showcursor".
Keyboard
- noshortcuts=yes
+ noshortcuts=yes
- This disable keyboard shortcuts (e.g., [Ctrl]-[S] for save,
- [Ctrl]-[N] for a new image, etc.)
+ This disable keyboard shortcuts (e.g., [Ctrl]-[S] for save,
+ [Ctrl]-[N] for a new image, etc.)
- This is useful to prevent unwanted commands from being
- activated by children who aren't experienced with keyboards.
+ This is useful to prevent unwanted commands from being activated
+ by children who aren't experienced with keyboards.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "noshortcuts=no" or "shortcuts=yes". In both cases, may be
- overridden by the command-line option "--shortcuts".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "noshortcuts=no"
+ or "shortcuts=yes". In both cases, may be overridden by the
+ command-line option "--shortcuts".
Mouse
- grab=yes
+ grab=yes
- Tux Paint will attempt to 'grab' the mouse and keyboard, so
- that the mouse is confined to Tux Paint's window, and nearly
- all keyboard input is passed directly to it.
+ Tux Paint will attempt to 'grab' the mouse and keyboard, so that
+ the mouse is confined to Tux Paint's window, and nearly all
+ keyboard input is passed directly to it.
- This is useful to disable operating system actions that
- could get the user out of Tux Paint [Alt]-[Tab] window
- cycling, [Ctrl]-[Escape], etc. This is especially useful in
- fullscreen mode.
+ This is useful to disable operating system actions that could get
+ the user out of Tux Paint [Alt]-[Tab] window cycling,
+ [Ctrl]-[Escape], etc. This is especially useful in fullscreen
+ mode.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using "grab=no"
- or "dontgrab=yes". In both cases, may be overridden by the
- command-line option "--dontgrab".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "grab=no" or
+ "dontgrab=yes". In both cases, may be overridden by the
+ command-line option "--dontgrab".
- nowheelmouse=yes
+ nowheelmouse=yes
- This disables support for the wheel on mice that have it.
- (Normally, the wheel will scroll the selector menu on the
- right.)
+ This disables support for the wheel on mice that have it.
+ (Normally, the wheel will scroll the selector menu on the right.)
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nowheelmouse=no" or "wheelmouse=yes". In both cases, may be
- overridden by the command-line option "--wheelmouse".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "nowheelmouse=no" or "wheelmouse=yes". In both cases, may be
+ overridden by the command-line option "--wheelmouse".
- nobuttondistinction=yes
+ nobuttondistinction=yes
- Prior to Tux Paint 0.9.15, the middle and right buttons on a
- mouse could also be used for clicking. In version 0.9.15, it
- was changed so that only the left mouse button worked, so as
- to not train children to use the wrong button.
+ Prior to Tux Paint 0.9.15, the middle and right buttons on a mouse
+ could also be used for clicking. In version 0.9.15, it was changed
+ so that only the left mouse button worked, so as to not train
+ children to use the wrong button.
- However, for children who have trouble with the mouse, this
- distinction between the two or three buttons on a mouse can
- be disabled (returning Tux Paint to its old behavior) by
- using this option.
+ However, for children who have trouble with the mouse, this
+ distinction between the two or three buttons on a mouse can be
+ disabled (returning Tux Paint to its old behavior) by using this
+ option.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nobuttondistinction=no" or "buttondistinction=yes". In both
- cases, may be overridden by the command-line option
- "--buttondistinction".
-
- ----------------------------------------------------------------------
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "nobuttondistinction=no" or "buttondistinction=yes". In both
+ cases, may be overridden by the command-line option
+ "--buttondistinction".
Simplification
Interface Simplification
- simpleshapes=yes
+ simpleshapes=yes
- Disable the rotation step of the 'Shape' tool. Click, drag
- and release is all that will be needed to draw a shape.
+ Disable the rotation step of the 'Shape' tool. Click, drag and
+ release is all that will be needed to draw a shape.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "simpleshapes=no" or "complexshapes=yes". In both cases, may
- be overridden by the command-line option "--complexshapes".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "simpleshapes=no" or "complexshapes=yes". In both cases, may be
+ overridden by the command-line option "--complexshapes".
- nooutlines=yes
+ nooutlines=yes
- In this mode, much simpler outlines and 'rubber-band' lines
- are displayed when using the Lines, Shapes, Stamps and
- Eraser tools.
+ In this mode, much simpler outlines and 'rubber-band' lines are
+ displayed when using the Lines, Shapes, Stamps and Eraser tools.
- This can help when Tux Paint is run on very slow computers,
- or displayed on a remote X-Window display.
+ This can help when Tux Paint is run on very slow computers, or
+ displayed on a remote X-Window display.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nooutlines=no" or "outlines=yes". In both cases, may be
- overridden by the command-line option "--outlines".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "nooutlines=no"
+ or "outlines=yes". In both cases, may be overridden by the
+ command-line option "--outlines".
- uppercase=yes
+ uppercase=yes
- All text will be rendered only in uppercase (e.g., "Brush"
- will be "BRUSH"). Useful for children who can read, but who
- have only learned uppercase letters so far.
+ All text will be rendered only in uppercase (e.g., "Brush" will be
+ "BRUSH"). Useful for children who can read, but who have only
+ learned uppercase letters so far.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "uppercase=no" or "mixedcase=yes". In both cases, may be
- overridden by the command-line option "--mixedcase".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "uppercase=no"
+ or "mixedcase=yes". In both cases, may be overridden by the
+ command-line option "--mixedcase".
Initial Stamp Size
- stampsize=SIZE
+ stampsize=SIZE
- Use this option to force Tux Paint to set the starting size
- of all stamps. The SIZE value should be between 0 (smallest)
- and 10 (largest). The size is relative to the available
- sizes of the stamp, which depends on the stamp itself, and
- Tux Paint's current canvas size.
+ Use this option to force Tux Paint to set the starting size of all
+ stamps. The SIZE value should be between 0 (smallest) and 10
+ (largest). The size is relative to the available sizes of the
+ stamp, which depends on the stamp itself, and Tux Paint's current
+ canvas size.
- Specify "default" to let Tux Paint decide (its standard
- behavior).
+ Specify "default" to let Tux Paint decide (its standard behavior).
Control Simplification
- noquit=yes
+ noquit=yes
- Disable the on-screen "Quit" button and prevent the [Escape]
- key from quitting Tux Paint.
+ Disable the on-screen "Quit" button and prevent the [Escape] key
+ from quitting Tux Paint.
- Using the [Alt] + [F4] keyboard combination or clicking the
- window's close button (assuming you're not in fullscreen
- mode) still works to quit Tux Paint.
+ Using the [Alt] + [F4] keyboard combination or clicking the
+ window's close button (assuming you're not in fullscreen mode)
+ still works to quit Tux Paint.
- You can also use the following keyboard combination to quit:
- [Shift] + [Control] + [Escape].
+ You can also use the following keyboard combination to quit:
+ [Shift] + [Control] + [Escape].
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "noquit=no" or "quit=yes". In both cases, may be overridden
- by the command-line option "--quit".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "noquit=no" or
+ "quit=yes". In both cases, may be overridden by the command-line
+ option "--quit".
- nostamps=yes
+ nostamps=yes
- This option tells Tux Paint to not load any rubber stamp
- images, which in turn ends up disabling the Stamps tool.
+ This option tells Tux Paint to not load any rubber stamp images,
+ which in turn ends up disabling the Stamps tool.
- This can speed up Tux Paint when it first loads up, and
- reduce memory usage while it's running. Of course, no stamps
- will be available at all.
+ This can speed up Tux Paint when it first loads up, and reduce
+ memory usage while it's running. Of course, no stamps will be
+ available at all.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nostamps=no" or "stamps=yes". In both cases, may be
- overridden by the command-line option "--stamps".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "nostamps=no" or
+ "stamps=yes". In both cases, may be overridden by the command-line
+ option "--stamps".
- nostampcontrols=yes
+ nostampcontrols=yes
- Some images in the Stamps tool can be mirrored, flipped,
- and/or have their size changed. This option disables the
- controls, and only provides the basic stamps.
+ Some images in the Stamps tool can be mirrored, flipped, and/or
+ have their size changed. This option disables the controls, and
+ only provides the basic stamps.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nostampcontrols=no" or "stampcontrols=yes". In both cases,
- may be overridden by the command-line option
- "--stampcontrols".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "nostampcontrols=no" or "stampcontrols=yes". In both cases, may be
+ overridden by the command-line option "--stampcontrols".
- nomagiccontrols=yes
+ nomagiccontrols=yes
- Some Magic tools have the option of acting like a
- paintbrush, or affecting the entire canvas at once. This
- option disables the controls, and only provides the default
- functionality (usually paint-mode).
+ Some Magic tools have the option of acting like a paintbrush, or
+ affecting the entire canvas at once. This option disables the
+ controls, and only provides the default functionality (usually
+ paint-mode).
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nomagiccontrols=no" or "magiccontrols=yes". In both cases,
- may be overridden by the command-line option
- "--magiccontrols".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "nomagiccontrols=no" or "magiccontrols=yes". In both cases, may be
+ overridden by the command-line option "--magiccontrols".
- noshapecontrols=yes
+ noshapecontrols=yes
- Disable the control buttons shown when using the Shapes tool
- that allow changing how shapes are drawn — centered around
- the initial mouse click, or with a corner at the initial
- mouse click.
+ Disable the control buttons shown when using the Shapes tool that
+ allow changing how shapes are drawn — centered around the initial
+ mouse click, or with a corner at the initial mouse click.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "noshapecontrols=no" or "shapecontrols=yes". In both cases,
- may be overridden by the command-line option
- "--shapecontrols".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "noshapecontrols=no" or "shapecontrols=yes". In both cases, may be
+ overridden by the command-line option "--shapecontrols".
- nolabel=yes
+ nolabel=yes
- Disables the Label tool: the tool that allows text entry
- which can be edited later.
+ Disables the Label tool: the tool that allows text entry which can
+ be edited later.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nolabel=no" or "label=yes". In both cases, may be
- overridden by the command-line option "--label".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "nolabel=no" or
+ "label=yes". In both cases, may be overridden by the command-line
+ option "--label".
- nobrushspacing=yes
+ nobrushspacing=yes
- Disables the brush spacing option of the Paint and Lines
- tools. The brushes' default spacings will be used.
+ Disables the brush spacing option of the Paint and Lines tools.
+ The brushes' default spacings will be used.
- Note: The brush spacing option was added to Tux Paint's user
- interface in version 0.9.28. For more information on brush
- spacing, see EXTENDING.html
+ 📜 Note: The brush spacing option was added to Tux Paint's user
+ interface in version 0.9.28. For more information on brush
+ spacing, see EXTENDING.html
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nobrushspacing=no" or "brushspacing=yes". In both cases,
- may be overridden by the command-line option
- "--brushspacing".
-
- ----------------------------------------------------------------------
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "nobrushspacing=no" or "brushspacing=yes". In both cases, may be
+ overridden by the command-line option "--brushspacing".
Languages
Language
- lang=LANGUAGE
+ lang=LANGUAGE
- Run Tux Paint in one of the supported languages. Possible
- choice for LANGUAGE currently include:
+ Run Tux Paint in one of the supported languages. Possible choices
+ for LANGUAGE currently include:
- +-----------------------------------------------------------+
- |english |american-english | |
- |---------------------+---------------------+---------------|
- |acholi |acoli | |
- |---------------------+---------------------+---------------|
- |afrikaans | | |
- |---------------------+---------------------+---------------|
- |akan |twi-fante | |
- |---------------------+---------------------+---------------|
- |albanian | | |
- |---------------------+---------------------+---------------|
- |amharic | | |
- |---------------------+---------------------+---------------|
- |arabic | | |
- |---------------------+---------------------+---------------|
- |aragones | | |
- |---------------------+---------------------+---------------|
- |armenian |hayeren | |
- |---------------------+---------------------+---------------|
- |assamese | | |
- |---------------------+---------------------+---------------|
- |asturian | | |
- |---------------------+---------------------+---------------|
- |australian-english | | |
- |---------------------+---------------------+---------------|
- |azerbaijani | | |
- |---------------------+---------------------+---------------|
- |bambara | | |
- |---------------------+---------------------+---------------|
- |basque |euskara | |
- |---------------------+---------------------+---------------|
- |belarusian |bielaruskaja | |
- |---------------------+---------------------+---------------|
- |bengali | | |
- |---------------------+---------------------+---------------|
- |bodo | | |
- |---------------------+---------------------+---------------|
- |bokmal | | |
- |---------------------+---------------------+---------------|
- |bosnian | | |
- |---------------------+---------------------+---------------|
- |brazilian-portuguese |portugues-brazilian |brazilian |
- |---------------------+---------------------+---------------|
- |breton |brezhoneg | |
- |---------------------+---------------------+---------------|
- |british-english |british | |
- |---------------------+---------------------+---------------|
- |bulgarian | | |
- |---------------------+---------------------+---------------|
- |canadian-english | | |
- |---------------------+---------------------+---------------|
- |catalan |catala | |
- |---------------------+---------------------+---------------|
- |chinese |simplified-chinese | |
- |---------------------+---------------------+---------------|
- |croatian |hrvatski | |
- |---------------------+---------------------+---------------|
- |czech |cesky | |
- |---------------------+---------------------+---------------|
- |danish |dansk | |
- |---------------------+---------------------+---------------|
- | |dogri | |
- |---------------------+---------------------+---------------|
- |dutch |nederlands | |
- |---------------------+---------------------+---------------|
- |esperanto | | |
- |---------------------+---------------------+---------------|
- |estonian | | |
- |---------------------+---------------------+---------------|
- |faroese | | |
- |---------------------+---------------------+---------------|
- |finnish |suomi | |
- |---------------------+---------------------+---------------|
- |french |francais | |
- |---------------------+---------------------+---------------|
- |fula |fulah |pulaar-fulfulde|
- |---------------------+---------------------+---------------|
- |gaelic |gaidhlig |irish-gaelic |
- |---------------------+---------------------+---------------|
- |galician |galego | |
- |---------------------+---------------------+---------------|
- |georgian | | |
- |---------------------+---------------------+---------------|
- |german |deutsch | |
- |---------------------+---------------------+---------------|
- |greek | | |
- |---------------------+---------------------+---------------|
- |gronings |zudelk-veenkelonioals| |
- |---------------------+---------------------+---------------|
- |gujarati | | |
- |---------------------+---------------------+---------------|
- |hebrew | | |
- |---------------------+---------------------+---------------|
- |hindi | | |
- |---------------------+---------------------+---------------|
- |hungarian |magyar | |
- |---------------------+---------------------+---------------|
- |icelandic |islenska | |
- |---------------------+---------------------+---------------|
- |indonesian |bahasa-indonesia | |
- |---------------------+---------------------+---------------|
- |inuktitut | | |
- |---------------------+---------------------+---------------|
- |italian |italiano | |
- |---------------------+---------------------+---------------|
- |japanese | | |
- |---------------------+---------------------+---------------|
- |kabyle | |kabylian |
- |---------------------+---------------------+---------------|
- |kannada | | |
- |---------------------+---------------------+---------------|
- |kashmiri-devanagari | | |
- |---------------------+---------------------+---------------|
- |kashmiri-perso-arabic| | |
- |---------------------+---------------------+---------------|
- |khmer | | |
- |---------------------+---------------------+---------------|
- |kiga |chiga | |
- |---------------------+---------------------+---------------|
- |kinyarwanda | | |
- |---------------------+---------------------+---------------|
- |klingon |tlhIngan | |
- |---------------------+---------------------+---------------|
- |konkani-devanagari | | |
- |---------------------+---------------------+---------------|
- |konkani-roman | | |
- |---------------------+---------------------+---------------|
- |korean | | |
- |---------------------+---------------------+---------------|
- |kurdish | | |
- |---------------------+---------------------+---------------|
- |latvian | | |
- |---------------------+---------------------+---------------|
- |lithuanian |lietuviu | |
- |---------------------+---------------------+---------------|
- |luganda | | |
- |---------------------+---------------------+---------------|
- |luxembourgish |letzebuergesch | |
- |---------------------+---------------------+---------------|
- |macedonian | | |
- |---------------------+---------------------+---------------|
- |maithili | | |
- |---------------------+---------------------+---------------|
- |malay | | |
- |---------------------+---------------------+---------------|
- |malayalam | | |
- |---------------------+---------------------+---------------|
- |manipuri-bengali | | |
- |---------------------+---------------------+---------------|
- |manipuri-meitei-mayek| | |
- |---------------------+---------------------+---------------|
- |marathi | | |
- |---------------------+---------------------+---------------|
- |mexican-spanish |espanol-mejicano |mexican |
- |---------------------+---------------------+---------------|
- |mongolian | | |
- |---------------------+---------------------+---------------|
- |ndebele | | |
- |---------------------+---------------------+---------------|
- |nepali | | |
- |---------------------+---------------------+---------------|
- |northern-sotho |sesotho-sa-leboa | |
- |---------------------+---------------------+---------------|
- |norwegian |nynorsk |norsk |
- |---------------------+---------------------+---------------|
- |occitan | | |
- |---------------------+---------------------+---------------|
- |odia |oriya | |
- |---------------------+---------------------+---------------|
- |ojibwe |ojibway | |
- |---------------------+---------------------+---------------|
- |persian | | |
- |---------------------+---------------------+---------------|
- |polish |polski | |
- |---------------------+---------------------+---------------|
- |portuguese |portugues | |
- |---------------------+---------------------+---------------|
- |punjabi |panjabi | |
- |---------------------+---------------------+---------------|
- |romanian | | |
- |---------------------+---------------------+---------------|
- |russian |russkiy | |
- |---------------------+---------------------+---------------|
- |sanskrit | | |
- |---------------------+---------------------+---------------|
- |santali-devanagari | | |
- |---------------------+---------------------+---------------|
- |santali-ol-chiki | | |
- |---------------------+---------------------+---------------|
- |scottish |ghaidhlig |scottish-gaelic|
- |---------------------+---------------------+---------------|
- |serbian | | |
- |---------------------+---------------------+---------------|
- |serbian-latin | | |
- |---------------------+---------------------+---------------|
- |shuswap |secwepemctin | |
- |---------------------+---------------------+---------------|
- |sindhi-devanagari | | |
- |---------------------+---------------------+---------------|
- |sindhi-perso-arabic | | |
- |---------------------+---------------------+---------------|
- |slovak | | |
- |---------------------+---------------------+---------------|
- |slovenian |slovensko | |
- |---------------------+---------------------+---------------|
- |songhay | | |
- |---------------------+---------------------+---------------|
- |southafrican-english | | |
- |---------------------+---------------------+---------------|
- |spanish |espanol | |
- |---------------------+---------------------+---------------|
- |sundanese | | |
- |---------------------+---------------------+---------------|
- |swahili | | |
- |---------------------+---------------------+---------------|
- |swedish |svenska | |
- |---------------------+---------------------+---------------|
- |tagalog | | |
- |---------------------+---------------------+---------------|
- |tamil | | |
- |---------------------+---------------------+---------------|
- |telugu | | |
- |---------------------+---------------------+---------------|
- |thai | | |
- |---------------------+---------------------+---------------|
- |tibetan | | |
- |---------------------+---------------------+---------------|
- |traditional-chinese | | |
- |---------------------+---------------------+---------------|
- |turkish | | |
- |---------------------+---------------------+---------------|
- |twi | | |
- |---------------------+---------------------+---------------|
- |ukrainian | | |
- |---------------------+---------------------+---------------|
- |urdu | | |
- |---------------------+---------------------+---------------|
- |venda | | |
- |---------------------+---------------------+---------------|
- |venetian |veneto | |
- |---------------------+---------------------+---------------|
- |vietnamese | | |
- |---------------------+---------------------+---------------|
- |walloon |walon | |
- |---------------------+---------------------+---------------|
- |welsh |cymraeg | |
- |---------------------+---------------------+---------------|
- |wolof | | |
- |---------------------+---------------------+---------------|
- |xhosa | | |
- |---------------------+---------------------+---------------|
- |miahuatlan-zapotec | |zapotec |
- |---------------------+---------------------+---------------|
- |zulu | |zulu |
- +-----------------------------------------------------------+
+ +-----------------------------------------------------------+
+ |english |american-english | |
+ |---------------------+---------------------+---------------|
+ |acholi |acoli | |
+ |---------------------+---------------------+---------------|
+ |afrikaans | | |
+ |---------------------+---------------------+---------------|
+ |akan |twi-fante | |
+ |---------------------+---------------------+---------------|
+ |albanian | | |
+ |---------------------+---------------------+---------------|
+ |amharic | | |
+ |---------------------+---------------------+---------------|
+ |arabic | | |
+ |---------------------+---------------------+---------------|
+ |aragones | | |
+ |---------------------+---------------------+---------------|
+ |armenian |hayeren | |
+ |---------------------+---------------------+---------------|
+ |assamese | | |
+ |---------------------+---------------------+---------------|
+ |asturian | | |
+ |---------------------+---------------------+---------------|
+ |australian-english | | |
+ |---------------------+---------------------+---------------|
+ |azerbaijani | | |
+ |---------------------+---------------------+---------------|
+ |bambara | | |
+ |---------------------+---------------------+---------------|
+ |basque |euskara | |
+ |---------------------+---------------------+---------------|
+ |belarusian |bielaruskaja | |
+ |---------------------+---------------------+---------------|
+ |bengali | | |
+ |---------------------+---------------------+---------------|
+ |bodo | | |
+ |---------------------+---------------------+---------------|
+ |bokmal | | |
+ |---------------------+---------------------+---------------|
+ |bosnian | | |
+ |---------------------+---------------------+---------------|
+ |brazilian-portuguese |portugues-brazilian |brazilian |
+ |---------------------+---------------------+---------------|
+ |breton |brezhoneg | |
+ |---------------------+---------------------+---------------|
+ |british-english |british | |
+ |---------------------+---------------------+---------------|
+ |bulgarian | | |
+ |---------------------+---------------------+---------------|
+ |canadian-english | | |
+ |---------------------+---------------------+---------------|
+ |catalan |catala | |
+ |---------------------+---------------------+---------------|
+ |chinese |simplified-chinese | |
+ |---------------------+---------------------+---------------|
+ |croatian |hrvatski | |
+ |---------------------+---------------------+---------------|
+ |czech |cesky | |
+ |---------------------+---------------------+---------------|
+ |danish |dansk | |
+ |---------------------+---------------------+---------------|
+ | |dogri | |
+ |---------------------+---------------------+---------------|
+ |dutch |nederlands | |
+ |---------------------+---------------------+---------------|
+ |esperanto | | |
+ |---------------------+---------------------+---------------|
+ |estonian | | |
+ |---------------------+---------------------+---------------|
+ |faroese | | |
+ |---------------------+---------------------+---------------|
+ |finnish |suomi | |
+ |---------------------+---------------------+---------------|
+ |french |francais | |
+ |---------------------+---------------------+---------------|
+ |fula |fulah |pulaar-fulfulde|
+ |---------------------+---------------------+---------------|
+ |gaelic |gaidhlig |irish-gaelic |
+ |---------------------+---------------------+---------------|
+ |galician |galego | |
+ |---------------------+---------------------+---------------|
+ |georgian | | |
+ |---------------------+---------------------+---------------|
+ |german |deutsch | |
+ |---------------------+---------------------+---------------|
+ |greek | | |
+ |---------------------+---------------------+---------------|
+ |gronings |zudelk-veenkelonioals| |
+ |---------------------+---------------------+---------------|
+ |gujarati | | |
+ |---------------------+---------------------+---------------|
+ |hebrew | | |
+ |---------------------+---------------------+---------------|
+ |hindi | | |
+ |---------------------+---------------------+---------------|
+ |hungarian |magyar | |
+ |---------------------+---------------------+---------------|
+ |icelandic |islenska | |
+ |---------------------+---------------------+---------------|
+ |indonesian |bahasa-indonesia | |
+ |---------------------+---------------------+---------------|
+ |inuktitut | | |
+ |---------------------+---------------------+---------------|
+ |italian |italiano | |
+ |---------------------+---------------------+---------------|
+ |japanese | | |
+ |---------------------+---------------------+---------------|
+ |kabyle | |kabylian |
+ |---------------------+---------------------+---------------|
+ |kannada | | |
+ |---------------------+---------------------+---------------|
+ |kashmiri-devanagari | | |
+ |---------------------+---------------------+---------------|
+ |kashmiri-perso-arabic| | |
+ |---------------------+---------------------+---------------|
+ |khmer | | |
+ |---------------------+---------------------+---------------|
+ |kiga |chiga | |
+ |---------------------+---------------------+---------------|
+ |kinyarwanda | | |
+ |---------------------+---------------------+---------------|
+ |klingon |tlhIngan | |
+ |---------------------+---------------------+---------------|
+ |konkani-devanagari | | |
+ |---------------------+---------------------+---------------|
+ |konkani-roman | | |
+ |---------------------+---------------------+---------------|
+ |korean | | |
+ |---------------------+---------------------+---------------|
+ |kurdish | | |
+ |---------------------+---------------------+---------------|
+ |latvian | | |
+ |---------------------+---------------------+---------------|
+ |lithuanian |lietuviu | |
+ |---------------------+---------------------+---------------|
+ |luganda | | |
+ |---------------------+---------------------+---------------|
+ |luxembourgish |letzebuergesch | |
+ |---------------------+---------------------+---------------|
+ |macedonian | | |
+ |---------------------+---------------------+---------------|
+ |maithili | | |
+ |---------------------+---------------------+---------------|
+ |malay | | |
+ |---------------------+---------------------+---------------|
+ |malayalam | | |
+ |---------------------+---------------------+---------------|
+ |manipuri-bengali | | |
+ |---------------------+---------------------+---------------|
+ |manipuri-meitei-mayek| | |
+ |---------------------+---------------------+---------------|
+ |marathi | | |
+ |---------------------+---------------------+---------------|
+ |mexican-spanish |espanol-mejicano |mexican |
+ |---------------------+---------------------+---------------|
+ |mongolian | | |
+ |---------------------+---------------------+---------------|
+ |ndebele | | |
+ |---------------------+---------------------+---------------|
+ |nepali | | |
+ |---------------------+---------------------+---------------|
+ |northern-sotho |sesotho-sa-leboa | |
+ |---------------------+---------------------+---------------|
+ |norwegian |nynorsk |norsk |
+ |---------------------+---------------------+---------------|
+ |occitan | | |
+ |---------------------+---------------------+---------------|
+ |odia |oriya | |
+ |---------------------+---------------------+---------------|
+ |ojibwe |ojibway | |
+ |---------------------+---------------------+---------------|
+ |persian | | |
+ |---------------------+---------------------+---------------|
+ |polish |polski | |
+ |---------------------+---------------------+---------------|
+ |portuguese |portugues | |
+ |---------------------+---------------------+---------------|
+ |punjabi |panjabi | |
+ |---------------------+---------------------+---------------|
+ |romanian | | |
+ |---------------------+---------------------+---------------|
+ |russian |russkiy | |
+ |---------------------+---------------------+---------------|
+ |sanskrit | | |
+ |---------------------+---------------------+---------------|
+ |santali-devanagari | | |
+ |---------------------+---------------------+---------------|
+ |santali-ol-chiki | | |
+ |---------------------+---------------------+---------------|
+ |scottish |ghaidhlig |scottish-gaelic|
+ |---------------------+---------------------+---------------|
+ |serbian | | |
+ |---------------------+---------------------+---------------|
+ |serbian-latin | | |
+ |---------------------+---------------------+---------------|
+ |shuswap |secwepemctin | |
+ |---------------------+---------------------+---------------|
+ |sindhi-devanagari | | |
+ |---------------------+---------------------+---------------|
+ |sindhi-perso-arabic | | |
+ |---------------------+---------------------+---------------|
+ |slovak | | |
+ |---------------------+---------------------+---------------|
+ |slovenian |slovensko | |
+ |---------------------+---------------------+---------------|
+ |songhay | | |
+ |---------------------+---------------------+---------------|
+ |southafrican-english | | |
+ |---------------------+---------------------+---------------|
+ |spanish |espanol | |
+ |---------------------+---------------------+---------------|
+ |sundanese | | |
+ |---------------------+---------------------+---------------|
+ |swahili | | |
+ |---------------------+---------------------+---------------|
+ |swedish |svenska | |
+ |---------------------+---------------------+---------------|
+ |tagalog | | |
+ |---------------------+---------------------+---------------|
+ |tamil | | |
+ |---------------------+---------------------+---------------|
+ |telugu | | |
+ |---------------------+---------------------+---------------|
+ |thai | | |
+ |---------------------+---------------------+---------------|
+ |tibetan | | |
+ |---------------------+---------------------+---------------|
+ |traditional-chinese | | |
+ |---------------------+---------------------+---------------|
+ |turkish | | |
+ |---------------------+---------------------+---------------|
+ |twi | | |
+ |---------------------+---------------------+---------------|
+ |ukrainian | | |
+ |---------------------+---------------------+---------------|
+ |urdu | | |
+ |---------------------+---------------------+---------------|
+ |venda | | |
+ |---------------------+---------------------+---------------|
+ |venetian |veneto | |
+ |---------------------+---------------------+---------------|
+ |vietnamese | | |
+ |---------------------+---------------------+---------------|
+ |walloon |walon | |
+ |---------------------+---------------------+---------------|
+ |welsh |cymraeg | |
+ |---------------------+---------------------+---------------|
+ |wolof | | |
+ |---------------------+---------------------+---------------|
+ |xhosa | | |
+ |---------------------+---------------------+---------------|
+ |miahuatlan-zapotec | |zapotec |
+ |---------------------+---------------------+---------------|
+ |zulu | |zulu |
+ +-----------------------------------------------------------+
- --locale LOCALE
+ --locale LOCALE
- Run Tux Paint in one of the support languages. See the
- "Choosing a Different Language" section below for the locale
- strings (e.g., "de_DE" for German) to use.
+ Run Tux Paint in one of the support languages. See the "Choosing a
+ Different Language" section below for the locale strings (e.g.,
+ "de_DE" for German) to use.
- (If your locale is already set, e.g. with the "$LANG"
- environment variable, this option is not necessary, since
- Tux Paint honors your environment's setting, if possible.)
+ (If your locale is already set, e.g. with the "$LANG" environment
+ variable, this option is not necessary, since Tux Paint honors
+ your environment's setting, if possible.)
- mirrorstamps=yes
+ mirrorstamps=yes
- For stamps that can be mirrored, this option sets them to
- their mirrored shape by default.
+ For stamps that can be mirrored, this option sets them to their
+ mirrored shape by default.
- This can be useful for people who prefer things
- right-to-left, rather than left-to-right.
+ This can be useful for people who prefer things right-to-left,
+ rather than left-to-right.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "mirrorstamps=no" or "dontmirrorstamps=yes". In both cases,
- may be overridden by the command-line option
- "--dontmirrorstamps".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "mirrorstamps=no" or "dontmirrorstamps=yes". In both cases, may be
+ overridden by the command-line option "--dontmirrorstamps".
Fonts
- sysfonts=yes
+ sysfonts=yes
- This option causes Tux Paint to attempt to load fonts (for
- use in the Text tool) from your operating system. Normally,
- Tux Paint will only load the ones that came bundled with Tux
- Paint.
+ This option causes Tux Paint to attempt to load fonts (for use in
+ the Text tool) from your operating system. Normally, Tux Paint
+ will only load the ones that came bundled with Tux Paint.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "sysfonts=no" or "nosysfonts=yes". In both cases, may be
- overridden by the command-line option "--nosysfonts".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "sysfonts=no" or
+ "nosysfonts=yes". In both cases, may be overridden by the
+ command-line option "--nosysfonts".
- alllocalefonts=yes
+ alllocalefonts=yes
- Prior to version 0.9.21, Tux Paint loaded all fonts in its
- own fonts directory, including locale-specific ones (e.g.,
- the one for Tibetan, which had no latin characters). As of
- 0.9.21, the only font loaded from the locale-specific
- subdirectory, if any, is one matching the locale Tux Paint
- is running on.
+ Prior to version 0.9.21, Tux Paint loaded all fonts in its own
+ fonts directory, including locale-specific ones (e.g., the one for
+ Tibetan, which had no latin characters). As of 0.9.21, the only
+ font loaded from the locale-specific subdirectory, if any, is one
+ matching the locale Tux Paint is running on.
- To load all locale-specific fonts (the old behavior), set
- this option.
+ To load all locale-specific fonts (the old behavior), set this
+ option.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "alllocalefonts=no" or "currentlocalefont=yes". In both
- cases, may be overridden by the command-line option
- "--currentlocalefont".
-
- ----------------------------------------------------------------------
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "alllocalefonts=no" or "currentlocalefont=yes". In both cases, may
+ be overridden by the command-line option "--currentlocalefont".
Printing
Print Permissions
- noprint=yes
+ noprint=yes
- Disable the printing feature.
+ Disable the printing feature.
- printdelay=SECONDS
+ printdelay=SECONDS
- Restrict printing so that printing can occur only once every
- SECONDS seconds.
+ Restrict printing so that printing can occur only once every
+ SECONDS seconds.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "printdelay=0". In both cases, may be overridden by the
- command-line option "--printdelay=0".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "printdelay=0".
+ In both cases, may be overridden by the command-line option
+ "--printdelay=0".
Show Printer Dialog
- altprint=always
+ altprint=always
- This causes Tux Paint to always show the printer dialog (or,
- on Linux/Unix, run the "altprintcommand") when the 'Print'
- button is clicked. In other words, it's like clicking
- 'Print' while holding [Alt], except you don't need to hold
- [Alt] every time.
+ This causes Tux Paint to always show the printer dialog (or, on
+ Linux/Unix, run the "altprintcommand") when the 'Print' button is
+ clicked. In other words, it's like clicking 'Print' while holding
+ [Alt], except you don't need to hold [Alt] every time.
- altprint=never
+ altprint=never
- This prevents Tux Paint from ever showing the printer dialog
- (or, on Linux/Unix, run the "altprintcommand") when the
- 'Print' button is clicked. In other words, it makes the
- [Alt] key have no effect when clicking the 'Print' button.
+ This prevents Tux Paint from ever showing the printer dialog (or,
+ on Linux/Unix, run the "altprintcommand") when the 'Print' button
+ is clicked. In other words, it makes the [Alt] key have no effect
+ when clicking the 'Print' button.
- altprint=mod
+ altprint=mod
- This is the normal, default behavior. Tux Paint shows a
- printer dialog (or, on Linux/Unix, runs the
- "altprintcommand"), when the [Alt] key is pressed while the
- 'Print' button is clicked. Clicking 'Print' without holding
- [Alt] prints without showing a dialog.
+ This is the normal, default behavior. Tux Paint shows a printer
+ dialog (or, on Linux/Unix, runs the "altprintcommand"), when the
+ [Alt] key is pressed while the 'Print' button is clicked. Clicking
+ 'Print' without holding [Alt] prints without showing a dialog.
Save Printer Configuration
- printcfg=yes
+ printcfg=yes
- (Windows and macOS only)
+ (Windows and macOS only)
- Tux Paint will use a printer configuration file when
- printing. Push the [Alt] key while clicking the 'Print'
- button in Tux Paint to cause a Windows print dialog window
- to appear.
+ Tux Paint will use a printer configuration file when printing.
+ Push the [Alt] key while clicking the 'Print' button in Tux
+ Paint to cause a Windows print dialog window to appear.
- (Note: This only works when not running Tux Paint in
- fullscreen mode.) Any configuration changes made in this
- dialog will be saved to the file "userdata/print.cfg" , and
- used again, as long as the "printcfg" option is set.
+ Any configuration changes made in this dialog will be saved to
+ the file "userdata/print.cfg" , and used again, as long as the
+ "printcfg" option is set.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "printcfg=no" or "noprintcfg=yes". In both cases, may be
- overridden by the command-line option "--noprintcfg".
+ 💡 Note: This only works when not running Tux Paint in fullscreen
+ mode.
+
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "printcfg=no"
+ or "noprintcfg=yes". In both cases, may be overridden by the
+ command-line option "--noprintcfg".
Print Commands
- printcommand=COMMAND
+ printcommand=COMMAND
- (Linux and Unix only)
+ (Linux and Unix only)
- Use the command COMMAND to print a PostScript format file
- when the 'Print' button is clicked. If this option is not
- specifically not set, the default command is:
+ Use the command COMMAND to print a PostScript format file when
+ the 'Print' button is clicked. If this option is not
+ specifically not set, the default command is:
- lpr
+ lpr
- Note: Versions of Tux Paint prior to 0.9.15 sent PNG format
- data to the print command (which defaulted to "pngtopnm |
- pnmtops | lpr").
+ 📜 Note: Versions of Tux Paint prior to 0.9.15 sent PNG format
+ data to the print command (which defaulted to "pngtopnm |
+ pnmtops | lpr").
- If you set an alternative printcommand in the configuration
- file prior to version 0.9.15, you will need to change it.
+ If you set an alternative printcommand in the configuration file
+ prior to version 0.9.15, you will need to change it.
- altprintcommand=COMMAND
+ altprintcommand=COMMAND
- (Linux and Unix only)
+ (Linux and Unix only)
- Use the command COMMAND to print a PostScript format file
- when the 'Print' button is clicked while the [Alt] modifier
- key is being held. (This is typically used for providing a
- print dialog, similar to when pressing [Alt]+'Print' in
- Windows and macOS.)
+ Use the command COMMAND to print a PostScript format file when
+ the 'Print' button is clicked while the [Alt] modifier key is
+ being held. (This is typically used for providing a print
+ dialog, similar to when pressing [Alt]+'Print' in Windows and
+ macOS.)
- If this option is not specifically not set, the default
- command is KDE's graphical print dialog:
+ If this option is not specifically not set, the default command
+ is KDE's graphical print dialog:
- kprinter
+ kprinter
Paper Size
- papersize=PAPERSIZE
+ papersize=PAPERSIZE
- (Platforms that use Tux Paint's internal PostScript
- generator — not Windows, macOS, BeOS, or Haiku.)
+ (Platforms that use Tux Paint's internal PostScript generator —
+ not Windows, macOS, BeOS, or Haiku.)
- Tell Tux Paint what size PostScript to generate. If none is
- specified, Tux Paint first checks your $PAPER environment
- variable, then the file /etc/papersize, then uses the the
- 'libpaper' library's default paper size.
+ Tell Tux Paint what size PostScript to generate. If none is
+ specified, Tux Paint first checks your $PAPER environment
+ variable, then the file /etc/papersize, then uses the the
+ 'libpaper' library's default paper size.
- Valid paper sizes include: letter, legal, tabloid,
- executive, note, statement, a0, a1, a2, a3, a4, a5, a6, a7,
- a8, a9, a10, b0, b1, b2 b3, b4, 10x14, 11x17, halfletter,
- halfexecutive, halfnote, folio, quarto, ledger, archA,
- archB, archC, archD, archE, flsa, flse, csheet, dsheet,
- esheet.
-
- ----------------------------------------------------------------------
+ Valid paper sizes include: letter, legal, tabloid, executive,
+ note, statement, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10,
+ b0, b1, b2 b3, b4, 10x14, 11x17, halfletter, halfexecutive,
+ halfnote, folio, quarto, ledger, archA, archB, archC, archD,
+ archE, flsa, flse, csheet, dsheet, esheet.
Saving
Save Over Earlier Work
- saveover=yes
+ saveover=yes
- This disables the "Save over the old version...?" prompt
- when saving an existing file. With this option, the older
- version will always be replaced by the new version,
- automatically.
+ This disables the "Save over the old version...?" prompt when
+ saving an existing file. With this option, the older version
+ will always be replaced by the new version, automatically.
- saveover=new
+ saveover=new
- This also disables the "Save over the old version...?"
- prompt when saving an existing file. This option, however,
- will always save a new file, rather than overwrite the older
- version.
+ This also disables the "Save over the old version...?" prompt
+ when saving an existing file. This option, however, will always
+ save a new file, rather than overwrite the older version.
- saveover=ask
+ saveover=ask
- (This option is redundant, since this is the default.) When
- saving an existing drawing, you will be first asked whether
- to save over the older version or not.
+ (This option is redundant, since this is the default.) When
+ saving an existing drawing, you will be first asked whether to
+ save over the older version or not.
Starting Out
- startblank=yes
+ startblank=yes
- This causes Tux Paint to display a blank canvas when it
- first starts up, rather than loading the last image that was
- being edited.
+ This causes Tux Paint to display a blank canvas when it first
+ starts up, rather than loading the last image that was being
+ edited.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "startblank=no" or "startlast=yes". In both cases, may be
- overridden by the command-line option "--startlast".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "startblank=no" or "startlast=yes". In both cases, may be
+ overridden by the command-line option "--startlast".
- newcolorslast=yes
+ newcolorslast=yes
- Places the blank color options in the New dialog at the end,
- so that any Starters and/or Templates are shown first.
+ Places the blank color options in the New dialog at the end, so
+ that any Starters and/or Templates are shown first.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "newcolorslast=no" or "newcolorsfirst=yes". In both cases,
- may be overridden by the command-line option
- "--newcolorsfirst".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "newcolorslast=no" or "newcolorsfirst=yes". In both cases, may
+ be overridden by the command-line option "--newcolorsfirst".
Save and Export Directories
- savedir=DIRECTORY
+ savedir=DIRECTORY
- Use this option to change where Tux Paint's "saved"
- directory/folder is located, which is where Tux Paint saves
- and opens pictures.
+ Use this option to change where Tux Paint's "saved"
+ directory/folder is located, which is where Tux Paint saves and
+ opens pictures.
- If you do not override it, the default location is:
+ If you do not override it, the default location is:
- * Linux & Unix — Under a hidden directory named
- ".tuxpaint" in your home directory (aka "~" or "$HOME")
- Example: /home/username/.tuxpaint/saved/
- * Windows — Inside a folder named "TuxPaint" in your
- "Application Data" folder.
- Example: C:\Documents and Settings\Username\Application
- Data\TuxPaint\saved\
- * macOS — Inside a folder named "TuxPaint" in your
- "Application Support" folder.
- Example: /Users/Username/Library/Application
- Support/TuxPaint/saved/
+ * Linux & Unix — Under a hidden directory named ".tuxpaint"
+ in your home directory (aka "~" or "$HOME")
+ Example: /home/username/.tuxpaint/saved/
+ * Windows — Inside a folder named "TuxPaint" in your
+ "Application Data" folder.
+ Example: C:\Documents and Settings\Username\Application
+ Data\TuxPaint\saved\
+ * macOS — Inside a folder named "TuxPaint" in your
+ "Application Support" folder.
+ Example: /Users/Username/Library/Application
+ Support/TuxPaint/saved/
- Note: When specifying a Windows drive (e.g., "H:\"), you
- must also specify a subdirectory.
+ 💡 Note: When specifying a Windows drive (e.g., "H:\"), you must
+ also specify a subdirectory.
- Note: Prior to version 0.9.18, Tux Paint would also use the
- setting or default for "savedir" as the place to search for
- personal data files (brushes, stamps, starters and fonts).
- As of version 0.9.18, they may be specified separately (see
- the "datadir" option, below).
+ 📜 Note: Prior to version 0.9.18, Tux Paint would also use the
+ setting or default for "savedir" as the place to search for
+ personal data files (brushes, stamps, starters and fonts). As of
+ version 0.9.18, they may be specified separately (see the
+ "datadir" option, below).
- Example: savedir=Z:\tuxpaint\
+ Example: savedir=Z:\tuxpaint\
- exportdir=DIRECTORY
+ exportdir=DIRECTORY
- Use this option to change where Tux Paint exports files —
- single images, or animated GIF slideshows — for external
- use.
+ Use this option to change where Tux Paint exports files — single
+ images, or animated GIF slideshows — for external use.
- If you do not override it, the default location is:
+ If you do not override it, the default location is:
- * Linux & Unix — If available, wherever your desktop
- environment is configured for pictures to be stored,
- based on your XDG (X Desktop Group) configuration. (Try
- running the command-line "xdg-user-dir PICTURES" to
- find out.)
- Typically (in an English locale), this will be a
- "Pictures" subdirectory in your home directory (i.e.,
- "$HOME/Pictures" aka "~/Pictures").
- Tux Paint will fall back to using that typical
- directory, of no XDG configuration can be read, or
- nothing is set for "XDG_PICTURES_DIR".
- * Windows - "My Pictures" directory for each user
- (normaly "c:\Users\USERNAME\Pictures").
- You can directly open the folder as follows:
- * Press "[Windows]+[R]" key to open "Run ..."
- dialogue.
- * Enter "Shell:My Pictures" in the text box and push
- [OK].
- * macOS — TBD!
+ * Linux & Unix — If available, wherever your desktop
+ environment is configured for pictures to be stored, based
+ on your XDG (X Desktop Group) configuration. (Try running
+ the command-line "xdg-user-dir PICTURES" to find out.)
+ Typically (in an English locale), this will be a "Pictures"
+ subdirectory in your home directory (i.e., "$HOME/Pictures"
+ aka "~/Pictures").
+ Tux Paint will fall back to using that typical directory,
+ of no XDG configuration can be read, or nothing is set for
+ "XDG_PICTURES_DIR".
+ * Windows - "My Pictures" directory for each user (normaly
+ "c:\Users\USERNAME\Pictures").
+ You can directly open the folder as follows:
+ * Press "[Windows]+[R]" key to open "Run ..." dialogue.
+ * Enter "Shell:My Pictures" in the text box and push
+ [OK].
+ * macOS — TBD!
- Note: When the defaults are used, a new "TuxPaint"
- subdirectory will be created and used. (e.g.,
- "~/Pictures/TuxPaint") When the "--exportdir" option is
- used, the exact path specified will be used (no "TuxPaint"
- subdirectory is created).
+ 💡 Note: When the defaults are used, a new "TuxPaint"
+ subdirectory will be created and used. (e.g.,
+ "~/Pictures/TuxPaint") When the "--exportdir" option is used,
+ the exact path specified will be used (no "TuxPaint"
+ subdirectory is created).
- The directory itself (e.g., "~/Pictures/TuxPaint") will be
- created, if it doesn't exist.
+ The directory itself (e.g., "~/Pictures/TuxPaint") will be
+ created, if it doesn't exist.
- If the parent directory (e.g., "~/Pictures/TuxPaint") also
- does not exist, Tux Paint will attempt to create it as well
- (but not any directories higher than that).
+ If the parent directory (e.g., "~/Pictures/TuxPaint") also does
+ not exist, Tux Paint will attempt to create it as well (but not
+ any directories higher than that).
- Example: exportdir=/home/penguin/TuxPaintExports
+ Example: exportdir=/home/penguin/TuxPaintExports
More Saving Options
- nosave=yes
+ nosave=yes
- This disables Tux Paint's ability to save files (and
- therefore disables the on-screen "Save" button). It can be
- used in situations where the program is only being used for
- fun, or in a test environment.
+ This disables Tux Paint's ability to save files (and therefore
+ disables the on-screen "Save" button). It can be used in
+ situations where the program is only being used for fun, or in a
+ test environment.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nosave=no" or "save=yes". In both cases, may be overridden
- by the command-line option "--save".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "nosave=no" or
+ "save=yes". In both cases, may be overridden by the command-line
+ option "--save".
- autosave=yes
+ autosave=yes
- This prevents Tux Paint from asking whether you want to save
- the current picture when quitting, and assumes you do.
+ This prevents Tux Paint from asking whether you want to save the
+ current picture when quitting, and assumes you do.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "autosave=no" or "noautosave=yes". In both cases, may be
- overridden by the command-line option "--noautosave".
-
- ----------------------------------------------------------------------
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "autosave=no"
+ or "noautosave=yes". In both cases, may be overridden by the
+ command-line option "--noautosave".
Data
Lockfile
- nolockfile=yes
+ nolockfile=yes
- By default, Tux Paint uses what's known as a 'lockfile' to
- prevent it from being launched more than once in 30 seconds.
- (This is to avoid accidentally running multiple copies; for
- example, by double-clicking a single-click launcher, or
- simply impatiently clicking the icon multiple times.)
+ By default, Tux Paint uses what's known as a 'lockfile' to
+ prevent it from being launched more than once in 30 seconds.
+ (This is to avoid accidentally running multiple copies; for
+ example, by double-clicking a single-click launcher, or simply
+ impatiently clicking the icon multiple times.)
- To make Tux Paint ignore the lockfile, allowing it to run
- again, even if it was just launched less than 30 seconds
- ago, enable this setting in the configuration file, or run
- Tux Paint with the --nolockfile option on the command-line.
+ To make Tux Paint ignore the lockfile, allowing it to run again,
+ even if it was just launched less than 30 seconds ago, enable
+ this setting in the configuration file, or run Tux Paint with
+ the --nolockfile option on the command-line.
- By default, the lockfile is stored in "~/.tuxpaint/" under
- Linux and Unix, and "userdata\" under Windows.
+ By default, the lockfile is stored in "~/.tuxpaint/" under Linux
+ and Unix, and "userdata\" under Windows.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "nolockfile=no" or "lockfile=yes". In both cases, may be
- overridden by the command-line option "--lockfile".
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "nolockfile=no" or "lockfile=yes". In both cases, may be
+ overridden by the command-line option "--lockfile".
Data Directory
- datadir=DIRECTORY
+ datadir=DIRECTORY
- Use this option to change where Tux Paint looks for personal
- data files (brushes, stamps, starters, templates, and fonts
- specific to the current user).
+ Use this option to change where Tux Paint looks for personal
+ data files (brushes, stamps, starters, templates, and fonts
+ specific to the current user).
- Tux Paint will search for subdirectories/subfolders named
- "brushes", "stamps", "starters", "templates", and "fonts"
- under the specified data directory.
+ Tux Paint will search for subdirectories/subfolders named
+ "brushes", "stamps", "starters", "templates", and "fonts" under
+ the specified data directory.
- If you do not override it, the default location is:
+ If you do not override it, the default location is:
- * Linux & Unix — Under a hidden directory named
- ".tuxpaint" in your home directory (aka "~" or "$HOME")
- Example: /home/username/.tuxpaint/brushes/
- * Windows — Inside a folder named "TuxPaint" in your
- "Application Data" folder.
- Example: C:\Documents and Settings\Username\Application
- Data\TuxPaint\brushes\
- * macOS — Inside a folder named "TuxPaint" in your
- "Application Support" folder.
- Example: /Users/Username/Library/Application
- Support/TuxPaint/brushes/
+ * Linux & Unix — Under a hidden directory named ".tuxpaint"
+ in your home directory (aka "~" or "$HOME")
+ Example: /home/username/.tuxpaint/brushes/
+ * Windows — Inside a folder named "TuxPaint" in your
+ "Application Data" folder.
+ Example: C:\Documents and Settings\Username\Application
+ Data\TuxPaint\brushes\
+ * macOS — Inside a folder named "TuxPaint" in your
+ "Application Support" folder.
+ Example: /Users/Username/Library/Application
+ Support/TuxPaint/brushes/
- Note: Prior to version 0.9.18, Tux Paint would use the same
- setting or default as for "savedir" to search for data
- files. As of version 0.9.18, they may be specified
- separately.
+ 📜 Note: Prior to version 0.9.18, Tux Paint would use the same
+ setting or default as for "savedir" to search for data files. As
+ of version 0.9.18, they may be specified separately.
- Note: When specifying a Windows drive (e.g., "H:\"), you
- must also specify a subdirectory.
+ 💡 Note: When specifying a Windows drive (e.g., "H:\"), you must
+ also specify a subdirectory.
- Example: datadir=/home/johnny/tuxpaint-data/
+ Example: datadir=/home/johnny/tuxpaint-data/
Color Palette File
- colorfile=FILENAME
+ colorfile=FILENAME
- You may override Tux Paint's default color palette by
- creating a plain ASCII text file that describes the colors
- you want, and pointing to that file using the "colorfile"
- option.
+ You may override Tux Paint's default color palette by creating a
+ plain ASCII text file that describes the colors you want, and
+ pointing to that file using the "colorfile" option.
- The file should list one color per line. Colors are defined
- in terms of their Red, Green and Blue values, each from 0
- (off) to 255 (brightest). (For more information, try
- Wikipedia's "RGB color model" article.)
+ The file should list one color per line. Colors are defined in
+ terms of their Red, Green and Blue values, each from 0 (off) to
+ 255 (brightest). (For more information, try Wikipedia's "RGB
+ color model" article.)
- Colors may be listed using three decimal numbers (e.g., "255
- 68 136") or a 6- or 3-digit-long hexadecimal 'triplet'
- (e.g., "#ff4488" or "#F48").
+ Colors may be listed using three decimal numbers (e.g., "255 68
+ 136") or a 6- or 3-digit-long hexadecimal 'triplet' (e.g.,
+ "#ff4488" or "#F48").
- After the color definition (on the same line) you may enter
- text to describe the color. Tux will display this text when
- the color is clicked. (For example, "#FFF White as snow.")
+ After the color definition (on the same line) you may enter text
+ to describe the color. Tux will display this text when the color
+ is clicked. (For example, "#FFF White as snow.")
- As an example, you can see the default colors currently used
- in Tux Paint in: "default_colors.txt".
+ As an example, you can see the default colors currently used in
+ Tux Paint in: "default_colors.txt".
- NOTES: You must separate decimal values with spaces, and
- begin hexadecimal values with a pound/number-sign character
- ("#"). In 3-digit hexadecimal, each digit is used for both
- the high and low halves of the byte, so "#FFF" is the same
- as "#FFFFFF", not "#F0F0F0".
-
- ----------------------------------------------------------------------
+ NOTES: You must separate decimal values with spaces, and begin
+ hexadecimal values with a pound/number-sign character ("#"). In
+ 3-digit hexadecimal, each digit is used for both the high and
+ low halves of the byte, so "#FFF" is the same as "#FFFFFF", not
+ "#F0F0F0".
Accessibility
Mouse
- mouse-accessibility=yes
+ mouse-accessibility=yes
- In this mode, instead of clicking, dragging and releasing
- (e.g., to draw), you click, move, and click again to end the
- motion.
+ In this mode, instead of clicking, dragging and releasing (e.g.,
+ to draw), you click, move, and click again to end the motion.
Keyboard
- keyboard=yes
+ keyboard=yes
- This allows the keyboard arrow keys to be used to control
- the mouse pointer. (e.g., for mouseless environments, or
- handicapped/accessibility purposes)
+ This allows the keyboard arrow keys to be used to control the
+ mouse pointer. (e.g., for mouseless environments, or
+ handicapped/accessibility purposes)
- Features:
+ Features:
- * Fine movement within canvas, or coarse movement if
- Shift is held.
- * Coarse movement within tool button areas.
- * Key controls:
- * [Left]/[Right]/[Up]/[Down], numpad [1] thru [9]:
- Move mouse
- * [Space]/[5]: Click mouse (except when using "Text"
- or "Label" tools)
- * [Insert]/[F5]: Click mouse (always)
- * [F4] jump mouse between "Tools", "Colors" and
- canvas areas
- * If mouse is within "Tools" section on the left, or
- "Colors" section at the bottom:
- * [F7], [F8]: Move down/up between buttons,
- respectively (Tools section, only)
- * [F11], [F12]: Move to previous/next button,
- respectively
- * To click-and-drag, hold one of the 'click' keys (e.g.,
- [Insert]), and use the movement keys (e.g., [Left]).
- * Note: The "mouse accessibility" feature works with
- the keyboard mouse controls. With both options
- enabled, painting tools can be used to draw by
- pressing a 'click' key to start clicking, movement
- keys to move around (which will draw), and another
- 'click' key to end the click (stop drawing).
- * A regular mouse and/or joystick may still be used (so
- you can, e.g., move with the mouse, and click with the
- keyboard, or vice-versa)
+ * Fine movement within canvas, or coarse movement if Shift is
+ held.
+ * Coarse movement within tool button areas.
+ * Key controls:
+ * [Left]/[Right]/[Up]/[Down], numpad [1] thru [9]: Move
+ mouse
+ * [Space]/[5]: Click mouse (except when using "Text" or
+ "Label" tools)
+ * [Insert]/[F5]: Click mouse (always)
+ * [F4] jump mouse between "Tools", "Colors" and canvas
+ areas
+ * If mouse is within "Tools" section on the left, or
+ "Colors" section at the bottom:
+ * [F7], [F8]: Move down/up between buttons,
+ respectively (Tools section, only)
+ * [F11], [F12]: Move to previous/next button,
+ respectively
+ * To click-and-drag, hold one of the 'click' keys (e.g.,
+ [Insert]), and use the movement keys (e.g., [Left]).
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "keyboard=no" or "mouse=yes". In both cases, may be
- overridden by the command-line option "--mouse".
+ 💡 >Note: The "mouse accessibility" feature works with the
+ keyboard mouse controls. With both options enabled,
+ painting tools can be used to draw by pressing a 'click'
+ key to start clicking, movement keys to move around (which
+ will draw), and another 'click' key to end the click (stop
+ drawing).
+
+ * A regular mouse and/or joystick may still be used (so you
+ can, e.g., move with the mouse, and click with the
+ keyboard, or vice-versa)
+
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using "keyboard=no"
+ or "mouse=yes". In both cases, may be overridden by the
+ command-line option "--mouse".
Onscreen Keyboard
- onscreen-keyboard=yes
+ onscreen-keyboard=yes
- Presents a clickable on-screen keyboard when using the Text
- and Label tools.
+ Presents a clickable on-screen keyboard when using the Text and
+ Label tools.
- onscreen-keyboard-layout=LAYOUTNAME
+ onscreen-keyboard-layout=LAYOUTNAME
- Selects the initial layout for the on-screen keyboard when
- using the Text and Label tools.
- Note: Using this option implies automatically
- onscreen-keyboard=yes, so setting both is redundant.
+ Selects the initial layout for the on-screen keyboard when using
+ the Text and Label tools.
+ Note: Using this option implies automatically
+ onscreen-keyboard=yes, so setting both is redundant.
- onscreen-keyboard-disable-change=yes
+ onscreen-keyboard-disable-change=yes
- Disables the possibility for changing the layout of the
- on-screen keyboard when using the Text and Label tools,
- useful for simplifying things for the small children.
- Note: Using this option implies automatically
- onscreen-keyboard=yes, so setting both is redundant.
+ Disables the possibility for changing the layout of the
+ on-screen keyboard when using the Text and Label tools, useful
+ for simplifying things for the small children.
+ Note: Using this option implies automatically
+ onscreen-keyboard=yes, so setting both is redundant.
- Note: If used in a system-wide configuration file, may be
- overridden by the user's configuration file using
- "onscreen-keyboard-disable-change=no". In both cases, may be
- overridden by the command-line option
- "--onscreen-keyboard-disable-change=no".
-
- ----------------------------------------------------------------------
+ ⚙ Note: If used in a system-wide configuration file, may be
+ overridden by the user's configuration file using
+ "onscreen-keyboard-disable-change=no". In both cases, may be
+ overridden by the command-line option
+ "--onscreen-keyboard-disable-change=no".
Joystick
Main Device
- joystick-dev=N
+ joystick-dev=N
- Specify which joystick device should be used by Tux Paint.
- Default value is 0 (the first joystick).
+ Specify which joystick device should be used by Tux Paint.
+ Default value is 0 (the first joystick).
- joystick-slowness=SPEED
+ joystick-slowness=SPEED
- Sets a delay at each axis motion, allowing to slow the
- joystick. Allowed values are from 0 to 500. Default value is
- 15.
+ Sets a delay at each axis motion, allowing to slow the joystick.
+ Allowed values are from 0 to 500. Default value is 15.
- joystick-threshold=THRESHOLD
+ joystick-threshold=THRESHOLD
- Sets the minimum level of axis motion to start moving the
- pointer. Allowed values are from 0 to 32766. Default value
- is 3200.
+ Sets the minimum level of axis motion to start moving the
+ pointer. Allowed values are from 0 to 32766. Default value is
+ 3200.
- joystick-maxsteps=STEPS
+ joystick-maxsteps=STEPS
- Sets the maximum pixels the pointer will move at once.
- Allowed values are from 1 to 7. Default value is 7.
+ Sets the maximum pixels the pointer will move at once. Allowed
+ values are from 1 to 7. Default value is 7.
Hat
- joystick-hat-slowness=SPEED
+ joystick-hat-slowness=SPEED
- Sets a delay at each automatic motion, allowing to slow the
- speed of the hat. Allowed values are from 0 to 500. Default
- value is 15.
+ Sets a delay at each automatic motion, allowing to slow the
+ speed of the hat. Allowed values are from 0 to 500. Default
+ value is 15.
- joystick-hat-timeout=MILLISECONDS
+ joystick-hat-timeout=MILLISECONDS
- Sets the delay after wich the pointer will start moving
- automatically if the hat is keeped pushed. Allowed values
- are from 0 to 3000. Default value is 1000.
+ Sets the delay after wich the pointer will start moving
+ automatically if the hat is keeped pushed. Allowed values are
+ from 0 to 3000. Default value is 1000.
Buttons to Disable
- joystick-buttons-ignore=BUTTON1,BUTTON2,...
+ joystick-buttons-ignore=BUTTON1,BUTTON2,...
- A set of joystick button numbers, as seen by SDL, that
- should be ignored. Otherwise, unless they are used by one of
- the "joystick-btn-" options above, buttons will be seen as a
- mouse left-click.
+ A set of joystick button numbers, as seen by SDL, that should be
+ ignored. Otherwise, unless they are used by one of the
+ "joystick-btn-" options above, buttons will be seen as a mouse
+ left-click.
Button Shortcuts
- joystick-btn-escape=BUTTON NUMBER
+ joystick-btn-escape=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be used to generate a escape event. Useful to dismiss
- dialogs and quit.
+ Selects the joystick button number, as seen by SDL, that will be
+ used to generate a escape event. Useful to dismiss dialogs and
+ quit.
- joystick-btn-brush=BUTTON NUMBER
+ joystick-btn-brush=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select the brush tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select the brush tool.
- joystick-btn-stamp=BUTTON NUMBER
+ joystick-btn-stamp=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select the stamp tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select the stamp tool.
- joystick-btn-lines=BUTTON NUMBER
+ joystick-btn-lines=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select the lines tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select the lines tool.
- joystick-btn-shapes=BUTTON NUMBER
+ joystick-btn-shapes=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select the shapes tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select the shapes tool.
- joystick-btn-text=BUTTON NUMBER
+ joystick-btn-text=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select the text tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select the text tool.
- joystick-btn-label=BUTTON NUMBER
+ joystick-btn-label=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select the label tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select the label tool.
- joystick-btn-magic=BUTTON NUMBER
+ joystick-btn-magic=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select the magic tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select the magic tool.
- joystick-btn-undo=BUTTON NUMBER
+ joystick-btn-undo=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to invoke the undo tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to invoke the undo tool.
- joystick-btn-redo=BUTTON NUMBER
+ joystick-btn-redo=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select redo tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select redo tool.
- joystick-btn-eraser=BUTTON NUMBER
+ joystick-btn-eraser=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to select eraser tool.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to select eraser tool.
- joystick-btn-new=BUTTON NUMBER
+ joystick-btn-new=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to launch the dialog for creating a new
- drawing.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to launch the dialog for creating a new drawing.
- joystick-btn-open=BUTTON NUMBER
+ joystick-btn-open=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to launch the dialog for opening an
- existing drawing.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to launch the dialog for opening an existing drawing.
- joystick-btn-save=BUTTON NUMBER
+ joystick-btn-save=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to save the drawing.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to save the drawing.
- joystick-btn-pgsetup=BUTTON NUMBER
+ joystick-btn-pgsetup=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to launch the page setup dialog for
- printing.
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to launch the page setup dialog for printing.
- joystick-btn-print=BUTTON NUMBER
+ joystick-btn-print=BUTTON NUMBER
- Selects the joystick button number, as seen by SDL, that
- will be a shortcut to print.
-
- ----------------------------------------------------------------------
+ Selects the joystick button number, as seen by SDL, that will be
+ a shortcut to print.
Overriding System Config. Options
@@ -1397,181 +1333,172 @@ Joystick
print=yes
mixedcase=yes
- ----------------------------------------------------------------------
-
Command-Line Options
- Options can also be issued on the command-line when you start Tux Paint.
+ Options may also be issued on the command-line when you go to launch Tux
+ Paint.
- --fullscreen
- --WIDTHxHEIGHT
- --buttonsize=SIZE
- --colorsrows=ROWS
- --orient=portrait
- --native
- --allowscreensaver
- --startblank
- --nosound
- --nostereo
- --noquit
- --noprint
- --printdelay=SECONDS
- --printcfg
- --altprintnever
- --altprintalways
- --papersize=PAPERSIZE
- --printcommand=COMMAND
- --altprintcommand=COMMAND
- --nolockfile
- --simpleshapes
- --uppercase
- --grab
- --noshortcuts
- --nowheelmouse
- --nobuttondistinction
- --nofancycursors
- --hidecursor
- --nooutlines
- --nostamps
- --nostampcontrols
- --nomagiccontrols
- --noshapecontrols
- --nolabel
- --newcolorslast
- --mouse-accessibility
- --onscreen-keyboard
- --onscreen-keyboard-layout
- --onscreen-keyboard-disable-change
- --joystick-dev
- --joystick-slowness
- --joystick-threshold
- --joystick-maxsteps
- --joystick-hat-slowness
- --joystick-hat-timeout
- --joystick-btn-escape
- --joystick-btn-brush
- --joystick-btn-stamp
- --joystick-btn-lines
- --joystick-btn-shapes
- --joystick-btn-text
- --joystick-btn-label
- --joystick-btn-magic
- --joystick-btn-undo
- --joystick-btn-redo
- --joystick-btn-eraser
- --joystick-btn-new
- --joystick-btn-open
- --joystick-btn-save
- --joystick-btn-pgsetup
- --joystick-btn-print
- --joystick-buttons-ignore
- --sysfonts
- --alllocalefonts
- --mirrorstamps
- --stampsize=SIZE
- --keyboard
- --savedir DIRECTORY
- --datadir DIRECTORY
- --exportdir DIRECTORY
- --saveover
- --saveovernew
- --nosave
- --autosave
- --lang LANGUAGE
- --colorfile FILE
+ --fullscreen
+ --WIDTHxHEIGHT
+ --buttonsize=SIZE
+ --colorsrows=ROWS
+ --orient=portrait
+ --native
+ --allowscreensaver
+ --startblank
+ --nosound
+ --nostereo
+ --noquit
+ --noprint
+ --printdelay=SECONDS
+ --printcfg
+ --altprintnever
+ --altprintalways
+ --papersize=PAPERSIZE
+ --printcommand=COMMAND
+ --altprintcommand=COMMAND
+ --nolockfile
+ --simpleshapes
+ --uppercase
+ --grab
+ --noshortcuts
+ --nowheelmouse
+ --nobuttondistinction
+ --nofancycursors
+ --hidecursor
+ --nooutlines
+ --nostamps
+ --nostampcontrols
+ --nomagiccontrols
+ --noshapecontrols
+ --nolabel
+ --newcolorslast
+ --mouse-accessibility
+ --onscreen-keyboard
+ --onscreen-keyboard-layout
+ --onscreen-keyboard-disable-change
+ --joystick-dev
+ --joystick-slowness
+ --joystick-threshold
+ --joystick-maxsteps
+ --joystick-hat-slowness
+ --joystick-hat-timeout
+ --joystick-btn-escape
+ --joystick-btn-brush
+ --joystick-btn-stamp
+ --joystick-btn-lines
+ --joystick-btn-shapes
+ --joystick-btn-text
+ --joystick-btn-label
+ --joystick-btn-magic
+ --joystick-btn-undo
+ --joystick-btn-redo
+ --joystick-btn-eraser
+ --joystick-btn-new
+ --joystick-btn-open
+ --joystick-btn-save
+ --joystick-btn-pgsetup
+ --joystick-btn-print
+ --joystick-buttons-ignore
+ --sysfonts
+ --alllocalefonts
+ --mirrorstamps
+ --stampsize=SIZE
+ --keyboard
+ --savedir DIRECTORY
+ --datadir DIRECTORY
+ --exportdir DIRECTORY
+ --saveover
+ --saveovernew
+ --nosave
+ --autosave
+ --lang LANGUAGE
+ --colorfile FILE
- These enable or correspond to the configuration file options
- described above.
+ These enable or correspond to the configuration file options
+ described above.
- -------------------------------------
+ --windowed
+ --800x600
+ --orient=landscape
+ --disablescreensaver
+ --startlast
+ --sound
+ --stereo
+ --quit
+ --print
+ --printdelay=0
+ --noprintcfg
+ --altprintmod
+ --lockfile
+ --complexshapes
+ --mixedcase
+ --dontgrab
+ --shortcuts
+ --wheelmouse
+ --buttondistinction
+ --fancycursors
+ --showcursor
+ --outlines
+ --stamps
+ --stampcontrols
+ --magiccontrols
+ --shapecontrols
+ --label
+ --newcolorsfirst
+ --nosysfonts
+ --currentlocalefont
+ --dontmirrorstamps
+ --stampsize=default
+ --mouse
+ --saveoverask
+ --save
+ --noautosave
- --windowed
- --800x600
- --orient=landscape
- --disablescreensaver
- --startlast
- --sound
- --stereo
- --quit
- --print
- --printdelay=0
- --noprintcfg
- --altprintmod
- --lockfile
- --complexshapes
- --mixedcase
- --dontgrab
- --shortcuts
- --wheelmouse
- --buttondistinction
- --fancycursors
- --showcursor
- --outlines
- --stamps
- --stampcontrols
- --magiccontrols
- --shapecontrols
- --label
- --newcolorsfirst
- --nosysfonts
- --currentlocalefont
- --dontmirrorstamps
- --stampsize=default
- --mouse
- --saveoverask
- --save
- --noautosave
+ These options can be used to override any settings made in the
+ configuration file. (If the option isn't set in the
+ configuration file(s), no overriding option is necessary.)
- These options can be used to override any settings made in the
- configuration file. (If the option isn't set in the
- configuration file(s), no overriding option is necessary.)
+ --nosysconfig
- -------------------------------------
+ Under Linux and Unix, this prevents the system-wide
+ configuration file, "/etc/tuxpaint/tuxpaint.conf", from being
+ read.
- --nosysconfig
-
- Under Linux and Unix, this prevents the system-wide
- configuration file, "/etc/tuxpaint/tuxpaint.conf", from being
- read.
-
- Only your own configuration file, "~/.tuxpaintrc", if it
- exists, will be used.
-
- ----------------------------------------------------------------------
+ Only your own configuration file, "~/.tuxpaintrc", if it exists,
+ will be used.
Command-Line Informational Options
- The following options display some informative text on the screen. Tux
- Paint doesn't actually start up and run afterwards, however.
+ The following options display some informative text on the screen. Tux
+ Paint doesn't actually start up and run afterwards, however.
- --version
- --verbose-version
+ --version
+ --verbose-version
- Display the version number and date of the copy of Tux Paint
- you are running. The "--verbose-version" also lists what
- compile-time options were set. (See INSTALL and FAQ).
+ Display the version number and date of the copy of Tux Paint you
+ are running. The "--verbose-version" also lists what
+ compile-time options were set. (See INSTALL and FAQ).
- --copying
+ --copying
- Show brief license information about copying Tux Paint.
+ Show brief license information about copying Tux Paint.
- --usage
+ --usage
- Display the list of available command-line options.
+ Display the list of available command-line options.
- --help
+ --help
- Display brief help on using Tux Paint.
+ Display brief help on using Tux Paint.
- --lang help
+ --lang help
- Display a list of available languages in Tux Paint.
+ Display a list of available languages in Tux Paint.
- --joystick-dev list
+ --joystick-dev list
- Display list of attached joysticks available to Tux Paint.
-
- ----------------------------------------------------------------------
+ Display list of attached joysticks available to Tux Paint.
Choosing a Different Language
@@ -1583,402 +1510,393 @@ Command-Line Informational Options
Tux Paint also honors your environment's current locale. (You can
override it on the command-line using the "--locale" option; see above.)
- Use the option "--lang help" to list the available language options
- available.
+ Use the option "--lang help" to list the language options available.
Available Languages
- +--------------------------------------------------------------------+
- | |Language |Language |Input Method |
- |Locale Code |(native name) |(English name) |Cycle Key |
- | | | |Combination |
- |----------------+-------------------+----------------+--------------|
- |C | |English | |
- |----------------+-------------------+----------------+--------------|
- |ach_UG |Acoli |Acholi | |
- |----------------+-------------------+----------------+--------------|
- |af_ZA | |Afrikaans | |
- |----------------+-------------------+----------------+--------------|
- |ak_GH | |Akan | |
- |----------------+-------------------+----------------+--------------|
- |am_ET | |Amharic | |
- |----------------+-------------------+----------------+--------------|
- |an_ES | |Aragones | |
- |----------------+-------------------+----------------+--------------|
- |ar_SA | |Arabic | |
- |----------------+-------------------+----------------+--------------|
- |as_IN | |Assamese | |
- |----------------+-------------------+----------------+--------------|
- |ast_ES | |Asturian | |
- |----------------+-------------------+----------------+--------------|
- |az_AZ | |Azerbaijani | |
- |----------------+-------------------+----------------+--------------|
- |bm_ML | |Bambara | |
- |----------------+-------------------+----------------+--------------|
- |bn_IN | |Bengali | |
- |----------------+-------------------+----------------+--------------|
- |be_BY |Bielaruskaja |Belarusian | |
- |----------------+-------------------+----------------+--------------|
- |bg_BG | |Bulgarian | |
- |----------------+-------------------+----------------+--------------|
- |bo_CN (*) | |Tibetan | |
- |----------------+-------------------+----------------+--------------|
- |br_FR |Brezhoneg |Breton | |
- |----------------+-------------------+----------------+--------------|
- |brx_IN | |Bodo | |
- |----------------+-------------------+----------------+--------------|
- |bs_BA | |Bosnian | |
- |----------------+-------------------+----------------+--------------|
- |ca_ES |Català |Catalan | |
- |----------------+-------------------+----------------+--------------|
- |ca_ES@valencia |Valencia |Valencian | |
- |----------------+-------------------+----------------+--------------|
- |cgg_UG |Chiga |Kiga | |
- |----------------+-------------------+----------------+--------------|
- |cs_CZ |Cesky |Czech | |
- |----------------+-------------------+----------------+--------------|
- |cy_GB |Cymraeg |Welsh | |
- |----------------+-------------------+----------------+--------------|
- |da_DK |Dansk |Danish | |
- |----------------+-------------------+----------------+--------------|
- |de_DE |Deutsch |German | |
- |----------------+-------------------+----------------+--------------|
- |doi_IN | |Dogri | |
- |----------------+-------------------+----------------+--------------|
- |et_EE | |Estonian | |
- |----------------+-------------------+----------------+--------------|
- |el_GR (*) | |Greek | |
- |----------------+-------------------+----------------+--------------|
- |en_AU | |Australian | |
- | | |English | |
- |----------------+-------------------+----------------+--------------|
- |en_CA | |Canadian English| |
- |----------------+-------------------+----------------+--------------|
- |en_GB | |British English | |
- |----------------+-------------------+----------------+--------------|
- |en_ZA | |South African | |
- | | |English | |
- |----------------+-------------------+----------------+--------------|
- |eo | |Esperanto | |
- |----------------+-------------------+----------------+--------------|
- |es_ES |Español |Spanish | |
- |----------------+-------------------+----------------+--------------|
- |es_MX |Español-Mejicano |Mexican Spanish | |
- |----------------+-------------------+----------------+--------------|
- |eu_ES |Euskara |Basque | |
- |----------------+-------------------+----------------+--------------|
- |fa_IR | |Persian | |
- |----------------+-------------------+----------------+--------------|
- |ff_SN |Fulah |Fula | |
- |----------------+-------------------+----------------+--------------|
- |fi_FI |Suomi |Finnish | |
- |----------------+-------------------+----------------+--------------|
- |fo_FO | |Faroese | |
- |----------------+-------------------+----------------+--------------|
- |fr_FR |Français |French | |
- |----------------+-------------------+----------------+--------------|
- |ga_IE |Gàidhlig |Irish Gaelic | |
- |----------------+-------------------+----------------+--------------|
- |gd_GB |Ghaidhlig |Scottish Gaelic | |
- |----------------+-------------------+----------------+--------------|
- |gl_ES |Galego |Galician | |
- |----------------+-------------------+----------------+--------------|
- |gos_NL |Zudelk |Gronings | |
- | |Veenkelonioals | | |
- |----------------+-------------------+----------------+--------------|
- |gu_IN | |Gujarati | |
- |----------------+-------------------+----------------+--------------|
- |he_IL (*) | |Hebrew | |
- |----------------+-------------------+----------------+--------------|
- |hi_IN (*) | |Hindi | |
- |----------------+-------------------+----------------+--------------|
- |hr_HR |Hrvatski |Croatian | |
- |----------------+-------------------+----------------+--------------|
- |hu_HU |Magyar |Hungarian | |
- |----------------+-------------------+----------------+--------------|
- |hy_AM |Hayeren |Armenian | |
- |----------------+-------------------+----------------+--------------|
- |id_ID |Bahasa Indonesia |Indonesian | |
- |----------------+-------------------+----------------+--------------|
- |is_IS |Íslenska |Icelandic | |
- |----------------+-------------------+----------------+--------------|
- |it_IT |Italiano |Italian | |
- |----------------+-------------------+----------------+--------------|
- |iu_CA | |Inuktitut | |
- |----------------+-------------------+----------------+--------------|
- |ja_JP (*) | |Japanese |right [Alt] |
- |----------------+-------------------+----------------+--------------|
- |ka_GE | |Georgian | |
- |----------------+-------------------+----------------+--------------|
- |kab | |Kabyle | |
- |----------------+-------------------+----------------+--------------|
- |km_KH | |Khmer | |
- |----------------+-------------------+----------------+--------------|
- |kn_IN | |Kannada | |
- |----------------+-------------------+----------------+--------------|
- |ko_KR (*) | |Korean |right [Alt] or|
- | | | |left [Alt] |
- |----------------+-------------------+----------------+--------------|
- |kok_IN | |Konkani | |
- | | |(Devanagari) | |
- |----------------+-------------------+----------------+--------------|
- |kok@roman | |Konkani (Roman) | |
- |----------------+-------------------+----------------+--------------|
- |ks_IN@devanagari| |Kashmiri | |
- | | |(Devanagari) | |
- |----------------+-------------------+----------------+--------------|
- |ks_IN | |Kashmiri | |
- | | |(Perso-Arabic) | |
- |----------------+-------------------+----------------+--------------|
- |ku_TR | |Kurdish | |
- |----------------+-------------------+----------------+--------------|
- |lb_LU |Letzebuergesch |Luxembourgish | |
- |----------------+-------------------+----------------+--------------|
- |lg_UG | |Luganda | |
- |----------------+-------------------+----------------+--------------|
- |lt_LT |Lietuviu |Lithuanian | |
- |----------------+-------------------+----------------+--------------|
- |lv_LV | |Latvian | |
- |----------------+-------------------+----------------+--------------|
- |mk_MK | |Macedonian | |
- |----------------+-------------------+----------------+--------------|
- |mai_IN | |Maithili | |
- |----------------+-------------------+----------------+--------------|
- |ml_IN | |Malayalam | |
- |----------------+-------------------+----------------+--------------|
- |mn_MN | |Mongolian | |
- |----------------+-------------------+----------------+--------------|
- |mni_IN | |Manipuri | |
- | | |(Bengali) | |
- |----------------+-------------------+----------------+--------------|
- |mni@meiteimayek | |Manipuri (Meitei| |
- | | |Mayek) | |
- |----------------+-------------------+----------------+--------------|
- |mr_IN | |Marathi | |
- |----------------+-------------------+----------------+--------------|
- |ms_MY | |Malay | |
- |----------------+-------------------+----------------+--------------|
- |nb_NO |Norsk (bokmål) |Norwegian Bokmål| |
- |----------------+-------------------+----------------+--------------|
- |ne_NP |Nepali | | |
- |----------------+-------------------+----------------+--------------|
- |nl_NL | |Dutch | |
- |----------------+-------------------+----------------+--------------|
- |nn_NO |Norsk (nynorsk) |Norwegian | |
- | | |Nynorsk | |
- |----------------+-------------------+----------------+--------------|
- |nr_ZA | |Ndebele | |
- |----------------+-------------------+----------------+--------------|
- |nso_ZA |Sesotho sa Leboa |Northern Sotho | |
- |----------------+-------------------+----------------+--------------|
- |oc_FR | |Occitan | |
- |----------------+-------------------+----------------+--------------|
- |oj_CA | |Ojibwe |Ojibway |
- |----------------+-------------------+----------------+--------------|
- |pa_IN | |Punjabi | |
- |----------------+-------------------+----------------+--------------|
- |or_IN | |Odia |Oriya |
- |----------------+-------------------+----------------+--------------|
- |pl_PL |Polski |Polish | |
- |----------------+-------------------+----------------+--------------|
- |pt_BR |Portugês Brazileiro|Brazilian | |
- | | |Portuguese | |
- |----------------+-------------------+----------------+--------------|
- |pt_PT |Portugês |Portuguese | |
- |----------------+-------------------+----------------+--------------|
- |ro_RO | |Romanian | |
- |----------------+-------------------+----------------+--------------|
- |ru_RU |Russkiy |Russian | |
- |----------------+-------------------+----------------+--------------|
- |rw_RW | |Kinyarwanda | |
- |----------------+-------------------+----------------+--------------|
- |sa_IN | |Sanskrit | |
- |----------------+-------------------+----------------+--------------|
- |sat_IN | |Santali | |
- | | |(Devanagari) | |
- |----------------+-------------------+----------------+--------------|
- |sat@olchiki | |Santali | |
- | | |(Ol-Chikii) | |
- |----------------+-------------------+----------------+--------------|
- |shs_CA |Secwepemctin |Shuswap | |
- |----------------+-------------------+----------------+--------------|
- |si_LK | |Sinhala | |
- |----------------+-------------------+----------------+--------------|
- |sd_IN@devanagari| |Sindhi | |
- | | |(Devanagari) | |
- |----------------+-------------------+----------------+--------------|
- |sd_IN | |Sindhi | |
- |----------------+-------------------+----------------+--------------|
- |sk_SK | |Slovak | |
- |----------------+-------------------+----------------+--------------|
- |sl_SI | |Slovenian | |
- |----------------+-------------------+----------------+--------------|
- |son | |Songhay | |
- |----------------+-------------------+----------------+--------------|
- |sq_AL | |Albanian | |
- |----------------+-------------------+----------------+--------------|
- |sr_YU | |Serbian | |
- | | |(cyrillic) | |
- |----------------+-------------------+----------------+--------------|
- |sr_RS@latin | |Serbian (latin) | |
- |----------------+-------------------+----------------+--------------|
- |su_ID | |Sundanese | |
- |----------------+-------------------+----------------+--------------|
- |sv_SE |Svenska |Swedish | |
- |----------------+-------------------+----------------+--------------|
- |sw_TZ | |Swahili | |
- |----------------+-------------------+----------------+--------------|
- |ta_IN (*) | |Tamil | |
- |----------------+-------------------+----------------+--------------|
- |te_IN (*) | |Telugu | |
- |----------------+-------------------+----------------+--------------|
- |th_TH (*) | |Thai | |
- |----------------+-------------------+----------------+--------------|
- |tl_PH (*) | |Tagalog | |
- |----------------+-------------------+----------------+--------------|
- |tlh |tlhIngan |Klingon | |
- |----------------+-------------------+----------------+--------------|
- |tr_TR | |Turkish | |
- |----------------+-------------------+----------------+--------------|
- |tw_GH | |Twi | |
- |----------------+-------------------+----------------+--------------|
- |uk_UA | |Ukrainian | |
- |----------------+-------------------+----------------+--------------|
- |ur_IN | |Urdu | |
- |----------------+-------------------+----------------+--------------|
- |ve_ZA | |Venda | |
- |----------------+-------------------+----------------+--------------|
- |vec |Venèto |Venetian | |
- |----------------+-------------------+----------------+--------------|
- |vi_VN | |Vietnamese | |
- |----------------+-------------------+----------------+--------------|
- |wa_BE | |Walloon | |
- |----------------+-------------------+----------------+--------------|
- |wo_SN | |Wolof | |
- |----------------+-------------------+----------------+--------------|
- |xh_ZA | |Xhosa | |
- |----------------+-------------------+----------------+--------------|
- |zh_CN (*) | |Chinese | |
- | | |(Simplified) | |
- |----------------+-------------------+----------------+--------------|
- |zh_TW (*) | |Chinese | |
- | | |(Traditional) | |
- |----------------+-------------------+----------------+--------------|
- |zam | |Zapotec | |
- | | |(Miahuatlan) | |
- |----------------+-------------------+----------------+--------------|
- |zu_ZA | |Zulu | |
- +--------------------------------------------------------------------+
+ +----------------------------------------------------------------------+
+ | |Language |Language |Input Method |
+ |Locale Code |(native name) |(English name) |Cycle Key |
+ | | | |Combination |
+ |----------------+-------------------+-----------------+---------------|
+ |C | |English | |
+ |----------------+-------------------+-----------------+---------------|
+ |ach_UG |Acoli |Acholi | |
+ |----------------+-------------------+-----------------+---------------|
+ |af_ZA | |Afrikaans | |
+ |----------------+-------------------+-----------------+---------------|
+ |ak_GH | |Akan | |
+ |----------------+-------------------+-----------------+---------------|
+ |am_ET | |Amharic | |
+ |----------------+-------------------+-----------------+---------------|
+ |an_ES | |Aragones | |
+ |----------------+-------------------+-----------------+---------------|
+ |ar_SA | |Arabic | |
+ |----------------+-------------------+-----------------+---------------|
+ |as_IN | |Assamese | |
+ |----------------+-------------------+-----------------+---------------|
+ |ast_ES | |Asturian | |
+ |----------------+-------------------+-----------------+---------------|
+ |az_AZ | |Azerbaijani | |
+ |----------------+-------------------+-----------------+---------------|
+ |bm_ML | |Bambara | |
+ |----------------+-------------------+-----------------+---------------|
+ |bn_IN | |Bengali | |
+ |----------------+-------------------+-----------------+---------------|
+ |be_BY |Bielaruskaja |Belarusian | |
+ |----------------+-------------------+-----------------+---------------|
+ |bg_BG | |Bulgarian | |
+ |----------------+-------------------+-----------------+---------------|
+ |bo_CN (*) | |Tibetan | |
+ |----------------+-------------------+-----------------+---------------|
+ |br_FR |Brezhoneg |Breton | |
+ |----------------+-------------------+-----------------+---------------|
+ |brx_IN | |Bodo | |
+ |----------------+-------------------+-----------------+---------------|
+ |bs_BA | |Bosnian | |
+ |----------------+-------------------+-----------------+---------------|
+ |ca_ES |Català |Catalan | |
+ |----------------+-------------------+-----------------+---------------|
+ |ca_ES@valencia |Valencia |Valencian | |
+ |----------------+-------------------+-----------------+---------------|
+ |cgg_UG |Chiga |Kiga | |
+ |----------------+-------------------+-----------------+---------------|
+ |cs_CZ |Cesky |Czech | |
+ |----------------+-------------------+-----------------+---------------|
+ |cy_GB |Cymraeg |Welsh | |
+ |----------------+-------------------+-----------------+---------------|
+ |da_DK |Dansk |Danish | |
+ |----------------+-------------------+-----------------+---------------|
+ |de_DE |Deutsch |German | |
+ |----------------+-------------------+-----------------+---------------|
+ |doi_IN | |Dogri | |
+ |----------------+-------------------+-----------------+---------------|
+ |et_EE | |Estonian | |
+ |----------------+-------------------+-----------------+---------------|
+ |el_GR (*) | |Greek | |
+ |----------------+-------------------+-----------------+---------------|
+ |en_AU | |Australian | |
+ | | |English | |
+ |----------------+-------------------+-----------------+---------------|
+ |en_CA | |Canadian English | |
+ |----------------+-------------------+-----------------+---------------|
+ |en_GB | |British English | |
+ |----------------+-------------------+-----------------+---------------|
+ |en_ZA | |South African | |
+ | | |English | |
+ |----------------+-------------------+-----------------+---------------|
+ |eo | |Esperanto | |
+ |----------------+-------------------+-----------------+---------------|
+ |es_ES |Español |Spanish | |
+ |----------------+-------------------+-----------------+---------------|
+ |es_MX |Español-Mejicano |Mexican Spanish | |
+ |----------------+-------------------+-----------------+---------------|
+ |eu_ES |Euskara |Basque | |
+ |----------------+-------------------+-----------------+---------------|
+ |fa_IR | |Persian | |
+ |----------------+-------------------+-----------------+---------------|
+ |ff_SN |Fulah |Fula | |
+ |----------------+-------------------+-----------------+---------------|
+ |fi_FI |Suomi |Finnish | |
+ |----------------+-------------------+-----------------+---------------|
+ |fo_FO | |Faroese | |
+ |----------------+-------------------+-----------------+---------------|
+ |fr_FR |Français |French | |
+ |----------------+-------------------+-----------------+---------------|
+ |ga_IE |Gàidhlig |Irish Gaelic | |
+ |----------------+-------------------+-----------------+---------------|
+ |gd_GB |Ghaidhlig |Scottish Gaelic | |
+ |----------------+-------------------+-----------------+---------------|
+ |gl_ES |Galego |Galician | |
+ |----------------+-------------------+-----------------+---------------|
+ |gos_NL |Zudelk |Gronings | |
+ | |Veenkelonioals | | |
+ |----------------+-------------------+-----------------+---------------|
+ |gu_IN | |Gujarati | |
+ |----------------+-------------------+-----------------+---------------|
+ |he_IL (*) | |Hebrew | |
+ |----------------+-------------------+-----------------+---------------|
+ |hi_IN (*) | |Hindi | |
+ |----------------+-------------------+-----------------+---------------|
+ |hr_HR |Hrvatski |Croatian | |
+ |----------------+-------------------+-----------------+---------------|
+ |hu_HU |Magyar |Hungarian | |
+ |----------------+-------------------+-----------------+---------------|
+ |hy_AM |Hayeren |Armenian | |
+ |----------------+-------------------+-----------------+---------------|
+ |id_ID |Bahasa Indonesia |Indonesian | |
+ |----------------+-------------------+-----------------+---------------|
+ |is_IS |Íslenska |Icelandic | |
+ |----------------+-------------------+-----------------+---------------|
+ |it_IT |Italiano |Italian | |
+ |----------------+-------------------+-----------------+---------------|
+ |iu_CA | |Inuktitut | |
+ |----------------+-------------------+-----------------+---------------|
+ |ja_JP (*) | |Japanese |right [Alt] |
+ |----------------+-------------------+-----------------+---------------|
+ |ka_GE | |Georgian | |
+ |----------------+-------------------+-----------------+---------------|
+ |kab | |Kabyle | |
+ |----------------+-------------------+-----------------+---------------|
+ |km_KH | |Khmer | |
+ |----------------+-------------------+-----------------+---------------|
+ |kn_IN | |Kannada | |
+ |----------------+-------------------+-----------------+---------------|
+ |ko_KR (*) | |Korean |right [Alt] or |
+ | | | |left [Alt] |
+ |----------------+-------------------+-----------------+---------------|
+ |kok_IN | |Konkani | |
+ | | |(Devanagari) | |
+ |----------------+-------------------+-----------------+---------------|
+ |kok@roman | |Konkani (Roman) | |
+ |----------------+-------------------+-----------------+---------------|
+ |ks_IN@devanagari| |Kashmiri | |
+ | | |(Devanagari) | |
+ |----------------+-------------------+-----------------+---------------|
+ |ks_IN | |Kashmiri | |
+ | | |(Perso-Arabic) | |
+ |----------------+-------------------+-----------------+---------------|
+ |ku_TR | |Kurdish | |
+ |----------------+-------------------+-----------------+---------------|
+ |lb_LU |Letzebuergesch |Luxembourgish | |
+ |----------------+-------------------+-----------------+---------------|
+ |lg_UG | |Luganda | |
+ |----------------+-------------------+-----------------+---------------|
+ |lt_LT |Lietuviu |Lithuanian | |
+ |----------------+-------------------+-----------------+---------------|
+ |lv_LV | |Latvian | |
+ |----------------+-------------------+-----------------+---------------|
+ |mk_MK | |Macedonian | |
+ |----------------+-------------------+-----------------+---------------|
+ |mai_IN | |Maithili | |
+ |----------------+-------------------+-----------------+---------------|
+ |ml_IN | |Malayalam | |
+ |----------------+-------------------+-----------------+---------------|
+ |mn_MN | |Mongolian | |
+ |----------------+-------------------+-----------------+---------------|
+ |mni_IN | |Manipuri | |
+ | | |(Bengali) | |
+ |----------------+-------------------+-----------------+---------------|
+ |mni@meiteimayek | |Manipuri (Meitei | |
+ | | |Mayek) | |
+ |----------------+-------------------+-----------------+---------------|
+ |mr_IN | |Marathi | |
+ |----------------+-------------------+-----------------+---------------|
+ |ms_MY | |Malay | |
+ |----------------+-------------------+-----------------+---------------|
+ |nb_NO |Norsk (bokmål) |Norwegian Bokmål | |
+ |----------------+-------------------+-----------------+---------------|
+ |ne_NP |Nepali | | |
+ |----------------+-------------------+-----------------+---------------|
+ |nl_NL | |Dutch | |
+ |----------------+-------------------+-----------------+---------------|
+ |nn_NO |Norsk (nynorsk) |Norwegian Nynorsk| |
+ |----------------+-------------------+-----------------+---------------|
+ |nr_ZA | |Ndebele | |
+ |----------------+-------------------+-----------------+---------------|
+ |nso_ZA |Sesotho sa Leboa |Northern Sotho | |
+ |----------------+-------------------+-----------------+---------------|
+ |oc_FR | |Occitan | |
+ |----------------+-------------------+-----------------+---------------|
+ |oj_CA |Ojibwe |Ojibway | |
+ |----------------+-------------------+-----------------+---------------|
+ |pa_IN | |Punjabi | |
+ |----------------+-------------------+-----------------+---------------|
+ |or_IN |Odia |Oriya | |
+ |----------------+-------------------+-----------------+---------------|
+ |pl_PL |Polski |Polish | |
+ |----------------+-------------------+-----------------+---------------|
+ |pt_BR |Portugês Brazileiro|Brazilian | |
+ | | |Portuguese | |
+ |----------------+-------------------+-----------------+---------------|
+ |pt_PT |Portugês |Portuguese | |
+ |----------------+-------------------+-----------------+---------------|
+ |ro_RO | |Romanian | |
+ |----------------+-------------------+-----------------+---------------|
+ |ru_RU |Russkiy |Russian | |
+ |----------------+-------------------+-----------------+---------------|
+ |rw_RW | |Kinyarwanda | |
+ |----------------+-------------------+-----------------+---------------|
+ |sa_IN | |Sanskrit | |
+ |----------------+-------------------+-----------------+---------------|
+ |sat_IN | |Santali | |
+ | | |(Devanagari) | |
+ |----------------+-------------------+-----------------+---------------|
+ |sat@olchiki | |Santali | |
+ | | |(Ol-Chikii) | |
+ |----------------+-------------------+-----------------+---------------|
+ |shs_CA |Secwepemctin |Shuswap | |
+ |----------------+-------------------+-----------------+---------------|
+ |si_LK | |Sinhala | |
+ |----------------+-------------------+-----------------+---------------|
+ |sd_IN@devanagari| |Sindhi | |
+ | | |(Devanagari) | |
+ |----------------+-------------------+-----------------+---------------|
+ |sd_IN | |Sindhi | |
+ |----------------+-------------------+-----------------+---------------|
+ |sk_SK | |Slovak | |
+ |----------------+-------------------+-----------------+---------------|
+ |sl_SI | |Slovenian | |
+ |----------------+-------------------+-----------------+---------------|
+ |son | |Songhay | |
+ |----------------+-------------------+-----------------+---------------|
+ |sq_AL | |Albanian | |
+ |----------------+-------------------+-----------------+---------------|
+ |sr_YU | |Serbian | |
+ | | |(cyrillic) | |
+ |----------------+-------------------+-----------------+---------------|
+ |sr_RS@latin | |Serbian (latin) | |
+ |----------------+-------------------+-----------------+---------------|
+ |su_ID | |Sundanese | |
+ |----------------+-------------------+-----------------+---------------|
+ |sv_SE |Svenska |Swedish | |
+ |----------------+-------------------+-----------------+---------------|
+ |sw_TZ | |Swahili | |
+ |----------------+-------------------+-----------------+---------------|
+ |ta_IN (*) | |Tamil | |
+ |----------------+-------------------+-----------------+---------------|
+ |te_IN (*) | |Telugu | |
+ |----------------+-------------------+-----------------+---------------|
+ |th_TH (*) | |Thai | |
+ |----------------+-------------------+-----------------+---------------|
+ |tl_PH (*) | |Tagalog | |
+ |----------------+-------------------+-----------------+---------------|
+ |tlh |tlhIngan |Klingon | |
+ |----------------+-------------------+-----------------+---------------|
+ |tr_TR | |Turkish | |
+ |----------------+-------------------+-----------------+---------------|
+ |tw_GH | |Twi | |
+ |----------------+-------------------+-----------------+---------------|
+ |uk_UA | |Ukrainian | |
+ |----------------+-------------------+-----------------+---------------|
+ |ur_IN | |Urdu | |
+ |----------------+-------------------+-----------------+---------------|
+ |ve_ZA | |Venda | |
+ |----------------+-------------------+-----------------+---------------|
+ |vec |Venèto |Venetian | |
+ |----------------+-------------------+-----------------+---------------|
+ |vi_VN | |Vietnamese | |
+ |----------------+-------------------+-----------------+---------------|
+ |wa_BE | |Walloon | |
+ |----------------+-------------------+-----------------+---------------|
+ |wo_SN | |Wolof | |
+ |----------------+-------------------+-----------------+---------------|
+ |xh_ZA | |Xhosa | |
+ |----------------+-------------------+-----------------+---------------|
+ |zh_CN (*) | |Chinese | |
+ | | |(Simplified) | |
+ |----------------+-------------------+-----------------+---------------|
+ |zh_TW (*) | |Chinese | |
+ | | |(Traditional) | |
+ |----------------+-------------------+-----------------+---------------|
+ |zam | |Zapotec | |
+ | | |(Miahuatlan) | |
+ |----------------+-------------------+-----------------+---------------|
+ |zu_ZA | |Zulu | |
+ +----------------------------------------------------------------------+
- (*) - These languages require their own fonts, since they are not
- represented using a Latin character set, like the others. See the
- "Special Fonts" section, below.
+ (*) - These languages require their own fonts, since they are not
+ represented using a Latin character set, like the others. See the
+ "Special Fonts" section, below.
- Note: Tux Paint provides an alternative input method for entering
- characters with the Text tool in some locales. The key comibation(s)
- listed can be used to cycle through the supported input methods while
- the Text tool is active.
+ 💡 Note: Tux Paint provides an alternative input method for entering
+ characters with the Text tool in some locales. The key comibation(s)
+ listed can be used to cycle through the supported input methods while
+ the Text tool is active.
Setting Your Environment's Locale
- Changing your locale will affect much of your environment.
+ Changing your locale will affect much of your environment.
- As stated above, along with letting you choose the language at runtime
- using command-line options ("--lang" and "--locale"), Tux Paint honors
- the global locale setting in your environment.
+ As stated above, along with letting you choose the language at runtime
+ using command-line options ("--lang" and "--locale"), Tux Paint honors
+ the global locale setting in your environment.
- If you haven't already set your environment's locale, the following
- will briefly explain how:
+ If you haven't already set your environment's locale, the following will
+ briefly explain how:
Linux/Unix Users
- First, be sure the locale you want to use is enabled by editing the
- file "/etc/locale.gen" on your system and then running the program
- "locale-gen" as root.
+ First, be sure the locale you want to use is enabled by editing the file
+ "/etc/locale.gen" on your system and then running the program
+ "locale-gen" as root.
- Note: Debian users may be able to simply run the command
- "dpkg-reconfigure locales" as root to bring up a configuration
- dialog. Ubuntu users may be able to run "sudo dpkg-reconfigure
- localeconf" (the "localeconf" package may need to be installed
- first), or you may need to edit the file
- "/var/lib/locales/supported.d/local" first, and add locales they
- want, from the list found in "/usr/share/i18n/SUPPORTED".
+ 💡 Note: Debian users may be able to simply run the command
+ "dpkg-reconfigure locales" as root to bring up a configuration dialog.
+ Ubuntu users may be able to run "sudo dpkg-reconfigure localeconf" (the
+ "localeconf" package may need to be installed first), or you may need to
+ edit the file "/var/lib/locales/supported.d/local" first, and add
+ locales they want, from the list found in "/usr/share/i18n/SUPPORTED".
- Then, before running Tux Paint, set your "$LANG" environment
- variable to one of the locales listed above. (If you want all
- programs that can be translated to be, you may wish to place the
- following in your login script; e.g. "~/.profile", "~/.bashrc",
- "~/.cshrc", etc.)
+ Then, before running Tux Paint, set your "$LANG" environment variable to
+ one of the locales listed above. (If you want all programs that can be
+ translated to be, you may wish to place the following in your login
+ script; e.g. "~/.profile", "~/.bashrc", "~/.cshrc", etc.)
- For example, in a Bourne Shell (like BASH):
+ For example, in a Bourne Shell (like BASH):
- export LANG=es_ES ; \
- tuxpaint
+ export LANG=es_ES ; \
+ tuxpaint
- And in a C Shell (like TCSH):
+ And in a C Shell (like TCSH):
- setenv LANG es_ES ; \
- tuxpaint
-
- ----------------------------------------------------------------------
+ setenv LANG es_ES ; \
+ tuxpaint
Windows Users
- Tux Paint will recognize the current locale and use the appropriate
- files by default. So this section is only for people trying
- different languages.
+ Tux Paint will recognize the current locale and use the appropriate
+ files by default. So this section is only for people trying different
+ languages.
- The simplest thing to do is to use the "--lang" switch in the
- shortcut (see "INSTALL"). However, by using an MSDOS Prompt window,
- it is also possible to issue a command like this:
+ The simplest thing to do is to use the "--lang" switch in the shortcut
+ (see "INSTALL"). However, by using an MSDOS Prompt window, it is also
+ possible to issue a command like this:
- set LANG=es_ES
+ set LANG=es_ES
- ...which will set the language for the lifetime of that DOS window.
+ ...which will set the language for the lifetime of that DOS window.
- For something more permanent, you can set an 'environment variable'
- using the "System properties" dialogue as follows:
+ For something more permanent, you can set an 'environment variable'
+ using the "System properties" dialogue as follows:
- * Press the "[Windows]+[R]" key combination to open the "Run ..."
- dialogue.
- * Enter "sysdm.cpl" in the text box and click the "[OK]" button to
- open the "System properties" dialogue.
- * Select the "Advanced" tab.
- * Click the "Environment Variables..." button.
- * Edit the value of the parameter "LANG" (create it, if it doesn't
- exists).
+ * Press the "[Windows]+[R]" key combination to open the "Run ..."
+ dialogue.
+ * Enter "sysdm.cpl" in the text box and click the "[OK]" button to
+ open the "System properties" dialogue.
+ * Select the "Advanced" tab.
+ * Click the "Environment Variables..." button.
+ * Edit the value of the parameter "LANG" (create it, if it doesn't
+ exists).
Special Fonts
- Some languages require special fonts be installed. These font files
- (which are in TrueType format (TTF)), are much too large to include
- with the Tux Paint download, and are available separately. (See the
- table above, under the "Choosing a Different Language" section.)
+ Some languages require special fonts be installed. These font files
+ (which are in TrueType format (TTF)), are much too large to include with
+ the Tux Paint download, and are available separately. (See the table
+ above, under the "Choosing a Different Language" section.)
- Note: As of version 0.9.18, Tux Paint uses the "SDL_Pango" library,
- which utilizes the "Pango" library to render text in the user
- interface, rather than using "SDL_ttf" directly. Unless your copy of
- Tux Paint was built without Pango support, special fonts should no
- longer be necessary.
+ 📜 Note: As of version 0.9.18, Tux Paint uses the "SDL_Pango" library,
+ which utilizes the "Pango" library to render text in the user interface,
+ rather than using "SDL_ttf" directly. Unless your copy of Tux Paint was
+ built without Pango support, special fonts should no longer be
+ necessary.
- When running Tux Paint in a language that requires its own font, Tux
- Paint will try to load the font file from its system-wide "fonts"
- directory (under a "locale" subdirectory). The name of the file
- corresponds to the first two letters in the 'locale' code of the
- language (e.g., "ko" for Korean, "ja" for Japanese, "zh_tw" for
- Traditional Chinese).
+ When running Tux Paint in a language that requires its own font, Tux
+ Paint will try to load the font file from its system-wide "fonts"
+ directory (under a "locale" subdirectory). The name of the file
+ corresponds to the first two letters in the 'locale' code of the
+ language (e.g., "ko" for Korean, "ja" for Japanese, "zh_tw" for
+ Traditional Chinese).
- For example, under Linux or Unix, when Tux Paint is run in Korean
- (e.g., with the option "--lang korean"), Tux Paint will attempt to
- load the following font file:
+ For example, under Linux or Unix, when Tux Paint is run in Korean (e.g.,
+ with the option "--lang korean"), Tux Paint will attempt to load the
+ following font file:
- /usr/share/tuxpaint/fonts/locale/ko.ttf
+ /usr/share/tuxpaint/fonts/locale/ko.ttf
- You can download fonts for supported languages from Tux Paint's
- website, https://tuxpaint.org/. (Look in the 'Fonts' section under
- 'Download.')
+ You can download fonts for supported languages from Tux Paint's website,
+ https://tuxpaint.org/. (Look in the 'Fonts' section under 'Download.')
- Under Unix and Linux, you can use the Makefile that comes with the
- font to install the font in the appropriate location.
-
- ----------------------------------------------------------------------
+ Under Unix and Linux, you can use the Makefile that comes with the font
+ to install the font in the appropriate location.
diff --git a/docs/en/PNG.txt b/docs/en/PNG.txt
index cce08d679..75986e45c 100644
--- a/docs/en/PNG.txt
+++ b/docs/en/PNG.txt
@@ -5,11 +5,9 @@
Copyright © 2007-2022 by various contributors; see AUTHORS.txt.
https://tuxpaint.org/
- January 20, 2022
+ March 31, 2022
- ----------------------------------------------------------------------
-
-About PNGs
+ About PNGs
PNG is the Portable Network Graphic format. It is an open standard, not
burdened by patents (like GIFs). It is a highly compressed format (though
@@ -33,50 +31,58 @@ How To Make PNGs
The following is a very brief list of ways to create PNGs or convert
existing images into PNGs.
- GIMP & Krita
+ GIMP & Krita
- Excellent tools with which to create PNG images for use in Tux Paint are
- GIMP and Krita, both high-quality Open Source interactive drawing and
- photo editing programs.
+ Excellent tools with which to create PNG images for use in Tux
+ Paint are GIMP and Krita, both high-quality Open Source
+ interactive drawing and photo editing programs.
- It is likely that one or both are already installed on your system. If
- not, they should be readily available from your Linux distribution's
- software repository. If not, or to learn more, visit http://www.gimp.org/
- and http://www.krita.org/, respectively.
+ It is likely that one or both are already installed on your
+ system. If not, they should be readily available from your Linux
+ distribution's software repository. If not, or to learn more,
+ visit http://www.gimp.org/ and http://www.krita.org/,
+ respectively.
- Command-line Tools
+ Command-line Tools
- NetPBM
+ NetPBM
- The Portable Bitmap tools (collectively known as "NetPBM") is a collection
- of Open Source command-line tools which convert to and from various
- formats, including GIF, TIFF, BMP, PNG, and many more.
+ The Portable Bitmap tools (collectively known as
+ "NetPBM") is a collection of Open Source command-line
+ tools which convert to and from various formats,
+ including GIF, TIFF, BMP, PNG, and many more.
- It is possible that it's already installed on your system. If not, they it
- be readily available from your Linux distribution's software repository.
- If not, or to learn more, visit http://netpbm.sourceforge.net/.
+ It is possible that it's already installed on your
+ system. If not, they it be readily available from
+ your Linux distribution's software repository. If
+ not, or to learn more, visit
+ http://netpbm.sourceforge.net/.
- cjpeg/djpeg
+ cjpeg/djpeg
- The "cjpeg" and "djpeg" command-line programs convert between the NetPBM
- Portable Any Map (PNM) format and JPEGs. It is possible that it's already
- installed on your system. If not, they it be readily available from your
- Linux distribution's software repository. If not, or to learn more, visit
- https://jpegclub.org/.
+ The "cjpeg" and "djpeg" command-line programs convert
+ between the NetPBM Portable Any Map (PNM) format and
+ JPEGs. It is possible that it's already installed on
+ your system. If not, they it be readily available
+ from your Linux distribution's software repository.
+ If not, or to learn more, visit
+ https://jpegclub.org/.
- Windows Users
+ Proprietary Software for Windows
+ * CorelDRAW (Corel) — http://www.corel.com/
+ * Illustrator (Adobe) —
+ http://www.adobe.com/products/illustrator.html
+ * Paint Shop Pro (Corel) — https://www.paintshoppro.com/
+ * Photoshop (Adobe) —
+ http://www.adobe.com/products/photoshop.html
+ * PIXresizer (Bluefive software) —
+ http://bluefive.pair.com/pixresizer.htm
- * CorelDRAW (Corel) — http://www.corel.com/
- * Illustrator (Adobe) — http://www.adobe.com/products/illustrator.html
- * Paint Shop Pro (Corel) — https://www.paintshoppro.com/
- * Photoshop (Adobe) — http://www.adobe.com/products/photoshop.html
- * PIXresizer (Bluefive software) —
- http://bluefive.pair.com/pixresizer.htm
-
- Macintosh Users
-
- * CorelDRAW (Corel) — http://www.corel.com/
- * GraphicConverter (Lemke Software) —
- https://www.lemkesoft.de/mac-fotobearbeitung-mac-diashow-mac-grafikprogramm-mac-bildbetrachter/
- * Illustrator (Adobe) — http://www.adobe.com/products/illustrator.html
- * Photoshop (Adobe) — http://www.adobe.com/products/photoshop.html
+ Macintosh Users
+ * CorelDRAW (Corel) — http://www.corel.com/
+ * GraphicConverter (Lemke Software) —
+ https://www.lemkesoft.de/mac-fotobearbeitung-mac-diashow-mac-grafikprogramm-mac-bildbetrachter/
+ * Illustrator (Adobe) —
+ http://www.adobe.com/products/illustrator.html
+ * Photoshop (Adobe) —
+ http://www.adobe.com/products/photoshop.html
diff --git a/docs/en/README.txt b/docs/en/README.txt
index 8946ba7e9..dc0f40de9 100644
--- a/docs/en/README.txt
+++ b/docs/en/README.txt
@@ -6,8 +6,9 @@
Copyright © 2002-2022 by various contributors; see AUTHORS.txt.
https://tuxpaint.org/
@TuxPaintTweets on Twitter
+ Tux Paint on Tumblr
- March 1, 2022
+ March 18, 2022
+----------------------------------------------------+
|Table of Contents |
@@ -1089,3 +1090,4 @@ Importing Pictures Manually
* "Microsoft" and "Windows" are registered trademarks of Microsoft Corp.
* "Apple" and "macOS" are registered trademarks of Apple Inc.
* "Twitter" is a registered trademark of Twitter, Inc.
+ * "Tumblr" is a registered trademark of Tumblr, Inc.
diff --git a/docs/en/SIGNALS.txt b/docs/en/SIGNALS.txt
index a03580a1c..da57044bd 100644
--- a/docs/en/SIGNALS.txt
+++ b/docs/en/SIGNALS.txt
@@ -5,9 +5,7 @@
Copyright © 2019-2022 by various contributors; see AUTHORS.txt.
https://tuxpaint.org/
- January 20, 2022
-
- ----------------------------------------------------------------------
+ March 31, 2022
Tux Paint responds to the following signals (which can be sent to the
program's process via `kill` or `killall`, for example).
@@ -27,13 +25,13 @@
respectively), whether or not to overwrite the existing drawing,
or save to a new file.
- Note: From other parts of the interface, the signal is currently
+ Example: killall tuxpaint
+
+ 💡 Note: From other parts of the interface, the signal is currently
interpreted as a request to go back (e.g., from the "New" dialog
back to the main interface), as if a "Back" button in Tux Paint
were clicked, or the [Esc] was key pressed.
- Example: killall tuxpaint
-
SIGUSR1 & SIGUSR2
Tux Paint responds by setting its auto-save option (as if it had
@@ -47,9 +45,9 @@
So, from the main interface, Tux Paint should quit almost
immediately, with no questions asked.
- Note: From other parts of the interface, unfortunately, Tux Paint
- will go back one level in the interface. Therefore, at this time,
- it may be necessary to send this signal to Tux Paint a few times,
- for it to quit completely.
-
Example: killall -s SIGUSR1 tuxpaint
+
+ 💡 Note: From other parts of the interface, unfortunately, Tux
+ Paint will go back one level in the interface. Therefore, at this
+ time, it may be necessary to send this signal to Tux Paint a few
+ times, for it to quit completely.
diff --git a/docs/en/SVG.txt b/docs/en/SVG.txt
index 37c8347f8..37dc200ac 100644
--- a/docs/en/SVG.txt
+++ b/docs/en/SVG.txt
@@ -7,9 +7,7 @@
January 20, 2022
- ----------------------------------------------------------------------
-
-About SVGs
+ About SVGs
SVG (Scalable Vector Graphics) is an open standard used to describe
two-dimensional vector graphics. It is great for diagrams and shapes,
@@ -19,16 +17,20 @@ About SVGs
For more information, visit: https://www.w3.org/Graphics/SVG/
-How to make SVGs
+ How to make SVGs
An excellent tool with which to create SVG images for use in Tux Paint is
- Inkscape, a high-quality Open Source interactive drawing program.
+ Inkscape, a high-quality Open Source interactive drawing program available
+ for Windows, macOS, and Linux. There are also other applications that can
+ produce SVGs, both free/open source, and commerical/proprietary.
- It is likely that is already installed on your system. If not, it should
- be readily available from your Linux distribution's software repository.
- If not, or to learn more, visit http://www.inkscape.org/, respectively.
+ Open Source
+ * Inkscape — http://www.inkscape.org/
+ * Karbon — https://calligra.org/karbon/
-Mac and Windows users
-
- * CorelDRAW (Corel) — http://www.corel.com/
- * Illustrator (Adobe) — http://www.adobe.com/products/illustrator.html
+ Proprietary
+ * CorelDRAW (Corel) — https://www.coreldraw.com/en/
+ * Illustrator (Adobe) —
+ http://www.adobe.com/products/illustrator.html
+ * Boxy SVG — https://boxy-svg.com/
+ * Sketch (Sketch B.V.) — https://boxy-svg.com/
diff --git a/docs/en/html/EXTENDING.html b/docs/en/html/EXTENDING.html
index 68f3f7443..62a88d281 100644
--- a/docs/en/html/EXTENDING.html
+++ b/docs/en/html/EXTENDING.html
@@ -5,297 +5,272 @@
Extending Tux Paint
+
-
-
- Extending
- 
- version 0.9.28
+
+
+
+
+
+
+ |
+ Table of Contents |
+
+
+ |
+
+ |
+
+
+
+
+
- Copyright © 2002-2022 by various contributors; see AUTHORS.txt.
- https://tuxpaint.org/
-
+ If you wish to add or change things like Brushes, Starters, Rubber Stamps, and other content used by Tux Paint, you can do so fairly easily by simply adding, changing, or removing files where Tux Paint looks for them.
+
+
+ 💡 Note: You'll need to re-launch Tux Paint for the changes to take effect.
+
-
- January 20, 2022
-
+
+
-
+
+
-
-
- |
- Table of Contents |
-
-
-
- |
-
- |
-
-
-
-
-
-
- If you wish to add or change things like Brushes, Starters, Rubber Stamps, and other content used by Tux Paint, you can do so fairly easily by simply adding, changing, or removing files where Tux Paint looks for them.
-
-
- Note: You'll need to re-launch Tux Paint for the changes to take effect.
-
-
-
-
-
-
-
-
-
Tux Paint looks for its various data files in its 'data' directory.
-
- Linux and Unix
+
+ - Linux and Unix
+ -
+
+ Where this directory goes depends on what value was set for "DATA_PREFIX" when Tux Paint was built. See 'Install documentation' for details.
+
+ By default, though, the directory is:
+ /usr/local/share/tuxpaint/
+
+
+
+ If you installed from a package, it is more likely to be:
+ /usr/share/tuxpaint/
+
+
+
-
-
- Where this directory goes depends on what value was set for "DATA_PREFIX" when Tux Paint was built. See 'Install documentation' for details.
+ - Windows
+ -
+
+ 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.:
+ C:\Program Files\TuxPaint\data
+
+
+
-
- By default, though, the directory is:
+ - macOS
+ -
+
+ Tux Paint stores its data files inside the "Tux Paint" application icon (which is actually a special kind of folder on macOS & Mac OS X before it). The following steps explain how to get to the folders within it:
+
+ -
+ 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.)
+ -
+ Select "Show Contents" from the menu that appears. A new Finder window will appear with a folder inside called "Contents".
+ -
+ Open the "Contents" folder and open the "Resources" folder found inside.
+ -
+ There, you will find various sub-folders, such as "starters", "stamps", "brushes", etc. Adding new content to these folders will make the content available to any user that launches this copy (icon) of Tux Paint.
+
+
+ 💡 Note: 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.).
+
+ 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 filesystem):
+ /Library/Application Support/TuxPaint/
+
+
+
+ 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.
+
+
+
-
- /usr/local/share/tuxpaint/
-
+
+
-
- If you installed from a package, it is more likely to be:
-
-
- /usr/share/tuxpaint/
-
-
-
-
- Windows
-
-
-
-
- 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.:
-
-
- C:\Program Files\TuxPaint\data
-
-
-
-
- macOS
-
-
-
-
- Tux Paint stores its data files inside the "Tux Paint" application icon (which is actually a special kind of folder on macOS & Mac OS X before it). The following steps explain how to get to the folders within it:
-
-
- - 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.)
-
- - Select "Show Contents" from the menu that appears. A new Finder window will appear with a folder inside called "Contents".
-
- - Open the "Contents" folder and open the "Resources" folder found inside.
-
- - There, you will find various sub-folders, such as "starters", "stamps", "brushes", etc. Adding new content to these folders will make the content available to any user that launches this copy (icon) of Tux Paint.
-
-
-
- Note: 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.).
-
-
- 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 filesystem):
-
-
- /Library/Application Support/TuxPaint/
-
-
-
- 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.
-
-
-
-
-
-
-
-
You can also create brushes, stamps, 'starters', templates, and fonts in your own user account directory (folder) for Tux Paint to find.
-
- Windows
-
+
+ - Windows
+ -
+
+ Your personal Tux Paint folder is stored in your personal "Application Data". For example, on newer Windows:
+
+ C:\Documents and Settings\(username)\Application Data\TuxPaint\
+
+
+
-
-
- Your personal Tux Paint folder is stored in your personal "Application Data". For example, on newer Windows:
+ - macOS
+ -
+
+ Your personal Tux Paint folder is stored in your personal "Application Support" folder:
+ /Users/(username)/Library/Application Support/TuxPaint/
+
+
+
-
- C:\Documents and Settings\(username)\Application Data\TuxPaint\
-
-
-
-
- macOS
-
-
-
-
- Your personal Tux Paint folder is stored in your personal "Application Support" folder:
-
-
- /Users/(username)/Library/Application Support/TuxPaint/
-
-
-
-
- Linux and Unix
-
-
-
- Your personal Tux Paint files go into a 'hidden directory' found in your account's home directory: "$(HOME)/.tuxpaint/" (also known as "~/.tuxpaint/").
-
-
- That is, if your home directory is "/home/tux", then your personal Tux Paint files go in "/home/tux/.tuxpaint/".
-
-
- Don't forget the period (".") before the "tuxpaint"!
-
+ - Linux and Unix
+ -
+
+ Your personal Tux Paint files go into a 'hidden directory' found in your account's home directory: "$(HOME)/.tuxpaint/" (also known as "~/.tuxpaint/").
+
+ That is, if your home directory is "/home/tux", then your personal Tux Paint files go in "/home/tux/.tuxpaint/".
+
+ Don't forget the period (".") before the "tuxpaint"!
+
+
To add your own brushes, stamps, 'starters,' templates, and fonts, create subdirectories under your personal Tux Paint directory named "brushes", "stamps", "starters", "templates", "fonts", respectively.
(For example, if you created a brush named "flower.png", you would put it in "~/.tuxpaint/brushes/" under Linux or Unix.)
-
-
+
+
-
+
+
-
-
-
The brushes used for drawing with the 'Brush' and 'Lines' tools in Tux Paint are simply PNG image files.
Greyscale pixels in the brush PNG will be drawn using the currently-selected color in Tux Paint. Color pixels will be tinted.
-
+
+
-
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.
@@ -324,97 +301,81 @@
The file has the same name as the PNG image, but a ".dat" extension. (e.g., "brush.png"'s data file is the text file "brush.dat", found in the same directory.)
-
- Brush Spacing
+
+ - Brush Spacing
+ -
+
+ 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.
+
+ Add a line containing the line "spacing=N" to the brush's data file, where "N" is the spacing you want for the brush. (The lower the number, the more often the brush is drawn.)
+
-
-
- 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.
+ - Animated Brushes
+ -
+
+ 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.
+
+ 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.
+
+ Add a line containing the line "frames=N" to the brush's data file, where "N" is the number of frames in the brush.
+
+ ⚙ Note: If you'd rather the frames be flipped through randomly, rather than sequentially, also add a line containing "random" to the brush's data file.
+
-
- Add a line containing the line "spacing=N" to the brush's data file, where "N" is the spacing you want for the brush. (The lower the number, the more often the brush is drawn.)
-
+ - Directional Brushes
+ -
+
+ 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.
+
+ 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.
+
+ Add a line containing the word "directional" to the brush's data file.
+
-
- Animated Brushes
+ - Rotating Brushes
+ -
+
+ As of Tux Paint version 0.9.27, you may now create rotating brushes. As the brush is used, it is rotated 360 degrees, depending on the direction the brush is going.
+
+ Add a line containing the word "rotate" to the brush's data file.
+
-
-
- 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.
-
-
- 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.
-
-
- Add a line containing the line "frames=N" to the brush's data file, where "N" is the number of frames in the brush.
-
-
- Note: If you'd rather the frames be flipped through randomly, rather than sequentially, also add a line containing "random" to the brush's data file.
-
-
-
- Directional Brushes
-
-
-
- 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.
-
-
- 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.
-
-
- Add a line containing the word "directional" to the brush's data file.
-
-
-
- Rotating Brushes
-
-
-
- As of Tux Paint version 0.9.27, you may now create rotating brushes. As the brush is used, it is rotated 360 degrees, depending on the direction the brush is going.
-
-
- Add a line containing the word "rotate" to the brush's data file.
-
-
-
- Animated Directional or Rotating Brushes
-
-
-
- You may mix both animated and either directional or rotating features into one brush. Use both options desired ("frames=N" and "directional" or "rotate"), in separate lines in the brush's ".dat" file.
-
-
- For directional brushes, 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.)
-
-
+ Animated Directional or Rotating Brushes
+
+
+ You may mix both animated and either directional or rotating features into one brush. Use both options desired ("frames=N" and "directional" or "rotate"), in separate lines in the brush's ".dat" file.
+
+ For directional brushes, 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.)
+
+
+
Place the brush image PNGs (and any data text files) in the "brushes" directory.
-
- Note: If your new brushes all come out as solid squares or rectangles, it's because you forgot to use alpha transparency! See the 'PNG documentation' in Tux Paint for more information and tips.
-
-
+
+ 💡 Note: If your new brushes all come out as solid squares or rectangles, it's because you forgot to use alpha transparency! See the 'PNG documentation' in Tux Paint for more information and tips.
+
-
+
+
-
-
-
All stamp-related files go in the "stamps" directory. It's useful to create subdirectories and sub-subdirectories there to organize the stamps. (For example, you can have a "holidays" folder with "halloween" and "christmas" sub-folders.)
-
+
+
-
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.
SVGs are vector-based, and will be scaled appropriately for the canvas size being used in Tux Paint.
-
- Note: If your new PNG-based stamps all come out as solid squares or rectangles, it's because you forgot to use alpha transparency! See the 'PNG documentation' in Tux Paint for more information and tips.
+
+ 💡 Note: If your new PNG-based stamps all come out as solid squares or rectangles, it's because you forgot to use alpha transparency! See the 'PNG documentation' in Tux Paint for more information and tips.
-
- 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 'SVG documentation' in Tux Paint for more information and tips.
+
+ 💡 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 'SVG documentation' in Tux Paint for more information and tips.
-
- Advanced Users: The 'Advanced Stamps How-To' document describes, in detail, how to make PNG images which will scale perfectly when used as stamps in Tux Paint.
-
-
+
+ ⚙ Advanced Users: The 'Advanced Stamps How-To' document describes, in detail, how to make PNG images which will scale perfectly when used as stamps in Tux Paint.
+
-
+
+
-
-
-
Tux Paint will display descriptive text when a stamp is selected. These are placed in plain text files with the same name as the PNG or SVG, but with a ".txt" filename extension. (e.g., "stamp.png"'s description is stored in "stamp.txt" in the same directory.)
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.
-
- Localization Support
+
+ - Localization Support
+ -
+
+ 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).
+
+ The beginning of the line should correspond to the language code of the language in question (e.g., "fr" for French, and "zh_TW" for Traditional Chinese), followed by ".utf8=" and the translated description (Unicode, encoded in UTF-8).
+
+ For Tux Paint developers: There are scripts in the "po" 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.
+
+ If no translation is available for the language Tux Paint is currently running in, the US English text is used.
+
-
-
- 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).
+ - Windows Users
+ -
+
+ Use NotePad or WordPad to edit/create these files. Be sure to save them as plain-text, and make sure they have a ".txt" extension at the end of the filename.
+
+
+
-
- The beginning of the line should correspond to the language code of the language in question (e.g., "fr" for French, and "zh_TW" for Traditional Chinese), followed by ".utf8=" and the translated description (Unicode, encoded in UTF-8).
+
+
-
- For Tux Paint developers: There are scripts in the "po" 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.
-
-
- If no translation is available for the language Tux Paint is currently running in, the US English text is used.
-
-
- Windows Users
-
-
-
- Use NotePad or WordPad to edit/create these files. Be sure to save them as plain-text, and make sure they have a ".txt" extension at the end of the filename.
-
-
-
-
-
-
-
-
Tux Paint can play a sound effect when a stamp is selected. For example, the sound of a duck quaking when selecting a duck, or a brief piece of music when a musical instrument is chosen. Files may be in "WAVE (".wav")" or "OGG Vorbis (".ogg")" formats, and are given same name as the PNG or SVG image. (e.g., "stamp.svg"'s sound effect is the sound file "stamp.ogg" in the same directory.)
-
- Localization Support
+
+ - Localization Support
+ -
+
+ 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: "stamp_LOCALE.EXT"
+
+ The sound effect that will be played when the stamp corresponding to the image file "stamp.png" is selected, and when Tux Paint is using the Spanish locale, would be "stamp_es.wav". Under the French locale, it would be "stamp_fr.wav". Under the Brazilian Portuguese locale, "stamp_pt_BR.wav". And so on...
+
+ If no localized sound effect can be loaded, Tux Paint will attempt to load the 'default' sound file. (e.g., "stamp.wav")
+
+
-
-
- 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: "stamp_LOCALE.EXT"
+
+ 💡 Note: Also consider using descriptive sounds; see 'Stamp Descriptive Sound', below.
+
-
- The sound effect that will be played when the stamp corresponding to the image file "stamp.png" is selected, and when Tux Paint is using the Spanish locale, would be "stamp_es.wav". Under the French locale, it would be "stamp_fr.wav". Under the Brazilian Portuguese locale, "stamp_pt_BR.wav". And so on...
+
+
-
- If no localized sound effect can be loaded, Tux Paint will attempt to load the 'default' sound file. (e.g., "stamp.wav")
-
-
-
- Note: For descriptive sounds (not sound effects, like a bang or a bird chirping), consider using descriptive sounds; see 'Stamp Descriptive Sound', below.
-
-
-
-
-
-
-
Tux Paint can also play a descriptive sound when a stamp is selected. For example, the sound of someone saying the word "duck" when selecting a duck, or the name of a musical instrument when one is chosen. Files may be in "WAVE (".wav")" or "OGG Vorbis (".ogg")" formats, and are given same name as the PNG or SVG image, with "_desc" at the end. (e.g., "stamp.svg"'s descriptive sound is the sound file "stamp_desc.ogg" in the same directory.)
-
- Localization Support
+
+ - Localization Support
+ -
+
+ For descriptive sounds for different locales, also create WAV or OGG files with both "_desc" and the locale's label in the filename, in the form: "stamp_desc_LOCALE.EXT"
+
+ The descriptive sound that will be played when the stamp corresponding to the image file "stamp.png" is selected, and when Tux Paint is using the Spanish locale, would be "stamp_desc_es.wav". Under the French locale, it would be "stamp_desc_fr.wav". Under the Brazilian Portuguese locale, "stamp_desc_pt_BR.wav". And so on...
+
+ If no localized descriptive sound can be loaded, Tux Paint will attempt to load the 'default' sound file. (e.g., "stamp_desc.wav")
+
+
+
-
-
- For descriptive sounds for different locales, also create WAV or OGG files with both "_desc" and the locale's label in the filename, in the form: "stamp_desc_LOCALE.EXT"
+
+
- The descriptive sound that will be played when the stamp corresponding to the image file "stamp.png" is selected, and when Tux Paint is using the Spanish locale, would be "stamp_desc_es.wav". Under the French locale, it would be "stamp_desc_fr.wav". Under the Brazilian Portuguese locale, "stamp_desc_pt_BR.wav". And so on...
-
- If no localized descriptive sound can be loaded, Tux Paint will attempt to load the 'default' sound file. (e.g., "stamp_desc.wav")
-
-
-
-
-
-
-
-
Aside from a graphical shape, a textual description, a sound effect, and a descriptive sound, stamps can also be given other attributes. To do this, you need to create a 'data file' for the stamp.
@@ -555,138 +505,113 @@
The file has the same name as the PNG or SVG image, but a ".dat" extension. (e.g., "stamp.png"'s data file is the text file "stamp.dat", found in the same directory.)
-
- Colored Stamps
-
-
-
- Stamps can be made to be either "colorable" or "tintable."
-
-
- Colorable
-
-
+
+ - Colored Stamps
+ -
- "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.)
+ Stamps can be made to be either "colorable" or "tintable."
+
+ - Colorable
+ -
+
+ "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.)
+
+ Nothing about the original image is used except the transparency (from "alpha" channel). The color of the stamp comes out solid.
+
+
+
+
+ Add a line containing the word "colorable" to the stamp's data file.
+
+ - Tinted
+ -
+
+ "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.)
+
+
+
+
+ Add a line containing the word "tintable" to the stamp's data file.
+
+
+ - Tinting Options:
+ -
+
+ Depending on the contents of your stamp, you might want to have Tux Paint use one of a number of methods when tinting it. Add one of the following lines to the stamp's data file:
+
+ -
+ Normal tinter — "
tinter=normal" (the default)
+ -
+ This is the normal tinting mode. First, the primary hue of the stamp is determined. (For example, a picture of a flower with a stem will have the petal color seen as the primary hue of the overall image.) Next, the most highly saturated part of the picture is found. With "normal tinter", the range of hue used to do this starts out within ±18° of the pimary hue found in step 1. (If none can be found, it widens the range by 50% and tries again.) Finally, the image is tinted. Anything falling within 50% of the range (e.g., ±27°) is altered to have the hue of the color chosen by the user.
+ -
+ Narrow tinter — "
tinter=narrow"
+
+ -
+ This like the "
normal" option described above, but starts a narrower hue range of ±6°. Anything found within 50% of the range (e.g. ±9°) is tinted. If too much of your stamp is being tinted, try this option.
+ -
+ 'Any hue' tinter — "
tinter=anyhue"
+
+ -
+ This remaps all hues in the stamp. It works similarly to the "
anyhue" and "narrow" options described above, but the hue range is ±180°.
+ -
+ Vector tinter — "
tinter=vector"
+
+ -
+ This maps 'black through white' to 'black through destination'.
+
+
+
+
+
+ - Unalterable Stamps
+ -
- Nothing about the original image is used except the transparency (from "alpha" channel). The color of the stamp comes out solid.
-
-
-
-
-
+ 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.
- Add a line containing the word "colorable" to the stamp's data file.
-
-
-
- Tinted
-
-
+ 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.
- "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.)
-
-
-
-
-
+ To prevent a stamp from being flipped vertically, add the option "noflip" to the stamp's data file.
- Add a line containing the word "tintable" to the stamp's data file.
+ To prevent a stamp from being mirrored horizontally, add the option "nomirror" to the stamp's data file.
+
-
- Tinting Options:
+ Initial Stamp Size
+
+
+ By default, Tux Paint assumes that your stamp is sized appropriately for unscaled display on a 608x472 canvas. This was 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.
+
+ 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 one of the following options, which represent the same adjustment, to the stamp's data file. (An equals sign, "=", may be included after the word "scale".)
+
+ - "
scale 40%"
+ - "
scale 5/2"
+ - "
scale 2.5"
+ - "
scale 2:5"
+
+
-
-
- Depending on the contents of your stamp, you might want to have Tux Paint use one of a number of methods when tinting it. Add one of the following lines to the stamp's data file:
+ Windows Users
+
+
+ Use NotePad or WordPad to edit/create these files. Be sure to save them as plain-text, and make sure they have a ".txt" extension at the end of the filename.
+
+
+
-
- -
- Normal tinter — "
tinter=normal" (the default)
+
+
- -
- This is the normal tinting mode. First, the primary hue of the stamp is determined. (For example, a picture of a flower with a stem will have the petal color seen as the primary hue of the overall image.) Next, the most highly saturated part of the picture is found. With "normal tinter", the range of hue used to do this starts out within ±18° of the pimary hue found in step 1. (If none can be found, it widens the range by 50% and tries again.) Finally, the image is tinted. Anything falling within 50% of the range (e.g., ±27°) is altered to have the hue of the color chosen by the user.
-
- -
- Narrow tinter — "
tinter=narrow"
-
-
- -
- This like the "
normal" option described above, but starts a narrower hue range of ±6°. Anything found within 50% of the range (e.g. ±9°) is tinted. If too much of your stamp is being tinted, try this option.
-
- -
- 'Any hue' tinter — "
tinter=anyhue"
-
-
- -
- This remaps all hues in the stamp. It works similarly to the "
anyhue" and "narrow" options described above, but the hue range is ±180°.
-
- -
- Vector tinter — "
tinter=vector"
-
-
- -
- This maps 'black through white' to 'black through destination'.
-
-
-
-
-
-
- Unalterable Stamps
-
-
-
- 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.
-
-
- 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.
-
-
- To prevent a stamp from being flipped vertically, add the option "noflip" to the stamp's data file.
-
-
- To prevent a stamp from being mirrored horizontally, add the option "nomirror" to the stamp's data file.
-
-
-
- Initial Stamp Size
-
-
-
- By default, Tux Paint assumes that your stamp is sized appropriately for unscaled display on a 608x472 canvas. This was 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.
-
-
- 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 one of the following options, which represent the same adjustment, to the stamp's data file. (An equals sign, "=", may be included after the word "scale".)
-
- - "
scale 40%"
- - "
scale 5/2"
- - "
scale 2.5"
- - "
scale 2:5"
-
-
-
- Windows Users
-
-
-
- Use NotePad or WordPad to edit/create these files. Be sure to save them as plain-text, and make sure they have a ".txt" extension at the end of the filename.
-
-
-
-
-
-
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 "Fire Department" written across the side. You probably do not want that text to appear backwards when the image is flipped!
@@ -699,20 +624,19 @@
As of Tux Paint 0.9.18, you may similarly provide a pre-flipped image with "_flip" in the name, and/or an image that is both mirrored and flipped, by naming it "_mirror_flip".
-
- Note: If the user flips and mirrors an image, and a pre-drawn "_mirror_flip" doesn't exist, but either "_flip" or "_mirror" does, it will be used, and mirrored or flipped, respectively.
-
-
+
+ 💡 Note: If the user flips and mirrors an image, and a pre-drawn "_mirror_flip" doesn't exist, but either "_flip" or "_mirror" does, it will be used, and mirrored or flipped, respectively.
+
+
-
+
+
-
-
-
Simply place them in the "fonts" directory. Tux Paint will load the font and provide four different sizes in the 'Letters' selector when using the 'Text' and 'Label' tools.
-
-
+
-
+
+
-
-
-
When you use a 'starter' image, make modifications, and save it, the original 'starter' image is not overwritten. Additionally, as you edit your new picture, the contents of the original 'starter' can affect it.
-
+
+
-
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.
To create this kind of 'starter' image, simply create an outlined black and white picture in a paint program, and save it as a raster PNG file, or vector SVG. If saving as a PNG, you may optionally render the image as black-and-transparent, rather than black-and-white, but (as of Tux Paint 0.9.21) this is not required.
-
+
-
+
+
-
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!
@@ -776,7 +702,7 @@
To create this kind of 'starter' picture, simply create an overlay (with transparency) and save it as a PNG. Then create another image (without transparency), and save it with the same filename, but with "-back" (short for 'background') appended to the name. (e.g., "starter-back.png" would be the background ocean picture that corresponds to the overlay, or foreground.)
-
+
For best results, 'starter' images should be at least the same size as Tux Paint's drawing canvas. (See the "Loading Other Pictures into Tux Paint" section of Tux Paint's main documentation (README) for details on sizing.) If they are not, they will be stretched or scaled. This is done without affecting the shape ("aspect ratio"); however some smudging may be applied to the edges.
@@ -784,20 +710,18 @@
Place them in the "starters" 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.
-
- Note: 'Starters' are 'attached' to saved pictures, via a small text file that has the same name as the saved file, but with ".dat" as the extension. This allows it to continue to affect the drawing even after Tux Paint has been quit, or another picture is loaded or a new image is created. (In other words, if you base a drawing on a 'starter' image, it will always be affected by it.)
-
-
+
+ 💡 Note: 'Starters' are 'attached' to saved pictures, via a small text file that has the same name as the saved file, but with ".dat" as the extension. This allows it to continue to affect the drawing even after Tux Paint has been quit, or another picture is loaded or a new image is created. (In other words, if you base a drawing on a 'starter' image, it will always be affected by it.)
+
-
+
+
-
-
-
Place them in the "templates" directory. When the 'New' dialog is accessed in Tux Paint, the 'template' images will appear in the screen that appears, after the various solid color choices.
-
- Note: 'Templates' are 'attached' to saved pictures, via a small text file that has the same name as the saved file, but with ".dat" as the extension. This allows it to continue to affect the drawing even after Tux Paint has been quit, or another picture is loaded or a new image is created. (In other words, if you base a drawing on a 'template' image, it will always be affected by it.)
+
+ 💡 Note: 'Templates' are 'attached' to saved pictures, via a small text file that has the same name as the saved file, but with ".dat" as the extension. This allows it to continue to affect the drawing even after Tux Paint has been quit, or another picture is loaded or a new image is created. (In other words, if you base a drawing on a 'template' image, it will always be affected by it.)
-
+
-
+
+
-
-
-
Tux Paint supports numerous languages, thanks to use of the "gettext" localization library. (See "Options documentation" for how to change locales in Tux Paint.)
@@ -845,29 +768,27 @@
Open the newly-created ".po" file — you can edit in a plain 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 "msgid". Enter your translations of each of these pieces of text in the empty "msgstr" lines directly below the corresponding "msgid" lines. (Note: Do not remove the quotes.)
- Example:
-
-
-
+ Example:
+
msgid "Smudge"
msgstr "Manchar"
msgid "Click and drag to draw large bricks."
msgstr "Haz clic y arrastra para dibujar ladrillos grandes."
-
-
+
+
- Various tools exist to manage gettext translation catalogs, so you don't have to edit them by hand in a text editor. Here are a few:
-
+ Various tools exist to manage gettext translation catalogs, so you don't have to edit them by hand in a text editor. Here are a few:
+
-
- Note: It is best to always work off of the latest Tux Paint text catalog template ("tuxpaint.pot"), 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 Git repository (see: https://tuxpaint.org/download/source/git/), and on the Tux Paint website at https://tuxpaint.org/help/po/.
+
+ 💡 Note: It is best to always work off of the latest Tux Paint text catalog template ("tuxpaint.pot"), 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 Git repository (see: https://tuxpaint.org/download/source/git/), and on the Tux Paint website at https://tuxpaint.org/help/po/.
To edit an existing translation, download the latest ".po" file for that language, and edit it as described above.
@@ -878,19 +799,18 @@
Alternatively, if you have an account with SourceForge.net, you can request to be added to the "tuxpaint" project and receive write-access to the Git source code repository so that you may commit your changes directly.
-
- Note: Support for new locales requires making additions to Tux Paint's source code ("/src/i18n.h" and "/src/i18n.c"), and requires updates to the Makefile, to ensure the ".po" files are compiled into ".mo" files, and available for use at runtime.
-
+
+ 💡 Note: Support for new locales requires making additions to Tux Paint's source code ("/src/i18n.h" and "/src/i18n.c"), and requires updates to the Makefile, to ensure the ".po" files are compiled into ".mo" files, and available for use at runtime.
+
-
+
+
-
-
-
Tux Paint's 'Text' and 'Label' tools can provide alternative input methods for some languages. For example, when Tux Paint is running with a Japanese locale, the right [Alt] 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' and 'Label' tools by typing one or more keys on a keyboard with Latin characters (e.g., a US QWERTY keyboard).
@@ -915,10 +835,8 @@
Start additional character mapping sections with a line containign the word "section".
- Example:
-
-
-
+ Example:
+
# Hiragana
304B ka -
304C ga -
@@ -933,37 +851,38 @@
30AC ga -
30AD ki -
30AE gi -
-
-
+
+
-
- Note: Blank lines within the ".im" file will be ignored, as will any text following a "#" (pound/hash) character — it can be used to denote comments, as seen in the example above.
+
+ ⚙ Note: Blank lines within the ".im" file will be ignored, as will any text following a "#" (pound/hash) character — it can be used to denote comments, as seen in the example above.
-
- Note: Meanings of the flags are locale-specific, and are processed by the language-specific source code in "src/im.c". For example, "b" is used in Korean to handle Batchim, which may carry over to the next character.
+
+ 💡 Note: Meanings of the flags are locale-specific, and are processed by the language-specific source code in "src/im.c". For example, "b" is used in Korean to handle Batchim, which may carry over to the next character.
-
- Note: Support for new input methods requires making additions to Tux Paint's source code ("/src/im.c"), and requires updates to the Makefile, to ensure the ".im" files are available for use at runtime.
-
+
+ 💡 Note: Support for new input methods requires making additions to Tux Paint's source code ("/src/im.c"), and requires updates to the Makefile, to ensure the ".im" files are available for use at runtime.
+
-
+
+
-
-
-
As of version 0.9.22, Tux Paint's 'Text' and 'Label' tools can present an on-screen keyboard that allows the pointer (via a mouse, eye-tracking systems, etc.) to be used to input characters. Files that describe the layout and available keys are stored in Tux Paint "osk" directory. Each keyboard layout is defined by a number of files (some of which may be shared by different layouts).
We'll use the QWERTY keyboard as an example:
-
- Layout overview file ("qwerty.layout")
+
+
+
+ Layout overview file ("qwerty.layout")
+
-
This is a text file that specifies the other files used to describe the layout and key mappings.
@@ -977,17 +896,19 @@
-
- Note: Blank lines within the ".layout" file will be ignored, as will any text following a "#" (pound/hash) character — it can be used to denote comments, as seen in the example above.
+
+ ⚙ Note: Blank lines within the ".layout" file will be ignored, as will any text following a "#" (pound/hash) character — it can be used to denote comments, as seen in the example above.
The "keyboardlist" line describes which layouts to switch to, when the user clicks the left and right buttons on the keyboard. (See below.)
-
+
-
- Keyboard layout file ("qwerty.h_layout")
+
+
+
+ Keyboard layout file ("qwerty.h_layout")
+
-
This describes how big the keyboard is (as a "width × height" grid), and lists each key with its numeric keycode (see the "keymap" file, below), the width it should be drawn at (typically "1.0", to take one space on the keyboard, but in the example below, notice the "TAB" and "SPACE" keys are much wider), the character or text to display on the key, depending on which modifier keys have been pressed (one each for: no modifiers, [Shift], [AltGr], and [Shift] + [AltGr]), and finally whether or not the key is affected by the [CapsLock] key (use "1") or [AltGr] (alternate graphics) key (use "2"), or not at all (use "0").
@@ -1055,12 +976,14 @@
2 —
previous layout (per the layout file's "keyboardlist" setting)
-
+
-
- Keymap file ("us-intl-altgr-dead-keys.keymap")
+
+
+
+ Keymap file ("us-intl-altgr-dead-keys.keymap")
+
-
This file defines which numeric keycodes (seen in the keyboard layout files, such as "qwerty.h_layout" described above) should be mapped to which actual characters that an application such as Tux Paint expects to receive when keys (e.g., on a real keyboard) are pressed.
@@ -1104,35 +1027,37 @@
...
-
+
-
- Composemap file ("en_US.UTF-8_Compose")
+
+
+
+ Composemap file ("en_US.UTF-8_Compose")
+
-
This file describes single characters that can be composed by multiple inputs. For example, "[Compose]" followed by "[A]" and "[E]" can be used to create the "æ" character.
The file that comes with Tux Paint is based on the US English UTF-8 (Unicode) composemap that comes with X.Org's X Window system. The current version from the Xlib library has a web located page at https://www.x.org/releases/current/doc/libX11/i18n/compose/en_US.UTF-8.html.
-
+
-
- Keysym definitions file ("keysymdef.h")
+
+
+
+ Keysym definitions file ("keysymdef.h")
+
-
This file (which is a C programming language header file) is also from the X Window System. It defines the Unicode values of each keycap (e.g., "XK_equal" corresponds to "U+003D", for the character "=" ("EQUALS SIGN").
-
- Note: This file is not compiled into Tux Paint, but is read and parsed at runtime.
+
+ 💡 Note: This file is not compiled into Tux Paint, but is read and parsed at runtime.
It is unlikely that any modification will be required of this file.
-
-
+
+
-