# Unikodo

| Unikodo
 |
| --- |
| The Unicode® Standard |
|  |
| **kodoprezento koda skribsignaro**  |
| Retejo
 | Oficiala retejo
 |
|  |

Epizodo de podkasto Kern.punkto pri Unikodo kun D-ro Reinhard FÖSSMEIER.
**Unikodo** (angle *Unicode* [junikoŭd]) estas normo de la komputila industrio por la konsekvenca enkodigo de signojn, alfabetojn, nombrojn kaj eĉ emoĝiojn en skribojn, por la reprezentado kaj manipulado de ajna teksto esprimita en iu el la plejmulto de la mondaj skribsistemoj: latine, arabe, cirile, greke, ĉine, japane, kartvele, hieroglife ktp. La latina, ekzemple, estas skripto, kiu funkcias por dekoj aŭ eĉ centoj da lingvoj - sed iuj skriboj estas uzataj por nur unu lingvo. Kelkaj arkaikaj skriboj, kaj ankaŭ kelkaj skriboj ankoraŭ uzataj, tamen ankoraŭ ne estas subtenataj en Unikodo, kvankam en 2020 Unikodo subtenas jam 154 alfabetojn.

La *Unicode Consortium* (Unikoda Konsorcio) komencis prilabori Unikodon en 1991 kaj ankoraŭ bontenas ĝin kaj plivastigas ĝin. La internacia normo ISO-10646 sekvas ĉiupaŝe la normon Unikodan. En septembro 2013, la plej freŝa versio estis Unikodo 6.3. Tiu versio enhavas repertuaron de pli ol 110,000 signoj, kovrante 100 specojn de skripto. La normo konsistas el aro de kodtabeloj por vida referenco, enkodiga metodo kaj aro de normaj signaj enkodigoj, aro de referencdatumaj dosieroj, kaj kelkaj rilataj eroj, ekzemple signaj atributoj, reguloj por normaligo, malkombinigo, ordigo, vidigo, kaj dudirekta vidigo (por la ĝusta montrado de teksto enhavanta kaj dekstra-al-maldekstrajn skriptojn, ekzemple la araba kaj la hebrea, kaj maldekstra-al-dekstraj skriptoj).

La sukceso de Unikodo unuecigi signarojn kaŭzis la ĝeneraligitan kaj ĉiean uzadon de Unikodo en la internaciigo kaj asimilado de programaroj. La normo estis efektivigita en multaj lastatempaj teknologioj, inkluzive de modernaj operaciumoj, markolingvoj, programlingvoj, ktp.

En decembro 2007, UTF-8 (UTF signifas "unikoda transforma aranĝo") iĝis la plej uzata kodsistemo en la TTT. Antaŭe, la plej uzata sistemo estis askio, kiu estis desegnita ĉefe por tekstoj en la angla.

## Kodpunktoj

La numeroj, kiujn Unikodo asignas al signoj, nomiĝas kod-punktoj. Origine Unikodo antaŭvidis maksimume 65.536 (= 216) kodpunktojn, sed tio montriĝis nesufiĉa. Jam en versio 4.0 Unikodo havis 96.382 kodojn, kaj oni difinis la tutan spacon de eblaj kodpunktoj al 1.114.112 (= 17×216). Ĝis septembro de 2016 ekzistis jenaj versioj:

* Unikodo 1.0 — oktobro 1991
* Unikodo 1.1 — junio 1993
* Unikodo 2.0 — julio 1996
* Unikodo 2.1 — majo 1998
* Unikodo 3.0 — septembro 1999
* Unikodo 3.1 — marto 2001
* Unikodo 3.2 — marto 2002
* Unikodo 4.0 — aprilo 2003
* Unikodo 4.1 — marto 2005
* Unikodo 5.0 — julio 2006
* Unikodo 5.1 — aprilo 2008
* Unikodo 5.2 — oktobro 2009
* Unikodo 6.0 — oktobro 2010
* Unikodo 6.1 — januaro 2012
* Unikodo 6.2 — septembro 2012
* Unikodo 6.3 — septembro 2013
* Unikodo 7.0 — junio 2014
* Unikodo 8.0 — junio 2015
* Unikodo 9.0 — junio 2016

## Kodoprezentoj

