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 13:22 | Zajímavý projekt

Více než 60 moderních telefonů má díky práci týmu dobrovolníků SOMainline šanci na zařazení do oficiálního linuxového jádra. Patche pro podporu chipsetu SD630 a SD660, kterým jsou tyto telefony poháněny, jsou postupně začleňovány. Tým se soustředí na zprovoznění klasických linuxových distribucí pro telefony, ale věnuje se i zprovoznění běžného AOSP. Další tým vývojářů postmarketOS již delší dobu pracuje na podpoře chipsetu MSM8953, který umožňuje vdechnout život dalším nejméně 30 telefonům vydaných v letech 2017 a 2018.

David Heidelberg | Komentářů: 0
dnes 08:00 | Komunita

Svobodný kancelářský balík LibreOffice slaví 10 let od svého vzniku. Projekt byl představen 28. září 2010.

Ladislav Hagara | Komentářů: 8
dnes 07:00 | Pozvánky

Ve dnech 15. až 17. října 2020 se bude konat společná openSUSE + LibreOffice konference. Původně měla konference probíhat v Norimberku, ale vzhledem k situaci bude probíhat online. Konference již zveřejnila program. Naplánováno je několik desítek přednášek. Registrace a podrobnosti naleznete na stránce konference.

Zdeněk Crhonek | Komentářů: 0
včera 18:11 | Zajímavý software

SimulIDE je realtimový simulátor elektronických obvodů. Podporuje také PIC, AVR a Arduino. K dispozici je verze 0.4.13. Vývojáře lze podpořit na Patreonu.

Ladislav Hagara | Komentářů: 0
včera 14:11 | Nová verze

Virtual Machine Manager aneb virt-manager (Wikipedie), tj. GUI pro správu virtuálních strojů podporovaných knihovnou libvirt, byl vydán ve verzi 3.0.0. Přehled novinek v příspěvku na blogu. Zdůrazněna je nová volba --cloud-init.

Ladislav Hagara | Komentářů: 4
včera 11:11 | Zajímavý software

Vývojáři programovacího jazyka Swift na svém blogu oznámili, že společností Apple v červnu představená knihovna Swift System je již open source a byla do ní přidána podpora Linuxu. Jedná se o knihovnu poskytující idiomatická rozhraní k systémovým voláním.

Ladislav Hagara | Komentářů: 0
26.9. 15:11 | Nová verze

Byl vydán Debian 10.6, tj. šestá opravná verze Debianu 10 s kódovým názvem Buster. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 10 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.

Ladislav Hagara | Komentářů: 1
25.9. 23:11 | Bezpečnostní upozornění

Byly zveřejněny informace o bezpečnostní chybě BLURtooth (CVE-2020-15802) v Bluetooth 4.2 a 5.0 v Cross-Transport Key Derivation (CTKD). Útočník může provádět MITM nebo navázat spojení s libovolným zařízením. Podrobnosti v článku (pdf).

Ladislav Hagara | Komentářů: 1
25.9. 21:44 | IT novinky

Byly zveřejněny informace o úniku zdrojových kódů Windows XP.

Ladislav Hagara | Komentářů: 31
25.9. 15:22 | Zajímavý projekt

Chcete proniknout do tajů gitu? Klikněte na Learn Git Branching. Vizuální a interaktivní tutoriál ve webovém prohlížeči.

Ladislav Hagara | Komentářů: 0
Používáte aplikaci eRouška?
 (19%)
 (3%)
 (2%)
 (11%)
 (51%)
 (8%)
 (6%)
Celkem 453 hlasů
 Komentářů: 35, poslední 20.9. 21:50
Rozcestník
Zelený chameleon

Různé drobnosti a užitečnosti na které narazím nebo sám vytvořím. Primárně se zaměřuji na věci, které mohou být zajímavé a užitečné pro ostatní uživatele GNU/Linuxu či typografického systému TeX, občas se tu ale určitě vyskytne i něco z úplně jiného soudku, např. z oblasti bezpečnosti apod.

Kategorie zápisků
Aktuální zápisy

Snadné vkládání Unicode znaků pod X

