polinux
polinux copied to clipboard
Obsługa polskich znaków
Znaczy sie trzeba przerobic printk?
Jak na razie ogarnąłem problem bardzo powierzchownie, ale na pierwszy rzut oka wygląda to tak:
- printk nie obsługuje unikodu
- nawet, jeżeli zdecydujemy się na ISO-8859-2, czcionka domyślnie używana przez kernel i tak nie obsługuje tej strony kodowej. Problemem z ustaleniem kodowania innego niż UTF-8 będzie to, że wiadomości w przestrzeni użytkownika nie będą się poprawnie wyświetlać.
Myślę, że najlepszym rozwiązaniem będzie dodanie do printk obsługi unikodu (np. przez konwersję na ISO-8859-2 lub ascii w razie braku obsługi polskich znaków) wraz ze sprawdzeniem, jaka strona kodowa jest w użyciu (nie wiem jeszcze, czy jest to możliwe/sensowne). Skrypty tłumaczące, które teraz piszę, zakładają obecność polskich znaków w plikach tłumaczeń, ale je usuwają przed wstawieniem ich do kodu. W ten sposób, gdy polskie znaki zostaną już ogarnięte, nie trzeba będzie przerabiać istniejących tłumaczeń.
- jak nie obsługuje to może dodać?
- jest wiele formatów w starym texu byl /l=ł /a=ą w esperanto jest x czyli cx=ĉ czyli x dodany do litery . Po polsku oczywiscie jest problem z ż i ź bo mamy te sama litere i rózne znaki dodatkowe.
Ad 0. Jak masz czas, to jak najbardziej spójrz w to. Jak napisałem wyżej, konieczne jest, aby printk brał pod uwagę aktualną stronę kodową. Tylko nie nadsyłaj jeszcze próśb o wrepowzięcie - repozytorium niedługo czeka kompletna reorganizacja.