K≤dovßnφ ΦeÜtiny a k≤dovßnφ Unicode
Kdysi byl sv∞t velmi velkΘ mφsto a Φlov∞k si nemohl d∞lat nad∞ji, ₧e aby alespo≥ malou Φßst byl s to za sv∙j ₧ivot navÜtφvit. (Viz F.L. V∞k a jeho t°φdennφ cesta do Prahy). S p°φchodem nov²ch dopravnφch prost°edk∙ se stal sv∞tem menÜφm, ale ta sprßvnß miniaturizace nastala teprve s "vynßlezem" Internetu. Nynφ v rßmci jednoho serveru -- a jednΘ nßvÜt∞vy -- mohou sousedit strßnky pochßzejφcφ ze zemφ le₧φcφch t°eba na opaΦnΘ polokouli. PodobnΘ zm∞ny v minulosti v₧dy vedly k zßsadnφm zm∞nßm ve spoleΦnosti, a stejn∞ tak m∞ly dopad na mφchßnφ nßrodnostφ, jazyk∙ a v∙bec zm∞nu pohledu "u₧ivatel∙" na sv∞t. Zatφmco v renesanΦnφ Evrop∞ znamenaly Benßtky pupek sv∞ta a znalost italÜtiny Φi vlßmÜtiny byla pro ka₧dΘho °emeslnφka nezbytnß, dnes se do naprosto dominantnφ pozice dostala angliΦtina. Nejen ₧e je v °ad∞ zemφ ·°ednφm jazykem, ale stßvß se takΘ mate°sk²m jazykem technik∙ a programßtor∙. Nenφ proto divu, ₧e taktΘ₧ naprosto p°evlßdß na www strßnkßch, kde je dnes z°ejm∞ tφm nejuniverzßln∞jÜφm "k≤dovßnφm", a dokud se do hry pln∞ nezapojφ zem∞ jako ╚φna, bude urΦit∞ p°es 90 % strßnek v tomto jazyce. AngliΦtina by ovÜem nem∞la potlaΦovat nßrodnφ kultury a rodnΘ jazyky, na toto tΘma urΦit∞ nenφ t°eba argumentovat. ProblΘm je v podpo°e odliÜn²ch kulturnφch zvyklostφ v internetov²ch formßtech a na operaΦnφch systΘmech v∙bec. ProblΘm je to zßva₧n∞jÜφ, ne₧ se nezkuÜenΘmu u₧ivateli m∙₧e jevit. Pokud °ekn∞me v naÜich reßliφch vlastnφ kompletn∞ zlokalizovanΘ Windows a aplikaΦnφ software, a s okolφm komunikuje spφÜe mΘn∞ ne₧ vφce, nemusφ mo₧nß n∞jakou dobu narazit na n∞jakΘ post°ehnutelnΘ problΘmy. Realita je ovÜem pon∞kud jinß. V∞tÜina dneÜnφho softwaru vznikß v zemφch pou₧φvajφcφch angliΦtinu jako komunikaΦnφ jazyk a auto°i si Φasto v∙bec ned∞lajφ hlavu s podporou jin²ch jazyk∙. D°φve, kdy byly softwarovΘ trhy vφce separovanΘ, to p°φliÜ nebolelo. Dnes je situace jinß. A naÜt∞stφ i pro obchodnφky, pro n∞₧ se otevφrajφ novΘ trhy v Evrop∞ i Asii. V obou p°φpadech °ada zemφ pou₧φvß znakovΘ sady, kterΘ jsou znaΦn∞ odliÜnΘ od romßnsk²ch jazyk∙. A nejde jen o znaky, jsou zde i v²raznΘ odchylky od zp∙sobu t°φd∞nφ, p°i rozd∞lovßnφ slov, p°iΦem₧ vÜechny tyto rozdφly by m∞ly b²t poΦφtaΦi z°ejmΘ. Nejmarkantn∞jÜφ je to samoz°ejm∞ u piktografick²ch pφsmen, jako japonÜtina Φi ΦφnÜtina, pro problΘmy ovÜem nemusφme zachßzet tak daleko. StaΦφ se podφvat na zp∙soby k≤dovßnφ ΦeÜtiny, pou₧φvanΘ v dokumentech a hlavn∞ na www strßnkßch. Na ·vodnφch strßnkßch v∞tÜinou nalezneme n∞jakou formu mnohapolohovΘho p°epφnaΦe, kter² po volb∞ aktivuje jednoduÜÜφ Φi slo₧it∞jÜφ formou p°epnutφ do strßnek v po₧adovanΘ podob∞. ╚ast²m v²chozφm reprezentantem k≤dovßnφ strßnek je p°itom "ÜiÜlavß ΦeÜtina", kde auto°i (a nejen u nßs) zneu₧φvajφ toho, ₧e mimo pφsmenek s diakritikou m∙₧eme vÜechna pφsmena nalΘzt v anglickΘ abeced∞. To je samoz°ejm∞ naprosto absurdnφ p°φstup, kter² m∙₧eme vysv∞tlit jen naprostou nekulturnostφ p∙vodc∙. PodobnΘ jevy by se m∞ly s veÜkerou rozhodnostφ potlaΦovat -- pokud neakceptujeme v textech ypsilon namφsto m∞kk²ch "i", nenφ d∙vodu, proΦ bychom m∞li Φφst texty, kde se jejich autor nenamßhal pou₧φvat hßΦky a Φßrky. To samoz°ejm∞ nenφ vÜechno. Proto₧e °ada program∙ prost∞ s neanglick²mi jazyky nepoΦφtß, neumφ je ani korektn∞ pou₧φvat. Pokud tedy u₧ivatel na v²robu www strßnek pou₧ije program typu Adobe PageMill, kter² prost∞ Φeskß pφsma na PC ani na Macovi nepodporuje, v²sledek tomu bude odpovφdat. DalÜφ chybou je potom ve zdrojovΘm textu typ k≤dovßnφ jazyky neuvΘst. V∞tÜina www prohlφ₧eΦ∙ se dnes dokß₧e do odpovφdajφcφho jazyka p°epnout automaticky, samoz°ejm∞ ale jen pokud mß k tomu podklady. Unicode Jak vÜak ji₧ padla zmφnka, p°i otevφrßnφ se nov²ch trh∙ a typickΘm prodeji softwaru mimo ·zemφ v²robce, stoupß zßjem programßtor∙ o podporu jin²ch jazykov²ch struktur. Rozt°φÜt∞nφ sv∞ta do tolika platforem, to ovÜem ani p°i dobrΘ v∙li nenφ jednoduch² problΘm. Pou₧φvß se celß °ada standard∙/skript∙ -- ASCII pro americkou angliΦtinu, JIS pro japonÜtinu, GB- Codep pro "Φφnskou ΦφnÜtinu", Big-5 pro "tchaiwanskou ΦφnÜtinu", KS-code pro korejÜtinu, ISCII pro indickΘ dialekty atd. Ostatn∞ jen v ╚eskΘ republice se jich pou₧φvß Φtve°ice -- Latin 2, KameniΦtφ, Windows EE a Mac OS CE. A nic si nenamlouvejme, slovem pou₧φvß myslφme skuteΦnΘ pou₧φvßnφ, ne jen v²skyt v archivech. Jak je z°ejmΘ, jen samotn²ch variacφ znakov²ch sad je velkΘ mno₧stvφ a pro jejich popis b∞₧n∞ pou₧φvan² 8bitov² standard se sv²mi 256znakov²mi pozicemi prost∞ nem∙₧e staΦit. Postup by m∞l b²t zjevn² -- p°idat dostateΦn² poΦet bit∙ pro popis a zajistit pokud mo₧no standardizovan² p°istup k jejich vyu₧itφ. Standardy to ovÜem v naÜem sv∞t∞ nemajφ jednoduchΘ (DVD by mohlo vyprßv∞t). ╪ada 16bitov²ch k≤dovßnφ konec konc∙ existuje ji₧ dlouho, ale spoleΦnΘho toho majφ mßlo, snad jen to, ₧e prßce s nimi je noΦnφ m∙rou pro ka₧dΘho programßtora -- nap°. proto₧e n∞kterΘ znaky jsou ÜirokΘ jeden bajt, a n∞kterΘ pro zm∞nu dva. Odpov∞dφ by m∞lo b²t (a tento budoucφ Φas platφ ji₧ p∞kn∞ dlouho) k≤dovßnφ Unicode. Je to standard, kter² v roce 1988 vyvinuly firmy Apple a Xerox. Od roku 1991 potom existuje konsorcium 16 spoleΦnostφ, kterΘ mß za dalÜφ v²voj specifikacφ zodpovφdat. Unicode se sna₧φ p°inΘst jednoduch² a konzistentnφ zp∙sob reprezentace textov²ch °et∞zc∙. VÜechny znaky jsou k≤dovßny jako dva bajty -- p°iΦem₧ tato reprezentace v 16 bitech umo₧≥uje 65 536 k≤dov²ch pozic. Tyto pozice jsou rozd∞leny do jazykov²ch oblastφ a skupin -- viz tabulka. Prostor je to dostateΦn², v souΦasnosti je jeÜt∞ 29 000 pozic neobsazen²ch a rezervovan²ch pro budoucφ pou₧itφ. 6 000 pozic je urΦeno pro libovolnΘ pou₧itφ autory program∙. V²sledek by tedy m∞l b²t "svat² Grßl" -- naprostß p°enositelnost danΘho textovΘho souboru mezi stßty a r∙zn²mi poΦφtaΦi, bez ohledu na nainstalovan² operaΦnφ a jazykov² systΘm. To pochopiteln∞ nenφ toto₧nΘ s p°ekladem obsahu souboru, to je zase v∞c jinß. Mluvφme o tom, ₧e urΦit² znakov² k≤d bude v₧dy reprezentovat jeden jedin² znak, kter² se nßm mo₧nß nezobrazφ, proto₧e nebudeme mφt odpovφdajφcφ font, ale rozhodn∞ nebude nahrazovßn jin²mi pφsmeny a komolit tak v²znam sd∞lenφ. Bohu₧el, jak u₧ jist∞ ka₧d² vypozoroval, nenφ jednoduchΘ souΦasn² sv∞t p°inutit ke standardizaci. V dneÜnφ dob∞ se s Unicodem m∙₧eme setkat p°edevÜφm na n∞kter²ch www strßnkßch -- povÜimn∞te si, ₧e postaΦφ zvolit verzi Unicode, nikoliv jazykovou Φi nßrodnostnφ oblast -- a nezb²vß ne₧ doufat, ₧e brzo budou takto zapsßny vÜechny. Samoz°ejm∞ je to v₧dy otßzka kompatibilnφch program∙, kterΘ musφ Unicode podporovat. Nap°φklad Netscape Communicator (Navigator) je z hlediska podporovßnφ r∙zn²ch k≤dovßnφ z°ejm∞ nejÜt∞d°ejÜφ a Unicode tu nalezneme zastoupen² hned vÜemi postupn∞ uvoln∞n²mi verzemi (1.2 se stane z°ejm∞ tou "pravou" uspokojivou). D∙le₧itΘ ovÜem je, aby Unicode podporovaly operaΦnφ systΘmy, textovΘ procesory a programy pro vytvß°enφ www strßnek. Pro zaΦßtek je pochopiteln∞ nejd∙le₧it∞jÜφ zaΦφt s operaΦnφmi systΘmy -- pokud bychom si p°eΦetli n∞jakΘ p∙vodnφ Φlßnky o Unicode, nalezneme zde plßny "Unicode-compatible" verzφ systΘmu Mac OS, DOS, Windows atd., kterΘ by m∞ly b²t dokonΦeny okolo roku 1993. Od tΘ doby ub∞hlo tak°ka 5 let a nic z toho se nezrealizovalo. PodobnΘ projekty znamenajφ p°φliÜ mnoho prßce, tak₧e ani u Windows 95, je₧ sv∙j p∙vod v 16bitov²ch Windows 3.1 nemohou pop°φt, nem∙₧eme podporu Unicode oΦekßvat. Jinak je tomu u Windows NT, kterß pln∞ od zßkladu a zaΦßtku pracujφ s °et∞zci k≤dovan²mi v Unicode. V p°φpad∞, ₧e aplikace volß rozhranφ WIN32 a p°edßvß mu jako parametry °et∞zce v ANSI Φi ASCII, jsou pro vlastnφ zpracovßnφ p°evedeny do Unicode. Je to tedy provßd∞no i za cenu jistΘ prßce "navφc". Microsoft Office 97 pracuje taktΘ₧ s k≤dovßnφm Unicode, i kdy₧ podle n∞kter²ch komentß°∙ nenφ podpora v²chodoasijsk²ch jazyk∙ ·plnß. U softwaru platformy Macintosh je to slabÜφ, mo₧nß proto, ₧e tu v₧dy existovala maximßlnφ snaha o jeho lokalizaci regionßlnφmi zastoupenφmi Apple. To ovÜem nic nem∞nφ na tom, ₧e Mac OS a₧ na Javu a n∞kolik dalÜφch technologiφ Unicode nepodporuje, p°esto₧e firma Apple byla u jeho samotnΘho zrodu, co₧ je ovÜem pro ni vφce ne₧ typickΘ (viz Talligent, OpenDoc, FireWire...) NicmΘn∞ nov² systΘm Rhapsody je postaven² na NextStepu, a obdobn∞ Windows NT Unicode pln∞ podporovat bude -- z°ejm∞ ji₧ v roce 1998. Ale i dalÜφ systΘmy -- AIX 4.3 Φi OS/2 Merlin, ji₧ Unicode zaΦaly pou₧φvat -- zejmΘna jazyk Java je tady velk²m hnacφm motorem. Jak se zdß, b∞hem nßsledujφcφch let Unicode pomalu najde cestu do vÜech systΘm∙ a aplikacφ. Lze takΘ doufat, ₧e pokud jej budou vÜechny dostupnΘ prohlφ₧eΦe podporovat, stane se standardem i pro ΦeskΘ strßnky, kde prozatφm panuje skuteΦn² chaos.
Jaroslav Zapletal Tabulkaoblast k≤du<T>znaky 0000-007F<T>ASCII 0080-00FF<T>Znaky Latin 1 0100-017F<T>Evropskß latinka 0180-01FF<T>RozÜφ°enß latinka 0250-02AF<T>Standardnφ fonetickΘ symboly 02B0-02FF<T>Modifikovanß pφsmena 0300-036F<T>Obecnß diakritickß znamΘnka 0370-03FF<T>╪eΦtina 0400-04FF<T>Azbuka 0530-058F<T>ArmΘnÜtina 0590-05FF<T>HebrejÜtina 0600-06FF<T>ArabÜtina 0900-097F<T>Denavanßgri (pφsmo pro Sanskrt a p°φbuznΘ jazyky)
|