8.3.2007 18:51 | Přečteno: 4367× | GNU/Linux | Výběrový blog | poslední úprava: 5.10.2007 15:32

O čem to bude

Počítače a národní abecedy, speciální znaky apod., to byl dříve opravdu problém. Různé kódové tabulky pro různé jazyky, v horším případě i více různých kódových tabulek pro jeden jazyk.

Naštěstí jsou tyto doby už pryč a Unicode vládne světu. Když jsme se zbavili – no dobře, no, tak zatím ještě tak úplně nezbavili . . . :-/ – různých kódových tabulek a můžeme si do jednoho souboru vkládat znaky jaké se nám zlíbí, objevil se jiný nečekaný problém – jak ty různé klikyháky z klávesnice efektivně vkládat?

Jak je to jinde

MS Windows mají svou klávesovou zkratku Alt + <číslo>. Na druhou stranu se mi nepodařilo zjistit, co je to vlastně za číslo. Např. si pamatuji, že Alt + 0150 je Unicode znak č. 2013, tedy půlčtverčíková pomlčka (–). Kde se ale vzalo číslo 0150 je mi záhadou. A zkratka Alt + 2013 vkládá úplně jiný znak. (Jen teď nemám možnost vyzkoušet jaký.)

MacOS X má obdobnou klávesovou zkratku – ⌘ + <číslo>. A pokud se nepletu, tak tady to číslo je skutečně unicode pozice znaku.

Pohodlné řešení pod GNU/Linuxem a dalšími Unixy

Už před nějakou dobou jsem se snažil zjistit, jak vkládat některé potřebné unicode znaky pod Linuxem, konkrétně především v GNOME, které převážně používám. Bohužel jsem nebyl úspěšný a řešil jsem to kopírováním znaků přes schránku ze starších textů či z (mimochodem vynikající) mapy znaků z GNOME sady programů.

Nedávno nám na školních strojích s Linuxem upgradovali Fedora Core na verzi 6 a všiml jsem si, že se v liště objevila nová ikonka připomínající klávesnici. Po krátkém průzkumu jsem zjistil, že se jedná o program SCIM a je to přesně to, co jsem dlouho hledal.

SCIM (Smart Common Input Method) je platforma pro vývoj a zároveň pohodlné uživatelské rozhraní pro celou řadu vstupních metod. Umožňuje tedy na počítači snadno psát texty v jazycích s jinými než jednoduchými abecedami, ale i vkládat libovolné jiné unicode znaky. Viz dále. Kdo chce vědět o projektu SCIM víc, nechť se podívá na stránky projektu. Já popíši jen použití pro mě zajímavé, žádný exotický jazyk typu Čínština či Hindština neovládám, takže problematika psaní elektronických textů v těchto jazycích je mi utajena.

SCIM – jak na to

Pominu instalaci SCIMu. Ta se liší systém od systému, obecný postup je na stránkách projektu. Jak jsem zmínil výše, ve Fedora Core 6 je pravděpodobně SCIM výchozí vstupní metoda X, pro můj SUSE Linux 10.1, který používám na domácím počítači, jsou balíčky v repositářích. Instalace byla triviální, jednoduše jsem nainstaloval balíček (respektive kolekci balíčků – vlastní SCIM + další vstupní metody) a víc jsem řešit nemusel.

Pro mé potřeby, tedy vkládání unicode znaků pomocí kódů, jsem nejdříve objevil vstupní metodu „RAW kód“. Pokud je aktivní, stačí na alfanumerické klávesnici vyťukat kód znaku a ten je nahrazen oním Unicode znakem. Chvíli mi trvalo, než jsem zjistil, proč to občas funguje a občas ne. Řešení je jednoduché, kód musí být zapsán na alfanumerické části klávesnice. Čísla z numerické části nejsou považována za kódy, ale přímo vkládána.

Ve spojení s klávesovou zkratkou pro zapínání/vypínání vstupní metody (používám zkratku Ctrl + Shift + Space, protože výchozí zkratka Ctrl + Space je v mnoha aplikacích už definována pro nějakou funkci) tedy máme identickou funkci jako na MacOS X či Windows. Respektive o chlup lepší, protože si můžeme vybrat, zda bude psát přímo pozice znaků v Unicode, nebo kódy unicode znaků v různých kováních Unicode – UTF-8, BIG5 apod.

S tímto jsem byl spokojen. Když jsem se ale díval ještě na různé další vstupní metody (např. pro východní jazyky), objevil jsem ještě něco mnohem lepšího – generické tabulky. V nich je možné definovat vstupní řetězce znaků, které budou následně nahrazeny jinou sekvencí unicode znaků. Pokud jste Vimkaři a znáte příkaz :map a jeho varianty, tak si představte obdobnou funkčnost pro všechny aplikace na úrovni X serveru. Vynikajíc, že? Člověk si nemusí pamatovat spoustu různých číselných kódů pro potřebné znaky, navíc si může definovat vlastní sekvence vkládající i složitější věci, jako např. XHTML/HTML/XML entity apod.

Screenshoty použití SCIMu v praxi hledejte na stránkách projektu.

Generická tabulka Hash-Shortcuts pro SCIM

Generickými tabulkami jsem byl nadšen a jednu jsem si pochopitelně také vyrobil. Nazývám ji „Hash-Shortcuts“, neboť všechny vstupní sekvence začínají znakem „#“. Ten jsem zvolil proto, že se při běžném psaní moc často nepoužívá, a tak může být vstupní metoda aktivována prakticky neustále bez toho, aby rušila při běžném používání klávesnice. Znaky následující za „#“ jsou pak občas inspirovány LaTeXem (např. sekvence #, vkládá zúženou mezeru, která se v LaTeXu zapisuje jako \,) nebo jsou to zkratky apod. Tuto mou tabulku v textovém formátu naleznete na konci tohoto příspěvku. Neumělou ikonku vstupní metody pak mezi obrázky.

Pro práci s generickými tabulkami slouží utilita scim-make-table. Jako základ jsem požil již existující tabulku a upravil ji. Instalace se pak dá provést přes applet SCIMu, či jednoduchým zkopírováním souboru s tabulkou do adresáře ~/<login>/.scim/user-tables/.

------ 8< ------------------------ CUT HERE ------------------------------------
SCIM_Generic_Table_Phrase_Library_TEXT
VERSION_1_0
### Begin Table definition.
BEGIN_DEFINITION
UUID = 2103c7ad-142d-44f6-98e7-d2d072c3da26
SERIAL_NUMBER = 2007030801
ICON = /home/michalr/.scim/icons/Hash-Shortcuts.png
NAME = Hash-Shortcuts
LANGUAGES = other
AUTHOR = 1024D/524CDACB Michal Růžička <ruzicka.mich (at) tiscali.cz>
STATUS_PROMPT = #
KEYBOARD_LAYOUT = Unknown
VALID_INPUT_CHARS = "#$%&',-.<>\jlpu~
### KEY_END_CHARS =
### SINGLE_WILDCARD_CHAR =
### MULTI_WILDCARD_CHAR =
### SPLIT_KEYS =
COMMIT_KEYS = Return
### FORWARD_KEYS =
SELECT_KEYS = Tab
PAGE_UP_KEYS = Page_Up
PAGE_DOWN_KEYS = Page_Down
### MODE_SWITCH_KEYS =
### FULL_WIDTH_PUNCT_KEYS =
### FULL_WIDTH_LETTER_KEYS =
MAX_KEY_LENGTH = 4
SHOW_KEY_PROMPT = TRUE
AUTO_SELECT = TRUE
AUTO_WILDCARD = TRUE
AUTO_COMMIT = TRUE
AUTO_SPLIT = TRUE
AUTO_FILL = TRUE
DISCARD_INVALID_KEY = FALSE
DYNAMIC_ADJUST = TRUE
ALWAYS_SHOW_LOOKUP = FALSE
USE_FULL_WIDTH_PUNCT = FALSE
DEF_FULL_WIDTH_PUNCT = FALSE
USE_FULL_WIDTH_LETTER = FALSE
DEF_FULL_WIDTH_LETTER = FALSE
END_DEFINITION

### Begin Table data.
BEGIN_TABLE
##	#	316
#%	‰	2
#~	 	73
#,	 	573
#-	–	704
#--	—	130
#$-	−	68
#.	…	3
#..	 . . .	9
#&"	&quot;	1
#&&	&amp;	1
#&'	&apos;	1
#&-	&ndash;	64
#&<	&lt;	253
#&>	&gt;	190
#&~	&nbsp;	190
#lu	„	575
#pu	“	323
#lju	‚	7
#pju	‘	7
END_TABLE
------ 8< ------------------------ CUT HERE ------------------------------------

       

Hodnocení: 100 %

        špatnédobré        

Anketa

Používáte nějaký nástroj pro vkládání speciálních znaků?
(Pokud něco jiného než SCIM/SKIM, podělte se prosím v diskusi.)
 (13 %)
 (4 %)
 (50 %)
 (34 %)
Celkem 56 hlasů

Anketa

Používáte nějaký nástroj pro vkládání speciálních znaků?
(Pokud něco jiného než SCIM/SKIM, podělte se prosím v diskusi.)
 (0 %)
 (0 %)
 (100 %)
 (0 %)
Celkem 1 hlasů

Obrázky

Snadné vkládání Unicode znaků pod X, obrázek 1

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

Komentáře

Vložit další komentář

Josef Kufner avatar 8.3.2007 19:38 Josef Kufner | skóre: 69
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Jen taková drobnost: '#' se používá hódně často ke psaní komentářů …
Hello world ! Segmentation fault (core dumped)
Cohen avatar 8.3.2007 20:01 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
To sice ano, ale v shell skriptech. A tam zas (v 99 % případů) člověk nepotřebuje ty speciální znaky. Takže když píše skript, tak vstupní metodu jednoduše vypne.

Používat nějaký šílenější znak už by zas bylo nepohodlné. Chtěl jsem nějaký rozumný kompromis mezi frekvencí používání a snadnou dostupností.
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
9.3.2007 08:15 vlasta neubauer
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
použil bych znak ^. ten je na anglické klávesnici ve stejné řadě jako #, ale používá se mnohem méně.
Cohen avatar 9.3.2007 09:00 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Problém je v tom, že já používám českou klávesnici. Jsem zvyklý psát česky, cestinu používám jen tam, kde je to nezbytně nutné.

Speciální znaky píšu přes Alt + <nějaký znak>. # je pohodlně dostupný jako Alt + x. ^ je na mě moc daleko a plete se mi s ostatními znaky, které jsou na horní hraně.
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
9.3.2007 17:59 Petr Mach
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Pánové, pánové, nejlepší znak je §, na české klávesnici je dostupný přímo a krásně pod malíčkem u enteru. Myslím že ho prakticky nikdo nepoužívá, a to tak moc, že o něm ani nevíte :-). Já ho teda používám jako leader char ve VIMu, právě jako speciální znak na input makra.
Cohen avatar 9.3.2007 18:06 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
No, to je nápad. „§“ je vážně tak nevyužívaný, že o něm vlastně nevím. :-D
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
10.3.2007 10:26 Filip Jirsák | skóre: 67 | blog: Fa & Bi
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Jenom jestli na zneužívání § není nějaký paragraf :-) Ale díky za dobrý tip, ani nevím, proč jsem při vytváření vlastní mapy klávesnice nechal § na svém místě…
8.3.2007 21:18 disorder | blog: weblog | Bratislava
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
C-S-2013 = "–" (Gtk)
Cohen avatar 8.3.2007 21:25 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
No právě, Gtk. SCIM je univerzální. Funguje i v KDE či Java aplikacích. Nehledě na fakt, že zkratku Ctrl + Shift + <číslo> mi už kdysi někdo poradil a tenkrát mi na SUSE 9.3 fungovala jen v SeaMonkey.
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
8.3.2007 21:31 disorder | blog: weblog | Bratislava
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
vytykas Gtk nedokonalost Qt a Javy? to je huste...
Cohen avatar 8.3.2007 21:37 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
To rozhodně ne. Asi jsem tu větu neformuloval úplně šťastně. Šlo mi o to, že to je závislé konkrétně na Gtk. Tzn. pokud aplikace Gtk nepoužívá, tak mám smůlu. A já nepoužívám jen Gtk aplikace.
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
23.9.2007 02:07 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Takového demagoga jako seš ty člověk jen tak nepotká, wow...
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
23.9.2007 11:42 disorder | blog: weblog | Bratislava
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
sorry, ze vnimam slova tak jak su napisane.
8.3.2007 22:11 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
SCIM určitě univerzálnější je, ale pokud člověk nepotřebuje pracovat s nějakými exotickými abecedami nebo nepotřebuje vkládat příliš velké množství speciálních znaků do textu, tak mi připadá trochu jako overkill.
8.3.2007 21:20 Michal Karas | skóre: 45 | blog: /dev/random
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Ahoj, GNOME už poměrně dlouho umožňuje vkládat Unicode znaky tím způsobem, že držíš Ctrl a Shift a píšeš U + hexadecimální kód znaku (v Gucharmapu se to číslo zobrazuje například hned dole ve status baru).
Cohen avatar 8.3.2007 21:38 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Viz vlákno výše.
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
8.3.2007 23:27 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Nevim, jestli SCIM nebo XIM, ale jeden z nich ma uz hotove tabulky pro vkladani matematickych znacek na zpusob latexovych maker. Velmi pekna vecicka.

