Rýchle Náter Na Unicode a Softvér Internacionalizácie Pod Linux a UNIX

link: https://www.unifont.org/unicodeprimer/

 Ed Trager

UnicodeVšeobecný Úvod

NOTA BENE: som napísal tieto informácie dávno a teraz niektoré z nich je pomerne zastaraný. Napriek tomu, že je stále veľa cenných informácií tu prezentované a tak som vedenie tejto stránke sú k dispozícii pre verejnú spotrebu, ako časti, ktoré sú stále veľmi užitočné.

Táto stránka poskytuje rýchly prehľad informácie s odkazmi na iné adresy Url týkajúce sa použitia Unicode pre balík multilingual internacionalizácie projekty na Linux a iných UNIXOVÝCH operačných systémov. Ak by ste chceli byť schopní používať viac ako jeden jazyk na váš Linux/UNIX počítača, ale ešte nie úplne prišiel na to, ako to, že ešte nie, potom by ste si mali prečítať túto stránku. Testoval som softvéru a nastavení konfigurácie uvedené v tomto dokumente sa predovšetkým na Linux (SuSE 7.2, 7.3, 8.1, 8.2, 9.0 beta) a v menšom rozsahu na OpenBSD (3.2, 3.3) a Solaris 8.

Ciele tohto dokumentu sa 1) vám predstavil niektoré indispensible Open Source softvér pre používanie Unicode v Linux alebo iný UNIX prostredie, a 2) zvýrazniť kľúčové aspekty zakladania, že softvér. Iné Unicode webových zdrojov pokryť niektoré z tém nižšie v oveľa väčšej hĺbky, než tu. Namiesto toho, aby boli komplexné, snažil som sa zamerať na niekoľko kľúčových kúskov softvéru a kľúčových problémov s konfiguráciou, ktorá vám umožní rýchlo stať produktívnym na vaše viacjazyčný alebo internacionalizácie projekty na Linux alebo iný UNIX-operačné systémy založené na dnes. Odkazy na ďalšie komplexné ošetrenie rôznych tém sú poskytované v celom dokumente.

Poznámka:: v Tomto dokumente predpokladá, že sú pohodlné pracovné od príkaz shell a majú vedomosti o niektoré základné Linux/UNIX systému administratívnych úloh (napríklad ako zostaviť a nainštalovať softvér zo zdrojov pomocou bežných
./configure –> make –> su -c “make install” príkaz, postupnosť).

Úvod do Unicode

Počítače priradiť čísla (kód miesta) predstavujú písmená. Tam sú stovky vnútroštátnych a ISO štandardy existencie pre počítač kódovanie moderný jazyk skripty. Mnohé z týchto starých kódovania je obmedzená na 256 ( t. j, 28 ) kód bodov. To má za následok početné problémy. Hlavný problém je, že kód 256 bodov je často nestačí ani pre jeden jazyk, oveľa menej viacerých jazykoch. Druhý pomerne zrejmé, problém je, že kód bodov zrušil predstavujú písmená v jeden národný alebo ISO kódovanie bude nevyhnutne byť znovu použité predstavujú úplne odlišné písmená v niektorých iných národných alebo ISO kódovanie (napríklad LATINSKÁ MALÉ PÍSMENO U S HROB, “ù” v západoeurópskych ISO-8859-1 kódovanie stáva LATINSKEJ MALÉ PÍSMENO U S KRÚŽKOM NAD “ž” v Strednej a Východnej európe, ISO-8859-2 kódovanie, MALÉ GRÉCKE PÍSMENO OMEGA “ω” v ISO-8859-7, HEBREJSKÉ PÍSMENO SHIN “ש” v ISO-8859-8 … a tak ďalej! Pre všetky násilné údaje, prečítajte si tu). To môže ľahko viesť v skomolené e-maily, webové stránky, alebo databáz, okrem iného.

Pre ilustráciu rovnaký problém v mierne odlišnej doméne, zvážte známom jazyku ako je angličtina. Jazyk môže byť napísané len 26 písmen, ale vydavatelia v anglickom jazyku vedeckých a matematických dokumentov vyžadujú mnohé ďalšie symboly-a kód 256 bodov sú jednoducho nie je dosť! Predstavte si, ako oveľa viac problematické elektronická výmena informácií môže byť pre jazyky ako Čínština, kde je viacero, nezlučiteľné kódovania, ktoré existujú.

Unicode rieši problémy z viacerých kódovania priradenie jedinečný kód bodov písmená a ideographs všetkých svetových moderný jazyk skripty a bežne používané symboly. Unicode Consortium stránka je na adrese www.unicode.org.

UTF-8

UTF-8 je mód metóda pre Unicode, že je de facto štandard pre kódovanie Unicode na UNIXOVÝCH operačných systémov, najmä Linux. UTF-8 je tiež preferovaný kódovanie pre viacjazyčné webové stránky. V tejto metóde, ASCII kód miesta obsadiť jeden bajt. To je, ASCII podmnožinu Unicode na pokračovanie v UTF-8 je rovnaký ako ASCII. Unicode kód bodov v Basic Multilingual Plane nad ASCII rozsah sa na pokračovanie na dva alebo tri bajty (ďalšie lietadlá existujú v Unicode, ktorá môže produkovať serializations až šesť bytov).

Keď postavy sú na pokračovanie do viacerých bytov, najvýznamnejší bit je vždy nastavený, a preto sa tieto bajty nikdy jeseň v rozsahu ASCII. Tiež, prvý bajt a viacbytové postupnosť predstavuje non-ASCII znakov, vždy si vyhradzuje niektoré kúsky, ktoré ukazujú, koľko bajtov, ktoré sa používajú pre serializáciu tohto charakteru (Obr. 1).

UTF-8 Mód Tabuľka
Obr. 1. UTF-8. Keď Unicode znaky sú na pokračovanie do viacerých bytov v UTF-8, vysoké bitov prvého pokračovanie byte uviesť, koľko bajtov, ktoré sa používajú pre serializáciu, že charakter. Bitov, v zastúpení “n“s podržte kód znaku unicode hodnotu.

výsledkom je bez štátnej príslušnosti, kódovanie, v ktorom chýba bytov bude evidentný. UTF-8 poskytuje jednoduché a elegantné riešenie pre vstupu UNIX-based, byte-orientovaných operačných systémov a softvéru. Pre všetky podrobnosti, prečítajte si Markus Kuhn je vynikajúci FAQ, UTF-8 Unicode FAQ pre Unix/Linux. Všetky softvéru, ktoré sú uvedené nižšie, podporuje UTF-8 dobre.

Rada: UTF-8 je jednoduchý na používanie, uchovávanie a prezeranie dokumentov, databáz, a zdrojový kód. Používať kódovanie UTF-8 pre všetky vaše viacjazyčné, medzinárodné, alebo non-anglickej údajov a dokumentov. Vyhýbajte sa používaniu starých národných kódovanie znakov (t. j. ISO-8859-1,ISO-8859-2, ISO-8859-15, TIS-620, shift-jis, gb-18030, KOI8, atď.). Tam sú tiež dobré dôvody, aby sa zabránilo používanie iných Unicode kódovanie, ako UTF-16. Informácie o tom, ako previesť staré dáta na UTF-8 je uvedené nižšie (pozri  Utilities).).

Nastavenie Locale na UTF-8

S cieľom plne využiť Unicode na váš Linux alebo iný UNIX systému, ktoré budete potrebovať, ak chcete nastaviť svoj locale na UTF-8 locale. Niektoré nedávne distribúcií Linux sa teraz štandardne používať kódovanie UTF-8 locale, v predvolenom nastavení. Avšak, ak používate veľmi posledných distribúcie Linuxu, ste stále veľmi pravdepodobné, že pomocou odkazu locale založené na ISO-8859, alebo iné národné kódovanie. Ak používate nejaké UNIX-based OS iné ako Linux, to je ešte menej pravdepodobné, že ste sa už používajú kódovanie UTF-8 locale. Na určenie vášho aktuálneho nastavenia locale, typ plugins. Tu sú niektoré výsledky z Linux a Solaris:

“locale” príklad z Linuxu:
[email protected]_linux_box:~> locale
LANG=sk
LC_CTYPE="sk"
LC_NUMERIC="sk"
LC_TIME="sk"
LC_COLLATE=POSIX
LC_MONETARY="sk"
LC_MESSAGES="sk"
LC_PAPER="sk"
LC_NAME="sk"
LC_ADDRESS="sk"
LC_TELEPHONE="sk"
LC_MEASUREMENT="sk"
LC_IDENTIFICATION="sk"
LC_ALL=
“locale” príklad z Solaris:
[email protected]_sun_box:~> locale
LANG=
LC_CTYPE="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_COLLATE="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=

Všetky UTF-8-založené miestne nastavenia sa končia na “UTF-8”, tak je zrejmé, že ani user_a, ani user_b v príkladoch uvedených vyššie je pomocou UTF-8 locale. Ak chcete určiť, aké ďalšie miestne nastavenia sú vám k dispozícii, zadajte locale - :

“locale -a” príklad z Linuxu:
[email protected]_linux_box:~> locale -
C
POSIX
af_ZA
ar_AE
ar_BH
ar_DZ
ar_EG
ar_EG.utf8
ar_IN
. . .uz_UZ
vi_VN.utf8
yi_US
zh_CN
zh_CN.gb18030
zh_CN.zariadenia usb
zh_CN.utf8
zh_HK
zh_TW
zh_TW.euctw
zh_TW.utf8
“locale -a” príklad z Solaris:
[email protected]_sun_box:~> locale -
POSIX
C
iso_8859_1

je zrejmé, že Linux (SuSE 7.3 bol použitý pre príklad) má mnoho UTF-8 locales štandardne nainštalované (nie všetky sú zobrazené), zatiaľ čo Solaris box nemá. V čase písania tohto textu, Solaris vedeli poskytnúť UTF-8 locales, ale môžu byť inštalované ako voliteľné balíky: pozrite si  Solaris Internationalization Guide.

Ak chcete zmeniť vaše miestne nastavenie v Linux, stačí nastaviť LANG premennej prostredia vo svojom .profil súbor. Upozorňujeme, že výstup z locale -a na Linux box uvedené vyššie, ukazuje “utf8” v dolnej prípade bez spojovníka: to je CHYBA. Keď nastavíte LANG variabilné, uistite sa, že typ UTF-8 v HORNEJ PRÍPADE a s pomlčkou:

Nastavenie premennej LANG v .profil súboru pre BASH shell pod Linuxom:
...
export LANG=sk.UTF-8

Keď sa znova prihlásite pomocou nových LANG nastavenie, teraz by ste mali vidieť, že mnohé ostatné “LC_” lokálne premenné prostredia boli automaticky aktualizované:

Po nastavení LANG do UTF-8 locale, v Linuxe:
[email protected]_linux_box:~> locale
LANG=sk.UTF-8
LC_CTYPE="sk.UTF-8"
LC_NUMERIC="sk.UTF-8"
LC_TIME="sk.UTF-8"
LC_COLLATE=POSIX
LC_MONETARY="sk.UTF-8"
LC_MESSAGES="sk.UTF-8"
LC_PAPER="sk.UTF-8"
LC_NAME="sk.UTF-8"
LC_ADDRESS="sk.UTF-8"
LC_TELEPHONE="sk.UTF-8"
LC_MEASUREMENT="sk.UTF-8"
LC_IDENTIFICATION="sk.UTF-8"
LC_ALL=

Pod UTF-8 locale, teraz môžete naplno využiť Unicode na vašom počítači. Upozorňujeme však, že niektoré Unicode softvér môže byť použitý veľmi efektívne aj vtedy, ak nemôžete, alebo ešte nie sú pripravené, zmeniť kódovanie UTF-8 locale. Napríklad: Yudit, ktoré je popísané nižšie, bude fungovať aj na systémoch, ako napríklad OpenBSD, ktoré sa v súčasnosti nepodporujú v rôznych lokalitách.

Terminálové Emulátory

Aj v týchto dňoch, KDE a Gnome, č Linux alebo UNIX nadšencom by chcel žiť bez dobrej emulátor terminálu. Niekoľko Unicode-enabled terminálové emulátory, sú popísané nižšie.

Mlterm

Mlterm je pravdepodobne najlepší emulátor terminálu pre balík multilingual práce a je určite môj obľúbený (Obr. 1). Pri žonglovanie s fribidi a libind, mlterm podporuje Indické komplexné skripty, ako je Devanagari, ukazovanie alebo zaznamenávanie času-odvodené skripty, ako je Thai,, a right-to-left skripty, ako je arabčina a hebrejské. Mlterm tiež športové GTK+-based GUI konfigurátor, ktorý je aktivovaný pomocou trochu nezvyčajné CTRL-<RIGHT MOUSE CLICK> kombinácii (Obr. 2).

mlterm
Obr. 2. Mlterm. GUI konfigurátor uľahčuje nastaviť mlterm. HTML súbor v kódovaní UTF-8 je zobrazený v vim v časti mlterm.

V predvolenom nastavení, Mlterm používa bitmapový font, zvyčajne GNU Unifont, ktorý je predinštalovaný vo väčšine distribúcií Linuxu a ostatné voľný Unices. GNU Unifont bitmap font znázornené na Obr. 2 vyššie.

