abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
dnes 21:22 | Komunita

Mozilla.cz informuje, že Mozilla z Firefoxu pro Android i iOS odstraní integraci „sledovacího“ systému Leanplum. Leanplum sbírá informace, jak moc uživatelé používají záložky, panely, integraci Pocketu apod. Českých uživatelů se to prý příliš netýká.

Ladislav Hagara | Komentářů: 0
dnes 20:44 | IT novinky

Microsoft v příspěvku na svém blogu představil WSLg (Windows Subsystem for Linux GUI) aneb rozšíření WSL přinášející možnost spouštění grafických linuxových aplikací. V dalším příspěvku je rozebrána architekturu WSLg. Videoukázka práce s WSLg na YouTube.

Ladislav Hagara | Komentářů: 0
dnes 15:00 | Komunita

Greg Kroah-Hartman zakázal Minnesotské univerzitě přispívat do Linuxu. Vědci úmyslně posílali patche s bezpečnostními chybami a pak psali vědecké články (pdf). Vědci používají pojem "pokrytecké commity" (hypocrite commits) aneb zdánlivě prospěšné commity, které ve skutečnosti přinášejí kritické problémy.

Ladislav Hagara | Komentářů: 26
dnes 09:00 | Zajímavý software

Program Zellij byl představen a vydán v beta verzi. Popis programu říká, že se jedná o terminálový pracovní prostor aneb program podobný programům tmux a screen. Naprogramovaný je v Rustu. Pluginy jsou ve WebAssembly.

Ladislav Hagara | Komentářů: 1
dnes 08:00 | Nová verze

Byla vydána verze 9.0 prohlížeče map a GPS logů GPXSee. Nová verze přináší podporu Mapsforge map, pro jejichž prohlížení tak již není potřebná Java.

Martin Tůma | Komentářů: 8
dnes 02:55 | IT novinky

Apple představil (keynote) nový iMac, iPad Pro, fialový iPhone 12, AirTag a Apple TV 4K. Půjde na novém iMacu a iPadu Pro s procesorem M1 kostka? :-)

Ladislav Hagara | Komentářů: 62
včera 23:22 | Komunita

Bouřlivou diskuzi (Hacker News, reddit) vyvolal commit, přesněji jeho popis, do linuxového jádra, který jenom odstranil jednu soukromou emailovou adresu ze souboru MAINTAINERS. Popis: „Jako zaměstnanec IBM nesmíte používat svůj účet Gmail k práci na VNIC. Není povoleno používat osobní emailový účet jako „koníček“. Jste zaměstnancem IBM 100 % času. Prosím, odstraňte se ze souboru maintainers. Uděluji vám jednorázovou výjimku k práci na VNIC, abyste mohl provést tuto změnu."

Ladislav Hagara | Komentářů: 43
včera 21:33 | Nová verze

Po roce vývoje od vydání verze 1.18.0 byla vydána nová stabilní verze 1.20.0 webového serveru a reverzní proxy nginx (Wikipedie). Nová verze přináší řadu novinek. Podrobný přehled v souboru CHANGES-1.20.

Ladislav Hagara | Komentářů: 0
včera 21:22 | Nová verze

Distribuce Tails specializující se ochranu online soukromí uživatele byla vydána ve verzi 4.18. Mimo jiné aktualizuje Tor Browser (10.0.16) a Thunderbird (78.9), opravuje několik chyb.

Fluttershy, yay! | Komentářů: 0
včera 14:44 | Komunita

Vzhledem k nejisté pandemické situaci bylo rozhodnuto, že LibreOffice Conference 2021 se bude opět konat online. Zatím je stanoveno datum 23. - 25. 9. 2021, brzy bude následovat vyhlášení call for papers. Novinky budou postupně zveřejňovány na stránkách konference a v skupině na Telegramu.

Zdeněk Crhonek | Komentářů: 0
Kolik času v průměru denně trávíte videohovory/-konferencemi? (ať už v práci, škole nebo soukromě)
 (51%)
 (12%)
 (15%)
 (12%)
 (7%)
 (1%)
 (2%)
Celkem 398 hlasů
 Komentářů: 7, poslední 8.4. 12:14
Rozcestník

Dotaz: smysl LC_CTYPE ?

