wmtime - update localization
When non-Latin alphabet characters are encountered in weekday and month names, the English defaults are used. This closes Debian bug #726125. Also, numbers are now printed when encountered in weekday and month names (e.g., Swahili).
This commit is contained in:
parent
400eb8b426
commit
32ffb9e740
|
@ -183,6 +183,7 @@ void get_lang(void)
|
||||||
do {
|
do {
|
||||||
ret = iconv(icd, &inp, &insize, &outp, &outsize);
|
ret = iconv(icd, &inp, &insize, &outp, &outsize);
|
||||||
} while (outsize > 0 && ret > 0);
|
} while (outsize > 0 && ret > 0);
|
||||||
|
if (strstr(outbuf,"?") != NULL) return;
|
||||||
for (outp = outbuf, outsize = 0; *outp != 0 && outsize < 2;
|
for (outp = outbuf, outsize = 0; *outp != 0 && outsize < 2;
|
||||||
outp++, outsize++)
|
outp++, outsize++)
|
||||||
day_of_week[i][outsize] = toupper(*outp);
|
day_of_week[i][outsize] = toupper(*outp);
|
||||||
|
@ -195,6 +196,7 @@ void get_lang(void)
|
||||||
do {
|
do {
|
||||||
ret = iconv(icd, &inp, &insize, &outp, &outsize);
|
ret = iconv(icd, &inp, &insize, &outp, &outsize);
|
||||||
} while (outsize > 0 && ret > 0);
|
} while (outsize > 0 && ret > 0);
|
||||||
|
if (strstr(outbuf,"?") != NULL) return;
|
||||||
for (outp = outbuf, outsize = 0; *outp != 0 && outsize < 3;
|
for (outp = outbuf, outsize = 0; *outp != 0 && outsize < 3;
|
||||||
outp++, outsize++)
|
outp++, outsize++)
|
||||||
mon_of_year[i][outsize] = toupper(*outp);
|
mon_of_year[i][outsize] = toupper(*outp);
|
||||||
|
@ -413,7 +415,10 @@ void DrawDate(int wkday, int dom, int month) {
|
||||||
|
|
||||||
k = 5;
|
k = 5;
|
||||||
for (i=0; i<2; i++) {
|
for (i=0; i<2; i++) {
|
||||||
copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
|
if (*p < 'A')
|
||||||
|
copyXPMArea((*p-'0')*6, 64, 6, 9, k, 49);
|
||||||
|
else
|
||||||
|
copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
|
||||||
k += 6;
|
k += 6;
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
|
@ -426,7 +431,10 @@ void DrawDate(int wkday, int dom, int month) {
|
||||||
copyXPMArea(61, 64, 4, 9, k, 49);
|
copyXPMArea(61, 64, 4, 9, k, 49);
|
||||||
k += 4;
|
k += 4;
|
||||||
for (i=0; i<3; i++) {
|
for (i=0; i<3; i++) {
|
||||||
copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
|
if (*p < 'A')
|
||||||
|
copyXPMArea((*p-'0')*6, 64, 6, 9, k, 49);
|
||||||
|
else
|
||||||
|
copyXPMArea((*p-'A')*6, 74, 6, 9, k, 49);
|
||||||
k += 6;
|
k += 6;
|
||||||
p++;
|
p++;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue