1294766943 .-- wiechu/gg:1148896 (18:23) --- -- - 1294766943 | Mam zamiar zrobić dla USE_UNICODE zrobić #define xisapha(c) iswalpha(c) 1294766961 | Sprawdzałem przed chwilą dla Ctrl-W - bardzo ładnie działa. 1294767003 | A w ogóle to najlepiej pozbyć się tych naszych funkcji i obsługiwać locale pełną gębą. 1294767003 `----- ---- --- -- - 1294767043 .-- darkgg/gg:1058968 --- -- - 1294767043 | sorry, raczej idziemy w drugą stronę - czyt. pozbycie się wchar_t i korzystanie z MBS. 1294767067 | tzn mój kod w taką stronę idzie... 1294767067 `----- ---- --- -- - 1294767095 .-- wiechu/gg:1148896 (18:26) --- -- - 1294767095 | To się chyba nie zrozumieliśmy, bo co złego w wchar_t? 1294767095 `----- ---- --- -- - 1294767139 .-- darkgg/gg:1058968 --- -- - 1294767139 | to złego że UTF-8 nie da się przenośnie przekształcać na wchar_t. 1294767139 `----- ---- --- -- - 1294767151 .-- wiechu/gg:1148896 (18:27) --- -- - 1294767151 | No ale niech tam - masz pomysł na isalpha(_locale) ? 1294767151 `----- ---- --- -- - 1294767183 .-- darkgg/gg:1058968 --- -- - 1294767183 | glib i gnulib ztcp ma funkcję do tego. 1294767242 | i wchar_t ma sens jak masz wiele locali, jak będzie tylko utf8 to ma mały sens. 1294767242 `----- ---- --- -- - 1294767476 .-- wiechu/gg:1148896 (18:32) --- -- - 1294767476 | Muszę to przemyśleć, bo miałem wrażenie (nadal je mam), że na zrobienie wszystkich wewnętrznych funkcji na wchar_t byłoby niemal tak proste jak zrobienie tego dla char i ascii. 1294767505 | Nie twierdzę, że mam rację. Twierdzę, że mam wrażenie i stąd wniosek, że pora to przemyśleć jeśli twierdzisz inaczej. 1294767505 `----- ---- --- -- - 1294767520 .-- darkgg/gg:1058968 --- -- - 1294767520 | no to mówie że wchar_t działa dla aktualnych locali, jak masz inne niż UTF8 a działasz na UTF8 to nie będzie działać. 1294767539 | chyba że chcesz przełaczasz locale co chwilę. 1294767572 | tak, mam funkcję która robi mbtowc() z UTF-8 do wchar_t. 1294767612 | która działa na aktualnym linuksowym glibie (bo wchar_t to UCS-32) i może będzie działać dla innych systemów. 1294767660 | można przejść na wchar_t (zamiast na UTF-8). 1294767710 | ale nie wiem jak napiszesz f. do konwertowania z takiego np. iso-8859-2 na wchar_t. (ten sam problem co wyżej) 1294767710 `----- ---- --- -- - 1294767795 .-- wiechu/gg:1148896 (18:37) --- -- - 1294767795 | Dla iso? wc = c; -- oto cała funkcja. 1294767795 `----- ---- --- -- - 1294767813 .-- darkgg/gg:1058968 --- -- - 1294767813 | w glibie tablica okreslajaca typ znaku dla utf-8 waży 811 KB ;/ 1294767840 | skrypt generujący ma tylko 33 KB. ;/ 1294767864 | wc = c? i jak to będzie dzialać dla znaków >= 0x80? 1294767946 | dla gnu linuksa (pewnie dla wszystkich systemów które korzystają z glibca) to ta tablica wyglada tak samo jak table_iso_8859_2 z recode_tables.h 1294767946 `----- ---- --- -- - 1294768036 .-- wiechu/gg:1148896 (18:41) --- -- - 1294768036 | OK, niech to przemyślę przy kawie. 1294768036 `----- ---- --- -- - 1294768040 .-- darkgg/gg:1058968 --- -- - 1294768040 | możemy wspierać tylko system które mają wchar_t unikodowe (windows ma UCS-16) 1294768084 | ale trzeba wcześniej sprawdzić jakie to systemy, i poinformować resztę userów że ekg2 u nich nie będzie działać. (czyt. trzeba wiedzieć ilu userom popsujemy ekg2) 1294768194 | A takie dyskusje to jednak lepiej na liście a nie ze mną, bo ja jestem dość konserwatywny jeśli chodzi o zmiany w kodzie (i może widzę problem gdzie go nie ma) 1294768194 `----- ---- --- -- -