Odpovídáte na názor ke článku Čeština? Jdi mi k šípku!.
[56] Samozřejmě se mýlíte. I poměrně tupý filtr more musí umět zalamovat na danou šíři, což bude těžko dělat bez znalosti UTF-8. O GUI apikacích nemluvě. Úpravy prostě jsou třeba. To, že program zřejmě nespadne, je sice pěkné, ale většině lidí to nestačí (stejně jako jim třeba nestačí, že program kompiluje).
Qt to tak samozřejmě dělá. Podívejte se na QDir::entryList(), vrací QStringList (tedy list stringů). Jsou to samozřejmě QStringy, tedy UTF-16. Jinými slovy na Linuxu to propadne na glibc, nějaký opendir(), poté asi readdir(), budeme parsovat, a výsledky strkat do QStringListu, samozřejmě s převodem z aktuální code page na UTF-16 (a budeme se modlit, aby název na disku opravdu byl v code page, ve které aplikace jede, jinak konverzi zmršíme). No a když budeme otevírat soubor, konstruktoru QFile předáte QString. Jak byste to chtěl řešit vy? Mít platformně závislý datový typ, do kterého ukládáte názvy souborů (na unixech 8-bit string, na Windows UTF-16 string, na jiných platformách jiný), a zavádět do Qt takovou příšernost? Asi ne.
[59] Jak je psáno výše, command line utility po přepnutí do UTF-8 vyžadují úpravy, a GUI aplikace je vyžadují ještě daleko drsněji. Podpora ANSI API je ve Windows z důvodu zpětné kompatibility. A připadne mi to daleko lepší, než před a po každém volání překládat všechny stringy do/z UTF-8 - podotýkám i u nových aplikací, a to zřejmě až do totálního vymření unixů.
[54] Konzole samozřejmě používala a používá Unicode, od první verze NT. Jinou věcí je font, který konzole používá (v některých verzích Windows uměl právě tak jednu code page). Nepleťte si Win32 konzoli a MS-DOS. Aplikace pro DOS používaly OEM code page, což je pro češtinu CP 852. Jejich volání se opět překládala (minulý čas je snad na místě) do Unicode. Názvů souborů se to ale netýkalo, protože 8.3 názvy si s češtinou moc nerozuměly.
Plain textové soubory chápaly aplikace pro DOS pochopitelně v OEM code page, tedy pro čšetinu CP852. Ne-Unicode aplikace pak pro češtinu ANSI 1250, s tím že zpravidla uměly v menu File/Open manuálně vybrat kódovou stránku ANSI/OEM. Unicode aplikace používaly při ukládání plain textu BOM, aby při otevírání bylo jasné, že jde o Unicode soubor. Vše přesně dle pravidel zpětné kompatibility: ANSI aplikace otevře text v OEM CP, Unicode aplikace otevře text v ANSI a OEM CP. Dopředná kompatibilita (aby třeba aplikace pro DOS otevíraly Unicode soubory) nebyla nikdy cílem.
Profesionální ajťák pracující pro korporát (narozen 1974). V soukromí však rád prosazuji svobodný software. Snažím se mít přehled o technologiích a trendech. Zastávám názor, že pokud chci něco kritizovat, musím s tím mít nějakou zkušenost. Jsem hrdý manžel, otec dvou dcer a opečovávatel kočky plemene Britská modrá krátkosrstá. Mám rád hudbu, knihy a kulturu obecně. V některých věcech však jdu proti proudu – používám Linux (konkrétně ZorinOS), svobodný software (LibreOffice, GIMP, Inkscape či Joomlu!) a jezdím v hybridním japonském autě.
Přečteno 55 080×
Přečteno 44 480×
Přečteno 39 306×
Přečteno 27 489×
Přečteno 27 389×