Commit graph

43 commits

Author SHA1 Message Date
Bill Kendrick
104c27086b Bump some file update dates! 2023-06-13 00:27:50 -07:00
Bill Kendrick
0437b898ca Allow primary & fallback locale fonts to be specified
e.g., for Chinese Traditional, try to use the full font (that
we supply as an optional download), then try the 'subset' font
that we ship with Tux Paint.
2023-06-13 00:25:49 -07:00
Bill Kendrick
3c8f25e6e9 Ability to specify fonts on a per-locale basis
Add to the list found in `src/fonts.c` (use language IDs
found in `src/i18n.h`, e.g. "LANG_DE" for German).
h/t Shin-ichi for the suggestion

Closes https://sourceforge.net/p/tuxpaint/feature-requests/240/
2023-06-08 00:40:43 -07:00
Bill Kendrick
1b6ee72e87 "uifont" option: tell us what we wanted & what we got
The requested font & actual font loaded will be echo'd to STDOUT
when specifying the `uifont` option.

This uses Pango library directly (I was unable to convice SDL2_Pango.h
to actually notice that pango.h was #include'd before it, and expose
its SDLPango_GetPangoFontDescription() function!).  This is okay,
since we want to also add a "--uifont list" option (or similar),
that will list all of the available fonts, if a user wishes to
query them.  (And similar code will be added to tuxpaint-config to make
the setting available as a pull-down, rather than (or as well as) a
freeform type-in field.)
2023-06-01 00:20:41 -07:00
Bill Kendrick
83c4cbc676 WIP New "--uifont" option to specify UI font
If not specified, or "default" is specified (e.g., to override
a higher-up config file setting), it will fallback to what we
have #define'd in fonts.h as PANGO_DEFAULT_FONT, "DejaVu Sans".

It appears to fallback to this (or a reasonable fascimile) if
the font specified by the "uifont" option doesn't exist
(e.g., "tuxpaint --uifont=ABCD1234").

For https://sourceforge.net/p/tuxpaint/feature-requests/146/
2023-05-29 13:13:58 -07:00
Bill Kendrick
cef773a694 Now REQUIRING SDL2_Pango; no NO_SDLPANGO option
Motivation - Without SDL2_Pango, languages like Japanese,
Arabic, and Thai do not render properly.  Currently, Debian
(and hence Ubuntu) do not have SDL2_Pango, so Tux Paint 0.9.28
is adversely affected.  Fedora DOES have SDL2_Pango, so works well.
This also allows us to delete a lot of ancient cruft code.

Closes https://sourceforge.net/p/tuxpaint/bugs/268/
h/t Pere

(INSTALL docs to be updated momentarily)
2023-04-30 16:10:29 -07:00
Bill Kendrick
18f9cad6fe Adding "indent.sh" to re-indent code; ran it!!! 2023-04-23 23:26:00 -07:00
Bill Kendrick
a4020ef8c5 Adding "rotate" icon to be used with Stamps tool
(WIP)
2023-02-18 14:08:38 -08:00
Bill Kendrick
d132f96075 Changing default UI font to DejaVu Sans
Per discussion over in
https://sourceforge.net/p/tuxpaint/mailman/tuxpaint-devel/thread/CADZCvhDRn174fTc0e3K6Qxa8pHjXCvwmUr9p3frdzh7YksiS7A@mail.gmail.com/
2023-01-06 00:59:56 -08:00
Bill Kendrick
0517b4392c Update URL to https://tuxpaint.org/ everywhere
Also, add other social media accounts to list of places to
announce Tux Paint in RELEASE docs.

Also, list a ton more options missing from default example config file
"src/tuxpaint.conf"
2022-12-11 01:29:25 -08:00
Mark Kim
cf92625df5 enable forked fonts on macOS 2022-12-03 12:01:22 -05:00
Bill Kendrick
cc05925d9e Re-ran indent on all .c & .h source code files
Like so --
  find . -name "*.c" -or -name "*.h" -exec  indent -nbfda -npcs -npsl -bli0 --no-tabs {} \;

The `indent` invocation differs from the last one noted in
CHANGES.txt (from 2006!?), in that I've added "--no-tabs",
to ensure indents are all space-based.
2022-09-15 00:14:20 -07:00
Bill Kendrick
5369bca3b9 Merge branch 'master' into sdl2.0 2022-06-02 21:06:27 -07:00
Bill Kendrick
c8db730c4f Backport a few warning squelches from sdl-2.0 branch
https://sourceforge.net/p/tuxpaint/tuxpaint/ci/dfba73d327df49cbea16207ab25c11991be2c0c7/
2022-05-19 01:05:19 -07:00
Bill Kendrick
dfba73d327 Address some compile-time warnings in SDL 2.0
Also disable VERBOSE DEBUG output.

