Unikodo

teknika normo por la reprezento kaj enkodigo de teksto de multaj lingvoj

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[1], 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.[2] 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[3], kvankam en 2020 Unikodo subtenas jam 154 alfabetojn[2].

Bildsimbolo de Unikodo.
Epizodo de podkasto Kern.punkto pri Unikodo kun D-ro Reinhard FÖSSMEIER.

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).[4]

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.[5][6][7]

Kodpunktoj

redakti

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

redakti

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 ĉ (dekume) aŭ kiel ĉ (deksesume).

Unikodo kaj Esperanto

redakti

La deveno de Esperantaj literoj en Unikodo

redakti

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. [8] 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

redakti

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. [9]

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

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. [11]

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

Unikodo en Esperantaj retpaĝoj

redakti

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

redakti
  • Ĉ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

redakti
  • 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

redakti

Ne ĉiu unikoda tiparo taŭgas

redakti

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

redakti

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!

redakti

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

redakti
Ā ā Ă ă Ą ą Ć ć Ĉ ĉ Ċ ċ Č č Ď ď
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
İ ı IJ ij Ĵ ĵ Ķ ķ ĸ Ĺ ĺ Ļ ļ Ľ ľ Ŀ
304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319
ŀ Ł ł Ń ń Ņ ņ Ň ň ʼn Ŋ ŋ Ō ō Ŏ ŏ
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

redakti

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ŭ

redakti

Referencoj

redakti
  1. (en) Miguel Trancozo Trevino, The many languages missing from the internet, BBC, la 15-an de aprilo 2020, alirite la 19-an de oktobro 2020.
  2. 2,0 2,1 Listo de koditaj skriboj ĉe retejo de la Unikoda Konsorcio.
  3. Listo de ne koditaj skriboj ĉe retejo de la Unikoda Konsorcio.
  4. The Unicode Standard: A Technical Introduction. Alirita 2010-03-16 .
  5. Kresko de UTF-8 en la Teksaĵo, World Wide Web Consortium, Aŭgusto 2008
  6. [1] "Google blogo", Majo 2008
  7. [2], "Google blogo", Januaro 2010
  8. Origin of the digital encoding of accented characters for Esperanto, Ken Whistler, Unicode Digest, volumo 15, numero 7, 23 marto 2015. [3][rompita ligilo]
  9. [4]
  10. [5]
  11. [6]
  12. Telegraph Regulations. Arkivita el la originalo je 2016-03-08. Alirita 2015-07-06 .

Literaturo

redakti

Eksteraj ligiloj

redakti