29.11.2004 15:23 Zdenek Stryhal | skóre: 10 | blog: ZS
smysl LC_CTYPE ?
Přečteno: 332×
Snažím se pochopit jak funguje klávesnice.
Čeština, jak jsem se dočetl a vyzkoušel, nefunguje bez příslušně nastavené LC_CTYPE. Chápu, že se takto nastaví systém, aby správně příjmal znaky z klávesnice. Nechápu však, jak zařídit aby systém byl schopen zpracovat znaky z různých znakových sad.
Předpokládám, že pokud zvolím hodnotu "cs_CZ" bude fungovat také anglická klávesnice jako podmnožina. Jakou hodnotu mám však nastavit, kdybych chtěl přepínat mezi naprosto odlišnými klávesnicemi (např. us,cz,ru).

Odpovědi

29.11.2004 16:01 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Viz locale(7) a sekci Character Handling v info libc.

LC_CTYPE určuje vlastnosti znaků -- co je a není písmeno, co je odpovídající malé/velké písmeno čeho a pod.

S klávesnicí souvisí jen tak, že se špatně píší písmena, která nejsou považována za písmena (ale třeba za kontrolní znaky).

LC_CTYPE má odpovídat kódování, kterou používáš. Buď je to UTF-8, pak je jazyk celkem irelevantní, nebo jsi schizofrenik, protože žádná osmibitová znaková sada neobsahuje zároveň kompletní české i ruské znaky.
30.11.2004 08:19 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Pravda je, ze tato problematika je pomerne komplikovana. Mal som problem najst ucelenu dokumentaciu, ktora by vysvetlila pojmy kodovania, charsetov, layoutov, (v linuxe tiez keybord option-vo, modelov a variantov) vztahov fontov a klavesnic ... proste je to chaos. Hlavne pre cloveka co sa s tou problematikou stretne prvy krat a nie je mu jasne aky nazov sa pouziva pre nieco co pozna z inej stranky.

Myslim, ze tato tema, ako namet na clanok, by bola vysoko ocenena ;-)

30.11.2004 10:11 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Ano, pak jsem to pochopil správně. Pokud chci zároveň používat více znakových sad(klávesnic) je třeba zvolit stále ne zcela použitelné UTF-8. Proč však potom existují locales typu "cs_CZ.UTF-8", proč ne pouze "UTF-8".
Lze při změně klávesnice automaticky změnit hodnotu LC_CTYPE a aktuální font? (domnívám se, že ne, kvůli nepřipravenosti aplikací)
Také se vám zdá situace kolem klávesnice(prakticky nejzákladnější HW) na linuxu značně neutěšená?
30.11.2004 11:40 Michal Kubeček
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Protože LC_CTYPE slouží především pro klasifikaci znaků. Aplikace potřebují vědět, co je písmeno, které znaky jsou zobrazitelné na terminál apod. Tyhle věci se v jednotlivých jazycích (a občas i variantách) liší.
30.11.2004 11:52 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Proč však potom existují locales typu "cs_CZ.UTF-8", proč ne pouze "UTF-8".

Protože ostatní kategorie locale určují úplně jiné věci -- např. formát data a času nebo jazyk hlášek. Nevím, jak bys z UTF-8 poznal, jakým jazykem to má mluvit.

Lze při změně klávesnice automaticky změnit hodnotu LC_CTYPE a aktuální font?

Nejde a taková otázka vůbec nemá smysl -- hodnoty LC_CTYPE a aktuální font čeho? Používej UTF-8.

Také se vám zdá situace kolem klávesnice (prakticky nejzákladnější HW) na linuxu značně neutěšená?

Ne.
30.11.2004 13:49 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Protože ostatní kategorie locale určují úplně jiné věci -- např. formát data a času nebo jazyk hlášek. Nevím, jak bys z UTF-8 poznal, jakým jazykem to má mluvit.

Měl jsem na mysli LC_CTYPE, u ostatních locales je mi to jasné.


hodnoty LC_CTYPE a aktuální font čeho? Používej UTF-8.

Měl jsem na mysli LC_CTYPE a aktuální font pro příslušnou aplikaci. UTF-8 je patrně řešení, ale ne vše už uspokojivě funguje...

30.11.2004 14:27 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Měl jsem na mysli LC_CTYPE, u ostatních locales je mi to jasné.

To je nesmysl. Jméno locale je jen jedno. Když např. nastavím LANG=cs_CZ a nic jiného, tak se použije pro všechny kategorie. Kromě toho locale jsou dávno standardizovány ISO C (takže mimochodem stejně fungují i na MS Windows) a nemá smysl vymýšlet, jak by co by kdyby.