Jinak uz tedy plati, ze SCIM je ochotny pracovat pod jakymkoliv locale? Naposledy, kdyz jsem se o nej zajimal, tak jej pouzival k vyberu tabulek (C/J/K) a napr. s ceskym locale se odmital spustit.
Cohen avatar 9.3.2007 09:03 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Nevim, jestli SCIM nebo XIM, ale jeden z nich ma uz hotove tabulky pro vkladani matematickych znacek na zpusob latexovych maker. Velmi pekna vecicka.
Ano, jmenuje se „LaTeX“ a právě tu jsem použil jako základ pro tu svou tabulku. :-)
Jinak uz tedy plati, ze SCIM je ochotny pracovat pod jakymkoliv locale? Naposledy, kdyz jsem se o nej zajimal, tak jej pouzival k vyberu tabulek (C/J/K) a napr. s ceskym locale se odmital spustit.
Toto jsem nezkoušel. SUSE 10.1 standardně používá UTF-8 a s locale cs_CZ.UTF-8 mi bez problémů funguje.
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
9.3.2007 10:14 jiri.b | skóre: 30 | blog: jirib
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
no a jaky je rozdil proti UIM - http://uim.freedesktop.org/wiki/? toto napr. na OpenBSD mame jako balik...
Cohen avatar 9.3.2007 10:26 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Přiznám se, že o UIM nic moc nevím. Pokud se ale nepletu, tak SCIM dokáže využívat i tuto knihovnu. Minimálně jsem mezi vstupními metodami viděl i některé, které měli UIM v názvu.

Jinak SCIM je také multiplatformní. Měl by asi běžet na libovolném POSIX-like systému. Dokonce jsem na jeho stránce četl, že se plánuje i verze pro Windows. Nicméně to vyžaduje schopného Windows programátora.
OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)
17.3.2007 22:49 l4m4
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X
Píšu ve vimu. Ve vimu jsou digrafy (:h digraphs). V shellu je fc. Zbývají různé divné GUI věci, ale ty stejně nemají normální mód editace, tudíž nejsou pro editaci rozsáhlejšího textu použitelné, text se napíše ve vimu a vloží.
Cohen avatar 18.3.2007 14:37 Cohen | skóre: 21 | blog: Drobnosti | Brno
Rozbalit Rozbalit vše Re: Snadné vkládání Unicode znaků pod X

Ježiš. Člověk se vážně pořád učí. Hlavně u Vimu. ;-) O téhle funkci jsem neměl tušení. Díky za upozornění.

OpenPGP key fingerprint: 489C 5EC8 0FD6 2BE8 9E59 B4F7 19C1 3E8C E0F5 DB61 (https://www.fi.muni.cz/~xruzick7/pgp-klic/)

Založit nové vláknoNahoru

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