Ak chcete, môžete sa Mlterm pomocou anti-aliased písma TrueType. V tomto prípade, neproporcionálne písmo ako Bitstream Vera Sans Mono alebo Everson Mono Unicode je najlepšie. Budete potrebovať (pravdepodobne ako root) upraviť Mlterm $PREFIX/etc/mlterm/aafont súbor s konfiguráciou, uveďte, ktoré písma, ktoré chcete použiť na zobrazenie normálne a dvakrát šírka CJK znaky ($PREFIX závisí od toho, kde Mlterm je nainštalovaný. Ak ste nainštalovali sami, to je zrejme /usr/local/. Ak Mlterm predinštalovaný, je to asi len /etc. Ako príklad, tu je to, čo môj aafont súbor vyzerá ako:

ISO10646_UCS4_1=Everson Mono Unicode-iso10646-1;
ISO10646_UCS4_1_BIWIDTH=Bitstream Cyberbit-iso10646-1;

Táto udáva, že Everson ‘ sans-serif Everson Mono Unicode font byť použité pre normálnu šírku znakov, zatiaľ čo serif Bitstream Cyberbit font byť použité pre dvojité-šírka CJK znakov. Aby sa prepnúť anti-aliased písma, musím začať Mlterm s -A flag, ako je tento:

mlterm - &

Tu je to, čo výsledok vyzerá ako na Mandrake Linux okno:

Ak chcete použiť premennú-šírka písma, potom po úprave aafont vhodne začať Mlterm, ako je toto miesto:

mlterm -A-V &
Poznámka:, ktoré by Ste mohli potrebovať, aby sa stal root s cieľom zostaviť libind. Problém sa zdá byť v dodané Makefile. Môžete buď opraviť Makefile, alebo môžete zostať lenivý a stačí sa stať root.

Xterm

Druhá alternatíva je použiť xterm (Obr. 3), ktorý sa dodáva s XFree86. Xtermnepodporuje right-to-left jazyky, ako arabčina alebo hebrejské. Nemyslím si, že to podporuje väčšinu Indické skripty. Nepodporuje Thajský hoci, ako je uvedené v Obr. 3 pod.

alternatívne vstupné
Obr. 3. Xterm in UTF-8 režimeXterm podporuje UTF-8, vrátane Thajský, ale nie right-to-left jazyky, ako arabčina.

Pre oboch mlterm a xterm, ktoré budete potrebovať, ak chcete nastaviť svoj locale na UTF-8 locale. Keď som sa pomocou konta alebo stroj, kde locale nie je kódovanie UTF-8 locale, ja používam tieto “mini skripty” pre spustenie mlterm a alternatívne vstupné pre balík multilingual práce:

“uterm” skript pre spustenie mlterm s podporu UTF-8 keď locale ešte neboli stanovené na UTF-8:
#!/bin/sh
LC_CTYPE=en_US.UTF-8 mlterm –sbmod=right &
“uxterm” skript pre spustenie xterm s podporu UTF-8 keď locale ešte neboli stanovené na UTF-8:
#!/bin/sh
LC_CTYPE=en_US.UTF-8 xterm -u8 -fn \
‘-misc-fixed-medium-r-semicondensed–13-120-75-75-c-60-iso10646-1’ &
Poznámka: OpenBSD 3.2 nezdá sa, že locale podporu, takže tieto skripty produkujú “nastavenia locale zlyhala” správu. Napriek tomu, jednoduché pomôcky ako UNIX cat urobiť správne fungovať a produkovať čitateľné displeje UTF-8 súborov na OpenBSD. Však iný softvér, ako napríklad vim prestane fungovať správne v neprítomnosti locale podpory z operačného systému, napriek možnosti emulátor terminálu.

Aj keď som ako funkcie, KDE je Konsole (KDE 3.x), všimol som si, nepríjemné chyby pri vykresľovaní Thai a arabčina skripty pod UTF-8 locale, tak som sa zdržať a odporúčali ho pre balík multilingual práce v tejto dobe.

Unicode Redakcia

Niekoľko dobrých unicode redaktori sú teraz k dispozícii pre Linux/Unix, ale som tu len bude popisovať tri:

Yudit

Yudit (Obr. 4) je indispensible unicode textový editor pre X Window System. Yudit môže byť použitý za žiadnych miestne nastavenie. To môže byť použitý aj na OpenBSD, ktorý nemá miesta. Program je veľmi jednoduché použitie a prichádza s veľkým počtom klávesnice maps-a aj rozpoznávania rukopisu pre Kanji a Hanzi. Rozpoznanie rukou písaného textu je výborný nápad, ale v praxi to funguje len dobre pre pomerne jednoduché znaky s najmenším počtom ťahov, ako “人” alebo “水”, ako kreslenie zložitejších znaky s myšou je príliš únavné. Pre vážne Čínske, Japonské alebo kórejské (CJK) zadaním úlohy, input method engine, ako napríklad SCIM (popísané nižšie), je nutné.

Okrem editor sám, program distribúcia obsahuje dve absolútne indispensible pomôcky:

  • uniprint poskytuje Postscript-based tlač. Uniprint môže byť použitý pre tlač v rámci Yudit, alebo z príkazového.
  • uniconv hladko konvertuje súbory medzi veľký počet Unicode a národné dedičstvo a ISO štandard kódovania.

Informácie o používaní uniprint a uniconv sú uvedené nižšie v časti Pomôcky.

Program menu sú k dispozícii v mnohých jazykoch. Program má niekoľko externých závislostí (iné ako X samotného systému Windows) a nie je potrebné žiadne predinštalované multi-lingual miestneho prostredia. Napríklad: Yudit funguje perfektne na OpenBSD 3.2, ktorá neobsahuje locale podporu, kde vim zlyhá.

Yudit
Obr. 4. Yudit dodávaný s predinštalovaným dbg pre mnohých jazykov. Program a jeho sprievodné nástroje, uniprint a uniconv, musíte mať nástroje vo vašej Unicode toolkit.

Vim

Mnoho profesionálnych vývojárov, sú už závislí na používanie vi ako ich editor výberu, tak to je pekné vedieť, že populárne vykonávanie vim plne podporuje UTF-8 (Obr. 5).

VIM
Obr. 5. Vim spustený v mlterm farebné zvýraznenie syntaxe pre C/C++. Kód je tu zobrazená, sa statické C-style reťazce priamo obsahovať UTF-8 kódovaní locale údajov.

Existujú dva kľúče k tomu, konzoly-mode vim užitočné pre balík multilingual práce. Po prvé, musíte spustiť vim v UTF-8-schopné emulátor terminálu ako mlterm. Po druhé, budete potrebovať klávesnicu mapy pre vkladanie jazyky podľa vlastného výberu. Na rozdiel od Yudit, početné štandardné dbg nezdajú byť distribuované spolu s vim.

Ak chcete zistiť, čo dbg sú k dispozícii, zadajte nasledujúce vim príkazom:

:echo globpath(&rtp, "mapa "keymap/*.vim")
To vám povie, umiestnenie v celosvetovom meradle k dispozícii dbg, ako aj cestu, kde budete chcieť umiestniť všetky dbg, ktoré vytvoríte, ak chcete, aby sa tieto mapy sú k dispozícii na všetkých používateľov.

Nastavenie a pomocou klávesnice mapu pre vim, nie je ťažké. Úryvok z Thajský mapa rozloženia klávesnice je uvedený nižšie. Konvencie pomenovania klávesnice mapu súborov sú:

<language>_<encoding>.vim

Takže v tomto prípade, súbor sa bude volať:

thai_utf-8.vim

Tu je výňatok zo súboru:

Príklad vim klávesnice mape: úryvok z thai_utf-8.vim, ktoré je uvedené nižšie.
” Vim Keymap file for UTF-8 Thai
” Maintainer: Edward H. Trager <[email protected]>
” Last Updated: 2003-04-08.ET

” This mapping adheres to the Thai standard TIS820-2538 keyboard
” layout.let b:keymap_name = “thai”loadkeymap~ ๛
! ๅ
@ ๑
# ๒
$ ๓
% ๔
^ <char-0x0E39> ” THAI CHARACTER SARA UU
& <char-0x0E4E> ” THAI CHARACTER YAMAKKAN
. .
. .
. .

Komentár linky do klávesnice mapu začať s úvodzovky, ‘‘. Linky, ” let b:keymap_name = "thai"” poskytuje krátke meno pre mapu, aby sme mohli vydať príkaz vim pre použitie tejto mape, ako je tento:

:set keymap=thai

Všetko na tratiach nasledujúce slovo “loadkeymap” predstavuje mapovanie klávesnice. Jeden alebo viacero kľúčov môže byť uvedené v prvom stĺpci ako kľúče typ. Jeden alebo viac bajtov môže byť uvedené ako výsledok v druhom stĺpci.

Napríklad, ako je uvedené v výpis vyššie, prvých šesť kľúčových mapovania od začiatku hornom rade QWERTY klávesnicu sú priradené priamo na Thajských znakov, ktoré boli na pokračovanie ako UTF-8. Každá z týchto postáv v skutočnosti vyžaduje, tri bajty, ale zobrazia sa ako Thajských znakov vo vašom webovom prehliadači. Najrýchlejší spôsob, ako vytvoriť mapa klávesnice, ako to je, použite Yudit, ktoré je presne to, čo som urobil.

Ďalšie dve položky zobraziť alternatívny prístup: tu unicode kód body sú uvedené priamo v šestnástkovom formáte, ktorý môže byť písaný v jednoduchých ASCII pomocou ľubovoľného editora sa vám páči. Unicode kód bodov pre akýkoľvek skript, je možné získať on-line v portable document format (PDF) z www.unicode.org/charts/.

Po vytvorení mapy klávesnice a umiestniť na vhodné miesto (napríklad /usr/share/vim/current/mapa keymap), v rámci vim jednoducho zadajte:

:set keymap=thai

…ak chcete povoliť túto alternatívnu mapa klávesnice. Keď ste v režime vkladania, môžete prepínať medzi štandardné a alternatívne tlačidlo mapy pomocou CTRL-^.

Nakoniec, stačí, aby vám predstavu o tom, čo iné môžete robiť, tu krátky výňatok z vlastného mapa klávesnice súbor, ktorý používa pinjin romanization určiť niektoré Čínske znaky. Tento príklad jednoducho ukazuje, ako sa série viacerých klávesov môžu byť mapované na znaky unicode:

Ďalším príkladom vim klávesnice mape: výňatok zo špeciálnej mapy, ktoré používa pinjin pravopis pre vstup na niektoré Čínske znaky:
” Custom pinyin keymap
” Maintainer: Edward H. Trager <[email protected]>
” Last Updated: 2003-04-08.ET

let b:keymap_name = “special”loadkeymapri 日
shui 水
ni 你
ren 人
xin 心
zhu 竹. .
. .
. .

Všimnite si, že môžete zadať mapa klávesnice na použitie vo vašej .vimrc súboru, ako v nasledujúcom príklade sa uvádza:

Príklad ~/.vimrc file: 
Toto .vimrc file určuje alternatívny mapa klávesnice, ktoré je možné prepínať pomocou CTRL-^. Ostatné riadky nastaviť vim pre C/C++ farebné zvýraznenie syntaxe a automatické odsadenie.
set nocp incsearch
set cinwords=if,else,while,do,for,switch,case
set cindent
set nowrap
set keymap=thai
syntax on

Pre kompletnú ošetrenie pomocou Unicode a dbg, v vim typ:
:help mbyte.txt
:help mbyte-keymap

Mined

Mined je konzoly-režime unicode editor s intuitívnym užívateľským rozhraním, pull-down menu, rozsiahla podpora Unicode, vrátane double-šírka a kombinuje znaky, arabčina ligatúru spájanie, mapovanie klávesnice, syntaxe, a mnoho ďalších funkcií. Kamenná môžu byť použité na UNIX a DOS/Windows platformy.

Ťaží
Obr. 6.  Mined je ďalší unicode editor.

Nie som osobne použité mined, ale zdá sa, ak chcete mať peknú sadu funkcií.
Pre viac rozsiahly prehľad Unicode redakcia, pozri Alan Drevo je zhrnutie,  Unicode and Multilingual Editors and Word Processors for Unix and Linux.

Vstupné Metódy pre Čínske, Japonské, kórejské a Iné Jazyky

Klávesové mapy sú nedostatočné pre písanie Čínske, Japonské a kórejské (obyčajne odvolával sa na ako “CJK”), ako aj iných jazykov, napríklad Tibetský. Tieto jazyky vyžadujú sofistikované softvérové metódy vstupu (IMs). Jeden z najlepších medzi nastaviť Open Source IM motorov v čase, keď tento dokument bol pôvodne napísané bola Smart Common Input Method (SCIM) , ktoré popisujem nižšie.

SCIM (智能通用输入法平台)

SCIM logo

James Su to Smart Common Input Method (SCIM) je Unicode-založené IM platformu napísaný v C++. Pre užívateľov, SCIM je vynikajúcou voľbou, pretože je jednoduchý na nastavenie a používanie v UTF-8 alebo starší locale. Pre softvérových vývojárov, to je tiež pekný, pretože to abstrakty metóda vstupu rozhrania do súboru jednoduchých, nezávislé tried, takže vývojári môžu písať svoje vlastné metódy vstupu ľahko v niekoľkých riadkov kódu.

Google vyhľadávania pre
Obr. 7. SCIM je vynikajúci IM aplikácie s podporou pre viacerých CJK metód vstupu vrátane 自然码zìránmǎ , ktoré je zobrazené používa na zadávanie Čínštiny pre vyhľadávanie Google v prehliadači Mozilla.

SCIM poskytuje v súčasnosti vstupné tabuľky pre minimálne tieto metódy:

  • Japonský hiragana
  • Japonský katakana
  • kórejský hangul 한글입력
  • kórejský hanja 漢字입력
  • Čínsky Kandži 倉頡
  • Kantonský guangdong pinyin 廣東拼音
  • Čínsky dev 二筆
  • Čínsky jyutping 粵語拼音
  • Čínsky simplex 簡易
  • Čínsky wubi 五筆字型
  • Čínsky zìránmǎ 自然碼
  • Čínsky inteligentné pinyin 智能拼音

Z mnohých Čínskych metód vstupu k dispozícii,  intelligent pinyin a ziranma sú najľahšie použitie. Rozloženie klávesnice a popis ako používať 自然碼 zìránmǎ, alebo 自然双拼 zìrán shuāngpīn, metódy možno nájsť v tu. Všimnite si, že inteligentné pinyin metóda je closed-source softvér, ale môžete ho nainštalovať binárny RPM verzia pre použitie s SCIM zdarma. Ak ste kompiláciu zo zdrojových kódov, myslím, že si nájdete dodáva 自然碼 zìránmǎ metóda pomerne uspokojivá.

SCIM požaduje atk-1.0+glib 2.0+pango-1.0+,  gtk+2.0+. Tieto knižnice sa bude nachádzať v novšie distribúcie Linuxu, alebo si ich môžete načítať z GTK+ stránky tu.

Po zostavovaní SCIM, bude potrebné pridať nasledujúce riadky na váš .xinitrc súboru, aby sa SCIM začať vždy, keď začnete X windows:

Príklad linky pridať do  ~/.xinitrc file pre spustenie SCIM:
Prvý riadok začína scim ako démon. Druhý riadok povie X použiť SCIM ako metóda vstupu server.
scim -d
export [email protected]=SCIM

Ak používate staršiu verziu SCIM (pred verziu 0.8.0) a nie sú už beží v Čínština, Japončina alebo kórejčina locale, potom sa budete musieť nastaviť LC_CTYPE premennej prostredia na označenie Čínština, Japončina alebo kórejčina miestne vo vašom ~/.profil súbor. Všimnite si, že môžete urobiť aj vtedy, ak váš LANG prostredia premenná je nastavená na inú (UTF-8) miestne nastavenia, ako napríklad v angličtine, ako je uvedené v príklade nižšie. Verzie SCIM po v. 0.8.0 bude fungovať s LANG súbor žiadne UTF-8 locale.

Príklad linky pridať do  ~/.profile file pre spustenie SCIM:
Verzie SCIM pred v. 0.8.0 očakávajú, že budú pôsobiť v CJK prostredie. Avšak, môžete mať SCIM prevádzkovať pod iným primárny jazyk prostredia, ako UTF-8 anglický, nastavením LANG a LC_TYPE premenné prostredia, spôsobom, ktorý je tu uvedený. Tento príklad predpokladá, že používate BASH shell. S verziami SCIM po v. 0.8.0, všetky UTF-8 locale, bude robiť a nebudete musieť nastaviť LC_CTYPE samostatne.
export LANG=sk.UTF-8
export LC_CTYPE=zh_TW.UTF-8

E-Mail Agentov

Mutt

Mutt logo

Mutt je vynikajúci e-mail agent s dobrou UTF-8 Unicode support. Mutt môže byť aj značne upravený tak, aby vyhovoval vašim individuálnym potrebám. Napríklad, veľmi jednoduché prispôsobenie sa majú e-maily od určitých ľudí, domény, alebo konferencií zvýraznené v špeciálne farby v správe index. Ako príklad je na obrázku vľavo dole (Obr. 8). Ďalším rysom som chcel o Mutt je, že môžete použiť akýkoľvek editor chcete napísať vaše e-maily. Mám Mutt nastavené na používanie Yudit pre písanie e-mailu, v UTF-8. Viac spoločná voľba je použiť Vimako redaktor. Akonáhle ste použili Mutt niekoľko krát a začal hrať s jej rôzne možnosti konfigurácie, budete nikdy vrátiť do používate iný e-mailový agent znova!

Mutt index v Konsole Mutt zobrazenie UTF-8-kódovaný e-mail
Obr. 8. Mutt je vynikajúci e-mail agent. Akonáhle ste použili Mutt niekoľko krát a prispôsobiť ho tak podľa vlastných želaní, už nikdy nebudete chcieť použiť akúkoľvek inú e-mailovú agent! Vľavo: Správa index zobrazí v Mutt s farebného prispôsobenia so systémom selinux konsole terminálu. Pravé bočné: Mutt zobrazovanie v UTF-8 kódovaní správy v mlterm.

Pomôcky

Táto sekcia obsahuje zoznam konverzie a tlač pomôcky.

Konverzný Utility

Na konverziu súborov z jedného kódovania do druhého, tri nástroje sú za zmienku tu:

  • iconv, ktoré je súčasťou GNU libc (a teda pravdepodobne už na vašom systéme).
  • uniconv, ktorý je distribuovaný s Yudit
  • convmv.

Použitie týchto pomôcok je popísané nižšie.

iconv

GNU iconv má znalosti o obrovský počet kódovania, hoci autori varujú, že “nemusí to nevyhnutne znamenať, že všetky kombinácie týchto názvov môžu byť použité pre OD a parametre príkazového riadku“. Ak si chcete zobraziť zoznam všetkých známych kódovania, typ:

iconv -l

Použitie je nasledovné:

iconv -f <from_encoding> t <to_encoding> [-o <output_file>] <input_file>
% iconv -f ISO8859-8 -t UTF-8 -o myfile.utf8 myfile.input

uniconv

Uniconv a distribuovaný Yudit a chápe užitočné škálu vnútorných a vonkajších kódovania. Pre kompletný zoznam, zadajte:

uniconv --help

Použitie je uvedené nižšie:

uniconv -decode <from_encoding> -encode <to_encoding> -in <input_file> -out <output_file>
% uniconv -decode java -encode utf-8 -in myfile.input -out myfile.utf8

piconv

Perl je distribuovaný s piconv. Použitie je veľmi podobné (ale v niektorých ohľadoch viac inteligentný ako) GNU iconv. Muž stránky pre piconv poskytuje detaily. piconv -l poskytuje výpis z viac ako 120 uznané kódovania, z ktorých niektoré sú aliasy jeden druhého.

convmv

Convmv je nástroj na konverziu názvy súborov v adresári stromy z jedného kódovania do druhého (napríklad z legacy kódovanie na UTF-8 kódovanie). Len názvy súborov sú konvertované: obsah súboru zostávajú nezmenené. Muž stránky pre convmv môže byť nájdený tu.

Tlač Pomôcky

Pre tlač Unicode text alebo dátové súbory, tam je uniprint, ktorý je distribuovaný Yudit balíka. Ďalšie, menej známe utility je nazvaný paps. Ak ste vývojárom, tiež sa pozrieť na LASi, C++ stream-dynamické knižnice pre tlač Postscript.

Uniprint

Uniprint a distribuovaný Yudit. Zatiaľ čo sa Yudit sa používa pre tlač, to môže tiež byť použité priamo z príkazového riadku. Použitie je možné získať zadaním:

uniprint --help

Typické použitie je uvedené nižšie:

uniprint -hsize <header_font_size> -font <truetype_font_to_use> -in <input_file> -out <output_file>
% uniprint -hsize 0 -font /usr/local/fonts/cyberbit/cyberbit.ttf -in myfile.utf8 -out myfile.ps

Paps

Paps je UTF-8 do Postscriptu converter dostupné z http://paps.sourceforge.net/doxygen-html/. Paps má možnosti pre tlač na šírku a na tlač viacerých stĺpcov na jednej stránke, ktoré by mohli byť veľmi užitočné.
Pozrite sa tiež na LASi Postscript tlač knižnica je uvedené nižšie.

Písmo

Z dôvodu rýchleho dozrievania Open Source softvéru v posledných niekoľkých rokoch, je teraz možné, aby si Linux desktop zážitok kompletný s high-kvalitné, anti-aliased písma súperiť, čo je dosiahnuteľné na Mac alebo Windows PC. Unicode písma sú prirodzene dôležitou súčasťou vytvárania skončí, viacjazyčný ploche. Vytvoriť také prostredie, ktoré potrebujete vedieť:

  • Ako nainštalovať písma, najmä Unicode TrueType fonty pre X Windows.
  • Niektoré návrhy, ktoré Unicode písma ak chcete nainštalovať.

Tieto témy sú popísané nižšie.

Inštaláciu Písma od do KDE

Ak používate KDE v posledných distribúcie Linuxu, najjednoduchší spôsob, ako nainštalovať písma je použite KDE‘s grafickým font installer, ktorý je súčasťou Control Center. Zo KDE menu, vyberteControl Center, System Administration, potom Font Installer. Ak chcete nainštalovať písma pre každého, kliknite na Adminstrative Modea zadajte heslo užívateľa root. Potom jednoducho kliknite na Add tlačidlo pridať písma, ktoré chcete (Obr. 9). Keď skončíte, vyberte Apply. KDE, bude sa spúšťať všetky skripty potrebné aktualizovať váš stroj na konfiguráciu písiem.

KDE Font Installer
Obr. 9. KDE Font Installer uľahčuje inštaláciu Unicode písma v systéme Linux.

Manuálnu Inštaláciu Písma

Moderné Linuxové distribúcie použiť fontconfig systém pre spravovanie písiem. Fontconfig pravidelne skenuje font adresáre, ktoré sú uvedené v globálnom  /etc/fonts/fonts.conf  a user-špecifické ~/.fonts.conf   konfiguračné súbory. Všetci používatelia majú urobiť, je dať nový font súbory v jednom zo známych adresárov a písma stať automagicky k dispozícii na použitie. Je to oveľa jednoduchšie, ako to bolo za starých čias!

Napríklad, na SuSE Linux a mnoho ďalších systémov, ktoré používajú X windowing systém, TrueType a OpenType sú uložené v /usr/X11R6/lib/X11/fonts/truetype. Ako táto cesta je dlhšia ako prial by som si pamätajte, na systémy, ktoré sa mi podarí I využite symbolický odkaz na zjednodušenie môj život:

~> su
   password: ******
~> cd /
~> ln -s /usr/X11R6/lib/X11/fonts/truetype/ /fonts

Teraz inštalácia nového písma pre systém-široké použitie od môjho domovského adresára je nič viac ako:

~> su -c "mv my_new_font.otf /fonts"
   password: ******

A inštalácia písmo len pre osobné použitie, je len:

 ~> mv my_new_font.otf .fonts

Unicode Písma

Unicode Font Guide For Free/Libre Open Source Operating Systems je stručný sprievodca zadarmo a legálne na stiahnutie vektor (TrueType a OpenType) písma vhodné pre použitie na Open Source operačných systémov. Písma Sprievodca obsahuje odkazy na výber vysoko kvalitných Unicode písma pre väčšinu svetových skripty v kódovaní Unicode.

Pre prehľadnejší úpravu písma, vrátane mnohých komerčných písma, ktoré nie sú zahrnuté v Unicode Písma Sprievodca uvedené vyššie, pozri  Alan Wood’s font pages.

Font Redaktori

Pfaedit

Pfaedit je Open Source font editor pre Linux/UNIX, ktorá vám umožní vytvoriť svoj vlastný Postscript, TrueType, OpenType, cid a bitová mapa (bdf) písma. Môžete tiež upraviť existujúce fonty a previesť font súbory do rôznych formátov.

Dokonca aj keď nemáte plán na vytvorenie vlastného písma, Pfaedit je veľmi užitočné pre určenie, ktoré Unicode bloky, a tým, ktorý skripty, sú zahrnuté v Unicode písma. To je tiež indispensible pre zobrazenie formy tvary pred inštaláciou písma. Písmo ukážky uvedené v KDE‘font installer a ostatné programy sa zvyčajne úplne nedostatočné, pretože vo všeobecnosti len ASCII alebo latinskej bloky sú zobrazené. Pre non-latinská skripty, Pfaedit, je oveľa užitočnejší ako písma program ukážky. Rýchly náhľad všetky tvary v písmo, uistite sa, že vybrať View –> Compacted View. Predvolené Encoded View zobrazí bunky, pre všetky Unicode kód bodov, z ktorých mnohé môžu byť definované v danom písma.

PFAEdit Font Editor
Obr. 10. Pfaedit je Open Source font editor pre Linux.

Office

Open Office

Open Office logo

Nedávno vydala Open Office verzia 1.1 má vynikajúcu medzinárodnú funkcií, vrátane podpory pre komplexné rozvrhnutie textu (CTL), sprava doľava (RTL), a obojsmerný algoritmus (BiDi) podpora. Open Office tiež poskytuje vynikajúcu podporu pre Microsoft formátoch, export do PDF, XML podpory, a mnoho ďalších funkcií. Open Office lokalizácie, existujú v mnohých jazykoch a miestnych nastavení, vrátane česko, Dansk, Deutsch, Español, Français, Hindčina, Taliančina, Japonská, Nederlands,Português, Limba Romana, Suomi, Thajský a Mobil.

Programovanie a Dátové Zdroje

ICU

IBM jednotke intenzívnej starostlivosti logo

IBM je Open Source  International Components for Unicode knižnice poskytujú robustný Unicode služby, vrátane textu manipulácia, Unicode regulárny výraz analýza, jazyk-citlivé rovnanie a údajov a formátovanie pravidlá pre viac ako 200 miestnych nastavení. Knižnice sú dostupné v C, C++ a Java. Aj keď neplánujete používať jednotke intenzívnej starostlivosti knižnice priamo, miestne údaje sama o sebe je veľmi užitočný zdroj. To je neuveriteľné zdroj, ktorý by nemal byť zanedbávaný!

Pango

Pango poskytuje Open Source knižnica pre usporiadanie a poskytovanie skončí text. Pango začal tým, Peter Taylor z Redhat s cieľom poskytnúť viacjazyčné, Unicode-na základe rozloženia služieb na GTK+ a GNOME. Pango nie je však závislá na GTK+ a GNOME a môžu byť použité v iných projektoch.

FreeType

FreeType 2 je open source font engine. Poskytuje ľahký-k-použitie rozhrania API na prístup k font obsah jednotným spôsobom, nezávisle od formátu súboru. Klient programy môžu pristupovať k glyph prehľad údajov, alebo využiť FreeType rasterizer na výrobu monochromatické alebo anti-aliased bitmapy.

Veľmi zaujímavá funkcia FreeType 2 knižnice je, že obsahuje “autohinter”, aby sa zabránilo porušovaniu troch patentov vlastnených spoločnosťou Apple Computer, Inc. Ak ste zaplatili za licencie od spoločnosti Apple, môžete zostaviť FreeType tak, že ho bude využívať patentovaný font naznačil technológie. Našťastie pre Linux, a pre každého iný, kto nechce kúpiť licenciu od Apple, FreeType môže tiež byť zostavená na použite “autohinter”, ktorý bol špeciálne vytvorený, aby sa zabránilo porušovaniu patentov, zatiaľ čo sa stále vyrába prijateľné rastre glyfu na malé pixel veľkosti.

LASi C++ Postscript Printing Knižnica

LASi je nový Postscript tlač knižnica pôvodne vyvinutý kamarát Larry Siden a teraz udržiavané tu na eyegene web stránky. Používa Pango a Freetype2 pre Unicode text rozloženie a glyph omietky.

To bol primárne navrhnutý na použitie vo vedeckých a iné programy (napríklad môj program Madeline), ktorý je potrebné schopnosť tlače vedecké a iné non-latinská symboly a skripty v Postscript dokumenty bez toho, aby viazané na veľké GUI aplikácie rámci knižnice ako QT, , KDE, alebo GTK+/Gnome.

Ako je znázornené na obrázku vpravo a v príklade nižšie, LASiposkytuje jednoduchý C++ stream-založené API, ktoré oddeľuje developer z zložité detaily tlač Unicode text, vrátane right-to-left skripty (hebrejčina, arabčina) a skripty, ktoré majú komplexné formovanie pravidlá (arabčina, Thajský, Devenagari). Okrem svete skripty, používatelia môžu samozrejme tiež využiť početné vedecké a matematické symboly sú definované v Unicode jednoducho zásobovali UTF-8-kódovaný reťazce show() metóda.
Rozšírený LASi Príklad

Obr. 11. LASi C++ PostScript stream knižnice je trivially ľahko začleniť Unicode-na základe textu do Postscriptu dokumenty.

LASi Postscript tlač knižnica príklad
#include <iostream>
#include <stdexcept>
#include <psDoc.h>

using namespace LASi;
using namespace std;

int main(const int argc, char* const argv[])
{
  try {
    PostscriptDocument doc;

    doc.osBody() << "100 300 translate\n" ;
    doc.osBody() << setFont("sans") << setFontSize(72) << show("foobar");

    doc.osBody() << "10 0 translate\n" ;
    doc.osBody() << setFont("sans") << setFontSize(72) << show("שלום");//shalom

    cerr << "doc.write(cout);\n";
    doc.write(cout);
  } catch (runtime_error& e) {
    cerr << e.what() << endl;
    return 1;
  }

  return 0;
}
Výstup: Vzorové postscript poskytované LASi knižnica

teraz môžete zistiť viac o LASi a získať aktuálne verzie knižnice z http://unifont.org/lasi/.

Unicode Compliant!