Note - Still a pair of nasty warnings about the following

 * ‘rsvg_handle_close’ is deprecated: Use
   'rsvg_handle_read_stream_sync' instead

 * passing argument 3 of ‘autoscale_copy_smear_free’ from incompatible
   pointer type (SDL_BlitSurface)

They should be addressed.
2022-05-19 00:49:48 -07:00
Pere Pujal i Carabantes
2a430c0dc0 Undeffing FORKED_FONTS seems to improve things on Android. The system onscreen keyboard hid the progress bar, don't show it until fonts are already in place. 2020-05-05 00:24:42 +02:00
Pere Pujal i Carabantes
de308f70a8 Compiler warnings 2017-12-19 02:41:42 +01:00
Pere Pujal i Carabantes
1e0ea6d4b3 Indentation. 2017-12-19 02:17:27 +01:00
Pere Pujal i Carabantes
58d202d275 Progressbar seems to work again 2017-12-06 06:39:39 +01:00
Pere Pujal i Carabantes
4e8c5287ed Adding support for sdl2pango, Thanks Jianwei Zhang 2017-12-06 06:39:39 +01:00
Bill Kendrick
b693003b14 Remove some unused funcs & declarations
Removing more unused functions, and moving a declaration in fonts.h
to fonts.c, since it's not used externally (reliable_read()).
2017-10-15 14:38:52 -07:00
Bill Kendrick
81ff48ccbc indent fonts.c fonts.h 2017-10-15 10:53:55 -07:00
William Kendrick
913275e144 * Removed some outdated bug-workaround-code from 2007.
* 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)
2014-04-19 18:04:55 +00:00
William Kendrick
be2b5537b3 * Exposing load_user_fonts() and some other font.c functions,
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.
2010-04-27 22:04:43 +00:00
William Kendrick
7b31b7549d Patch collection from Volker Grabsch to help Tux Paint cross-compile for Windows:
* 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.
2010-02-25 07:06:13 +00:00
William Kendrick
6e6ee1f8a3 Trying to get it to build without Pango. 2010-02-02 23:40:53 +00:00
Albert Cahalan
e3a971194c options working fairly well 2009-11-23 07:45:24 +00:00
Albert Cahalan
3d15a468cd lots of functions made static (some had to be moved) 2009-11-22 23:17:35 +00:00
Albert Cahalan
f296909c75 have to reset y_nudge if wiping out lang/locale 2009-11-21 11:30:19 +00:00
Albert Cahalan
9a00845f50 moving more code past start of font scanning 2009-11-16 08:54:48 +00:00
William Kendrick
0bdbefcda7 Added copyright/license to source files that lacked it. 2009-06-03 20:46:07 +00:00
William Kendrick
a219080838 Skipping locale-specific fonts, unless we're in that locale.
Providing option to load all locale fonts anyway (the old behavior).
Renaming zh_tw.ttf to zh_TW.ttf.
2009-06-01 04:02:40 +00:00
Martin Fuhrer
926ee26f67 Mac OS X updates: Added dialog box requesting user to wait while font cache is being built. Added experimental speech synthesis support. 2008-01-04 05:39:15 +00:00
William Kendrick
344492dad4 BeOS updates. 2007-12-07 00:05:45 +00:00
William Kendrick
0eecea9581 Magic compiles silenced.
Attempted Text tool font load under pango.
Made pango optional.
TuxPaint_Font is aware of both panfgo contexts & sdl_ttf ttf fonts.
2007-07-13 18:18:20 +00:00
William Kendrick
095ba8efb3 Began adding support for using SDL_Pango, a wrapper to Pango,
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!
2007-07-12 18:43:18 +00:00
William Kendrick
bccb269062 New starters: 10x10 grid & 20x20 grid
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
2007-06-06 18:31:54 +00:00
Albert Cahalan
542aaf4cad It runs on the OLPC XO now, unless you run out of memory. Do not even think of using stamps, system fonts, etc. 2007-03-12 03:55:30 +00:00
John Popplewell
7c3f7ad0b7 Disable threaded font loading on Windows because it's unreliable. Would be nice to fix this properly one day... 2006-09-18 19:14:00 +00:00
William Kendrick
7716a05281 Ran source code through "indent -nbfda -npcs -npsl -bli0". 2006-08-27 21:00:52 +00:00
John Popplewell
f482a789f6 Fix to make font sizing work. 2006-02-20 06:14:12 +00:00
John Popplewell
2982961f38 Various fixes for win32, mostly as a result of the splits. 2006-02-20 04:12:27 +00:00
William Kendrick
e964eb17a0 More splits from "tuxpaint.c":
+ "debug.h": Defines whether debugging printf() calls should be enabled.
  + "dirwalk.c/h": Callback functions for recursive directory traversal.
  + "fonts.c/h": Font loading/grouping/discarding variables and functions.
  + "get_fname.c/h": Functions for constructing preferred file paths.
2006-02-19 08:02:39 +00:00