On Saturday 01 of October 2005 17:09, Robert 'dzeus' Graużenis wrote: > 1. Wsparcie dla utf8 psuje kodowanie iso-8859-2 przy locale pl_PL: > > F3 na grip.spec i: > %description -l > pl Grip jest odtwarzaczem kompaktów. Mo|e by^G u|ywany jako front-end > do programów [ci^Egaj^Ecych [cie|ki CD oraz kompresuj^Ecych pliki > dzwi^Ykowe do formatu MP3. Umo|liwia [ci^Eganie tak caBych jak i wybranych > cz^Y[ci utworu. Program ten wspiera protokóB CDDB w celu > [ci^Egania/wysyBania danych o kompakcie z/do umo|liwiaj^Ecego tego typu > operacje serwera. > > przebudowany z --without utf8, kodowanie poprawne.
Problem jest w src/view.c w fragmencie - całe przekodowywanie do wide char jest ok dla znaków ascii, a dla pozosałych jest kaplica. #ifndef UTF8 if (view->viewer_nroff_flag && c == '\b') { #else /* UTF8 */ mblen = 1; mbbuf[0] = convert_to_display_c(c); mbbuf[1] = 0; while (mblen < MB_LEN_MAX) { int res; memset (&mbs, 0, sizeof (mbs)); res = mbrtowc (&wc, mbbuf, mblen, &mbs); if (res <= 0 && res != -2) { wc = '.'; mblen = 1; break; } if (res == mblen) break; mbbuf[mblen] = convert_to_display_c (get_byte (view, from + mblen)); mblen++; } printw("%s\n", wc); if (mblen == MB_LEN_MAX) { wc = '.'; mblen = 1; } from += mblen - 1; if (view->viewer_nroff_flag && wc == '\b') { #endif /* UTF8 */ gdzie potem chcą to wyświetlać: if (!iswprint (wc)) wc = '.'; view_add_character (view, wc); { int cw = wcwidth(wc); if (cw > 1) col+= cw - 1; } -- Arkadiusz Miśkiewicz PLD/Linux Team http://www.t17.ds.pwr.wroc.pl/~misiek/ http://ftp.pld-linux.org/ _______________________________________________ pld-devel-pl mailing list pld-devel-pl@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl