[Tux4kids-commits] r920 - in tuxtype/trunk: . doc po src
dbruce-guest at alioth.debian.org
dbruce-guest at alioth.debian.org
Tue Mar 3 21:40:00 UTC 2009
Author: dbruce-guest
Date: 2009-03-03 21:40:00 +0000 (Tue, 03 Mar 2009)
New Revision: 920
Added:
tuxtype/trunk/tuxtype_preview.spec.in
Modified:
tuxtype/trunk/Makefile.in
tuxtype/trunk/configure
tuxtype/trunk/configure.ac
tuxtype/trunk/doc/TODO
tuxtype/trunk/po/ar.po
tuxtype/trunk/po/as.po
tuxtype/trunk/po/ca.po
tuxtype/trunk/po/cs.po
tuxtype/trunk/po/da.po
tuxtype/trunk/po/de.po
tuxtype/trunk/po/el.po
tuxtype/trunk/po/en at boldquot.po
tuxtype/trunk/po/en at quot.po
tuxtype/trunk/po/en_GB.po
tuxtype/trunk/po/es.po
tuxtype/trunk/po/eu.po
tuxtype/trunk/po/fr.po
tuxtype/trunk/po/gu.po
tuxtype/trunk/po/hi.po
tuxtype/trunk/po/it.po
tuxtype/trunk/po/ja.po
tuxtype/trunk/po/kn.po
tuxtype/trunk/po/lt.po
tuxtype/trunk/po/ml.gmo
tuxtype/trunk/po/ml.po
tuxtype/trunk/po/nb.po
tuxtype/trunk/po/ne.po
tuxtype/trunk/po/nl.po
tuxtype/trunk/po/nn.po
tuxtype/trunk/po/or.po
tuxtype/trunk/po/pt.po
tuxtype/trunk/po/ru.po
tuxtype/trunk/po/sv.po
tuxtype/trunk/po/sw.po
tuxtype/trunk/po/ta.po
tuxtype/trunk/po/te.po
tuxtype/trunk/po/tr.po
tuxtype/trunk/po/tuxtype.pot
tuxtype/trunk/po/wo.po
tuxtype/trunk/src/SDL_extras.c
tuxtype/trunk/src/SDL_extras.h
tuxtype/trunk/src/alphabet.c
tuxtype/trunk/src/funcs.h
tuxtype/trunk/src/globals.h
tuxtype/trunk/src/laser.c
tuxtype/trunk/src/loaders.c
tuxtype/trunk/src/main.c
tuxtype/trunk/src/options.c
tuxtype/trunk/src/pause.c
tuxtype/trunk/src/playgame.c
tuxtype/trunk/src/practice.c
tuxtype/trunk/src/scripting.c
tuxtype/trunk/src/setup.c
tuxtype/trunk/src/theme.c
tuxtype/trunk/src/titlescreen.c
tuxtype/trunk/tuxtype.spec.in
Log:
move of SDL_ttf and SDL_Pango-specific code into SDL_extras.c/h - in progress
Modified: tuxtype/trunk/Makefile.in
===================================================================
--- tuxtype/trunk/Makefile.in 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/Makefile.in 2009-03-03 21:40:00 UTC (rev 920)
@@ -37,8 +37,8 @@
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \
- $(srcdir)/tuxtype.spec.in $(top_srcdir)/configure \
- $(top_srcdir)/intl/Makefile.in \
+ $(srcdir)/tuxtype.spec.in $(srcdir)/tuxtype_preview.spec.in \
+ $(top_srcdir)/configure $(top_srcdir)/intl/Makefile.in \
$(top_srcdir)/nsis/tuxtype.nsi.in ABOUT-NLS AUTHORS COPYING \
ChangeLog INSTALL TODO config.guess config.rpath config.sub \
depcomp install-sh missing mkinstalldirs
@@ -66,7 +66,8 @@
configure.lineno config.status.lineno
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
-CONFIG_CLEAN_FILES = tuxtype.spec intl/Makefile nsis/tuxtype.nsi
+CONFIG_CLEAN_FILES = tuxtype.spec tuxtype_preview.spec intl/Makefile \
+ nsis/tuxtype.nsi
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
@@ -315,6 +316,8 @@
-rm -f config.h stamp-h1
tuxtype.spec: $(top_builddir)/config.status $(srcdir)/tuxtype.spec.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+tuxtype_preview.spec: $(top_builddir)/config.status $(srcdir)/tuxtype_preview.spec.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
intl/Makefile: $(top_builddir)/config.status $(top_srcdir)/intl/Makefile.in
cd $(top_builddir) && $(SHELL) ./config.status $@
nsis/tuxtype.nsi: $(top_builddir)/config.status $(top_srcdir)/nsis/tuxtype.nsi.in
Modified: tuxtype/trunk/configure
===================================================================
--- tuxtype/trunk/configure 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/configure 2009-03-03 21:40:00 UTC (rev 920)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for Tux Typing 1.7.4.preview.
+# Generated by GNU Autoconf 2.61 for Tux Typing 1.7.4.
#
# Report bugs to <tux4kids-tuxtype-dev at lists.alioth.debian.org>.
#
@@ -574,8 +574,8 @@
# Identity of this package.
PACKAGE_NAME='Tux Typing'
PACKAGE_TARNAME='tuxtype'
-PACKAGE_VERSION='1.7.4.preview'
-PACKAGE_STRING='Tux Typing 1.7.4.preview'
+PACKAGE_VERSION='1.7.4'
+PACKAGE_STRING='Tux Typing 1.7.4'
PACKAGE_BUGREPORT='tux4kids-tuxtype-dev at lists.alioth.debian.org'
ac_unique_file="src/playgame.c"
@@ -1286,7 +1286,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures Tux Typing 1.7.4.preview to adapt to many kinds of systems.
+\`configure' configures Tux Typing 1.7.4 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1357,7 +1357,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of Tux Typing 1.7.4.preview:";;
+ short | recursive ) echo "Configuration of Tux Typing 1.7.4:";;
esac
cat <<\_ACEOF
@@ -1469,7 +1469,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-Tux Typing configure 1.7.4.preview
+Tux Typing configure 1.7.4
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1483,7 +1483,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by Tux Typing $as_me 1.7.4.preview, which was
+It was created by Tux Typing $as_me 1.7.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2307,7 +2307,7 @@
# Define the identity of the package.
PACKAGE='tuxtype'
- VERSION='1.7.4.preview'
+ VERSION='1.7.4'
cat >>confdefs.h <<_ACEOF
@@ -17754,7 +17754,7 @@
# Create Makefiles
# ---------------------------------------------------------------
-ac_config_files="$ac_config_files Makefile tuxtype.spec data/Makefile data/fonts/Makefile data/images/Makefile data/images/backgrounds/Makefile data/images/cities/Makefile data/images/comets/Makefile data/images/hands/Makefile data/images/icons/Makefile data/images/keyboard/Makefile data/images/menu/Makefile data/images/status/Makefile data/images/tux/Makefile data/scripts/Makefile data/sounds/Makefile data/themes/Makefile data/themes/armenian/Makefile data/themes/armenian/images/Makefile data/themes/assamese/Makefile data/themes/assamese/words/Makefile data/themes/bokmal/Makefile data/themes/bokmal/words/Makefile data/themes/bokmal/images/Makefile data/themes/bokmal/images/status/Makefile data/themes/brazilian-portuguese/Makefile data/themes/brazilian-portuguese/images/Makefile data/themes/brazilian-portuguese/words/Makefile data/themes/catalan/Makefile data/themes/catalan/words/Makefile data/themes/czech/Makefile data/themes/czech/words/Makefile data/themes/dansk/Makefile data/themes/dansk/sounds/Makefile data/themes/dansk/words/Makefile data/themes/deutsch/Makefile data/themes/deutsch/words/Makefile data/themes/espanol/Makefile data/themes/espanol/images/Makefile data/themes/espanol/words/Makefile data/themes/euskara/Makefile data/themes/euskara/images/Makefile data/themes/euskara/words/Makefile data/themes/french/Makefile data/themes/french/words/Makefile data/themes/greek/Makefile data/themes/greek/words/Makefile data/themes/gujarati/Makefile data/themes/gujarati/words/Makefile data/themes/hindi/Makefile data/themes/hindi/words/Makefile data/themes/italian/Makefile data/themes/italian/images/Makefile data/themes/italian/words/Makefile data/themes/jamaican/Makefile data/themes/jamaican/images/Makefile data/themes/jamaican/words/Makefile data/themes/kannada/Makefile data/themes/kannada/words/Makefile data/themes/lithuanian/Makefile data/themes/lithuanian/images/Makefile data/themes/lithuanian/images/status/Makefile data/themes/lithuanian/sounds/Makefile data/themes/lithuanian/words/Makefile data/themes/malayalam/Makefile data/themes/malayalam/images/Makefile data/themes/malayalam/images/status/Makefile data/themes/malayalam/images/keyboard/Makefile data/themes/malayalam/scripts/Makefile data/themes/malayalam/words/Makefile data/themes/nederlands/Makefile data/themes/nederlands/words/Makefile data/themes/nepali/Makefile data/themes/nepali/words/Makefile data/themes/nynorsk/Makefile data/themes/nynorsk/images/Makefile data/themes/nynorsk/images/status/Makefile data/themes/nynorsk/words/Makefile data/themes/oriya/Makefile data/themes/oriya/words/Makefile data/themes/punjabi/Makefile data/themes/punjabi/words/Makefile data/themes/russian/Makefile data/themes/russian/images/Makefile data/themes/russian/images/status/Makefile data/themes/russian/words/Makefile data/themes/svenska/Makefile data/themes/svenska/words/Makefile data/themes/swahili/Makefile data/themes/swahili/words/Makefile data/themes/tamil/Makefile data/themes/tamil/words/Makefile data/themes/telugu/Makefile data/themes/telugu/words/Makefile data/themes/wolof/Makefile data/themes/wolof/images/Makefile data/themes/wolof/words/Makefile data/words/Makefile doc/Makefile doc/en/Makefile intl/Makefile po/Makefile.in nsis/tuxtype.nsi src/Makefile"
+ac_config_files="$ac_config_files Makefile tuxtype.spec tuxtype_preview.spec data/Makefile data/fonts/Makefile data/images/Makefile data/images/backgrounds/Makefile data/images/cities/Makefile data/images/comets/Makefile data/images/hands/Makefile data/images/icons/Makefile data/images/keyboard/Makefile data/images/menu/Makefile data/images/status/Makefile data/images/tux/Makefile data/scripts/Makefile data/sounds/Makefile data/themes/Makefile data/themes/armenian/Makefile data/themes/armenian/images/Makefile data/themes/assamese/Makefile data/themes/assamese/words/Makefile data/themes/bokmal/Makefile data/themes/bokmal/words/Makefile data/themes/bokmal/images/Makefile data/themes/bokmal/images/status/Makefile data/themes/brazilian-portuguese/Makefile data/themes/brazilian-portuguese/images/Makefile data/themes/brazilian-portuguese/words/Makefile data/themes/catalan/Makefile data/themes/catalan/words/Makefile data/themes/czech/Makefile data/themes/czech/words/Makefile data/themes/dansk/Makefile data/themes/dansk/sounds/Makefile data/themes/dansk/words/Makefile data/themes/deutsch/Makefile data/themes/deutsch/words/Makefile data/themes/espanol/Makefile data/themes/espanol/images/Makefile data/themes/espanol/words/Makefile data/themes/euskara/Makefile data/themes/euskara/images/Makefile data/themes/euskara/words/Makefile data/themes/french/Makefile data/themes/french/words/Makefile data/themes/greek/Makefile data/themes/greek/words/Makefile data/themes/gujarati/Makefile data/themes/gujarati/words/Makefile data/themes/hindi/Makefile data/themes/hindi/words/Makefile data/themes/italian/Makefile data/themes/italian/images/Makefile data/themes/italian/words/Makefile data/themes/jamaican/Makefile data/themes/jamaican/images/Makefile data/themes/jamaican/words/Makefile data/themes/kannada/Makefile data/themes/kannada/words/Makefile data/themes/lithuanian/Makefile data/themes/lithuanian/images/Makefile data/themes/lithuanian/images/status/Makefile data/themes/lithuanian/sounds/Makefile data/themes/lithuanian/words/Makefile data/themes/malayalam/Makefile data/themes/malayalam/images/Makefile data/themes/malayalam/images/status/Makefile data/themes/malayalam/images/keyboard/Makefile data/themes/malayalam/scripts/Makefile data/themes/malayalam/words/Makefile data/themes/nederlands/Makefile data/themes/nederlands/words/Makefile data/themes/nepali/Makefile data/themes/nepali/words/Makefile data/themes/nynorsk/Makefile data/themes/nynorsk/images/Makefile data/themes/nynorsk/images/status/Makefile data/themes/nynorsk/words/Makefile data/themes/oriya/Makefile data/themes/oriya/words/Makefile data/themes/punjabi/Makefile data/themes/punjabi/words/Makefile data/themes/russian/Makefile data/themes/russian/images/Makefile data/themes/russian/images/status/Makefile data/themes/russian/words/Makefile data/themes/svenska/Makefile data/themes/svenska/words/Makefile data/themes/swahili/Makefile data/themes/swahili/words/Makefile data/themes/tamil/Makefile data/themes/tamil/words/Makefile data/themes/telugu/Makefile data/themes/telugu/words/Makefile data/themes/wolof/Makefile data/themes/wolof/images/Makefile data/themes/wolof/words/Makefile data/words/Makefile doc/Makefile doc/en/Makefile intl/Makefile po/Makefile.in nsis/tuxtype.nsi src/Makefile"
##tuxtype.spec])
@@ -18189,7 +18189,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by Tux Typing $as_me 1.7.4.preview, which was
+This file was extended by Tux Typing $as_me 1.7.4, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18242,7 +18242,7 @@
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-Tux Typing config.status 1.7.4.preview
+Tux Typing config.status 1.7.4
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
@@ -18368,6 +18368,7 @@
"depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
"Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
"tuxtype.spec") CONFIG_FILES="$CONFIG_FILES tuxtype.spec" ;;
+ "tuxtype_preview.spec") CONFIG_FILES="$CONFIG_FILES tuxtype_preview.spec" ;;
"data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
"data/fonts/Makefile") CONFIG_FILES="$CONFIG_FILES data/fonts/Makefile" ;;
"data/images/Makefile") CONFIG_FILES="$CONFIG_FILES data/images/Makefile" ;;
Modified: tuxtype/trunk/configure.ac
===================================================================
--- tuxtype/trunk/configure.ac 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/configure.ac 2009-03-03 21:40:00 UTC (rev 920)
@@ -1,5 +1,5 @@
# Process this file with autoconf to produce a configure script.
-AC_INIT([Tux Typing],[1.7.4.preview],[tux4kids-tuxtype-dev at lists.alioth.debian.org],[tuxtype])
+AC_INIT([Tux Typing],[1.7.4],[tux4kids-tuxtype-dev at lists.alioth.debian.org],[tuxtype])
AC_CONFIG_SRCDIR([src/playgame.c])
AC_PREREQ(2.61)
@@ -193,6 +193,7 @@
AC_CONFIG_FILES([Makefile
tuxtype.spec
+tuxtype_preview.spec
data/Makefile
data/fonts/Makefile
data/images/Makefile
Modified: tuxtype/trunk/doc/TODO
===================================================================
--- tuxtype/trunk/doc/TODO 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/doc/TODO 2009-03-03 21:40:00 UTC (rev 920)
@@ -1,109 +1,28 @@
--Clean up this TODO and reflect the current status!
+Updated 03 Mar 2009
--Replace the five remaining files which are non-free accoring to
- Debians Free Software Guidelines with free ones. click.wav and
- kmus(1-4).wav are only free for non-commercial use.
+Briefly, here is what we are thinking of for GSoC 2009:
--check that SVN is free of generated files. create release-script,
- keep release tarballs (after augen.sh is run) in SVN?
+Tuxtype:
+ - svg support
+ - sound support for text (have program pronounce words to be typed)
+ - improved font handling
+ - addition of user-specific search path for word and phrase lists, so people can add their own content more readily.
+ - config/admin tool using gui toolkit (e.g. Qt4 but could be something else)
--Test it under MacOSX and windows
+Tuxmath:
+ - svg support
+ - improved font handling
+ - config/admin tool using gui toolkit (e.g. Qt4 but could be something else)
+ - LAN multiplayer mode - need refactoring into client/server architecture (could be applied to tuxtype also).
--make the code use UTF8 internally
+As you can see, the ideas are similar for both programs.
--fix the font handling issues
+Apart from GSoC, both programs need ongoing code cleanup, especially tuxtype. Also, tuxtype could benefit greatly at this point from a refresh of things other than the C code itself - high-resolution backgrounds, completion of rest of menu sprite icons, more word lists and phrase files, etc.
--Clean up code! (Someone beat it severely with the "oogly stick"!)
+-Replace the five remaining files which are non-free accoring to
+ Debians Free Software Guidelines with free ones. click.wav and
+ kmus(1-4).wav are only free for non-commercial use.
- o SOUND: I think the way laser.c handles sound playing should
- be adopted by the rest of the app (via a function so we don't have
- all these "if (sys_sound)" all over the place
+-check that SVN is free of generated files. create release-script,
- --- MAKE THE RUN SOUND NOT HAPPEN IF IT DOESN'T NEED TO!!!
- & STOP IT ONCE IT IS DONE!
- o COMET ZAP: clean up the way text is generated... right now
- it is being generated every time! -- plus maybe switch to the
- AA text
-
- --- idea: once the player gets "done" with a wave, they can
- continue playing on the wave until they are ready
- to move on. They do so by hitting a key
- (ENTER/SPACE ??) which causes TUX to destroy all
- comets at once!
-
- o OBJECTs: ClearObject, EraseObject, ... needs to be reworked.
- while these are "objects", I think we should retitle these
- sprites, as clearobject, eraseobject does not do what one
- might think (removing from memory)... Plus we can probably
- simplify the "realeraseobject" vs. "eraseobject"
-
- o LOCALE: gettext & locales... enough said
-
- o MAKE STUFF: Cal is working on it for *nix. We need to make
- sure we can build for others (win, mac).
-
- o THEMES: after gettext is set up, a way to specify font,
- fontsize, and other graphical options for the theme...
- (on top of the already supported images)
-
- --- Currently when we are loading a image, it will first
- search through all the theme paths, and then it will
- search through all the default paths, which is nice
- except when the theme has "icons" for the menu. Then
- the program will try to load as many icons and since
- a theme may use fewer images than the default images,
- the theme will have EXTRA frames that shouldn't be
- included!
-
- o INPUT: can TT2 determine if the user presses "fancy" latin
- characters such as n~, ... I don't know... a way to test
- exists now though :)
-
- o TRANSLATION: once we have gettext working, TT2 will be less
- of a moving target for translators...
-
- o Tux Recommend: add tux giving friendly reminders about proper
- hand location, erogomics, ...
-
-
-
-The following is a mail with a list of ideas, this is not really a todo (yet).
-
-From: Steve McCuen <smccuen.tux at gmail.com>
-To: tuxmath-devel at lists.sourceforge.net
-Date: Wed, 16 May 2007 20:25:15 -0700
-Message-Id: <1179372315.31920.15.camel at mccuen01.mccuenlabs.net>
-Subject: [Tuxmath-devel] tuxtype: feature request list, for comment
-
-This is the list of requests that came from students using tuxtype. In
-looking at the list, some are very possible to do.
-
-* More kinds of games
- * Some suggested maybe a racing game
- * Some suggested pinball typing the right letters would make the
-flippers work
- * Space wars, and battle games with space ships
-* Different background music
-* Different colors
-* Different backgrounds
-* Practice typing letter groups (finger exercises like Mavis)
-* In fish arcade, when you type the letter it highlights in Red, which
-is hard to see.
-* Too much repetition within the games there are
-* More short words, and generally more variety in words and letters
-* High score list
-* More diversity in difficulty, not just speeding up
-* Bonus points, and get more weapons, and rebuild cities
-* More then just comets that come down
-* Younger grades suggested the following:
- * Fish Cascade to go slower
- * Say the letter as they come down
- * Not only saying the words, make the words tell a story
- * Stops when you miss a letter and gives you a chance to get it right.
-* More levels in Fish Cascade and Comet Zap
-* Ability to choose whether one comet will destroy a city, or several
-* Levels to be longer and harder before switching
-* In Space Cadet, get points for hitting target, and takes away if you
-miss, and if a city is destroyed it doesn't take away points.
-* More shields
Modified: tuxtype/trunk/po/ar.po
===================================================================
--- tuxtype/trunk/po/ar.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/ar.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Mobin M <mobinmohan at gmail.com>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/as.po
===================================================================
--- tuxtype/trunk/po/as.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/as.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -5,7 +5,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-08-22 12:36+0530\n"
"Last-Translator: Amitakhya Phukan <aphukan at redhat.com>\n"
"Language-Team: American English <kde-i18n-doc at lists.kde.org>\n"
Modified: tuxtype/trunk/po/ca.po
===================================================================
--- tuxtype/trunk/po/ca.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/ca.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Mobin M <mobinmohan at gmail.com>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/cs.po
===================================================================
--- tuxtype/trunk/po/cs.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/cs.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2007-11-10 16:36+0100\n"
"Last-Translator: JardaK <krejci at zstenis.com>\n"
"Language-Team: czech <cs at li.org>\n"
Modified: tuxtype/trunk/po/da.po
===================================================================
--- tuxtype/trunk/po/da.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/da.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2003-05-08 17:58+0200\n"
"Last-Translator: Nikolai Beier <beier at ofir.dk>\n"
"Language-Team: Danish\n"
Modified: tuxtype/trunk/po/de.po
===================================================================
--- tuxtype/trunk/po/de.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/de.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2003-06-14 19:00+0000\n"
"Last-Translator: Andreas Ramm <ace1 at gmx.net>\n"
"Language-Team: German\n"
Modified: tuxtype/trunk/po/el.po
===================================================================
--- tuxtype/trunk/po/el.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/el.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/en at boldquot.po
===================================================================
--- tuxtype/trunk/po/en at boldquot.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/en at boldquot.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -29,10 +29,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: tuxtype 1.7.4.preview\n"
+"Project-Id-Version: tuxtype 1.7.4\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
-"PO-Revision-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
+"PO-Revision-Date: 2009-02-23 08:14-0600\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
Modified: tuxtype/trunk/po/en at quot.po
===================================================================
--- tuxtype/trunk/po/en at quot.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/en at quot.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -26,10 +26,10 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: tuxtype 1.7.4.preview\n"
+"Project-Id-Version: tuxtype 1.7.4\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
-"PO-Revision-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
+"PO-Revision-Date: 2009-02-23 08:14-0600\n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"MIME-Version: 1.0\n"
Modified: tuxtype/trunk/po/en_GB.po
===================================================================
--- tuxtype/trunk/po/en_GB.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/en_GB.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Mobin M <mobinmohan at gmail.com>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/es.po
===================================================================
--- tuxtype/trunk/po/es.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/es.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2007-09-16 19:00+0000\n"
"Last-Translator: Amaya Rodrigo <amaya at debian.org>\n"
"Language-Team: Spanish\n"
Modified: tuxtype/trunk/po/eu.po
===================================================================
--- tuxtype/trunk/po/eu.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/eu.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/fr.po
===================================================================
--- tuxtype/trunk/po/fr.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/fr.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2009-02-04 14:55+0100\n"
"Last-Translator: Loïc Martin <loic.martin3 at gmail.com>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/gu.po
===================================================================
--- tuxtype/trunk/po/gu.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/gu.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-08-28 16:17+0530\n"
"Last-Translator: Sweta Kothari <swkothar at redhat.com>\n"
"Language-Team: Gujarati\n"
Modified: tuxtype/trunk/po/hi.po
===================================================================
--- tuxtype/trunk/po/hi.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/hi.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-08-28 16:08+0530\n"
"Last-Translator: Rajesh Ranjan <rranjan at redhat.com>\n"
"Language-Team: Hindi <hindi.sf.net>\n"
Modified: tuxtype/trunk/po/it.po
===================================================================
--- tuxtype/trunk/po/it.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/it.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/ja.po
===================================================================
--- tuxtype/trunk/po/ja.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/ja.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/kn.po
===================================================================
--- tuxtype/trunk/po/kn.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/kn.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-08-27 13:58+0530\n"
"Last-Translator: Shankar Prasad <svenkate at redhat.com>\n"
"Language-Team: Kannada <en at li.org>\n"
Modified: tuxtype/trunk/po/lt.po
===================================================================
--- tuxtype/trunk/po/lt.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/lt.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2004-10-20\n"
"Last-Translator: Gintautas Grigas <grigas at ktl.mii.lt>\n"
"Language-Team: Lithuanian\n"
Modified: tuxtype/trunk/po/ml.gmo
===================================================================
(Binary files differ)
Modified: tuxtype/trunk/po/ml.po
===================================================================
--- tuxtype/trunk/po/ml.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/ml.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Mobin M <mobinmohan at gmail.com>\n"
"Language-Team: Swathanthra|സ്വതന്ത്ര Malayalam|മലയാളം Computing|കമ്പ്യൂട്ടിങ്ങ് <smc-"
Modified: tuxtype/trunk/po/nb.po
===================================================================
--- tuxtype/trunk/po/nb.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/nb.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2005-10-20 21:24+0200\n"
"Last-Translator: Trond Mæhlum <trondm at skolelinux.no>\n"
"Language-Team: Norwegian Bokmål <i18n-nb at lister.ping.uio.no>\n"
Modified: tuxtype/trunk/po/ne.po
===================================================================
--- tuxtype/trunk/po/ne.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/ne.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Mobin M <mobinmohan at gmail.com>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/nl.po
===================================================================
--- tuxtype/trunk/po/nl.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/nl.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/nn.po
===================================================================
--- tuxtype/trunk/po/nn.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/nn.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2005-02-12 13:13+0100\n"
"Last-Translator: Karl Ove Hufthammer <karl at huftis.org>\n"
"Language-Team: Norwegian Nynorsk <i18n-nn at lister.ping.uio.no>\n"
Modified: tuxtype/trunk/po/or.po
===================================================================
--- tuxtype/trunk/po/or.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/or.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-08-27 17:56+0530\n"
"Last-Translator: Manoj Kumar Giri <mgiri at redhat.com>\n"
"Language-Team: Oriya\n"
Modified: tuxtype/trunk/po/pt.po
===================================================================
--- tuxtype/trunk/po/pt.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/pt.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2007-02-07 16:08+0000\n"
"Last-Translator: Hudson G M Figueredo <kynder at pquilinux.org>\n"
"Language-Team: <pt at li.org>\n"
Modified: tuxtype/trunk/po/ru.po
===================================================================
--- tuxtype/trunk/po/ru.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/ru.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Mobin M <mobinmohan at gmail.com>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/sv.po
===================================================================
--- tuxtype/trunk/po/sv.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/sv.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -7,7 +7,7 @@
msgstr ""
"Project-Id-Version: tuxtype2\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-12-02 19:51+0100\n"
"Last-Translator: Göran Uddeborg <goeran at uddeborg.se>\n"
"Language-Team: Swedish <tp-sv at listor.tp-sv.se>\n"
Modified: tuxtype/trunk/po/sw.po
===================================================================
--- tuxtype/trunk/po/sw.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/sw.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/ta.po
===================================================================
--- tuxtype/trunk/po/ta.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/ta.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-08-22 12:41+0530\n"
"Last-Translator: Felix I <ifelix25 at gmail.com>, 2008\n"
"Language-Team: <en at li.org>\n"
Modified: tuxtype/trunk/po/te.po
===================================================================
--- tuxtype/trunk/po/te.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/te.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: tuxtype\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-08-28 17:58+0530\n"
"Last-Translator: Krishna Babu K <kkrothap at redhat.com>\n"
"Language-Team: Telugu <en at li.org>\n"
Modified: tuxtype/trunk/po/tr.po
===================================================================
--- tuxtype/trunk/po/tr.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/tr.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -6,7 +6,7 @@
msgstr ""
"Project-Id-Version: tr\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2008-12-11 15:08+0200\n"
"Last-Translator: Doruk Fisek <dfisek at fisek.com.tr>\n"
"Language-Team: Turkish <gnu-tr-u12a at lists.sourceforge.net>\n"
Modified: tuxtype/trunk/po/tuxtype.pot
===================================================================
--- tuxtype/trunk/po/tuxtype.pot 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/tuxtype.pot 2009-03-03 21:40:00 UTC (rev 920)
@@ -5,9 +5,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: tuxtype 1.7.4.preview\n"
+"Project-Id-Version: tuxtype 1.7.4\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL at ADDRESS>\n"
"Language-Team: LANGUAGE <LL at li.org>\n"
Modified: tuxtype/trunk/po/wo.po
===================================================================
--- tuxtype/trunk/po/wo.po 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/po/wo.po 2009-03-03 21:40:00 UTC (rev 920)
@@ -8,7 +8,7 @@
msgstr ""
"Project-Id-Version: Tux Typing 1.5.16\n"
"Report-Msgid-Bugs-To: tux4kids-tuxtype-dev at lists.alioth.debian.org\n"
-"POT-Creation-Date: 2009-02-20 13:01-0600\n"
+"POT-Creation-Date: 2009-02-23 08:14-0600\n"
"PO-Revision-Date: 2007-09-25 09:50-0000\n"
"Last-Translator: Ousmane Faty Ndongo et Dominique Rochefort <alfanet at anafa."
"org>\n"
Modified: tuxtype/trunk/src/SDL_extras.c
===================================================================
--- tuxtype/trunk/src/SDL_extras.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/SDL_extras.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -16,18 +16,9 @@
#include "globals.h"
#include "pixels.h"
-/* Uncomment this line to test how the program will run if */
-/* SDL_Pango not available. */
-//#undef HAVE_LIBSDL_PANGO
-#ifdef HAVE_LIBSDL_PANGO
-#include "SDL_Pango.h"
-static SDLPango_Matrix* SDL_Colour_to_SDLPango_Matrix(const SDL_Color* cl);
-SDLPango_Context* context;
-#endif
-
/* DrawButton() creates and draws a translucent button with */
/* rounded ends. All colors and alpha values are supported.*/
void DrawButton(SDL_Rect* target_rect,
@@ -359,279 +350,15 @@
}
-void init_SDLPango_Context()
-{
-#ifdef HAVE_LIBSDL_PANGO
- if((context = SDLPango_CreateContext_GivenFontDesc(settings.theme_font_name))==NULL)
- context = SDLPango_CreateContext();
- SDLPango_SetBaseDirection(context, SDLPANGO_DIRECTION_LTR);
- SDLPango_SetDpi(context, 125.0, 125.0);
-#endif
-}
-
-void free_SDLPango_Context()
-{
-#ifdef HAVE_LIBSDL_PANGO
- if(context != NULL)
- SDLPango_FreeContext(context);
- context = NULL;
-#endif
-}
-
-
-void reset_DPI_SDLPango_Context(float dpi_x, float dpi_y)
-{
-#ifdef HAVE_LIBSDL_PANGO
- SDLPango_SetDpi(context, dpi_x, dpi_y);
-#endif
-}
-
-#ifdef HAVE_LIBSDL_PANGO
-
-SDLPango_Matrix* SDL_Colour_to_SDLPango_Matrix(const SDL_Color *cl)
-{
- SDLPango_Matrix *colour;
- colour=malloc(sizeof(SDLPango_Matrix));
- int k;
- for(k=0;k<4;k++){
- (*colour).m[0][k]=(*cl).r;
- (*colour).m[1][k]=(*cl).g;
- (*colour).m[2][k]=(*cl).b;
- }
- (*colour).m[3][0]=0;
- (*colour).m[3][1]=255;
- (*colour).m[3][2]=0;
- (*colour).m[3][3]=0;
-
- return colour;
-}
-#endif
-
-
-/* BlackOutline() creates a surface containing text of the designated */
-/* foreground color, surrounded by a black shadow, on a transparent */
-/* background. The appearance can be tuned by adjusting the number of */
-/* background copies and the offset where the foreground text is */
-/* finally written (see below). */
-SDL_Surface* BlackOutline(const char *t, const TTF_Font *font, const SDL_Color *c)
-{
- SDL_Surface* out = NULL;
- SDL_Surface* black_letters = NULL;
- SDL_Surface* white_letters = NULL;
- SDL_Surface* bg = NULL;
- SDL_Rect dstrect;
- Uint32 color_key;
-
- LOG("Entering BlackOutline()\n");
-
- if (!t || !font || !c)
- {
- fprintf(stderr, "BlackOutline(): invalid ptr parameter, returning.\n");
- return NULL;
- }
-
- if (t[0] == '\0')
- {
- fprintf(stderr, "BlackOutline(): empty string, returning\n");
- return NULL;
- }
-
-
-#ifndef HAVE_LIBSDL_PANGO
- black_letters = TTF_RenderUTF8_Blended(font, t, black);
-#else
- if( context != NULL)
- {
- SDLPango_SetDefaultColor(context, MATRIX_TRANSPARENT_BACK_BLACK_LETTER);
- SDLPango_SetText(context, t, -1);
- black_letters = SDLPango_CreateSurfaceDraw(context);
- }
- else {
- black_letters = TTF_RenderUTF8_Blended((TTF_Font*)font, t, black);
- }
-#endif
-
- if (!black_letters)
- {
- fprintf (stderr, "Warning - BlackOutline() could not create image for %s\n", t);
- return NULL;
- }
-
- bg = SDL_CreateRGBSurface(SDL_SWSURFACE,
- (black_letters->w) + 5,
- (black_letters->h) + 5,
- 32,
- rmask, gmask, bmask, amask);
- /* Use color key for eventual transparency: */
- color_key = SDL_MapRGB(bg->format, 01, 01, 01);
- SDL_FillRect(bg, NULL, color_key);
-
- /* Now draw black outline/shadow 2 pixels on each side: */
- dstrect.w = black_letters->w;
- dstrect.h = black_letters->h;
-
- /* NOTE: can make the "shadow" more or less pronounced by */
- /* changing the parameters of these loops. */
- for (dstrect.x = 1; dstrect.x < 4; dstrect.x++)
- for (dstrect.y = 1; dstrect.y < 3; dstrect.y++)
- SDL_BlitSurface(black_letters , NULL, bg, &dstrect );
-
- SDL_FreeSurface(black_letters);
-
- /* --- Put the color version of the text on top! --- */
-#ifndef HAVE_LIBSDL_PANGO
- white_letters = TTF_RenderUTF8_Blended(font, t, *c);
-#else
- if( context != NULL)
- {
- /* convert color arg: */
- SDLPango_Matrix* color_matrix = SDL_Colour_to_SDLPango_Matrix(c);
-
- if (color_matrix)
- SDLPango_SetDefaultColor(context, color_matrix);
- else /* fall back to just using white if conversion fails: */
- SDLPango_SetDefaultColor(context, MATRIX_TRANSPARENT_BACK_WHITE_LETTER);
-
- white_letters = SDLPango_CreateSurfaceDraw(context);
- }
- else
- {
- white_letters = TTF_RenderUTF8_Blended((TTF_Font*)font, t, *c);
- }
-#endif
-
- dstrect.x = 1;
- dstrect.y = 1;
- SDL_BlitSurface(white_letters, NULL, bg, &dstrect);
- SDL_FreeSurface(white_letters);
-
- /* --- Convert to the screen format for quicker blits --- */
- SDL_SetColorKey(bg, SDL_SRCCOLORKEY|SDL_RLEACCEL, color_key);
- out = SDL_DisplayFormatAlpha(bg);
- SDL_FreeSurface(bg);
-
- LOG("Leaving BlackOutline()\n");
-
- return out;
-}
-
-
-/* This version takes a wide character string and renders it with the */
-/* Unicode string versions of the SDL_ttf functions: */
-SDL_Surface* BlackOutline_Unicode(const Uint16* t, const TTF_Font* font, const SDL_Color* c)
-{
- SDL_Surface* out = NULL;
- SDL_Surface* black_letters = NULL;
- SDL_Surface* white_letters = NULL;
- SDL_Surface* bg = NULL;
- SDL_Rect dstrect;
- Uint32 color_key;
-
- if (!t || !font || !c)
- {
- fprintf(stderr, "BlackOutline_Unicode(): invalid ptr parameter, returning.\n");
- return NULL;
- }
-
- if (t[0] == '\0')
- {
- fprintf(stderr, "BlackOutline_Unicode(): empty string, returning\n");
- return NULL;
- }
- /* (cast to stop compiler complaint) */
- black_letters = TTF_RenderUNICODE_Blended((TTF_Font*)font, t, black);
-
- if (!black_letters)
- {
- fprintf (stderr, "Warning - BlackOutline_Unicode() could not create image for %S\n", (wchar_t*)t);
- return NULL;
- }
-
- bg = SDL_CreateRGBSurface(SDL_SWSURFACE,
- (black_letters->w) + 5,
- (black_letters->h) + 5,
- 32,
- rmask, gmask, bmask, amask);
- /* Use color key for eventual transparency: */
- color_key = SDL_MapRGB(bg->format, 10, 10, 10);
- SDL_FillRect(bg, NULL, color_key);
-
- /* Now draw black outline/shadow 2 pixels on each side: */
- dstrect.w = black_letters->w;
- dstrect.h = black_letters->h;
-
- /* NOTE: can make the "shadow" more or less pronounced by */
- /* changing the parameters of these loops. */
- for (dstrect.x = 1; dstrect.x < 4; dstrect.x++)
- for (dstrect.y = 1; dstrect.y < 3; dstrect.y++)
- SDL_BlitSurface(black_letters , NULL, bg, &dstrect );
-
- SDL_FreeSurface(black_letters);
-
- /* --- Put the color version of the text on top! --- */
- /* (cast to stop compiler complaint) */
- white_letters = TTF_RenderUNICODE_Blended((TTF_Font*)font, t, *c);
- dstrect.x = 1;
- dstrect.y = 1;
- SDL_BlitSurface(white_letters, NULL, bg, &dstrect);
- SDL_FreeSurface(white_letters);
-
- /* --- Convert to the screen format for quicker blits --- */
- SDL_SetColorKey(bg, SDL_SRCCOLORKEY|SDL_RLEACCEL, color_key);
- out = SDL_DisplayFormatAlpha(bg);
- SDL_FreeSurface(bg);
-
- return out;
-}
-
-
-SDL_Surface* BlackOutline_w(const wchar_t* t, const TTF_Font* font, const SDL_Color* c, int size)
-{
- wchar_t wchar_tmp[1024];
- char tmp[1024];
- int i;
-
- // Safety checks:
- if (!t || !font || !c)
- {
- fprintf(stderr, "BlackOutline_Unicode(): invalid ptr parameter, returning.\n");
- return NULL;
- }
-
- if (t[0] == '\0')
- {
- fprintf(stderr, "BlackOutline_Unicode(): empty string, returning\n");
- return NULL;
- }
-
- wcsncpy(wchar_tmp, t, size);
- wchar_tmp[size] = 0;
-
- DEBUGCODE
- {
- fprintf(stderr, "In BlackOutline_w() - input wchar_t string is: %S\n", wchar_tmp);
- }
-
- i = ConvertToUTF8(wchar_tmp, tmp, 1024);
- //tmp[i] = 0;
-
- DEBUGCODE
- {
- fprintf(stderr, "In BlackOutline_w() - converted UTF8 string is: %s\n", tmp);
- }
-
- return BlackOutline(tmp, font, c);
-}
-
-
int inRect( SDL_Rect r, int x, int y) {
if ((x < r.x) || (y < r.y) || (x > r.x + r.w) || (y > r.y + r.h))
return 0;
return 1;
}
+
/* Darkens the screen by a factor of 2^bits */
void DarkenScreen(Uint8 bits)
{
@@ -841,6 +568,271 @@
return s;
}
+
+
+/************************************************************************/
+/* */
+/* Begin text drawing functions */
+/* */
+/* These functions support text drawing using either SDL_Pango */
+/* or SDL_ttf. SDL_Pango is preferable but is not available on all */
+/* platforms. Code outside of this file does not have to worry about */
+/* which library is used to do the actual rendering. */
+/************************************************************************/
+
+/* Uncomment this line to test how the program will run if */
+/* SDL_Pango not available. */
+//#undef HAVE_LIBSDL_PANGO
+
+
+#define MAX_FONT_SIZE 40
+
+/*-- file-scope variables and local file prototypes for SDL_Pango-based code: */
+#ifdef HAVE_LIBSDL_PANGO
+#include "SDL_Pango.h"
+SDLPango_Context* context = NULL;
+static SDLPango_Matrix* SDL_Colour_to_SDLPango_Matrix(const SDL_Color* cl);
+
+/*-- file-scope variables and local file prototypes for SDL_ttf-based code: */
+#else
+#include "SDL_ttf.h"
+/* We cache fonts here once loaded to improve performance: */
+TTF_Font* font_list[MAX_FONT_SIZE] = {NULL};
+static void free_font_list(void);
+static TTF_Font* get_font(int size);
+static TTF_Font* load_font(const char* font_name, int font_size);
+#endif
+
+
+
+
+void reset_DPI_SDLPango_Context(float dpi_x, float dpi_y)
+{
+#ifdef HAVE_LIBSDL_PANGO
+ SDLPango_SetDpi(context, dpi_x, dpi_y);
+#endif
+}
+
+
+/* "Public" functions called from other files that use either */
+/*SDL_Pango or SDL_ttf: */
+
+
+/* For setup, we either initialize SDL_Pango and set its context, */
+/* or we initialize SDL_ttf: */
+int Setup_SDL_Text(void)
+{
+#ifdef HAVE_LIBSDL_PANGO
+ char buf[64];
+
+ LOG("Setup_SDL_Text() - using SDL_Pango\n");
+
+ SDLPango_Init();
+
+ snprintf(buf, 64, "[%s][][%d]", DEFAULT_FONT_NAME, DEFAULT_MENU_FONT_SIZE);
+ context = SDLPango_CreateContext_GivenFontDesc(buf);
+ if (!context)
+ {
+ fprintf(stderr, "\nError: I could not set SDL_Pango context\n");
+ return 0;
+ }
+ return 1;
+
+#else
+/* using SDL_ttf: */
+ LOG("Setup_SDL_Text() - using SDL_ttf\n");
+
+ if (TTF_Init() < 0)
+ {
+ fprintf(stderr, "\nError: I could not initialize SDL_ttf\n");
+ return 0;
+ }
+ return 1;
+#endif
+}
+
+
+void Cleanup_SDL_Text(void)
+{
+#ifdef HAVE_LIBSDL_PANGO
+ if(context != NULL)
+ SDLPango_FreeContext(context);
+ context = NULL;
+#else
+ free_font_list();
+ TTF_Quit();
+#endif
+}
+
+
+/* BlackOutline() creates a surface containing text of the designated */
+/* foreground color, surrounded by a black shadow, on a transparent */
+/* background. The appearance can be tuned by adjusting the number of */
+/* background copies and the offset where the foreground text is */
+/* finally written (see below). */
+//SDL_Surface* BlackOutline(const char *t, TTF_Font *font, SDL_Color *c)
+SDL_Surface* BlackOutline(const char* t, int font_size, const SDL_Color* c)
+{
+ SDL_Surface* out = NULL;
+ SDL_Surface* black_letters = NULL;
+ SDL_Surface* white_letters = NULL;
+ SDL_Surface* bg = NULL;
+ SDL_Rect dstrect;
+ Uint32 color_key;
+
+/* Make sure everything is sane before we proceed: */
+#ifdef HAVE_LIBSDL_PANGO
+ if (!context)
+ {
+ fprintf(stderr, "BlackOutline(): invalid SDL_Pango context - returning.");
+ return NULL;
+ }
+#else
+ TTF_Font* font = get_font(DEFAULT_FONT_NAME, size);
+ if (!font)
+ {
+ fprintf(stderr, "BlackOutline(): could not load needed font - returning.");
+ return NULL;
+ }
+#endif
+
+ if (!t || !c)
+ {
+ fprintf(stderr, "BlackOutline(): invalid ptr parameter, returning.");
+ return NULL;
+ }
+
+ if (t[0] == '\0')
+ {
+ fprintf(stderr, "BlackOutline(): empty string, returning");
+ return NULL;
+ }
+
+DEBUGCODE
+{
+ fprintf( stderr, "\nEntering BlackOutline(): \n");
+ fprintf( stderr, "BlackOutline of \"%s\"\n", t );
+}
+
+#ifdef HAVE_LIBSDL_PANGO
+ SDLPango_SetDefaultColor(context, MATRIX_TRANSPARENT_BACK_BLACK_LETTER);
+ SDLPango_SetText(context, t, -1);
+ black_letters = SDLPango_CreateSurfaceDraw(context);
+#else
+ black_letters = TTF_RenderUTF8_Blended(font, t, black);
+#endif
+
+ if (!black_letters)
+ {
+ fprintf (stderr, "Warning - BlackOutline() could not create image for %s\n", t);
+ return NULL;
+ }
+
+ bg = SDL_CreateRGBSurface(SDL_SWSURFACE,
+ (black_letters->w) + 5,
+ (black_letters->h) + 5,
+ 32,
+ rmask, gmask, bmask, amask);
+ /* Use color key for eventual transparency: */
+ color_key = SDL_MapRGB(bg->format, 01, 01, 01);
+ SDL_FillRect(bg, NULL, color_key);
+
+ /* Now draw black outline/shadow 2 pixels on each side: */
+ dstrect.w = black_letters->w;
+ dstrect.h = black_letters->h;
+
+ /* NOTE: can make the "shadow" more or less pronounced by */
+ /* changing the parameters of these loops. */
+ for (dstrect.x = 1; dstrect.x < 4; dstrect.x++)
+ for (dstrect.y = 1; dstrect.y < 3; dstrect.y++)
+ SDL_BlitSurface(black_letters , NULL, bg, &dstrect );
+
+ SDL_FreeSurface(black_letters);
+
+ /* --- Put the color version of the text on top! --- */
+#ifdef HAVE_LIBSDL_PANGO
+ /* convert color arg: */
+ SDLPango_Matrix* color_matrix = SDL_Colour_to_SDLPango_Matrix(c);
+
+ if (color_matrix)
+ {
+ SDLPango_SetDefaultColor(context, color_matrix);
+ free(color_matrix);
+ }
+ else /* fall back to just using white if conversion fails: */
+ SDLPango_SetDefaultColor(context, MATRIX_TRANSPARENT_BACK_WHITE_LETTER);
+
+ white_letters = SDLPango_CreateSurfaceDraw(context);
+
+#else
+ white_letters = TTF_RenderUTF8_Blended(font, t, *c);
+#endif
+
+ if (!white_letters)
+ {
+ fprintf (stderr, "Warning - BlackOutline() could not create image for %s\n", t);
+ return NULL;
+ }
+
+ dstrect.x = 1;
+ dstrect.y = 1;
+ SDL_BlitSurface(white_letters, NULL, bg, &dstrect);
+ SDL_FreeSurface(white_letters);
+
+ /* --- Convert to the screen format for quicker blits --- */
+ SDL_SetColorKey(bg, SDL_SRCCOLORKEY|SDL_RLEACCEL, color_key);
+ out = SDL_DisplayFormatAlpha(bg);
+ SDL_FreeSurface(bg);
+
+DEBUGCODE
+ { fprintf( stderr, "\nLeaving BlackOutline(): \n"); }
+
+
+ return out;
+}
+
+
+
+SDL_Surface* BlackOutline_w(const wchar_t* t, int font_size, const SDL_Color* c, int length)
+{
+ wchar_t wchar_tmp[1024];
+ char tmp[1024];
+ int i;
+
+ // Safety checks:
+ if (!t || !c)
+ {
+ fprintf(stderr, "BlackOutline_w(): invalid ptr parameter, returning.\n");
+ return NULL;
+ }
+
+ if (t[0] == '\0')
+ {
+ fprintf(stderr, "BlackOutline_w(): empty string, returning\n");
+ return NULL;
+ }
+
+ wcsncpy(wchar_tmp, t, length);
+ wchar_tmp[length] = '\0';
+
+ DEBUGCODE
+ {
+ fprintf(stderr, "In BlackOutline_w() - input wchar_t string is: %S\n", wchar_tmp);
+ }
+
+ i = ConvertToUTF8(wchar_tmp, tmp, 1024);
+ //tmp[i] = 0;
+
+ DEBUGCODE
+ {
+ fprintf(stderr, "In BlackOutline_w() - converted UTF8 string is: %s\n", tmp);
+ }
+
+ return BlackOutline(tmp, font_size, c);
+}
+
+
+
/* When SDL_Pango is used, the ttf font sizes are ignored */
/* by BlackOutline(), so we adjust dpi to scale the fonts: */
/* HACK this isn't quite the intended use of SDLPango_SetDpi() */
@@ -854,3 +846,147 @@
}
#endif
}
+
+
+/*-----------------------------------------------------------*/
+/* Local functions, callable only within SDL_extras, divided */
+/* according with which text lib we are using: */
+/*-----------------------------------------------------------*/
+
+
+
+#ifdef HAVE_LIBSDL_PANGO
+/* Local functions when using SDL_Pango: */
+
+SDLPango_Matrix* SDL_Colour_to_SDLPango_Matrix(const SDL_Color *cl)
+{
+ int k = 0;
+ SDLPango_Matrix* colour = NULL;
+
+ if (!cl)
+ {
+ fprintf(stderr, "Invalid SDL_Color* arg\n");
+ return NULL;
+ }
+
+ colour = (SDLPango_Matrix*)malloc(sizeof(SDLPango_Matrix));
+
+ for(k = 0; k < 4; k++)
+ {
+ (*colour).m[0][k] = (*cl).r;
+ (*colour).m[1][k] = (*cl).g;
+ (*colour).m[2][k] = (*cl).b;
+ }
+ (*colour).m[3][0] = 0;
+ (*colour).m[3][1] = 255;
+ (*colour).m[3][2] = 0;
+ (*colour).m[3][3] = 0;
+
+ return colour;
+}
+
+#else
+/* Local functions when using SDL_ttf: */
+
+static void free_font_list(void)
+{
+ int i;
+ for(i = 0; i < MAX_FONT_SIZE; i++);
+ {
+ if(font_list[i])
+ {
+ TTF_CloseFont(font_list[i]);
+ font_list[i] = NULL;
+ }
+ }
+}
+
+
+
+/* FIXME - could combine this with load_font() below, also we */
+/* will want to support a "current_font" setting rather than */
+/* always using DEFAULT_FONT_NAME */
+/* Loads and caches fonts in each size as they are requested: */
+/* We use the font size as an array index, keeping each size */
+/* font in memory once loaded until cleanup. */
+static TTF_Font* get_font(int size)
+{
+ if (size < 0 || size > MAX_FONT_SIZE)
+ {
+ fprintf(stderr, "Error - requested font size %d is invalid\n", size);
+ return NULL;
+ }
+
+ if(font_list[size] == NULL)
+ font_list[size] = load_font(DEFAULT_FONT_NAME, size);
+ return font_list[size];
+}
+
+
+/* FIXME need code to search for font paths on different platforms */
+static TTF_Font* load_font(const char* font_name, int font_size)
+{
+ TTF_Font* loaded_font = NULL;
+ char fn[FNLEN];
+
+ /* try to find font in default data dir: */
+ sprintf(fn, "%s/fonts/%s", settings.default_data_path, font_name);
+
+ DEBUGCODE { fprintf(stderr, "LoadFont(): looking for %s using data paths\n", fn); }
+
+ /* try to load the font, if successful, return font*/
+ loaded_font = TTF_OpenFont(fn, font_size);
+ if (loaded_font != NULL)
+ return loaded_font;
+
+
+ /* HACK hard-coded for Debian (and current exact font names): */
+
+ if (strncmp(font_name, "AndikaDesRevG.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-sil-andika/AndikaDesRevG.ttf");
+ else if (strncmp(font_name, "DoulosSILR.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-sil-doulos/DoulosSILR.ttf");
+ else if (strncmp(font_name, "Kedage-n.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-kannada-fonts/Kedage-n.ttf");
+ else if (strncmp(font_name, "lohit_bn.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-bengali-fonts/lohit_bn.ttf");
+ else if (strncmp(font_name, "lohit_gu.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_gu.ttf");
+ else if (strncmp(font_name, "lohit_hi.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_hi.ttf");
+ else if (strncmp(font_name, "lohit_pa.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_pa.ttf");
+ else if (strncmp(font_name, "lohit_ta.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-indic-fonts-core/lohit_ta.ttf");
+ else if (strncmp(font_name, "Rachana_w01.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-malayalam-fonts/Rachana_w01.ttf");
+ else if (strncmp(font_name, "utkal.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-indic-fonts-core/utkal.ttf");
+ else if (strncmp(font_name, "Vemana.ttf", FNLEN ) == 0)
+ sprintf(fn, "/usr/share/fonts/truetype/ttf-indic-fonts-core/Vemena.ttf");
+
+
+
+ DEBUGCODE { fprintf(stderr, "LoadFont(): looking for %s\n in OS' font path\n", fn); }
+
+ /* try to load the font, if successful, return font*/
+ loaded_font = TTF_OpenFont(fn, font_size);
+ if (loaded_font != NULL)
+ return loaded_font;
+
+ /* We could not find desired font. If we were looking for something other */
+ /* than default (Andika) font, print warning and try to load default font: */
+ if (strncmp(font_name, DEFAULT_FONT_NAME, FNLEN ) != 0)
+ {
+ fprintf(stderr, "Warning - could not load desired font: %s\n", font_name);
+ fprintf(stderr, "Trying to load default instead: %s\n", DEFAULT_FONT_NAME);
+ return load_font(DEFAULT_FONT_NAME, font_size);
+ }
+ else /* Default failed also - bummer! */
+ {
+ fprintf(stderr, "LoadFont(): Error - couldn't load either selected or default font\n");
+ return NULL;
+ }
+}
+
+#endif
Modified: tuxtype/trunk/src/SDL_extras.h
===================================================================
--- tuxtype/trunk/src/SDL_extras.h 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/SDL_extras.h 2009-03-03 21:40:00 UTC (rev 920)
@@ -49,11 +49,16 @@
/* These functions are the only code in the program that directly use SDL_Pango */
/* If SDL_Pango not available, they fall back to SDL_ttf or do nothing, */
/* as appropriate. */
-SDL_Surface* BlackOutline(const char *t, const TTF_Font* font, const SDL_Color* c);
-SDL_Surface* BlackOutline_Unicode(const Uint16* t, const TTF_Font* font, const SDL_Color* c);
-SDL_Surface* BlackOutline_w(const wchar_t* t, const TTF_Font* font, const SDL_Color* c, int size);
-void init_SDLPango_Context();
-void free_SDLPango_Context();
+SDL_Surface* BlackOutline(const char* t, int font_size, const SDL_Color* c);
+SDL_Surface* BlackOutline_w(const wchar_t* t, int font_size, const SDL_Color* c, int length);
+
void reset_DPI_SDLPango_Context(float dpi_x, float dpi_y);
+/*Text rendering functions: */
+int Setup_SDL_Text(void);
+void Cleanup_SDL_Text(void);
+//SDL_Surface* BlackOutline(const char* t, int size, SDL_Color* c);
+//SDL_Surface* SimpleText(const char *t, int size, SDL_Color* col);
+//SDL_Surface* SimpleTextWithOffset(const char *t, int size, SDL_Color* col, int *glyph_offset);
+
#endif
Modified: tuxtype/trunk/src/alphabet.c
===================================================================
--- tuxtype/trunk/src/alphabet.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/alphabet.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -613,17 +613,11 @@
/* This version creates the letters using TTF_RenderUNICODE_Blended */
-int RenderLetters(const TTF_Font* letter_font)
+int RenderLetters(int font_size)
{
- Uint16 t[2];
+ wchar_t t[2];
int i, j; /* i is chars attempted, j is chars actually rendered. */
- if (!letter_font)
- {
- fprintf(stderr, "RenderLetters() - invalid TTF_Font* argument!\n");
- return 0;
- }
-
i = j = num_chars_used = 0;
t[1] = '\0';
@@ -640,8 +634,8 @@
}
char_glyphs[j].unicode_value = t[0];
- char_glyphs[j].white_glyph = BlackOutline_Unicode(t, letter_font, &white);
- char_glyphs[j].red_glyph = BlackOutline_Unicode(t, letter_font, &red);
+ char_glyphs[j].white_glyph = BlackOutline_w(t, font_size, &white, 1);
+ char_glyphs[j].red_glyph = BlackOutline_w(t, font_size, &red, 1);
j++;
num_chars_used++;
Modified: tuxtype/trunk/src/funcs.h
===================================================================
--- tuxtype/trunk/src/funcs.h 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/funcs.h 2009-03-03 21:40:00 UTC (rev 920)
@@ -39,7 +39,7 @@
SDL_Surface* GetRedGlyph(wchar_t t);
int LoadKeyboard(void);
int GetFinger(int i);
-int RenderLetters(const TTF_Font* letter_font);
+int RenderLetters(int font_size);
int GetIndex(wchar_t uni_char);
void GetKeyShift(int index, char *buf);
int GetShift(int i);
Modified: tuxtype/trunk/src/globals.h
===================================================================
--- tuxtype/trunk/src/globals.h 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/globals.h 2009-03-03 21:40:00 UTC (rev 920)
@@ -116,8 +116,10 @@
/* Default values for game_option_type struct */
/* They can be changed in the struct to other values at run-time */
-#define DEFAULT_MENU_FONT "AndikaDesRevG.ttf"
+#define DEFAULT_FONT_NAME "AndikaDesRevG.ttf"
#define DEFAULT_GAME_FONT "AndikaDesRevG.ttf"
+#define DEFAULT_MENU_FONT_SIZE 20
+#define GAME_FONT_SIZE 20
#define DEFAULT_LOCALE "en_US.UTF-8"
#define DEFAULT_USE_ENGLISH 1
#define DEFAULT_FULLSCREEN 1
@@ -177,8 +179,6 @@
-#define MENU_FONT_SIZE 20
-#define GAME_FONT_SIZE 20
/* Limits on word list size, word length, and on the number of distinct characters */
/* that can be present within a word list: */
Modified: tuxtype/trunk/src/laser.c
===================================================================
--- tuxtype/trunk/src/laser.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/laser.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -38,7 +38,6 @@
static SDL_Surface* images[NUM_IMAGES] = {NULL};
static Mix_Chunk* sounds[NUM_SOUNDS] = {NULL};
static Mix_Music* musics[NUM_MUSICS] = {NULL};
-static TTF_Font* font = NULL;
static int wave, speed, score, pre_wave_score, num_attackers, distanceMoved;
static wchar_t ans[NUM_ANS];
@@ -706,8 +705,7 @@
/* Create the SDL_Surfaces for all of the characters */
/* used in the word list: */
- font = LoadFont(settings.theme_font_name, COMET_ZAP_FONT_SIZE);
- RenderLetters(font);
+ RenderLetters(COMET_ZAP_FONT_SIZE);
/* Load images: */
for (i = 0; i < NUM_IMAGES; i++)
@@ -744,11 +742,6 @@
FreeSprite(shield);
shield = NULL;
-
-// PauseUnloadMedia();
-
- TTF_CloseFont(font);
- font = NULL;
}
Modified: tuxtype/trunk/src/loaders.c
===================================================================
--- tuxtype/trunk/src/loaders.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/loaders.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -169,11 +169,11 @@
/* We could not find desired font. If we were looking for something other */
/* than default (Andika) font, print warning and try to load default font: */
- if (strncmp(font_name, DEFAULT_MENU_FONT, FNLEN ) != 0)
+ if (strncmp(font_name, DEFAULT_FONT_NAME, FNLEN ) != 0)
{
fprintf(stderr, "Warning - could not load desired font: %s\n", font_name);
- fprintf(stderr, "Trying to load default instead: %s\n", DEFAULT_MENU_FONT);
- return LoadFont(DEFAULT_MENU_FONT, font_size);
+ fprintf(stderr, "Trying to load default instead: %s\n", DEFAULT_FONT_NAME);
+ return LoadFont(DEFAULT_FONT_NAME, font_size);
}
else /* Default failed also - bummer! */
{
Modified: tuxtype/trunk/src/main.c
===================================================================
--- tuxtype/trunk/src/main.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/main.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -161,10 +161,6 @@
LibInit(lib_flags); /* calls SDL_Init(), TTF_Init(), some other settings */
GraphicsInit(); /* calls SDL_SetVideoMode(), a few others */
- /* Initialize SDL_Pango, if we are using it. Note that our wrapper function */
- /* being called here is just a no-op if SDL_Pango not enabled. */
- init_SDLPango_Context();
-
if (settings.sys_sound)
{
Mix_VolumeMusic(settings.mus_volume);
Modified: tuxtype/trunk/src/options.c
===================================================================
--- tuxtype/trunk/src/options.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/options.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -31,7 +31,7 @@
/* Simply stick all the default values into the settings struct: */
void Opts_Initialize(void)
{
- strncpy(settings.theme_font_name, DEFAULT_MENU_FONT, FNLEN);
+ strncpy(settings.theme_font_name, DEFAULT_FONT_NAME, FNLEN);
strncpy(settings.theme_locale_name, DEFAULT_LOCALE, FNLEN);
settings.use_english = DEFAULT_USE_ENGLISH;
settings.fullscreen = DEFAULT_FULLSCREEN;
Modified: tuxtype/trunk/src/pause.c
===================================================================
--- tuxtype/trunk/src/pause.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/pause.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -23,8 +23,10 @@
static Mix_Chunk *pause_sfx = NULL;
static SDL_Surface *up = NULL, *down = NULL, *left = NULL, *right = NULL;
static SDL_Rect rectUp, rectDown, rectLeft, rectRight;
-static TTF_Font *f1 = NULL, *f2 = NULL;
+const int pause_font_size1 = 24;
+const int pause_font_size2 = 36;
+
/* Local function prototypes: */
//static void darkenscreen(void);
static void draw_vols(int sfx, int mus);
@@ -221,8 +223,8 @@
right = LoadImage("right.png", IMG_ALPHA);
rectRight.w = right->w; rectRight.h = right->h;
- f1 = LoadFont(settings.theme_font_name, 24);
- f2 = LoadFont(settings.theme_font_name, 36);
+// f1 = LoadFont(settings.theme_font_name, 24);
+// f2 = LoadFont(settings.theme_font_name, 36);
}
static void pause_unload_media(void) {
@@ -236,9 +238,6 @@
SDL_FreeSurface(left);
SDL_FreeSurface(right);
up = down = left = right = NULL;
- TTF_CloseFont(f1);
- TTF_CloseFont(f2);
- f1 = f2 = NULL;
}
@@ -276,7 +275,7 @@
if (settings.sys_sound)
{
- t = BlackOutline(gettext("Sound Effects Volume"), f1, &white);
+ t = BlackOutline(gettext("Sound Effects Volume"), pause_font_size1, &white);
if (t)
{
s.y = screen->h/2 - 80;
@@ -285,7 +284,7 @@
SDL_FreeSurface(t);
}
- t = BlackOutline(gettext("Music Volume"), f1, &white);
+ t = BlackOutline(gettext("Music Volume"), pause_font_size1, &white);
if (t)
{
s.y = screen->h/2 + 20;
@@ -296,7 +295,7 @@
}
else /* No sound: */
{
- t = BlackOutline(gettext("Sound & Music Disabled"), f1, &white);
+ t = BlackOutline(gettext("Sound & Music Disabled"), pause_font_size1, &white);
if (t)
{
s.y = screen->h/2 - 80;
@@ -306,7 +305,7 @@
}
}
- t = BlackOutline(gettext("Paused!"), f2, &white);
+ t = BlackOutline(gettext("Paused!"), pause_font_size2, &white);
if (t)
{
s.y = screen->h/2 - 180; //60;
@@ -315,7 +314,7 @@
SDL_FreeSurface(t);
}
- t = BlackOutline(gettext("Press escape again to return to menu"), f1, &white);
+ t = BlackOutline(gettext("Press escape again to return to menu"), pause_font_size1, &white);
if (t)
{
s.y = screen->h/2 + 160;
@@ -324,7 +323,7 @@
SDL_FreeSurface(t);
}
- t = BlackOutline(gettext("Press space bar to return to game"), f1, &white);
+ t = BlackOutline(gettext("Press space bar to return to game"), pause_font_size1, &white);
if (t)
{
s.y = screen->h/2 + 200;
@@ -366,28 +365,4 @@
}
}
-// /* ==== fillscreen ====
-// * RESULT: it will darken the screen by a factor of 4
-// * WARNING: only works on 16bit screens right now!
-// */
-// static void darkenscreen(void)
-// {
-// Uint16 rm = screen->format->Rmask;
-// Uint16 gm = screen->format->Gmask;
-// Uint16 bm = screen->format->Bmask;
-// Uint16* p;
-// int x, y;
-//
-// p = screen->pixels;
-//
-// for (y = 0; y < 480; y++)
-// {
-// for (x = 0; x < 640; x++)
-// {
-// *p = (((*p&rm)>>2)&rm) | (((*p&gm)>>2)&gm) | (((*p&bm)>>2)&bm);
-// p++;
-// }
-// }
-// }
-
Modified: tuxtype/trunk/src/playgame.c
===================================================================
--- tuxtype/trunk/src/playgame.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/playgame.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -33,9 +33,8 @@
//int o_lives; // something cal is working on
//int sound_vol;
-static TTF_Font* label_font = NULL;
-static TTF_Font* fishy_font = NULL;
+
//static SDL_Surface* background = NULL;
static SDL_Surface* level[NUM_LEVELS] = {NULL};
static SDL_Surface* number[NUM_NUMS] = {NULL};
@@ -1105,21 +1104,18 @@
settings.theme_font_name);
}
- fishy_font = LoadFont(settings.theme_font_name, FISHY_FONT_SIZE);
- label_font = LoadFont(settings.theme_font_name, LABEL_FONT_SIZE);
-
- RenderLetters(fishy_font);
+ RenderLetters(FISHY_FONT_SIZE);
LOG( " Done rendering letters \n ");
- curlev = BlackOutline(gettext("Level"), label_font, &white);
- lives = BlackOutline(gettext("Lives"), label_font, &white);
- fish = BlackOutline(gettext("Fish"), label_font, &white);
+ curlev = BlackOutline(gettext("Level"), LABEL_FONT_SIZE, &white);
+ lives = BlackOutline(gettext("Lives"), LABEL_FONT_SIZE, &white);
+ fish = BlackOutline(gettext("Fish"), LABEL_FONT_SIZE, &white);
- level[0] = BlackOutline(gettext("Easy"), label_font, &white);
- level[1] = BlackOutline(gettext("Medium"), label_font, &white);
- level[2] = BlackOutline(gettext("Hard"), label_font, &white);
- level[3] = BlackOutline(gettext("Practice"), label_font, &white);
+ level[0] = BlackOutline(gettext("Easy"), LABEL_FONT_SIZE, &white);
+ level[1] = BlackOutline(gettext("Medium"), LABEL_FONT_SIZE, &white);
+ level[2] = BlackOutline(gettext("Hard"), LABEL_FONT_SIZE, &white);
+ level[3] = BlackOutline(gettext("Practice"), LABEL_FONT_SIZE, &white);
number_max_w = 0;
for (i = 0; i < NUM_NUMS; i++) {
@@ -1130,11 +1126,11 @@
}
for (i = 0; i < CONGRATS_FRAMES; i++) {
- congrats[i] = BlackOutline(gettext("Congratulations"), label_font, &white);
+ congrats[i] = BlackOutline(gettext("Congratulations"), LABEL_FONT_SIZE, &white);
}
for (i = 0; i < OH_NO_FRAMES; i++) {
- ohno[i] = BlackOutline(gettext("Oh No!"), label_font, &white);
+ ohno[i] = BlackOutline(gettext("Oh No!"), LABEL_FONT_SIZE, &white);
}
if (settings.sys_sound) {
@@ -1176,7 +1172,7 @@
return;
SDL_Surface* m;
- m = TTF_RenderUTF8_Shaded(label_font, msg, white, white);
+ m = BlackOutline(msg, LABEL_FONT_SIZE, &white);
if (m)
{
@@ -1323,14 +1319,6 @@
FreeLetters();
- if (fishy_font)
- TTF_CloseFont(fishy_font);
- fishy_font = NULL;
-
- if (label_font)
- TTF_CloseFont(label_font);
- label_font = NULL;
-
LOG( "FreeGame():\n-Freeing Tux Animations\n" );
for (i = 0; i < TUX_NUM_STATES; i++ )
Modified: tuxtype/trunk/src/practice.c
===================================================================
--- tuxtype/trunk/src/practice.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/practice.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -45,9 +45,6 @@
static SDL_Surface* hand[11] = {NULL};
static sprite* tux_stand = NULL;
static sprite* tux_win = NULL;
-static TTF_Font* smallfont = NULL;
-static TTF_Font* medfont = NULL;
-static TTF_Font* bigfont = NULL;
static SDL_Surface* time_label_srfc = NULL;
static SDL_Surface* chars_label_srfc = NULL;
static SDL_Surface* cpm_label_srfc = NULL;
@@ -100,7 +97,7 @@
/*local function prototypes: */
static int load_phrases(const char* phrase_file);
-static int find_next_wrap(const wchar_t* wstr, const TTF_Font* font, int width);
+static int find_next_wrap(const wchar_t* wstr, int font_size, int width);
static void recalc_positions(void);
static void calc_font_sizes(void);
static void display_next_letter(wchar_t* str, Uint16 index);
@@ -220,7 +217,7 @@
/* Find wrapping point: */
wrap_pt = find_next_wrap(&phrases[cur_phrase][prev_wrap],
- medfont, phrase_draw_width);
+ medfontsize, phrase_draw_width);
/* Draw the phrase to be typed up to the next wrapping point: */
DEBUGCODE
@@ -234,7 +231,7 @@
}
tmpsurf = BlackOutline_w(&phrases[cur_phrase][prev_wrap],
- medfont, &white, wrap_pt + 1);
+ medfontsize, &white, wrap_pt + 1);
if (tmpsurf)
{
@@ -246,7 +243,7 @@
/* Draw the text the player has typed so far: */
tmpsurf = BlackOutline_w(&phrases[cur_phrase][prev_wrap],
- medfont, &white,
+ medfontsize, &white,
cursor - prev_wrap);
DEBUGCODE
@@ -267,7 +264,7 @@
}
/* Update timer: */
- tmpsurf = BlackOutline(time_str, smallfont, &white);
+ tmpsurf = BlackOutline(time_str, fontsize, &white);
if (tmpsurf)
{
SDL_BlitSurface(tmpsurf, NULL, screen, &time_rect);
@@ -665,7 +662,7 @@
/* Redraw everything below any "completed" lines of input text, */
/* except we don't want to redraw keyboard to avoid flicker: */
tmpsurf = BlackOutline_w(&phrases[cur_phrase][prev_wrap],
- medfont, &white,
+ medfontsize, &white,
cursor - prev_wrap);
if (tmpsurf)
@@ -677,7 +674,7 @@
}
- tmpsurf = BlackOutline(time_str, smallfont, &white);
+ tmpsurf = BlackOutline(time_str, fontsize, &white);
if (tmpsurf)
{
SDL_BlitSurface(CurrentBkgd(), &time_rect, screen, &time_rect);
@@ -686,7 +683,7 @@
tmpsurf = NULL;
}
- tmpsurf = BlackOutline(chars_typed_str, smallfont, &white);
+ tmpsurf = BlackOutline(chars_typed_str, fontsize, &white);
if (tmpsurf)
{
SDL_BlitSurface(CurrentBkgd(), &chars_typed_rect, screen, &chars_typed_rect);
@@ -695,7 +692,7 @@
tmpsurf = NULL;
}
- tmpsurf = BlackOutline(cpm_str, smallfont, &white);
+ tmpsurf = BlackOutline(cpm_str, fontsize, &white);
if (tmpsurf)
{
SDL_BlitSurface(CurrentBkgd(), &cpm_rect, screen, &cpm_rect);
@@ -704,7 +701,7 @@
tmpsurf = NULL;
}
- tmpsurf = BlackOutline(wpm_str, smallfont, &white);
+ tmpsurf = BlackOutline(wpm_str, fontsize, &white);
if (tmpsurf)
{
SDL_BlitSurface(CurrentBkgd(), &wpm_rect, screen, &wpm_rect);
@@ -713,7 +710,7 @@
tmpsurf = NULL;
}
- tmpsurf = BlackOutline(errors_str, smallfont, &white);
+ tmpsurf = BlackOutline(errors_str, fontsize, &white);
if (tmpsurf)
{
SDL_BlitSurface(CurrentBkgd(), &errors_rect, screen, &errors_rect);
@@ -722,7 +719,7 @@
tmpsurf = NULL;
}
- tmpsurf = BlackOutline(accuracy_str, smallfont, &white);
+ tmpsurf = BlackOutline(accuracy_str, fontsize, &white);
if (tmpsurf)
{
SDL_BlitSurface(CurrentBkgd(), &accuracy_rect, screen, &accuracy_rect);
@@ -892,17 +889,14 @@
/* load needed fonts: */
calc_font_sizes();
- smallfont = LoadFont(settings.theme_font_name, fontsize);
- medfont = LoadFont(settings.theme_font_name, medfontsize);
- bigfont = LoadFont(settings.theme_font_name, bigfontsize);
/* create labels: */
- time_label_srfc = BlackOutline(_("Time"), smallfont, &yellow);
- chars_label_srfc = BlackOutline(_("Chars"), smallfont, &yellow);
- cpm_label_srfc = BlackOutline(_("CPM"), smallfont, &yellow);
- wpm_label_srfc = BlackOutline(_("WPM"), smallfont, &yellow);
- errors_label_srfc = BlackOutline(_("Errors"), smallfont, &yellow);
- accuracy_label_srfc = BlackOutline(_("Accuracy"), smallfont, &yellow);
+ time_label_srfc = BlackOutline(_("Time"), fontsize, &yellow);
+ chars_label_srfc = BlackOutline(_("Chars"), fontsize, &yellow);
+ cpm_label_srfc = BlackOutline(_("CPM"), fontsize, &yellow);
+ wpm_label_srfc = BlackOutline(_("WPM"), fontsize, &yellow);
+ errors_label_srfc = BlackOutline(_("Errors"), fontsize, &yellow);
+ accuracy_label_srfc = BlackOutline(_("Accuracy"), fontsize, &yellow);
/* Get out if anything failed to load: */
if (load_failed
@@ -911,9 +905,6 @@
||!tux_win
||!tux_stand
||!wrong
- ||!smallfont
- ||!medfont
- ||!bigfont
||!keyboard
||!hand_shift[0]
||!hand_shift[1]
@@ -932,7 +923,7 @@
/* Now render letters for glyphs in alphabet: */
/* This is used for keyboard graphic */
- RenderLetters(smallfont);
+ RenderLetters(fontsize);
GenerateKeyboard(keyboard);
LOG("DONE - Loading practice media\n");
@@ -956,12 +947,6 @@
{ LOG("tux_stand did not load\n");}
if (!wrong)
{ LOG("wrong did not load\n");}
- if (!smallfont)
- { LOG("smallfont did not load\n");}
- if (!medfont)
- { LOG("medfont did not load\n");}
- if (!bigfont)
- { LOG("bigfont did not load\n");}
if (!keyboard)
{ LOG("keyboard did not load\n");}
if (!hand_shift[0])
@@ -990,7 +975,7 @@
static void recalc_positions(void)
{
- int text_height = TTF_FontHeight(smallfont);
+ int text_height = fontsize * 1.5;
if (!keyboard
||!tux_win
@@ -1100,7 +1085,7 @@
phr_text_rect.x = top_pane.x + 5;
phr_text_rect.y = top_pane.y + top_pane.h * 0.3;
phr_text_rect.w = top_pane.w - 5;
- phr_text_rect.h = TTF_FontHeight(medfont);
+ phr_text_rect.h = medfontsize;
/* we can't just use phr_text_rect.w to calc wrap */
/* because SDL_BlitSurface() clobbers it: */
@@ -1109,7 +1094,7 @@
user_text_rect.x = top_pane.x + 5;
user_text_rect.y = top_pane.y + top_pane.h * 0.6;
user_text_rect.w = top_pane.w - 5;
- user_text_rect.h = TTF_FontHeight(medfont);
+ user_text_rect.h = medfontsize * 1.5;
/* Set up all the locations within the bottom pane: */
keyboard_loc.x = bottom_pane.x + bottom_pane.w/4 - keyboard->w/4;
@@ -1125,8 +1110,8 @@
nextletter_rect.x = keyboard_loc.x + keyboard_loc.w - 80;
nextletter_rect.y = keyboard_loc.y + keyboard_loc.h;
- nextletter_rect.w = TTF_FontHeight(bigfont) * 1.5;
- nextletter_rect.h = TTF_FontHeight(bigfont);
+ nextletter_rect.w = bigfontsize * 1.5;
+ nextletter_rect.h = bigfontsize * 1.5;
}
@@ -1177,18 +1162,6 @@
SDL_FreeSurface(keyboard);
keyboard = NULL;
- if (smallfont)
- TTF_CloseFont(smallfont);
- smallfont = NULL;
-
- if (medfont)
- TTF_CloseFont(medfont);
- medfont = NULL;
-
- if (bigfont)
- TTF_CloseFont(bigfont);
- bigfont = NULL;
-
for (i = 0; i < 10; i++)
{
if (hand[i])
@@ -1310,7 +1283,7 @@
/* Returns index relative to wstr of last char to be printed before break. */
/* (i.e. end of last full word that fits within 'width' */
-static int find_next_wrap(const wchar_t* wstr, const TTF_Font* font, int width)
+static int find_next_wrap(const wchar_t* wstr, int font_size, int width)
{
wchar_t buf[MAX_PHRASE_LENGTH];
char UTF8buf[MAX_PHRASE_LENGTH];
@@ -1321,6 +1294,8 @@
int i = 0;
int phr_length = 0;
int test_w = 0; /* The width in pixels of the SDL-rendered string */
+ /* FIXME get rid of this once overhaul done: */
+ TTF_Font* font = LoadFont(DEFAULT_FONT_NAME , font_size);
LOG("Entering find__next_wrap\n");
@@ -1425,7 +1400,7 @@
/* Displays the next letter to be typed in a large font */
static void display_next_letter(wchar_t *str, Uint16 index)
{
- Uint16 ltr[2];
+ wchar_t ltr[2];
SDL_Surface* s = NULL;
if (!str || (index >= MAX_PHRASE_LENGTH))
@@ -1434,7 +1409,7 @@
ltr[0] = str[index];
ltr[1] = '\0';
- s = BlackOutline_Unicode(ltr, bigfont, &white);
+ s = BlackOutline_w(ltr, bigfontsize, &white, 1);
if (s)
{
Modified: tuxtype/trunk/src/scripting.c
===================================================================
--- tuxtype/trunk/src/scripting.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/scripting.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -125,7 +125,6 @@
SDL_Surface* left = NULL, *right = NULL;
SDL_Rect leftRect, rightRect;
SDL_Rect titleRects[8];
- TTF_Font* font = NULL;
int stop = 0;
int loc = 0;
@@ -142,8 +141,6 @@
LOG("Entering TestLesson():\n");
- font = LoadFont(settings.theme_font_name, MENU_FONT_SIZE);
-
/* First look in theme path, if desired: */
if (!settings.use_english)
{
@@ -212,8 +209,8 @@
/* let the user pick the lesson script */
for (i = 0; i < num_scripts; i++)
{
- titles[i] = BlackOutline( script_filenames[i], font, &white );
- select[i] = BlackOutline( script_filenames[i], font, &yellow);
+ titles[i] = BlackOutline( script_filenames[i], DEFAULT_MENU_FONT_SIZE, &white );
+ select[i] = BlackOutline( script_filenames[i], DEFAULT_MENU_FONT_SIZE, &yellow);
}
left = LoadImage("left.png", IMG_ALPHA);
@@ -400,10 +397,7 @@
FreeBothBkgds();
- TTF_CloseFont(font);
- font = NULL;
-
if (stop == 2)
{
SDL_ShowCursor(1);
Modified: tuxtype/trunk/src/setup.c
===================================================================
--- tuxtype/trunk/src/setup.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/setup.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -19,6 +19,7 @@
#include "globals.h"
#include "funcs.h"
+#include "SDL_extras.h"
//NOTE this PATHS[] is an ugly hack which is no longer used. We
//now just confirm that DATA_PREFIX is valid, as it should be.
@@ -190,13 +191,15 @@
LOG("Mix_OpenAudio() successful\n");
}
- LOG( "-about to init SDL_ttf\n" );
+ LOG( "-about to init SDL text library (SDL_ttf or SDL_Pango\n" );
- if (TTF_Init() < 0) {
- fprintf( stderr, "Couldn't initialize SDL_ttf\n" );
- exit(2);
- }
-
+ if (!Setup_SDL_Text())
+ {
+ fprintf( stderr, "Couldn't initialize desired SDL text libary\n" );
+ exit(2);
+ }
+ /* FIXME get rid of this as soon as text overhaul done: */
+ TTF_Init();
// atexit(TTF_Quit);
SDL_EnableKeyRepeat( 0, SDL_DEFAULT_REPEAT_INTERVAL );
@@ -453,7 +456,7 @@
/* (Need to do this in case we are changing from a theme with */
/* a special font to a theme that uses the default, but lacks */
/* an explicit statement to use the default( */
- strncpy(settings.theme_font_name, DEFAULT_MENU_FONT, FNLEN);
+ strncpy(settings.theme_font_name, DEFAULT_FONT_NAME, FNLEN);
/* Load fontname or any other theme-specific settings: */
@@ -470,7 +473,7 @@
{
settings.use_english = 1; // default is to use English if we cannot find theme
strcpy(settings.theme_name, "");
- strncpy(settings.theme_font_name, DEFAULT_MENU_FONT, FNLEN);
+ strncpy(settings.theme_font_name, DEFAULT_FONT_NAME, FNLEN);
strncpy(settings.theme_locale_name, DEFAULT_LOCALE, FNLEN);
fprintf(stderr, "SetupPaths(): could not find '%s'\n", full_theme_path);
}
@@ -479,7 +482,7 @@
{
settings.use_english = 1; // default is to use English if we cannot find theme
strcpy(settings.theme_name, "");
- strncpy(settings.theme_font_name, DEFAULT_MENU_FONT, FNLEN);
+ strncpy(settings.theme_font_name, DEFAULT_FONT_NAME, FNLEN);
strncpy(settings.theme_locale_name, DEFAULT_LOCALE, FNLEN);
}
@@ -526,7 +529,6 @@
{
SDL_FreeSurface(screen);
screen = NULL;
-
+ Cleanup_SDL_Text();
SDL_Quit();
- TTF_Quit();
}
Modified: tuxtype/trunk/src/theme.c
===================================================================
--- tuxtype/trunk/src/theme.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/theme.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -42,7 +42,7 @@
SDL_Rect leftRect, rightRect;
SDL_Rect worldRect, photoRect;
SDL_Rect titleRects[8];
- TTF_Font* font = NULL;
+
int stop = 0;
int loc = 0;
int old_loc = 1;
@@ -101,15 +101,13 @@
closedir(themesDir);
settings.use_english = 1;
- // HACK: is font empty now???
- font = LoadFont(settings.theme_font_name, MENU_FONT_SIZE);
- titles[0] = BlackOutline( "English", font, &white );
- select[0] = BlackOutline( "English", font, &yellow);
+ titles[0] = BlackOutline( "English", DEFAULT_MENU_FONT_SIZE, &white );
+ select[0] = BlackOutline( "English", DEFAULT_MENU_FONT_SIZE, &yellow);
for (i = 1; i < themes; i++)
{
- titles[i] = BlackOutline( themeNames[i], font, &white );
- select[i] = BlackOutline( themeNames[i], font, &yellow);
+ titles[i] = BlackOutline( themeNames[i], DEFAULT_MENU_FONT_SIZE, &white );
+ select[i] = BlackOutline( themeNames[i], DEFAULT_MENU_FONT_SIZE, &yellow);
}
LoadBothBkgds("main_bkg.png");
@@ -148,8 +146,6 @@
titleRects[i].w = titleRects[i].h = titleRects[i].x = 0;
}
- TTF_CloseFont(font);
- font = NULL;
settings.use_english = old_use_english;
while (!stop)
Modified: tuxtype/trunk/src/titlescreen.c
===================================================================
--- tuxtype/trunk/src/titlescreen.c 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/src/titlescreen.c 2009-03-03 21:40:00 UTC (rev 920)
@@ -39,7 +39,6 @@
static Mix_Chunk* snd_move = NULL;
static Mix_Chunk* snd_select = NULL;
static Mix_Chunk* snd_welcome = NULL;
-static TTF_Font* font = NULL;
/* --- locations we need --- */
static SDL_Rect text_dst[TITLE_MENU_ITEMS + 1]; // location of menu text
@@ -908,8 +907,8 @@
}
/* --- create text surfaces --- */
- reg_text[i][j] = BlackOutline( gettext(menu_text[j + 5 * i]), font, &white);
- sel_text[i][j] = BlackOutline( gettext(menu_text[j + 5 * i]), font, &yellow);
+ reg_text[i][j] = BlackOutline( gettext(menu_text[j + 5 * i]), DEFAULT_MENU_FONT_SIZE, &white);
+ sel_text[i][j] = BlackOutline( gettext(menu_text[j + 5 * i]), DEFAULT_MENU_FONT_SIZE, &yellow);
/* (first make sure ptr valid to avoid segfault) */
if (sel_text[i][j] && sel_text[i][j]->w > max)
@@ -1045,15 +1044,13 @@
fprintf(stderr, "titlescreen.c load_media(): settings.theme_font_name is %s\n",
settings.theme_font_name);
}
- font = LoadFont(settings.theme_font_name, MENU_FONT_SIZE);
/* Make sure we were successful: */
if (!CurrentBkgd()
|| !title
|| !speaker
|| !speakeroff
- || !Tux
- || !font)
+ || !Tux)
{
fprintf(stderr, "load_media() - could not load all needed files\n");
unload_media();
@@ -1113,12 +1110,6 @@
Tux = NULL;
}
- if (font)
- {
- TTF_CloseFont(font);
- font = NULL;
- }
-
LOG("Leaving load_media():\n");
unload_menu();
@@ -1134,25 +1125,11 @@
LOG( "NotImplemented() - creating text\n" );
- s1 = BlackOutline( gettext_noop("Work In Progress!"), font, &white);
- s2 = BlackOutline( gettext_noop("This feature is not ready yet"), font, &white);
- s3 = BlackOutline( gettext_noop("Discuss the future of TuxTyping at"), font, &white);
+ s1 = BlackOutline( gettext_noop("Work In Progress!"), DEFAULT_MENU_FONT_SIZE, &white);
+ s2 = BlackOutline( gettext_noop("This feature is not ready yet"), DEFAULT_MENU_FONT_SIZE, &white);
+ s3 = BlackOutline( gettext_noop("Discuss the future of TuxTyping at"), DEFAULT_MENU_FONT_SIZE, &white);
+ s4 = BlackOutline( "http://tuxtype.sf.net/forums", DEFAULT_MENU_FONT_SIZE, &white);
- /* we always want the URL in english */
- /* NOTE: all fonts are almost certain to include glyphs for ASCII, */
- /* so the following "english_font" hackery is probably unnecessary: */
- if (!settings.use_english)
- {
- TTF_Font *english_font;
- settings.use_english = 1;
- english_font = LoadFont(DEFAULT_MENU_FONT, MENU_FONT_SIZE);
- s4 = BlackOutline( "http://tuxtype.sf.net/forums", english_font, &white);
- TTF_CloseFont(english_font);
- settings.use_english = 0;
- }
- else
- s4 = BlackOutline( "http://tuxtype.sf.net/forums", font, &white);
-
tux = LoadSprite("tux/tux-egypt", IMG_ALPHA);
if (s1 && s2 && s3 && s4 && tux)
@@ -1333,8 +1310,8 @@
/* present. */
for (i = 0; i < lists; i++)
{
- titles[i] = BlackOutline( wordlistName[i], font, &white );
- select[i] = BlackOutline( wordlistName[i], font, &yellow);
+ titles[i] = BlackOutline( wordlistName[i], DEFAULT_MENU_FONT_SIZE, &white );
+ select[i] = BlackOutline( wordlistName[i], DEFAULT_MENU_FONT_SIZE, &yellow);
}
left = LoadImage("left.png", IMG_ALPHA);
@@ -1532,7 +1509,6 @@
SDL_Surface* titles[MAX_WORD_LISTS] = {NULL};
SDL_Surface* select[MAX_WORD_LISTS] = {NULL};
SDL_Surface* bkg = NULL;
- TTF_Font* font = NULL;
SDL_Rect titleRects[8];
int stop = 0;
int loc = 0;
@@ -1617,16 +1593,13 @@
settings.use_english = 1;
// HACK: is font empty now???
- font = LoadFont(settings.theme_font_name, MENU_FONT_SIZE);
for (i = 0; i<themes; i++)
{
- titles[i] = BlackOutline(wordTypes[i], font, &white);
- select[i] = BlackOutline(wordTypes[i], font, &yellow);
+ titles[i] = BlackOutline(wordTypes[i], DEFAULT_MENU_FONT_SIZE, &white);
+ select[i] = BlackOutline(wordTypes[i], DEFAULT_MENU_FONT_SIZE, &yellow);
}
- TTF_CloseFont(font);
- font = NULL;
settings.use_english = old_use_english;
@@ -1763,7 +1736,6 @@
SDL_Surface* left = NULL, *right = NULL;
SDL_Rect leftRect, rightRect;
SDL_Surface* bkg = NULL;
- TTF_Font* font = NULL;
SDL_Rect titleRects[8];
int stop = 0;
int loc = 0;
@@ -1812,19 +1784,14 @@
fclose(fp);
settings.use_english = 1;
- // HACK: is font empty now???
- font = LoadFont(settings.theme_font_name, MENU_FONT_SIZE);
for (i = 0; i<themes; i++)
{
- titles[i] = BlackOutline(editWordW[i], font, &white);
+ titles[i] = BlackOutline(editWordW[i], DEFAULT_MENU_FONT_SIZE, &white);
strcat(editWordY[i],"|");
- select[i] = BlackOutline(editWordY[i], font, &yellow);
+ select[i] = BlackOutline(editWordY[i], DEFAULT_MENU_FONT_SIZE, &yellow);
}
- TTF_CloseFont(font);
- font = NULL;
-
settings.use_english = old_use_english;
strncpy(settings.theme_data_path, old_theme_path, FNLEN - 1);
@@ -1885,18 +1852,15 @@
if (event.key.keysym.sym == SDLK_BACKSPACE)
{
- font = LoadFont(settings.theme_font_name, MENU_FONT_SIZE);
len = ConvertFromUTF8(temp, editWordW[loc], FNLEN);
temp[len - 1] = temp[len];
len = ConvertToUTF8(temp, editWordW[loc], FNLEN);
- titles[loc] = BlackOutline(editWordW[loc], font, &white );
+ titles[loc] = BlackOutline(editWordW[loc], DEFAULT_MENU_FONT_SIZE, &white );
len = ConvertFromUTF8(temp, editWordY[loc], FNLEN);
temp[len - 2] = temp[len - 1];
temp[len - 1] = temp[len];
len = ConvertToUTF8(temp, editWordY[loc], FNLEN);
- select[loc] = BlackOutline(editWordY[loc], font, &yellow);
- TTF_CloseFont(font);
- font = NULL;
+ select[loc] = BlackOutline(editWordY[loc], DEFAULT_MENU_FONT_SIZE, &yellow);
break;
}
@@ -1955,20 +1919,17 @@
if(i)
{
- font = LoadFont(settings.theme_font_name, MENU_FONT_SIZE);
len = ConvertFromUTF8(temp, editWordW[loc], FNLEN);
temp[len] = event.key.keysym.unicode;
temp[len + 1] = 0;
ConvertToUTF8(temp,editWordW[loc], FNLEN);
- titles[loc] = BlackOutline(editWordW[loc], font, &white );
+ titles[loc] = BlackOutline(editWordW[loc], DEFAULT_MENU_FONT_SIZE, &white );
len = ConvertFromUTF8(temp,editWordY[loc], FNLEN);
temp[len + 1]=0;
temp[len] = temp[len-1];
temp[len - 1] = event.key.keysym.unicode;
ConvertToUTF8(temp,editWordY[loc], FNLEN);
- select[loc] = BlackOutline(editWordY[loc], font, &yellow);
- TTF_CloseFont(font);
- font = NULL;
+ select[loc] = BlackOutline(editWordY[loc], DEFAULT_MENU_FONT_SIZE, &yellow);
i = 0;
break;
}
Modified: tuxtype/trunk/tuxtype.spec.in
===================================================================
--- tuxtype/trunk/tuxtype.spec.in 2009-03-03 16:26:50 UTC (rev 919)
+++ tuxtype/trunk/tuxtype.spec.in 2009-03-03 21:40:00 UTC (rev 920)
@@ -11,36 +11,47 @@
# norootforbuild
Name: @PACKAGE@
+Obsoletes: tuxtype_preview <= @VERSION@
+Provides: tuxtype_preview = @VERSION@
Summary: Typing tutor for children
Url: http://alioth.debian.org/projects/tux4kids/
-%define realname tuxtype_w_fonts
+%define realname @PACKAGE at _w_fonts
+%define progname tuxtype
License: GNU General Public License (GPL) v2, Open Font License v1.1, free (BSD-like) license
Group: Amusements/Games/Action/Other
Version: @VERSION@
Release: 1
Vendor: openSUSE-Education
Source: %realname-%version.tar.bz2
-Source1: tuxtype.desktop
-BuildRequires: SDL-devel SDL_image-devel SDL_mixer-devel dialog gcc-c++ SDL_Pango-devel gtk-devel
-BuildRequires: SDL_ttf-devel
-BuildRequires: ImageMagick
-%if 0%{?suse_version}
-BuildRequires: update-desktop-files
-BuildRequires: fdupes
-BuildRequires: freefont
+
+BuildRequires: SDL_image-devel >= 1.2.2
+BuildRequires: SDL_ttf-devel > 2.0.8
+BuildRequires: SDL-devel
+BuildRequires: SDL_mixer-devel
+BuildRequires: SDL_Pango-devel
+BuildRequires: ImageMagick
+
+%if 0%{?suse_version}
+BuildRequires: update-desktop-files
+BuildRequires: fdupes
+%endif
+
+%if 0%{?fedora_version}
+BuildRequires: desktop-file-utils
+%endif
+
+%if 0%{?mandriva_version}
+BuildRequires: desktop-file-utils
+Requires(post): desktop-file-utils
+Requires(postun): desktop-file-utils
%endif
-%if 0%{?fedora_version}
-BuildRequires: desktop-file-utils
-BuildRequires: freefont
-%endif
-%if 0%{?mandriva_version}
-BuildRequires: fonts-ttf-freefont
-BuildRequires: pulseaudio-esound-compat
-Requires(post): desktop-file-utils
-Requires(postun): desktop-file-utils
-%endif
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%if 0%{?mandriva_version} >= 2009
+BuildRequires: pulseaudio-esound-compat
+%endif
+BuildRoot: %{_tmppath}/%{progname}-%{version}-build
+
+
%description
Tux Typing is an educational typing tutor game starring Tux, the Linux
penguin.
@@ -82,50 +93,60 @@
%prep
%setup -q -n %realname-%version
+rm -rf $(find . -type d -name CVS)
+rm -rf $(find . -type d -name .svn)
+rm -rf $(find . -type d -name .xvpics)
%build
-## autoreconf --force --install
-%configure --docdir="%{_defaultdocdir}/%{name}" --disable-rpath
+%configure --docdir="%{_defaultdocdir}/%{progname}" --disable-rpath
make %{?jobs:-j %jobs}
+
%install
%if 0%{?suse_version} < 1030
-for i in $(find . -name Makefile ); do
+for i in $(find . -progname Makefile ); do
sed -i "s#MKDIR_P#mkdir_p#g" $i
done
%endif
+
make DESTDIR=%{buildroot} install
# remove unneeded data
rm -rf %buildroot/usr/doc/tuxtype
rm -rf %buildroot%_datadir/tuxtype/{autorun.inf,OFL.txt}
+
# install desktop file and icon
mkdir -p %buildroot%_datadir/pixmaps
-convert -scale 48x48 %name.ico %buildroot%_datadir/pixmaps/%name.png
+convert -scale 48x48 tuxtype.ico %buildroot%_datadir/pixmaps/%progname.png
rm -rf %buildroot%_datadir/tuxtype/*.ico
+
%if 0%{?suse_version}
-#install -Dm644 %{SOURCE1} %buildroot%_datadir/applications/%name.desktop
-%suse_update_desktop_file -i %name Game KidsGame
+#install -Dm644 %{SOURCE1} %buildroot%_datadir/applications/%progname.desktop
+%suse_update_desktop_file -i %progname Game KidsGame
# save some discspace using symlinks
%fdupes -s %buildroot
%endif
+
%if 0%{?fedora_version}
# install desktop file
desktop-file-install --vendor="%{vendor}" \
--dir=%buildroot/%_datadir/applications \
- %{SOURCE1}
+ tuxtype.desktop
%endif
+
%if 0%{?mandriva_version}
#desktop-file-install --vendor="%{vendor}" \
# --dir=%buildroot/%_datadir/applications \
-install -Dm644 %{SOURCE1} %buildroot/%_datadir/applications/%name.desktop
+install -Dm644 tuxtype.desktop %buildroot/%_datadir/applications/%progname.desktop
%endif
+
# grmbl....
if [ ! -d %buildroot%{_datadir}/fonts/truetype ]; then
mkdir -p %buildroot%{_datadir}/fonts/truetype
ln -s %{_datadir}/tuxtype/fonts %buildroot%{_datadir}/fonts/truetype/ttf-sil-andika
fi
-%find_lang %name
+%find_lang %progname
+
%if 0%{?mandriva_version}
%post
%{update_menus}
@@ -137,23 +158,27 @@
%clean
rm -rf %buildroot
-%files -f %name.lang
+%files -f %progname.lang
%defattr(-,root,root)
-%doc README AUTHORS COPYING ChangeLog TODO
-# %doc tuxtype/docs/en/*.html
+#%doc README AUTHORS COPYING ChangeLog TODO
+%dir %_docdir/%{progname}
+%doc %_docdir/%{progname}/*
%doc data/sounds/README_SOUNDS.TXT
%doc data/images/README_IMAGES.TXT
-%if 0%{?fedora_version}
-%dir %_docdir/%{name}
-%doc %_docdir/%{name}/*
-%endif
+
+#%if 0%{?fedora_version}
+#%dir %_docdir/%{progname}
+#%doc %_docdir/%{progname}/*
+#%endif
+
%{_bindir}/tuxtype
%dir %_datadir/tuxtype
#%dir %_datadir/tuxtype/fonts
%dir %{_datadir}/fonts/truetype
%dir %{_datadir}/fonts/truetype/ttf-sil-andika
%_datadir/tuxtype/*
-%_datadir/applications/*%name.desktop
-%_datadir/pixmaps/%name.png
+%_datadir/applications/*%progname.desktop
+%_datadir/pixmaps/%progname.png
+
%changelog
Added: tuxtype/trunk/tuxtype_preview.spec.in
===================================================================
--- tuxtype/trunk/tuxtype_preview.spec.in (rev 0)
+++ tuxtype/trunk/tuxtype_preview.spec.in 2009-03-03 21:40:00 UTC (rev 920)
@@ -0,0 +1,186 @@
+## tuxtype_preview.spec.in - process with configure to substitute in PACKAGE
+## VERSION strings
+#
+#
+# spec file for package tuxtype_preview
+#
+# This specfile version produces rpm packages with "tuxtype_preview"
+# in the name, rather than "tuxtype". The tuxtype program is installed
+# identically with either specfile. This flavor is intended for pre-release
+# builds.
+#
+# This file and all modifications and additions to the pristine
+# package are under the same license as the package itself.
+#
+
+# norootforbuild
+
+Name: @PACKAGE at _preview
+Obsoletes: tuxtype <= @VERSION@
+Provides: tuxtype = @VERSION@
+Summary: Typing tutor for children
+Url: http://alioth.debian.org/projects/tux4kids/
+%define realname @PACKAGE at _w_fonts
+%define progname tuxtype
+License: GNU General Public License (GPL) v2, Open Font License v1.1, free (BSD-like) license
+Group: Amusements/Games/Action/Other
+Version: @VERSION@
+Release: 1
+Vendor: openSUSE-Education
+Source: %realname-%version.tar.bz2
+
+BuildRequires: SDL_image-devel >= 1.2.2
+BuildRequires: SDL_ttf-devel > 2.0.8
+BuildRequires: SDL-devel
+BuildRequires: SDL_mixer-devel
+BuildRequires: SDL_Pango-devel
+BuildRequires: ImageMagick
+
+%if 0%{?suse_version}
+BuildRequires: update-desktop-files
+BuildRequires: fdupes
+%endif
+
+%if 0%{?fedora_version}
+BuildRequires: desktop-file-utils
+%endif
+
+%if 0%{?mandriva_version}
+BuildRequires: desktop-file-utils
+Requires(post): desktop-file-utils
+Requires(postun): desktop-file-utils
+%endif
+%if 0%{?mandriva_version} >= 2009
+BuildRequires: pulseaudio-esound-compat
+%endif
+
+BuildRoot: %{_tmppath}/%{progname}-%{version}-build
+
+
+%description
+Tux Typing is an educational typing tutor game starring Tux, the Linux
+penguin.
+
+In "Fish Cascade" you control Tux as he searches for fish to eat. Fish fall
+from the top of the screen. These fish have letters on them. Unforunately
+for Tux, eating a fish with a letter on it will cause his stomach to
+become ill, so it is up to you to help Tux eat fish! By typing the
+letters, it will cause them to disappear so tux can chow down on the
+fish.
+
+In "Comet Zap" you control Tux as he defends the cities from comets. To
+protect a city from a comet, type the letter on the comet and it will
+cause Tux to destroy it with a laser! (In case you wondered, Comet Zap
+is an adaptation of the *great* math drill game, "Tux, of Math Command").
+
+"Phrase Typing" offers practice typing phrases and sentences, with on-
+screen display of accuracy and typing speed.
+
+"Lessons" is an additional typing activity that we have not yet
+completed. You will find other menu entries for planned features
+that still need to be implemented.
+
+Authors:
+--------
+ Current maintainer and programming lead:
+ David Bruce <davidstuartbruce at gmail.com>
+
+ Jesse Andrews <jdandr2 at uky.edu>
+ Calvin Arndt <calarndt at tux4kids.org>
+ Sam Hart <hart at geekcomix.com> --- Sam started it all with TuxType 1!!!
+ Jacob Greig <bombastic at firstlinux.net>
+ Sreyas Kurumanghat <k.sreyas at gmail.com>
+ Sreerenj Balachandran <bsreerenj at gmail.com>
+ Vimal Ravi <vimal_ravi at rediff.com>
+ Prince K. Antony <prince.kantony at gmail.com>
+ Mobin Mohan <mobinmohan at gmail.com>
+
+
+%prep
+%setup -q -n %realname-%version
+
+%build
+%configure --docdir="%{_defaultdocdir}/%{progname}" --disable-rpath
+make %{?jobs:-j %jobs}
+
+
+%install
+%if 0%{?suse_version} < 1030
+for i in $(find . -progname Makefile ); do
+ sed -i "s#MKDIR_P#mkdir_p#g" $i
+done
+%endif
+
+make DESTDIR=%{buildroot} install
+# remove unneeded data
+rm -rf %buildroot/usr/doc/tuxtype
+rm -rf %buildroot%_datadir/tuxtype/{autorun.inf,OFL.txt}
+
+# install desktop file and icon
+mkdir -p %buildroot%_datadir/pixmaps
+convert -scale 48x48 tuxtype.ico %buildroot%_datadir/pixmaps/%progname.png
+rm -rf %buildroot%_datadir/tuxtype/*.ico
+
+%if 0%{?suse_version}
+#install -Dm644 %{SOURCE1} %buildroot%_datadir/applications/%progname.desktop
+%suse_update_desktop_file -i %progname Game KidsGame
+# save some discspace using symlinks
+%fdupes -s %buildroot
+%endif
+
+%if 0%{?fedora_version}
+# install desktop file
+desktop-file-install --vendor="%{vendor}" \
+ --dir=%buildroot/%_datadir/applications \
+ tuxtype.desktop
+%endif
+
+%if 0%{?mandriva_version}
+#desktop-file-install --vendor="%{vendor}" \
+# --dir=%buildroot/%_datadir/applications \
+install -Dm644 tuxtype.desktop %buildroot/%_datadir/applications/%progname.desktop
+%endif
+
+# grmbl....
+if [ ! -d %buildroot%{_datadir}/fonts/truetype ]; then
+ mkdir -p %buildroot%{_datadir}/fonts/truetype
+ ln -s %{_datadir}/tuxtype/fonts %buildroot%{_datadir}/fonts/truetype/ttf-sil-andika
+fi
+
+%find_lang %progname
+
+%if 0%{?mandriva_version}
+%post
+%{update_menus}
+
+%postun
+%{clean_menus}
+%endif
+
+%clean
+rm -rf %buildroot
+
+%files -f %progname.lang
+%defattr(-,root,root)
+#%doc README AUTHORS COPYING ChangeLog TODO
+%dir %_docdir/%{progname}
+%doc %_docdir/%{progname}/*
+%doc data/sounds/README_SOUNDS.TXT
+%doc data/images/README_IMAGES.TXT
+
+#%if 0%{?fedora_version}
+#%dir %_docdir/%{progname}
+#%doc %_docdir/%{progname}/*
+#%endif
+
+%{_bindir}/tuxtype
+%dir %_datadir/tuxtype
+#%dir %_datadir/tuxtype/fonts
+%dir %{_datadir}/fonts/truetype
+%dir %{_datadir}/fonts/truetype/ttf-sil-andika
+%_datadir/tuxtype/*
+%_datadir/applications/*%progname.desktop
+%_datadir/pixmaps/%progname.png
+
+
+%changelog
More information about the Tux4kids-commits
mailing list