.\" -*- coding: UTF-8 -*-
.\" Copyright (C) Markus Kuhn, 1995, 2001
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, see
.\" .
.\" %%%LICENSE_END
.\"
.\" 1995-11-26 Markus Kuhn
.\" First version written
.\" 2001-05-11 Markus Kuhn
.\" Update
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH UNICODE 7 "13. srpna 2020" GNU "Linux \- příručka programátora"
.SH JMÉNO
unicode \- univerzální znaková sada
.SH POPIS
The international standard ISO 10646 defines the Universal Character Set
(UCS). UCS contains all characters of all other character set standards.
It also guarantees "round\-trip compatibility"; in other words, conversion
tables can be built such that no information is lost when a string is
converted from any other encoding to UCS and back.
.PP
UCS obsahuje znaky potřebné pro téměř všechny známé jazyky. Mimo jiné je to
mnoho jazyků využívajících rozšíření latinky a také následující jazyky a
písma: řečtinu, azbuku, hebrejštinu, arabštinu, arménštinu, gruzínštinu,
japonštinu, čínštinu, korejské ideogramy Han, písma Hiragana, Katakana,
Hangul, Devangari, Bengali, Gurmukhi, Gujarati, Oriya, Tamil, Telugu,
Kannada, Malayalam, thajštinu, Lao, Khmer, Bopomofo, tibetštinu, runové
písmo, etiopštinu, kanadské slabiky, Cherokee, mongolštinu, Ogham,
barmštinu, sinhálštinu, Thaana, Yi a mnoho jiných. Pracuje se na vložení
dalších písem jako hieroglyfy a různé historické indoevropské jazyky,
eventuálně by mohly být začleněny některé umělé jazyky, jako Tengwar, Cirth
a klingonština. UCS navíc ke znakům pro tyto jazyky obsahuje grafické,
typografické, matematické a vědecké symboly používané např. v TeXu,
PostScriptu, APL, MS\-DOSu, MS\-Windows, Macintosh, OCR, stejně tak jako v
mnoha systémech pro zpracování textu a publikování, které neustále
přibývají.
.PP
Kódování UCS (ISO 10646) popisuje 31\-bitovou znakovou sadu, sestávající ze
128 24\-bitových IR skupin , z nichž každá je rozdělena do 256 16\-bitových
\fIplanes(ploch)\fP, které se skládají z 256 8\-bitových \fIřad\fP s 256 \fIsloupci\fP
\- pro každý znak jeden. Část 1 standardu (ISO 10646\-1) definuje prvních
65534 kódů (0x0000 až 0xfffd), tvoří tzv. \fBBasic Multilingual Plane\fP
(BMP), tj. plochu 0 ve skupině 0. Část 2 standardu (ISO 10646\-2) doplňuje
znaky do skupiny 0 mimo BMP v několika \fIdoplňkových plochách\fP v rozsahu
0x100000 až 0x10ffff. Doplnění znaků nad 0x10ffff se neplánuje, z celého
kódového prostoru skupiny 0 bude tedy v dohledné budoucnosti využita pouze
malá část. BMP obsahuje všechny znaky, obsažené v obvykle užívaných
znakových sadách. Doplňkové plochy doplněné v ISO 10646\-2 zahrnují pouze
exotické znaky pro zvláštní vědecké použití, tisk slovníků, publikování,
vysokoúrovňové protokoly a nadšence.
.PP
Reprezentaci každého UCS znaku jako dvoubajtového slova se říká UCS\-2 forma
(jen pro znaky z BMP), zatímco UCS\-4 je reprezentace každého znaku
čtyřbajtovým slovem. Navíc existují dvě formy kódování: UTF\-8 pro zpětnou
kompatibilitu s programy zpracovávajícími ASCII a UTF\-16 pro zpětně
kompatibilní zpracování znaků mimo BMP až do 0x10ffff programy používajícími
UCS\-2.
.PP
Kódování UCS pro znaky mezi 0x0000 a 0x007f je totožné s běžnou sadou
US\-ASCII a znaky mezi 0x0000 a 0x00ff jsou totožné se sadou ISO 8859\-1
Latin\-1.
.SS "Spojování znaků"
Některé kódy v UCS jsou přiřazeny tzv. \fBakcentům\fP. Tyto jsou podobné
neposouvajícím znakům na psacím stroji. Akcent modifikuje předchozí
znak. Nejdůležitější znaky s akcenty sice mají své vlastní kódy v UCS, ale
akcentové znaky dovolují přidat libovolné diakritické znaménko k libovolnému
znaku. Akcent vždy následuje znak, který je modifikován. Například, německý
znak Umlaut\-A ("Velké A v latince s umlautem") může být reprezentován pomocí
kódu UCS 0x00c4 a nebo alternativně jako kombinace normálního velkého A,
následovaného akcentem umlaut: 0x0041 0x0308.
.PP
Akcenty jsou nezbytné např. pro thajské písmo, pro matematické tisky a pro
uživatele Mezinárodní fonetické abecedy.
.SS "Úrovně implementace"
Protože se neočekává,že všechny systémy budou podporovat všechny varianty
kódování, ISO 10646\-1 definuje následující tři \fIúrovně implementace\fP UCS:
.TP 0.9i
Level 1
Akcenty a znaky Hangul Jamo (speciální, komplikované kódování korejského
písma, kde jsou jednotlivé symboly dány jako sekvence dvou či tří znaků)
nejsou podporovány.
.TP
Level 2
Jako level 1, přičemž některé kombinující znaky jsou povoleny (např. pro
thajštinu, Lao, hebrejštinu, arabštinu, Devangari, Malayalam).
.TP
Level 3
Všechny znaky z UCS jsou povoleny.
.PP
Standard Unicode 3.0 publikovaný Unicode Consorciem sestává přesně z UCS
Basic Multilingual Plane na úrovni implementace level 3, definované v ISO
10646\-1:2000. Unicode 3.1 přidává doplňkové plochy z ISO 10646\-2. Standard
Unicode a technické zprávy, které Unicode Consotium publikuje, obsahují
mnoho dodatečných informací o semantice a doporučených použitích různých
znaků. Poskytují vodítka a algoritmy pro editování, třídění, porovnávání,
normalizování, konverzi a zobrazování Unicode řetězců.
.SS "Unicode pod Linuxem"
V GNU/Linuxu je datový typ jazyka C \fIwchar_t\fP definován jako 32 bitový
integer. Knihovna jazyka C jeho hodnoty vždy interpretuje jako kódové
hodnoty UCS (ve všech locale), což je konvence, kterou GNU knihovna jazyka C
oznamuje aplikacím definováním konstanty \fB__STDC_ISO_10646__\fP, tj. tak, jak
to určuje standard ISO C99.
.PP
UCS/Unicode může být, stejně jako ASCII, používáno ve vstupních a výstupních
proudech, terminálové komunikaci, souborech prostého textu, názvech souborů
a proměnných prostředí prostřednictvím ASCII kompatibilního vícebajtového
kódování UTF\-8. K užívání UTF\-8 jako kódování znaků pro všechny aplikace je
třeba vybrat vhodné \fIlocale\fP pomocí proměnných prostředí
(např. "LANG=en_GB.UTF\-8").
.PP
Funkce \fBnl_langinfo(CODESET)\fP vrací název zvoleného kódování. Knihovní
funkce jako \fBwctomb\fP(3) a \fBmbsrtowcs\fP(3) mohou být použity ke konverzi
interního typu \fBwchar_t\fP do kódování používaného systémem a naopak. Funkce
\fBwcwidth\fP(3) říká, kolik o pozic (0\(en2) postoupil kurzor po vytištění
znaku.
.PP
.SS "Private Use Areas (PUA)"
.\" commit 9d85025b0418163fae079c9ba8f8445212de8568
In the Basic Multilingual Plane, the range 0xe000 to 0xf8ff will never be
assigned to any characters by the standard and is reserved for private
usage. For the Linux community, this private area has been subdivided
further into the range 0xe000 to 0xefff which can be used individually by
any end\-user and the Linux zone in the range 0xf000 to 0xf8ff where
extensions are coordinated among all Linux users. The registry of the
characters assigned to the Linux zone is maintained by LANANA and the
registry itself is \fIDocumentation/admin\-guide/unicode.rst\fP in the Linux
kernel sources (or \fIDocumentation/unicode.txt\fP before Linux 4.10).
.PP
Two other planes are reserved for private usage, plane 15 (Supplementary
Private Use Area\-A, range 0xf0000 to 0xffffd) and plane 16 (Supplementary
Private Use Area\-B, range 0x100000 to 0x10fffd).
.SS Literatura
.IP * 3
Information technology \(em Universal Multiple\-Octet Coded Character Set
(UCS) \(em Part 1: Architecture and Basic Multilingual Plane. International
Standard ISO/IEC 10646\-1, International Organization for Standardization,
Geneva, 2000.
.IP
This is the official specification of UCS . Available from
.UR http://www.iso.ch/
.UE .
.IP *
The Unicode Standard, Version 3.0. The Unicode Consortium, Addison\-Wesley,
Reading, MA, 2000, ISBN 0\-201\-61633\-5.
.IP *
S.\& Harbison, G.\& Steele. C: A Reference Manual. Fourth edition, Prentice
Hall, Englewood Cliffs, 1995, ISBN 0\-13\-326224\-3.
.IP
Dobrá referenční kniha o jazyku C. Čtvrté vydání také zahrnuje dodatek 1 z
roku 1994 ke standardu ISO C 90, který přidává mnoho knihovních funkcí pro
práci s wide\-byte a multi\-byte kódováními, ale ještě nezahrnuje ISO C99,
které dále zlepšilo podporu těchto kódování.
.IP *
Technické zprávy Unicode.
.RS
.UR http://www.unicode.org\:/reports/
.UE
.RE
.IP *
Markus Kuhn: UTF\-8 and Unicode FAQ for UNIX/Linux.
.RS
.UR http://www.cl.cam.ac.uk\:/\(timgk25\:/unicode.html
.UE
.RE
.IP *
Bruno Haible: Unicode HOWTO.
.RS
.UR http://www.tldp.org\:/HOWTO\:/Unicode\-HOWTO.html
.UE
.RE
.\" .SH AUTHOR
.\" Markus Kuhn
.SH "DALŠÍ INFORMACE"
\fBlocale\fP(1), \fBsetlocale\fP(3), \fBcharsets\fP(7), \fButf\-8\fP(7)
.SH TIRÁŽ
Tato stránka je součástí projektu Linux \fIman\-pages\fP v5.10. Popis projektu a
informace o hlášení chyb najdete na
\%https://www.kernel.org/doc/man\-pages/.
.PP
.SH PŘEKLAD
Překlad této příručky do španělštiny vytvořili
Jiří Pavlovský
a
Pavel Heimlich
.
.PP
Tento překlad je bezplatná dokumentace; Přečtěte si
.UR https://www.gnu.org/licenses/gpl-3.0.html
GNU General Public License Version 3
.UE
nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.
.PP
Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu
.MT translation-team-cs@lists.sourceforge.net
.ME .