msgstr ""
"Project-Id-Version: SuperTux 0.2\n"
"POT-Creation-Date: \n"
-"PO-Revision-Date: 2005-05-11 20:00+0100\n"
+"PO-Revision-Date: 2005-05-12 20:08+0100\n"
"Last-Translator: Ondřej Hošek <ondra.hosek@gmail.com>\n"
"Language-Team: Czech\n"
"MIME-Version: 1.0\n"
"redistribute it under certain conditions; see the file COPYING for details.\n"
msgstr ""
"Copyright (c) 2005 Tým vývojářů SuperTuxu\n"
-"Tato hra přichází BEZ JAKÉKOLIV ZÁRUKY.Tento program je volný software, smíš jej\n"
+"Tato hra přichází BEZ JAKÉKOLIV ZÁRUKY. Tento program je volný software, smíš jej\n"
"distribuovat dle pokynů v souboru COPYING.\n"
#: src/title.cpp:402
#: src/statistics.cpp:174
#, c-format
msgid "Max coins collected: %d / %d"
-msgstr "Nejvíce sesbíraných mincí: %d / %d"
+msgstr "Nejvíce mincí: %d / %d"
#: src/statistics.cpp:178
#, c-format
msgid "Max fragging: %d / %d"
-msgstr "Nejvíce zneškodněných protivníků: %d / %d"
+msgstr "Nejvíce zneškod. protivníků: %d / %d"
#: src/statistics.cpp:182
#, c-format
msgid "Min time needed: %d / %d"
-msgstr "Nejméně upotřebeného času: %d / %d"
+msgstr "Nejméně upotřebeného času: %d / %d"
#: src/misc.cpp:79
#: src/misc.cpp:98
break;
}
last_char = first_char + (chars->h / h) * 16;
- if(last_char > 127) // we have left out some control chars at 128-159
+ if(last_char > 127 && last_char < 160) // we have left out some control chars at 128-159
last_char += 32;
// Load shadow font.
if(hl == 0)
hl = text.size();
+ for (uint i = 0; i < text.size(); i++)
+ if ((unsigned char) text[i] > 0xC2 && (unsigned char) text[i] < 0xC6)
+ hl--; // control characters are a WASTE.
+
return hl * w;
}
uint32_t drawing_effect, uint8_t alpha) const
{
SurfaceImpl* impl = pchars->impl;
+ int utf8suppl = 0;
Vector p = pos;
for(size_t i = 0; i < text.size(); ++i) {
int c = (unsigned char) text[i];
- if(c > 127) // correct for the 32 controlchars at 128-159
+ int d = 0;
+ if(c > 127 && c < 160) // correct for the 32 controlchars at 128-159
c -= 32;
+ if (c > 0xC2 && text.size() == i+1) // string ends with control char
+ {
+ std::cerr << "String \"" << text << "\" is malformed.\n";
+ return;
+ }
+ else
+ d = (unsigned char) text[i+1];
+
+ if (c == 0xC3 && d < 160) // first-byte identifier of U0080 ("C1 Control Characters and Latin-1 Supplement")
+ { // iso-8859-1 equiv character is capital A with tilde above, signified as "C3 83" in utf-8
+ utf8suppl = 64;
+ continue;
+ }
+ else if (c == 0xC3 && d >= 160) // U0080 pt. 2
+ {
+ utf8suppl = 32;
+ continue;
+ }
+ else if (c == 0xC4 && d < 160)
+ {
+ utf8suppl = 128;
+ continue;
+ }
+ else if (c == 0xC4 && d >= 160)
+ {
+ utf8suppl = 96;
+ continue;
+ }
+ else if (c == 0xC5 && d < 160) // first-byte identifier of U0100 ("Latin Extended-A")
+ { // iso-8859-1 equiv character is capital A with ring above, signified as "C3 85" in utf-8
+ utf8suppl = 192;
+ continue;
+ }
+ else if (c == 0xC5 && d >= 160) // first-byte identifier of U0100 ("Latin Extended-A")
+ { // iso-8859-1 equiv character is capital A with ring above, signified as "C3 85" in utf-8
+ utf8suppl = 160;
+ continue;
+ }
+ // insert more clauses here once somebody will need them
+
// a non-printable character?
if(c == '\n') {
p.x = pos.x;
p.x += w;
continue;
}
+
+ c += utf8suppl;
+ utf8suppl = 0;
int index = c - first_char;
int source_x = (index % 16) * w;