Known Issues
------------
- No printing support.
- No typing support using the OS virtual keyboard. iOS needs to be signalled
to bring up the virtual keyboard when the text tool is active. We also may
need to do some finagling to make IM work with the virtual keyboard.
- OS language detection doesn't work yet.
- Quitting doesn't close the app. It just displays a black screen until it is
force-closed.
- Need to include cross-compilation instructions.
Possible Issues
---------------
- No text display. This is likely an issue with how pango and related
libraries were cross-compiled rather than an issue with Tux Paint code. From
the error output it appears to be a font rendering issue.
- SVG integration couldn't be tested because RSVG library has not yet be
cross-compiled successfully.
- Only tested under the iOS Simulator (and not on an actual iOS device yet.)
Wrapped some debug output in "#ifdef DEBUG" tests,
and made sure some warnings and errors were going to
STDERR, rather than STDOUT.
Motivation: Less noise while launching/using Tux Paint,
unless it matters.
Running Tux Paint under macOS in Korean mode (and some other languages) causes
it to crash, unless "load system fonts" option is also enabled. Some
investigation showed the issue occurs when num_font_families is 0 in fonts.c.
This change removes the assumption from the code that assumes num_font_families
has at least one record.
* Made problemFonts[] not-Apple-specific
* Added a description to TuxPaint_Font struct
* Added debugging to show when a font is being closed
(currently causing crashes with some fonts, on Win7 with
Tux Paint 0.9.22beta01 and Kubuntu 14.04 with CVS)
* Added "--joystick-dev" option, for specifying which joystick device
Tux Paint should listen to
* "--joystick-dev list" is now used to list the available devices
* Cleaned up some 'usage' output
pre-release made in Dec. 2013):
* Fix OS X 10.9 issue of current directory set by Finder
to something else than folder where app bundle resides.
* Some Mac OS X build / project changes & updates.
* Adjustments to Mac OS X fontconfig config file, to avoid warnings
and make things more robust.
* Updates to some #include's to catch up with newer library revisions.
* Tweaks to pixel read/write on Apple.
* Introduction of 'intprt_t' casting to avoid warnings on x64.
* Some additional debugging output.
* Logging stderr & stdout to /tmp/tuxpaint.log
Untested (I don't have a Mac!)
even when FORKED_FONTS is not set.
* No longer undef'ing SDL_thread stuff when FORKED_FONTS is
used if we're ALSO not using SDL_Pango, since that now
uses a thread to let fontconfig generate its cache, and
still let Tux Paint be responsive to the OS and user.
(SF.net bug #2944951)
* Spawning a thread and rendering a dummy string with SDL_Pango,
to allow fontconfig to generate its cache.
(SF.net bug #2944951)
* Setting up 'busy' mouse cursor (watch-shaped) earlier
(so it can happen while fontconfig cache thread runs).
* Not spawning forked font scanner (FORKED_FONTS) as early, so
fontconfig can generate its cache first.
(I wasn't sure if calling an SDL_thread after a fork()
occured was safe or not; admittedly, I discovered that
SDL_thread spawning wasn't working due to the re-#defines
of those functions when FORKED_FONTS was set; see above.)
All of this only tested on Ubuntu 9.04. Forced disabling of FORKED_FONTS
by editing fonts.h, and Tux Paint still worked (it just took longer at
the splash screen while the fonts were loaded). Needs testing on various
Windows, Mac OS X and BeOS.
* Solve the 'FIXME: "finddir" ...' (The trick is to use "=" instead of ":=". That way, $(beos_PREFIX) will only be evaluated when it is actually used.)
* include "shlwapi.h" instead of "Shlwapi.h" (Otherwise, compiling for Windows will fail on a case sensitive file system. (e.g. a Unix file system when cross compiling))
* use FILENAME_MAX instead of NAME_MAX (FILENAME_MAX is more portable than NAME_MAX. Also, recent MinGW versions don't support NAME_MAX anymore.)
* Exposing font_thread_aborted via extern [tweak to Volker's patch which removed a logic test, which is probably not what we want]
* include parse.h (and thus compiler.h) after <stdio.h> (This ensures that the perror() macro of compiler.h won't confuse the perror() function declaration of <stdio.h>.)
* fix another compiling error about undefined variables (The tuxpaint.c uses printcommand/altprintcommand/papersize even when they aren't defined, i.e. when libpaper is not used. This patch solves the issue by using "#ifdef PAPER_H")
* call show_available_papersizes() only when libpaper is used
* permit cross compiling by using Make variables instead of hard-coded tools
Documented scottmc's Haiku improvements.
- Added libpaper-dev package checking.
- Previously, SDL_Pango's bug forced Tux Paint to include a customized
version of SDL_Pango.h in its distribution, so we couldn't tell if
SDL_Pango was installed in the system by including SDL_Pango.h. We made
a new workaround for SDL_Pango's bug that does not require Tux Paint to
include SDL_Pango.h, so now we can check for SDL_Pango installation.
- Makefile now includes a check for gettext installation and will not
fail when attempting to generate .mo files or install .mo files. Instead,
Makefile will now display a warning and skip the .mo file generation and
installation steps.
Many thanks to Arunodai Vudem for the patches.
Magic tool documentation now split into separate files, and referenced
(as a directory) from README, so that users can find docs to any additional
tools (ones not included by default with Tux Paint) that are installed.
Added new --datadir option, to separate path to brushes/stamps/etc. from that of saved files.
Improved docs on where savedir default is.
Made sure --help, man tuxpaint, and OPTIONS docs all covered all command-line options.
Noted SDL_Pango makes locale-specific fonts unnecessary.
Added "--plugindocprefix" option to tp-magic-config, for where docs should go.
Improved plugin API documentation.
Improved layout of man pages a little.
Added icon for Kalidescope magic tool.
Added Canada map starter.
Added Japan map starter.
Improved comments near gettext() calls to improve POT and PO files.
Regenerated PO files and POT file.
Added .cvsignore to make sure tp_magic_api.h (which is generated) isn't noticed.
a library for layout and rendering of text, with an emphasis on
internationalization. (The hope is to improve support for languages
that SDL_ttf doesn't support well; e.g., Arabic and Telegu.)
TTF_Font structs and some functions were replaced by a new
TuxPaint_Font struct and function, which wraps around either TTF_Font
or SDLPango_Context, depending on whether SDL_Pango is being used.
Note: STILL NEEDS WORK!
Reordered font-loading to happen after locale switch occurs, to
pick up font-organizing string translations (e.g., "Aa", "qx", etc.).
Attempting to help address issue of Latin-only fonts being available
in non-Latin locales -- seemed to help with Norwegian.
Czech translation update.
Russian README documentation