Co to je ,aktuální font v příslušné aplikaci`? Tj. který program je příslušná aplikace a které jeho fonty se mají změnit?

Kromě toho mohu xmodmapem plynule po jednom znaku předělat českou klávesnici na ruskou -- jak se má během toho přechodu chovat LC_CTYPE a fonty?

Zkrátka to je pitomost, závislost chování aplikací na klávesnici je odporná vlasnost MS Windows, kterou rozhodně není dobrý nápad reprodukovat -- tobě se opravdu líbí, když máš text ve wordprocesoru napsaný střídavě po několika znacích různými fonty, protože jsi přepínal mezi českou a anglickou klávesnicí kvůli speciálním znakům (nebo naopak českým znakům, kterých mohlo být jen pár)?

V Linuxu to nefunguje špatně, ale logicky. Tvůj názor, že je situace s klávesnicí neutěšená (a ostatně i tvoje představy o locale) spíš ukazuje na to, že naprosto netušíš, jak to funguje, než že to funguje špatně. Takže doporučuji nejprve si něco nastudovat.
30.11.2004 20:03 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
jak se má během toho přechodu chovat LC_CTYPE a fonty?

Domníval jsem se, že když stisknu klávesu, dostane program informaci závislou na kódování a bude jí podle stavu LC_CTYPE interpretovat. Když teda změním kódování měl by o tom program vědět. Pokud bude program ke stisknuté klávese vykreslovat znak, měl by vědět v jakém kódování, a zvolit příslušný font (nemyslím tedy měnit rodinu fontu ale pouze kódování, je li to možné).

...závislost chování aplikací na klávesnici je odporná vlasnost MS Windows, kterou rozhodně není dobrý nápad reprodukovat -- tobě se opravdu líbí, když máš text ve wordprocesoru napsaný střídavě po několika znacích různými fonty...

Tohle bych opravdu nechtěl, ale MS Windows a wordprocesory prakticky nikdy nepoužívám.

V Linuxu to nefunguje špatně, ale logicky. Tvůj názor, že je situace s klávesnicí neutěšená (a ostatně i tvoje představy o locale) spíš ukazuje na to, že naprosto netušíš, jak to funguje, než že to funguje špatně. Takže doporučuji nejprve si něco nastudovat.

Opravdu se snažím pochopit(nastudovat) jak to funguje, často bohužel metodou pokus-omyl. Snažím se zjistit proč mi některé věci nefugují, nebo fugují jinak nž bych očekával. Uznávám, že mám značně zkreslené představy o locales. V systému mám nastaveno pouze LC_CTYPE, a snažím se zjistit k čemu vlastně je. V jeho existenci vidím spory, které zřejmě nejsou problém, a tak jsem chtel vědět proč.

30.11.2004 20:22 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Domníval jsem se, že když stisknu klávesu, dostane program informaci závislou na kódování.

Ne. Aplikace dostane symbol -- např. rcaron (neboli ř). Ten má význam nezávislý na kódování. Tedy ve skutečnosti je to kapku složitější, s řadou historických excesů, ale podstatné je, že symboly ,nepatří` žádnému kódování. Po

xmodmap -e 'keysym a = Cyrillic_zhe'

začne klávesa a psát ж. Což nijak nesouvisí s ruštinou -- nebo to má být ukrajinština? bulharština? Jak by se to poznalo? Prostě jen začne psát ж.
1.12.2004 08:59 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Aplikace dostane symbol -- např. rcaron (neboli ř). Ten má význam nezávislý na kódování.

Ano, to jsem zjistil programem xev. Právě to byl důvod, proč jsem se začal zajímat o LC_CTYPE. Symbol zřejmě dostane podle nastavené klávesnice a nezávisle na LC_CTYPE nebo jinde nastaveném kódování. Proč však je však symbol při neadekvátně nastavené LC_CTYPE chybně(vůbec ne) interpretován když je naprosto jasné o co jde nezávisle na kódování(např. xterm)? Očekával bych třeba chybovou hlášku, že program si není jistý co s takovým symbolem dělat.

1.12.2004 09:07 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Nechápu, co je na tom chybného a neadekvátního. Nepoužíváš-li UTF-8, tak ses omezil na podmnožinu symbolů, které akceptuješ. Ty ostatní neakceptuješ.

P.S.: Terminál, který by vypisoval jakékoli chybové hlášky při čemkoli (kromě při spuštění), by u mě nevydržel ani pět minut.
Stanislav Brabec avatar 30.11.2004 14:28 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Měl jsem na mysli LC_CTYPE a aktuální font pro příslušnou aplikaci.