Unikodo mem estas nur signokodaro, kiu difinas numeron por ĉiu signo. La duumaĵa formo, la kodoprezento, povas varii. Plej ofte oni uzas la jenajn kodoprezentojn:

* **UTF-8**: Ĉiu signo estas prezentata per po 1 ĝis 4 bitokoj. La signoj de Askio uzas po 1 bitokon, kaj prezentiĝas do tute same kiel en Askio. UTF-8 estas uzata en Unikso kaj tre ofte en la Interreto. La operaciumoj Plan-9 kaj BeOS "denaske parolas" per UTF-8. La programada lingvo Perl en novaj versioj uzas laŭbezone UTF-8 interne.
* **UTF-16**: Preskaŭ ĉiu signo estas prezentata per 2 bitokoj. La maloftaj signoj preter la 16-bita limo bezonas po 4 bitokojn. UTF-16 estas uzata precipe en Vindozo NT, makintoŝoj kaj la programadaj lingvoj Python, Ĝavo, Objective-C (kun “Foundation Framework”) kaj aliaj.
* **UTF-32**: Ĉiu signo estas prezentata per precize 4 bitokoj. Supozeble malmultaj, se iuj, operaciumoj aŭ programoj komprenas nur UTF-32. La tekstoredakta programo *vim*, havebla por multaj operaciumoj, kapablas trakti tekstojn en, inter aliaj, UTF-8, UTF-16 aŭ UTF-32.

En XML kaj HTML oni povas prezenti ĉiun ajn signon de la Unikoda signorepertuaro per **numeraj signoreferencoj**. Ekz. la litero "ĉ" estas tiam skribata kiel `&#265;` (dekume) aŭ kiel `&#x0109;` (deksesume).

## Unikodo kaj Esperanto

### La deveno de Esperantaj literoj en Unikodo

Aldone al la senĉapelaj latinaj literoj la dek du ĉapelitaj literoj (ses
minuskloj kaj la rilataj ses majuskloj) troviĝis en la normo Unikodo ek
de versio 1.0. en 1991. Ilin prenis la kompilantoj el la antaŭa normo Latin
Extended-A.

Tiuj siavice estis parto de la dua malneto proponita por ISO/IEC 10646-1
en 1990.

#### ISO/IEC 8859-3:1999 aŭ ECMA-94 aŭ LATIN ALPHABET No. 3

La listo de latinaj alfabetoj kun diakritiloj en Latin Extended-A
konsistis el la unuigo de ĉiuj tiamaj alfabetoj en 8-bitaj normoj de ISO 8859,
plus la literoj trovitaj en la dua malneto de ISO 10646-1 en
decembro 1989. Tiamajn dokumentojn oni disdonis papere, kaj nun ili ne
estas facile akireblaj.

CP905 de IBM estas simple la EBCDIC-kodpaĝo de junio 1986. Ĝi
korespondas al ISO 8859-3, kaj ISO-TR 109, kiu estas la dekstra paĝo de
Latin-3.

ECMA aktivis en la evoluigo de ĉi tiuj literaroj kaj eldonigis ilin kiel
paralelan normon (ECMA-94, dua eldono, 1986). ECMA havis intiman rilaton
kun ISO.

ISO 6937 de 1983 subtenis la ĉapelitajn literojn de la esperanta, turka,
kaj malta lingvoj.

Ankaŭ la normo ISO 6937 (Teletex) subtenis la ĉapelitajn literojn. Laŭ
ĝi la ĉapelitaj literoj estis enkodigeblaj per po du bajtoj: nespaciga
diakrita signeto kaj litero.

La internacia telekomunika unio aprobis la uzadon de Esperanto en
telegramoj ktp en 1949. Eble tio inspiris la inkludon de Esperanto en
postaj normoj.

### Unikodo en Esperantaj retpaĝoj

En 2004 ĉirkaŭ 70% de la retpaĝoj en Esperanto uzas Unikodon. Vidu cetere ĉe Esperanto.

La kutima metodo por prezenti Unikodon en TTT-paĝo estas per signokodaro UTF-8. La servilo eble aŭtomate sendas la informon pri signokodaro, sed oni povas eksplicite aldoni tiun informon en la HTML-kodo de la paĝo. Ene de la "head"-elemento oni tiam metu jenan "meta"-elementon:

* `<meta http-equiv="Content-type" content="text/html; charset=utf-8" />`

