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 | IT novinky

Samsung oznámil, že program Linux on DeX končí. Android 10 už nebude podporován. Linux on DeX umožňuje spouštět linuxový desktop a aplikace z vybraných telefonů od Samsungu připojených pomocí Samsung DeX.

Ladislav Hagara | Komentářů: 4
dnes 12:00 | Komunita

Ubuntu slaví 15 let od vydání první verze. Přesně před patnácti lety, 20. října 2004, byla vydána první verze 4.10 s kódovým názvem Warty Warthog.

Ladislav Hagara | Komentářů: 0
včera 20:20 | Pozvánky

Ve středu 23. října 2019 se od 16.00 koná akce na téma Oracle Labs - Live for the Code. Představí projekty Oracle Labs, na kterých se pracuje i v České republice: Oracle Labs Data Studio a GraalVM. Místo konání: budova Oracle v Praze–Jinonicích. Vstup po registraci zdarma. Občerstvení zajištěno.

Ladislav Dobiáš | Komentářů: 1
18.10. 09:44 | Upozornění

Byly zveřejněny videozáznamy přednášek z konference LinuxDays 2019, která proběhla 5. a 6. října v Praze. Odkazy na videa společně s prezentacemi naleznete v programu, případně můžete jít rovnou na stránku video. Záznamy pořizovalo Audiovizuální centrum SiliconHill.

Petr Krčmář | Komentářů: 18
17.10. 18:55 | Nová verze

Bylo vydáno OpenBSD 6.6. Opět bez oficiální písně. Z novinek lze zmínit například sysupgrade(8).

Ladislav Hagara | Komentářů: 5
17.10. 08:36 | Nová verze

Vyšla nová verze monitorovacího řešení Centreon 19.10.0. Novinek je spousta (realtime API, podpora JIRA, vylepšený systém notifikací...), ale těmi nejdůležitějšími je pro mnohé uživatele podpora nové verze rrdtool 1.7.x a php 7.2. Systém tak půjde bez problémů provozovat na jiných distribucích než CentOS 7. Kompletní přehled novinek v seznamu změn. Předpřipravená appliance i samotné části jsou k dispozici na oficiálních stránkách.

Max | Komentářů: 0
17.10. 01:00 | Komunita

Dnes vyjde Ubuntu 19.10 s kódovým názvem Eoan Ermine. Přehled novinek v poznámkách k vydání. Ubuntu 20.04 LTS bude Focal Fossa.

Ladislav Hagara | Komentářů: 14
16.10. 22:11 | Zajímavý projekt

Padesátiny Unixu lze oslavit také hrou The Unix Game aneb na unixové roury pomocí Scratche.

Ladislav Hagara | Komentářů: 2
16.10. 21:44 | Komunita

Vývojáři svobodného 3D softwaru Blender oznámili, že nejnovějším firemním sponzorem Blenderu je společnost Adidas. Jedná se o úroveň Corporate Silver, tj. 12 tisíc eur ročně.

Ladislav Hagara | Komentářů: 37
16.10. 18:22 | Komunita

V září proběhla každoroční konference Akademy komunity KDE. Nyní jsou záznamy přednášek dostupné online. Témata se dotýkají aplikací a knihoven KDE, jejich adaptaci pro různá speciální použití (vestavěná zařízení či rozšířená realita) i obecně vývoje a distribuce softwaru.

Fluttershy, yay! | Komentářů: 0
Kdy jste naposledy viděli počítač s připojeným běžícím CRT monitorem?
 (20%)
 (4%)
 (11%)
 (39%)
 (24%)
 (2%)
Celkem 437 hlasů
 Komentářů: 23, poslední dnes 18:52
Rozcestník

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

8.3.2007 18:51 | Přečteno: 4307× | 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.