1
0
mirror of https://git.zap.org.au/git/trader.git synced 2024-12-04 14:46:45 -05:00
Commit Graph

423 Commits

Author SHA1 Message Date
John Zaitseff
74aa3e84df Fix a couple of display bugs
Firstly, Ncurses addchstr() and family do not work, it seems, with
multibyte strings, so use addch() instead.  Secondly, PRINTABLE_MAP_VAL
returns a wchar_t wide character, not a byte-sized char.
2011-08-30 09:15:15 +10:00
John Zaitseff
7fba9f8844 Update the version number in the PO files for Star Traders 7.3 2011-08-30 08:28:05 +10:00
John Zaitseff
917ed49975 Start preparing for version 7.3: bug fixes and a Russian translation 2011-08-30 08:13:28 +10:00
John Zaitseff
6b36465f7d Update source line numbers in the translation PO files 2011-08-29 14:14:44 +10:00
John Zaitseff
4ca99815b8 Be a little more diligent when it comes to wchar_t vs. wint_t
The %lc format is actually of type wint_t, according to printf(3), not
wchar_t, even though these are of the same underlying type on most (all?)
platforms.
2011-08-29 14:13:29 +10:00
John Zaitseff
df3ccfd583 Source line numbers have changed for all translations 2011-08-29 10:51:19 +10:00
John Zaitseff
752eed74c5 Cosmetic change: replace one space with one tab 2011-08-29 10:40:31 +10:00
John Zaitseff
e3733d8921 Define _XOPEN_SOURCE_EXTENDED, required by old versions of NcursesW
The macro _XOPEN_SOURCE_EXTENDED is required by some old versions of
NcursesW for wide-character function definitions.
2011-08-29 10:38:55 +10:00
John Zaitseff
82ca16e110 Bug fix: wchar_t may be smaller than int
On some platforms (eg, Cygwin), wchar_t is smaller than int, so type
promotion requires an appropriate cast for va_arg.
2011-08-29 10:34:27 +10:00
John Zaitseff
1f3be16193 The "%lc" directive requires a wint_t type, not wchar_t
This is essentially only to keep GCC quiet.
2011-08-29 09:34:29 +10:00
John Zaitseff
a6eb484a96 Make sure po/README is distributed 2011-08-29 08:17:13 +10:00
John Zaitseff
e29b94f36a List new features of Star Traders 7.2
The anticipated release date is tomorrow!
2011-08-28 17:17:10 +10:00
John Zaitseff
735f7ce3d5 Remove more unwanted word-wrapping; propogate this to msgmerge(1) 2011-08-28 17:13:12 +10:00
John Zaitseff
2c57284edf Add the English (Canadian) translation of Star Traders
Hopefully, this has the correct spelling.  Corrections welcome!
2011-08-28 17:06:53 +10:00
John Zaitseff
a9dfde342a Correct the spelling of "-ize" vs. "-ise" 2011-08-28 17:06:03 +10:00
John Zaitseff
39ac89e1cd Remove unwanted word-wrapping from the Star Traders help text 2011-08-28 16:59:59 +10:00
John Zaitseff
868013e5a5 Add translations for en_AU, en_GB and en_US
In particular, replace quotes with Unicode variants and change spelling
appropriately.
2011-08-28 16:10:46 +10:00
John Zaitseff
0ec87f8b34 Multibyte locales require a wide-character version of Curses 2011-08-28 14:40:39 +10:00
John Zaitseff
3b8aaf193e Don't suggest /tmp for building: it may not be large enough 2011-08-28 14:11:29 +10:00
John Zaitseff
3a68213e80 Remove all unnecessary Gnulib modules
In particular, the various printf-posix modules are not needed as %ls and
the ' flag (thousands separator) is supported on all modern platforms (it
is needed on Cygwin 1.5.x, for example, but the 1.5.x series do not
support swprintf() anyway).  Similarly, OpenBSD 3.8 (released November
2005) is not supported: it does not have <monetary.h>.  A number of
modules (locale, string, unistd, wchar) are only required for NetBSD 5.0
(c. 2009: quite recent).  We try to support MacOS X 10.5 (October 2007),
but it may require GNU libiconv.
2011-08-26 06:33:40 +10:00
John Zaitseff
dffb4c59fe Implement the single-byte equivalent of getwch()
This implementation assembles a wide character from a stream of
multibyte-forming bytes.
2011-08-26 04:51:44 +10:00
John Zaitseff
4c99f9a57f More (slight) code clean-ups 2011-08-26 03:22:25 +10:00
John Zaitseff
cb67513bb9 Correct a minor bug in cursor decrement (cpos_dec) 2011-08-25 22:15:12 +10:00
John Zaitseff
dfab785ba7 Add a couple more places where the character constant is a wide char 2011-08-25 21:55:10 +10:00
John Zaitseff
167bcd82f5 Remove the unused header file <ctype.h> 2011-08-25 21:45:22 +10:00
John Zaitseff
1c2518a78b Minor clean-up: replace character constants with wide-char versions
Wide-char character constants is not strictly needed for most (all?)
modern C compilers, as ASCII maps to wchar_t directly (as long as
__STDC_ISO_10646__ is defined).  However, it doesn't hurt to be pedantic!
2011-08-25 21:34:41 +10:00
John Zaitseff
61411e3416 Rearrange the order of constants, type declarations and macros 2011-08-25 14:49:51 +10:00
John Zaitseff
10815a2803 Move some global variables to intf.c and intf.h
Move the keycode_company, printable_map_val, chtype_map_val,
keycode_game_move, printable_game_move and chtype_game_move global
variables to intf.c and intf.h.
2011-08-25 14:48:31 +10:00
John Zaitseff
4733e98e7f Change program_name() to be a global variable
We're using global variables all over the place, in any case...
2011-08-25 14:26:25 +10:00
John Zaitseff
485a867b99 Remove superfluous #include directives 2011-08-25 14:09:48 +10:00
John Zaitseff
20473ae409 Use wide-character functions for input routines and most strings
Convert all input routines, and most internal strings, to use
wide-character functions.  All extended characters are supported,
including those having column widths of zero (eg, combining characters),
one (eg, normal Western characters) and two (eg, many East Asian
characters).  This was quite a major undertaking!
2011-08-25 13:19:31 +10:00
John Zaitseff
b951b21894 Add global (wide-character) currency and numeric variables
Add the variables decimal_point, thousands_sep, currency_symbol,
mon_decimal_point and mon_thousands_sep, with code to initialise them.
2011-08-25 12:26:15 +10:00
John Zaitseff
3a4b014e64 Add the module wcswidth from the GNU Portability Library 2011-08-22 13:42:29 +10:00
John Zaitseff
07e9d30a66 Add the module wctob from the GNU Portability Library 2011-08-22 09:34:07 +10:00
John Zaitseff
150bcf10c2 Try loading UTF-8 strings with transliteration, if at all possible
Also fix a bug in save_game(): the iconv_open() parameters were the wrong
way around!
2011-08-20 16:27:11 +10:00
John Zaitseff
cf944c58f6 Minor fix: we don't use mbrtowc() in our program 2011-08-20 15:49:19 +10:00
John Zaitseff
a4cc805a65 Use wchar_t in answer_yesno()
Calls to wgetch(win) do not use wchar_t for the moment.
2011-08-20 15:38:26 +10:00
John Zaitseff
4b8d2529a8 Replace '0' with L'0', just in case 2011-08-20 15:27:22 +10:00
John Zaitseff
0a8e05f4d4 Rearrange the order of the internal mkchstr_XXX functions 2011-08-20 15:24:27 +10:00
John Zaitseff
b5b211313e Move chstrdup() to utils.c and rename it to xchstrdup()
The new name is for consistency with other XXXdup() functions used in
this program.
2011-08-20 15:17:09 +10:00
John Zaitseff
bc8dc76f00 Minor white-space formatting change: indent by 8 characters, not 7 2011-08-20 13:34:28 +10:00
John Zaitseff
c90265ec28 Replace "---" with "--": it looks better in text mode 2011-08-20 13:30:31 +10:00
John Zaitseff
4d145813ff Make the show_help() function multibyte-aware
All text in the show_help() function is now processed as wide characters.
2011-08-20 13:27:26 +10:00
John Zaitseff
7b544bbd35 Add the functions xwcrtomb() and xmbstowcs()
The xwcrtomb() and xmbstowcs() functions replace illegal characters with
EILSEQ_REPL ('?').  Adjust other functions, particularly mkchstr() and
friends, to suit.
2011-08-20 13:03:40 +10:00
John Zaitseff
336611559b Add the error-checking function xwcsdup() 2011-08-20 10:40:07 +10:00
John Zaitseff
02fd017807 Make the errno_exit() string a little more regular
This is to match all other such strings in the program.
2011-08-19 17:34:41 +10:00
John Zaitseff
a49c50b4fd Allow mkchstr_conv error strings to be localised 2011-08-19 17:24:28 +10:00
John Zaitseff
6fb62460ca Add some asserts to newtxwin(), just to be on the safe side 2011-08-19 17:20:41 +10:00
John Zaitseff
aeaf08a8a4 Possible bug fix: test for "C" locale when return string is opaque
On some systems the return string from setlocale() may be opaque, so we
need to explicitly set the locale to "C", then test the return value from
that.
2011-08-19 17:14:00 +10:00
John Zaitseff
8a7dfcaf99 Handle multibyte characters correctly in mkchstr()
Internal processing is now done in terms of wide characters (type
wchar_t).
2011-08-19 16:52:27 +10:00