Poděkuji Japonsku, Google, že jim chtěl podlézat a Applu, že postavil cestu do pekla.
Tady to začalo https://www.unicode.org/L2/L2007/07257-emoji-wd.html a tady se už stavěla cesta https://www.unicode.org/reports/tr51/tr51-1-archive.html. Máš tam i hromadu odůvodnění, proč je vlastně dobré mít cestu do pekla, že tam budeš také rád chodit.
Vůbec ne. Prosadilo se dávno před módou tzv. emoji. Před tím lidi stálo hromadu času a nervů konvertovat texty mezi různými kódováními a řešit „rozsypaný čaj“, takže byli rádi, že mají jedno kódování, které umožní mít v jednom textu češtinu, němčinu, francouzštinu, ruštinu, čínštinu atd. Taky to nebylo bez problémů a užili jsme si s tím svoje (do té doby platilo bajt = znak a většina softwaru a programovacích jazyků s tímhle předpokladem počítala), ale celková bilance je jednoznačně kladná (a vůbec k tomu nepotřebuješ nějaké přiblblé obrázky).
No právě že unicode se prosadilo tam kde se řešila nějaká ta čeština, ruština, čínština a podobně.
V USA samozřejmě nic takového nepotřebovali a i když se to v megakorporátech a regulovaných odvětvích objevilo, tak se na to vývojáři a správci dívali s despektem jako na každý jiný "komunistický výmysl"
Takže hypotéza že to bylo právě Emoji které přineslo skutečně relevantní tržní argument proč unicode začít používat mi dává smysl. Ale zda je to pravda netuším, dokonce si ani nejsem jistý zda to časově koreluje.
Já jsem si to období právě prožil a pamatuji si to.
. I ten emericky korporat se potrebuje prizpusobit lokalnim podminkam kdyz hodla dobyvat celosvetove trhy.
No to je přesně ten "megakorporát" který jsem zmiňoval. Tam skutečně vedení dospělo k názoru že ano, potřebují "IT systémy" které budou fungovat celosvětově a v různých jazycích. A vydali patřičný befel, který ovšem řadoví vývojáři a IT správci nesli velmi nelibě a často se to snažili ošvejkovat (alespoň do doby než vedení došla trpělivost a najmuli i armádu indů, ale to už se dostáváme do jiného skeče).
Menší korporáty samozřejmě na něco takového totálně dlabaly a pokud měli zahraniční pobočky, musely veškerý SW dělat samy.
Zcela vlastní kapitolou jsou pak korporáty evropské, kde unicode není zcela samozřejmě ani v roce 2025. Například v Německu nebo Rakousku rozhodně nedoporučuji zkoušet používat jména s českou diakritikou. On je někdy problém i s umlauty a ß, nad tím lze prostě jen zakroutit hlavou.
No nic, to jsou všechno relativně offtopic věci.
Např. podle Wikipedie se ty počátky datují 2007-2014:
„Beginnings of Unicode emoji (2007–2014)
The first American company to take notice of emoji was Google beginning in 2007.“
Co si pamatuji, tak ten nástup byl hodně pozvolný a pro smajlíky se na webu dlouho používaly bitmapy, ne Unicode Emoji.
V GNU/Linuxu se ta podpora objevovala někde kolem roku 2000 (počátky někde v koncem 90. let) a výchozí to bylo o pár let později. Zažil jsem ještě Latin2 jako výchozí kódování, ale jen chvíli. A v době toho přechodu myslím málokdo tušil, že nějaké Emoji vůbec existuje – lidem šlo primárně o to, že bude jedno společné kódování pro různé jazyky, případně že to zvládne lepší typografii. Smajlíci se psali spíš textově :-).
Na UTF-8 je skvělá ta zpětná kompatibilita s ASCII – ten základ je stejný a UTF-8 můžeš číst jako ASCII a většina textu bude čitelná (což tedy platí i pro většinu osmibitových kódování a třeba u bratrů Kamenických to dovedli k dokonalosti tím, že české znaky s diakritikou dali na pozice, kde jsou podobně vypadající znaky v CP437, takže i při záměně těchto kódování byl text čitelný). Tzn. nepřijde mi, že by to nějaký pojídač hamburgerů chtěl bojkotovat, protože i po přechodu na UTF-8 je to jeho ASCII pořád čitelné – a ty znaky národních abeced si nepřečetl ani před tím, takže to mu může být jedno.
Na druhou stranu ani teď po tolika letech, není Unicode/UTF-8 všude a dokonale implementované. Pořád můžeš narazit na chyby, že ti někde zkomolí jméno nebo adresu, takže kolikrát je jistější uvádět tyhle údaje bez diakritiky (např. u nákupů přes internet – byť většinou už to funguje, ale ale občas to nějaká tiskárna štítků nebo systém nedá).
Hlavní problém použití Emoji vidím v tom, že to rozbíjí text a poutá pozornost v místech, které ji nezasluhují. Nahrazovat tím slova v textu mi přijde vyloženě hloupé a škodlivé. Smysluplné využití si dovedu představit někdy místo odrážek nebo jako první znak nadpisu, kde to zvýraznění a upoutání pozornosti je na místě.
Pořád můžeš narazit na chyby, že ti někde zkomolí jméno nebo adresu, takže kolikrát je jistější uvádět tyhle údaje bez diakritiky (např. u nákupů přes internet – byť většinou už to funguje, ale ale občas to nějaká tiskárna štítků nebo systém nedá).
To je ale způsobené spíš použitím morálně zastaralých technologií, než že by to něco principiálně nepodporovalo. Asi jako když nějaké zařízení nepodporuje IPv6, ale jiná řada od toho samého výrobce umí IPv6 bez problémů.
Vyloženě chybu v implementaci UTF-8 už jsem několik let nepotkal. Ale je fakt, že to vyladění všech systémů trvalo docela dlouho. Možná i proto, že se to podle mne testovalo převážně ve střední Evropě – na západ od nás se s ne-ASCII znaky setkávali tak málo často, že bylo nepravděpodobné, že na nějakou chybu narazí. A na východ od nás asi zase používali jiná kódování, protože UTF-8 pro ně není zrovna efektivní.
Hlavní problém použití Emoji vidím v tom, že to rozbíjí text a poutá pozornost v místech, které ji nezasluhují. Nahrazovat tím slova v textu mi přijde vyloženě hloupé a škodlivé. Smysluplné využití si dovedu představit někdy místo odrážek nebo jako první znak nadpisu, kde to zvýraznění a upoutání pozornosti je na místě.
Já bych to, jaké znaky budou používat, ponechal na pisatelích. Unicode je technický standard, ten fakt nemá sloužit k tomu, aby diktoval lidem, co a jak smějí psát.
Jen za poslední týden jsem se s pokaženými texty setkal třikrát (adresa na balíku z e-shopu, jméno souboru původem na Apple, firemní dokument s nestandardním písmem). Přístupy na všelijak ponastavené linuxové terminály nepočítám.
Takže ono to úplně bez problémů zatím není - ani desítky let nestačily k úplné konsolidaci. Nicméně UTF-8 je zřejmě krok správným směrem.
V principu mi emoji v Unicode nevadí, ale jsou vázané na barevná zobrazovací zařízení. Jakmile takový dokument člověk vytiskne na běžné laserové tiskárně, je tam jen spousta fleků a puntíků
.
Vylepšené o automatickou náhradu běžných smajlíků za emoji a provázání komunikačních kanálů. Pak člověku pošle manager k vytištění dokument s komunikací z e-mailu a z Teams, kde se sdělení ukrývá kdesi mezi skvrnami...
Já to nepovažuji za chybu standardu - ona je to spíš vlastnost.
Problém je, že těch míst, kde by byly černobílé varianty (správně) implementované, je pomálu. A (naše) firemní tiskárny (či tiskové servery?) do této kategorie rozhodně nepatří.
V současnosti mi to přijde takové hodně násilím tlačené
(např. to automatické zaměňování v komunikátorech), ale zároveň nedoimplementované
.
Ad použití Emoji vidím v tom, že to rozbíjí text a poutá pozornost v místech, které ji nezasluhují - například v korejštině se podle všeho používají čínské znaky (resp. hanja) pro ustálené termíny typu Čína, Japonsko, Ministerstvo zdravotnictví apod. To právě umožňuje zvýraznit některé části textu. Ale vypadá to, že vyjma novinových titulků, některých oficiálních dokumentů a kreativního/dekorativního použití se to už moc nepoužívá.
https://en.wikipedia.org/wiki/Korean_mixed_script#:~:text=almost%20only%20used%20for%20abbreviations%20in%20newspaper%20headlines
Používat emoji jako drop caps mě nenapadlo, a je to skvělá myšlenka :)
https://en.wikipedia.org/wiki/Initial#Drop_cap
Ad použití Emoji vidím v tom, že to rozbíjí text a poutá pozornost v místech, které ji nezasluhují
To samé se dá říct o textu psaném kapitálkami, tučném písmu, zvýrazňování hvězdičkami apod. Což ovšem neznamená, že lidé nemají mít tu možnost.
Navíc emoji se nemusí používat jen uvnitř odstavcového textu. Třeba zdejší tlačítka pro hodnocení jsou vlastně také emoji. Často potřebujete na text jednoduché reakce typu viděl jsem, souhlasím/nesouhlasím, děkuji apod. K tomu nepotřebujete něco složitě psát a nemusí to pak každý zase číst – stačí jedna emoji.
Nebo se dají emoji „zneužít“ třeba pro rychlé hlasování. Někde máte možnost přidávat emoji reakce, a potřebujete se domluvit na termínu. Ajťák jde na Doodle, vytvoří anketu, nechá hlasovat. Ne-ajťák napíše možnosti a označí je pomocí emoji čísel ve čtverečku. Stejná emoji dá jako reakce a hlasuje se kliknutím na odpovídající číslo. Jednoduché, ale účinné.
Když se nějaká funkcionalita dobře používá i pro účely, pro které původně vůbec nebyla zamýšlena, podle mne to obvykle značí to, že ta funkcionalita byla navržena dobře.
No já nevím. Zrovna v USA korporace jménem Microsoft postavila Windows NT kompletně nad Unicodem, od první verze. Všechna ne-Unicode volání, zavedená pro zpětnou kompatibilitu s Windows 3.x/95, DOSem, Unixem a OS/2, se interně převádí na Unicode formu, a pak případně zpátky.
Což je skvělý příběh, který kazí jen "drobné detaily". Na prvním místě autoři aplikací na Unicode poněkud kašlali. Teprve po příchodu Windows XP, které se staly prvním skutečně mainstreamovým OS založeným na NT, se dalo říci, že se aplikace přizpůsobily. A i poté léta existovaly výjimky.
Na dalším místě Microsoft zvolil 16-bitové WCHARy. To mělo skvělý smysl, protože Unicode měl popisovat 65536 znaků, a nikdy více. Takže jeden WCHAR je jeden znak, a nejsou potřeba žádné obezličky jako v případě UTF-8. A to přesně do doby, kdy se Unicode rozrostl nad těch 65536 znaků, a bylo potřeba zavést UTF-16, které přináší většinu problémů, které má UTF-8. Navíc problémy nastaly už před tím, když se ukázalo, že řekněme ö lze zapsat jako U+00F6 (ö), nebo jako U+006F (o) U+0308 (¨). K tomu přišly Unicode Normal Forms, a Apple si neomylně vybral něco jiného než zbytek světa... Aneb mysleli jsme to dobře, ale dopadlo to jako vždycky.
https://en.wikipedia.org/wiki/Unicode_equivalence#Normalization
Unicode 1.0 byl postavený jako 16-bitové kódování. Rozšíření nad 16 bitů přišlo až v Unicode 2.0 ve formě surrogate pairs, což je UTF-16. Do té doby neexistovalo žádné UCS-2, byl to prostě Unicode. Mimochodem počet znaků se dostal nad 65536 až s Unicode 3.0 v roce 2001.
https://en.wikipedia.org/wiki/UTF-16#:~:text=early%202-byte%20encoding%20was%20originally%20called%20%22unicode%22
Podporu pro UTF-16 pro vstup, výstup a třídění přinesly už Windows 2000. V linku se dozvíte, že podporu bylo potřeba zapnout v Registry. Buď ručně, nebo to automaticky dělal Language Pack používající "supplementary characters", tj. tehdy čínské, japonské a korejské znaky. Bez toho language packu stejně nebyly nainstalované fonty a IME, takže jste ty znaky nezobrazil ani nevložil. Mimochodem CJK fonty mají až 30 MB (byť tehdy byly o něco menší), a Windows 2000 měly v minimal HW requirements 64 MB RAM. Velikost instalačního CD byla okolo 370 MB, a multi-language pack s French, German, Spanish, Swedish, Dutch, Italian, Korean, Chinese Simplified and Chinese Traditional měl 485 MB. To kdybyste se ptal, proč všechny ty Language Packs nebyly na instalačním CD.
https://learn.microsoft.com/en-us/windows/win32/intl/surrogates-and-supplementary-characters#:~:text=Note-,windows%202000,-introduces%20support%20for
V době vzniku Windows NT nebylo žádné UCS-2 a to, co tak dnes označujeme, bylo tenkrát UTF-16. A bylo to tehdy nejlepší možná volba.
Byl velký průšvih, že autoři Unicode řekli „dva bajty pro reprezentaci znaků budou na věky stačit každému“. A za pár let si to rozmysleli a s Unicode 2.0 řekli „hm, tak ne“. A to už bylo po zkušenostech s IPv4, kdy už bylo jasné, že dojdou. Blížil se rok 2000. Dávno bylo známé „640 kB paměti musí stačit každému“. Přesto bylo Unicode 1.0 navrženo bez rezervy v řádech.
Na druhou stranu je otázka, zda kdyby v roce 1991 rovnou přišlo kódování, které by pro jeden znak v pevné délce kódu mělo 4 bajty, zda by se vůbec ujalo.