(Ekzemple, Vikipedio mem uzas ĉi tiun metodon.) Ĉiu moderna foliumilo bone traktas ĉapelitajn literojn en UTF-8-paĝoj. Foje tamen nek la HTML-kodo nek la servilo sendas tiun informon, kaj la uzanto devas eksplicite elekti la UTF-8-enkodigon en sia softvaro, kio ofte konfuzas kaj ĝenas uzantojn. Ĝenerale, tamen, la uzanto ne devas ion ajn fari, por ke la unikodaj signoj estu bone traktataj.

### Avantaĝoj de Unikodo

* Ĉiu ĉapelita litero havas sian unikan kodpozicion (tio eblas ankaŭ en Latino 3).
* Oni povas intermiksi Esperantaĵojn kaj tekston de lingvoj kun aliaj specialaj signoj ankaŭ ne-latinliteraj (tio ne eblas en Latino 3).

### Malavantaĝoj de Unikodo

* Kelkaj programoj ankoraŭ ne funkcias unikode (aliflanke preskaŭ neniu programo funkcias laŭ Latino 3, krom tiuj, kiuj scias ankaŭ Unikodon).
* Ofte speciala adapto, eble eĉ instalo de speciala klavara programeto, estas necesa por povi komforte tajpi ĉapelitajn literojn (ekzemple Ek por Vindozo, kaj *.xmodmap*-dosiero por malnovaj distribuoj de Linukso). En modernaj Linuksoj (ek de 2009) estas facile agordi la ĉapelitajn literojn. (Vidu ĉe Linukso#Tajpi Esperanton per Linukso kaj tiun manlibron.) Aldona programo ankaŭ ne necesas ĉe makintoŝoj (vidu ĉi-supren).
* Ankoraŭ, en iuj malmodernaj komputiloj, tiparoj kun la Esperantaj literoj ne estas instalitaj.

## Tiparoj por Esperanto

### Ne ĉiu unikoda tiparo taŭgas

En oktobro 1993 aperis en Eventoj n.ro 43 tiu malespera noto de Pejno Simono:

|  |  |  |
| --- | --- | --- |
| “
 | *En preskaŭ ĉiu magazino oni entuziasme raportas, ke post la baldaŭa enkonduko de unikodo la esperantistoj nun fine ne plu havos problemojn komputile skribi siajn kuriozajn ĉapelitaĵojn kaj sian strangan literon Ŭo. Ne tiel estas! Unikodo estas nenio escepte de kodo. Kodo estas, simpligite, vico da numeroj, indikantaj signejojn por deponi signojn. Nu, ne ekzistas la leĝo, kiu postulas, ke ĉiu signejo de kodo estas ŝarĝenda per signo. Tial mi avertas ĉiujn entuziasmulojn, ke kiam unikodo aperos sur la merkato, la esperantaj signejoj estos verŝajne vakaj*.
 | ”
 |

Feliĉe, la malesperanta esperantisto parte malpravis. Kelkaj oftaj hodiaŭaj unikodkapablaj tiparoj ja entenas ĉiujn esperantajn signojn. Jen kelkaj ekzemploj:

* ĉe Vindozo, la tre uzata tiparo “Times New Roman” kaj certe kelkaj aliaj (stato 1997).

Ekde ĉirkaŭ 2005 preskaŭ ĉiuj alfabetoj funkcias.

* ĉe makintoŝoj, la kutimaj tiparoj “Courier”, “Helvetica”, “Lucida Grande”, “Monaco” kaj “Times”,
kaj ankaŭ la belegaj “Didot”, “Futura” kaj “Zapfino”,
* ĉe GNU/Linukso, multaj tiparoj, ekzemple tiuj de “Courier”, “DejaVu” (Sans, Sans Mono, Serif), “Liberation” (Sans, Serif, Mono), GNU FreeFont (“FreeSans”, “FreeMono” kaj “FreeSerif”), “Ubuntu”. Kelkaj subsituas signojn el alia tiparo, ekzemple: “Nanum”, “Tlwg”, sed la rezulto ofte ne estas kontentiga.

Bedaŭrinde, tamen, kelkaj unikodaj tiparoj ankoraŭ ne enhavas ĉiujn esperantajn signojn. Unikodo tamen vere taŭgas por esperantaj literoj kaj hodiaŭ ĝi estas la plej fleksebla rimedo por prezenti la ĉapelitajn literojn de Esperanto:

* **Ĉ** - 264 **ĉ** - 265 (*ĉemizo, ĉevalo, eĉ, ĉi-matene, dimanĉo*)
* **Ĝ** - 284 **ĝ** - 285 (*ĝi, vojaĝo, reĝo, naskiĝis*)
* **Ĥ** - 292 **ĥ** - 293 (*monaĥejo, ĉeĥa, draĥmo*)
* **Ĵ** - 308 **ĵ** - 309 (*aĵo, ĵus, ĵeti*)
* **Ŝ** - 348 **ŝ** - 349 (*ŝipo, ŝi, maŝino, ŝati, ŝajne*)
* **Ŭ** - 364 **ŭ** - 365 (*aŭ, laŭ, Paŭlo, antaŭ, aŭto, Eŭropo*)

### Metodo por kontroli, ĉu certa tiparo taŭgas

Oni atentu, ke, kiam oni tajpas signon uzante unikodan tiparon, kiu ne enhavas tiun signon, povas unuavide ŝajni, ke la tiparo ja entenas ĝin — pro tio ke, kiam la dezirata tiparo ne entenas la signon, la komputilo aŭtomate enmetos la saman signon en alia simila unikoda tiparo ja entenanta la signon! Tiam foje tuj evidentas, ke la signo estas el malĝusta tiparo. Sed ofte oni devus grandigi la signojn kaj tre zorge kompari ilin por noti, ke la celata signo estas el tiparo malsama ol la aliaj.

Jen tamen alia, pli praktika, maniero kontroli, el kiu tiparo estas iu aparta litero. Oni alklaku inter la celata signo kaj la sekva. Tio metos la enigan punkton (la blinkantan vertikalan stangeton) inter ambaŭ literojn. Se oni tiam tajpus, la novtajpitaj literoj enŝoviĝus en tiun lokon. En preskaŭ ĉiuj tekstprilaboriloj estas fenestro aŭ fenestreto, ĉu jam videbla, ĉu aperigebla, montranta la nomon de la tiparo de la signo staranta antaŭ la eniga punkto. Kompreneble, anstataŭ meti la enigan punkton tuj post la literon, oni povas ankaŭ elekti (permuse aŭ alie) la tutan literon.

Por kontroli, ĉu iu tiparo havas ĉiujn dekdu esperantajn signojn, tajpu ilin unue en ajna tiparo, elektu la dekdu signojn kune, kaj ŝanĝu la tiparon de la elektaĵo al la dezirata tiparo. Tiam ekzamenu signon post signo per la ĉi-supra metodo kaj vi konstatos, ĉu ĝi estas el la ĝusta tiparo aŭ ne.

Notu, ke, ĉe makintoŝaj komputiloj, oni povas, sen aldona programo, rekte tajpi la ĉapelaĵojn uzante la klavararanĝon, kies angla nomo estas “U.S. Extended” (la nomo estos alia, sed simila, se vi uzas alian sisteman lingvon ol la anglan). La simbolo de tiu klavararanĝo estas usona flago, sub kiu staras nigra kvadrateto entenanta blankan u-on (“u” por Unikodo). Por uzi tiun makintoŝan klavararanĝon, necesas elekti ĝin en la “Sistemaj preferoj”. Por tio, unue malfermu ĉi-lastajn, klaku ĉe “Internacia”, poste ĉe “Entajpa menuo”, kaj tiam elektu la klavararanĝon “U.S. Extended”. Samloke elektu ankaŭ la “Klavarvidebligilo”-n. Nun kaj la nova klavararanĝo kaj la Klavarvidebligilo aperos en la flageta menuo kuŝanta en la menustango. Por tajpi en Esperanto, unue elektu “U.S. Extended” en la flageta menuo. Poste elektu en la sama menueto la klavarvidebligilon, kiu montros al vi, per kiuj klavoj vi povos tajpi multegajn kromsignajn literojn el multegaj lingvoj, inkluzive Esperanton.

### Se iu tiparo ne havas la Esperantajn literojn, aldonu ilin!

Tio eblas, per tipar-prilaborilo kiel Fontographer. Por kelkaj tiparspecoj, tio postulos nur horon, se vi jam scias kiel uzi tian programon.

## Peco de Unikoda tabelo

|  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| Ā | ā | Ă | ă | Ą | ą | Ć | ć | Ĉ | ĉ | Ċ | ċ | Č | č | Ď | ď
 |
| 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | **264** | **265** | 266 | 267 | 268 | 269 | 270 | 271
 |
| Đ | đ | Ē | ē | Ĕ | ĕ | Ė | ė | Ę | ę | Ě | ě | Ĝ | ĝ | Ğ | ğ
 |
| 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | **284** | **285** | 286 | 287
 |
| Ġ | ġ | Ģ | ģ | Ĥ | ĥ | Ħ | ħ | Ĩ | ĩ | Ī | ī | Ĭ | ĭ | Į | į
 |
| 288 | 289 | 290 | 291 | **292** | **293** | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303
 |
| İ | ı | Ĳ | ĳ | Ĵ | ĵ | Ķ | ķ | ĸ | Ĺ | ĺ | Ļ | ļ | Ľ | ľ | Ŀ
 |
| 304 | 305 | 306 | 307 | **308** | **309** | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319
 |
| ŀ | Ł | ł | Ń | ń | Ņ | ņ | Ň | ň | ŉ | Ŋ | ŋ | Ō | ō | Ŏ | ŏ
 |
| 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335
 |
| Ő | ő | Œ | œ | Ŕ | ŕ | Ŗ | ŗ | Ř | ř | Ś | ś | Ŝ | ŝ | Ş | ş
 |
| 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | **348** | **349** | 350 | 351
 |
| Š | š | Ţ | ţ | Ť | ť | Ŧ | ŧ | Ũ | ũ | Ū | ū | Ŭ | ŭ | Ů | ů
 |
| 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | **364** | **365** | 366 | 367
 |
| Ű | ű | Ų | ų | Ŵ | ŵ | Ŷ | ŷ | Ÿ | Ź | ź | Ż | ż | Ž | ž | ſ
 |
| 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383
 |

### Deziroj restas

Restas problemoj: se oni sendas mesaĝojn tra la reto, iam la originala kodo estas ne bone transigita. Tio okazas ĉe multaj retumiloj, en Yahoo parte kaj en aliaj.

Deziro estas, ke ĉiu mesaĝo havu aŭtomate antaŭmetitan kodo-indikon indikantan la uzatan kodoprezenton. Ĉiuj stacioj sur la vojo ĝis la ricevanto legu tiun kodo-indikon kaj apliku ĝin. Rezulto estu, ke la ricevanto havu ekzakte la saman tekston, kiun la sendinto enmetis. Tio funkciu tute aŭtomate, sen homa helpo.

## Vidu ankaŭ

* Unikodkapablaj programoj
* Vi povas uzi la antaŭrigardon de la **testejo** por konverti tekston skribitan en X-sistemo al unikodaj esperantaj literoj, kiujn vi povas kopii kaj alglui en vikipedian artikolon.
* Deksesuma sistemo kaj Esperantaj literoj en Unikodo.
* Dudirekta teksto
* Komputila klavaro
* Unikoda alfabeto
* Unikoda enigo
* Cirila kodo de Macintosh
* WGL4 (subsignaro de Unikodo, entenanta la literojn de Esperanto, disponebla en ĉiu deca moderna tiparo kaj komprenata de ĉiu deca moderna programo)

## Referencoj

## Literaturo

* Blahuš, Marek. *Unikodo – Esperanto de Interreto* In *Lingvo kaj Interreto kaj aliaj studoj*. Prelegkolekto el KAEST 2006. Dobřichovice : KAVA-PECH, 2006. Teksto en esperanto. ISBN 978-80-85853-93-3.

## Eksteraj ligiloj

* Kio estas Unikodo? (Klarigo fare de la Unikodo Konsorcio, en Esperanto.)
* Konvertilo de x-formo al unikodo
* Unikodaj esperantaj literoj
* Konsiloj pri unikodaj tiparoj.
* DecodeUnicode - Unicode WIKI, bildoj de unikodaj signoj
* Unikodaj prov-paĝoj Arkivigite je 2004-04-11 per la retarkivo Wayback Machine
* Krozila Unikoda klavaro por Esperanto kaj pluraj aliaj lingvoj, kun 10.000-oj da uzantoj
* Klara manlibro por tajpi Unikodo en la GNU sistemo (specife la GNU/Linukso mastruma sistemo) kaj Vindozo.