Takovému řešení používal blahé paměti altfontpatch v AmigaOS. Také to uspokojivě nefungovalo: Okna se překreslila jen v překrytých částech. Jiným oknům neseděla velikost. Text v původním jazyce se stal nečitelný. Všechna kódování musela mít tentýž převod kód znaku <-> CTYPE (což pro ISO-8859 neplatí).

V X, kde si každá aplikace vybírá font podle svého, a zdaleka ne každý má obdobu, by to vedlo k častým pádům aplikací.

Navíc moderní aplikace (GTK2, KDE3) již dávno nepracují s jednotlivými fonty, ale s více fonty najednou a na vyžádání natahují jednotlivé znaky. A pracují interně v UNICODE.
29.11.2004 17:07 Maude Lebowski
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
LC_CTYPE=cs_CZ.UTF-8
30.11.2004 10:25 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Proč zrovna "cs_CZ.UTF-8" a ne "UTF-8", má snad "cs_CZ" nejaké výsadní postavení? / Rád bych si to myslel :-) /
Stanislav Brabec avatar 30.11.2004 12:26 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Nemá, ale pokud si nastavíte třeba LC_CTYPE=tr_TR.UTF-8, pak se vám budou písmena chovat podle pravidel spisovné turečtiny, tedy písmenu i už nebude odpovídat velké I, ale velké İ, a písmenu I se přiřadí malé ı, nikoliv malé i.

Podobně to bude i s jinými jazyky. U proměnné LC_COLLATE budou rozdíly ještě výraznější.

Chcete-li kombinovat ruštinu s češtinou, budete muset použít UTF-8 (nebo jinou reprezentaci UNICODE), některé orientální kódování nebo nějaké obskurní kódování z dob RVHP (ke kterému si dopíšete charmap). Anebo se spokojit s tím, že budete neustále přepínat font, a vždy vidět správně jen polovinu textu.
zgrep -l "CYRILLIC SMALL LETTER SHCHA" $(zgrep -l "SMALL LETTER N WITH CARON" /usr/share/i18n/charmaps/*)
30.11.2004 13:56 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Jak to však udělá chudák turek když bude chtít psát taky ještě česky?
Stanislav Brabec avatar 30.11.2004 14:20 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Použije některé z kódování, které mu najde výše zmíněný zgrep. Třeba UTF-8.

A s tím, že mu nebude správně chodit převod malých písmen na velké, se musí smířit. Jen v aplikacích, kde je možné explicitně vyznačit, která číst textu je v kterém jazyce (třeba TeX), tam může převod fungovat korektně.
30.11.2004 19:30 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Dobře, tomu rozumím, UTF-8 je pro tento případ dobrá nadmnožina kódování.
Proč je však převod malých písmen na velké závislý na "proměnné" která se nastavuje v nadřazeném terminálu? Je to jen implicitní nastavení nebo to lze operativně nastavit? (xterm ... export LC_CTYPE=... asi nebude to pravé?)
30.11.2004 20:19 Michal Kubeček
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Není. Je závislý na nastavení proměnné prostředí toho programu, který to převádí. Ten ji ovšem obvykle dědí od shellu, z něhož byl spuštěn. Terminál žádné proměnné prosředí nemá.
30.11.2004 20:23 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Jasně shell :-)
30.11.2004 20:24 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Každý proces má proměnné prostředí. Terminál je taky proces.

LC_ALL=en xterm

a

LC_ALL=cz_CZ.UTF-8 xterm

vytvoří znatelně jinak se chovající xtermy.
30.11.2004 20:28 Michal Kubeček
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Terminál není proces. Terminál je znakové zařízení.
30.11.2004 20:34 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Jeden z významů slova terminál je program emulující terminál (který je sám o sobě zařízení umožňující posílat příkazy na vzdálený počítač). A to je proces.
30.11.2004 20:37 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Obecně terminál není to znakové zařízení, ale věc která se chová jako terminál. Tj. faktorgrupa emulací terminálu vzhledem k implementaci...
30.11.2004 12:28 Miroslav Franc
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Ne nemá žádné výsadní postavení : ))) Proste je taková syntaxe : ))

"jazyk_teritorium.znakovaSada"

Jazyk je podle ISO 639 pro nas cs, teritorium podle ISO 3376 pro nas CZ.
30.11.2004 12:36 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Přesněji je to

jazyk[_teritorium][.znakovásada][@modifikátor]

Modifikátory jsou např. v no@nynorsk nebo uz@Cyrl, uz@Latn.
1.12.2004 21:05 Miroslav Franc
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
No dobre : ), nechtel jsem to zas az tak komplikovat.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.