International Components for Unicode
International Components for Unicode (ICU, internacionalizační komponenty pro Unicode) je projekt vyspělé multiplatformní knihovny s otevřeným zdrojovým kódem pro jazyky C/C++ a Java pro podporu Unicode, internacionalizaci a globalizaci softwaru. ICU podporuje množství operačních systémů a prostředí. ICU poskytuje aplikacím v jazycích C, C++ a Java stejné výsledky na všech platformách. Projekt ICU je sponzorovaný, podporovaný a používaný firmou IBM a mnoha jinými společnostmi.[1]
Vývojář | IBM a další |
---|---|
První vydání | 19. února 1997 |
Aktuální verze | 54.1 (1. října 2014) |
Operační systém | Multiplatformní software |
Platforma | Multiplatformní software |
Vyvíjeno v | C/C++ a Java |
Typ softwaru | knihovny pro Unicode a internacionalizaci |
Licence | ICU License |
Web | http://www.icu-project.org/ |
Některá data mohou pocházet z datové položky. |
ICU poskytuje následující služby: zpracovávání textu v Unicode, úplné vlastnosti znaků a konverze znakových sad; regulární výrazy v Unicode; kompletní sady Unicode; hranice znaků, slov a řádků; jazykově specifické abecední řazení a vyhledávání; normalizace, převody mezi malými a velkými písmeny a transliterace písem; vyčerpávající locale data a architektura balíků prostředků používajících Common Locale Data Repository (CLDR); complex text layout pro arabštinu, hebrejštinu a indická a thajská písma; práce s kalendáři a časovými zónami; na pravidlech založené formátování a analýza dat, časů, čísel, peněžních údajů a zpráv.
ICU poskytuje širší internacionalizační prostředky než standardní knihovny pro C a C++.
Počátek a vývoj
ICU je odvozeno z frameworků pro C++ vytvořených firmou Taligent v polovině 90. let 20. století. Poté, co se na začátku roku 1996 stal Taligent součástí IBM, a Sun Microsystems „potřeboval podporu internacionalizace a lokalizace pro svůj nový jazyk Java, využily obě firmy faktu, že Taligent disponuje vynikající internacionalizační technologií a talentovanými inženýry a sídlí asi 100 metrů od oddělení JavaSoft firmy Sun v Cupertinu v Kalifornii. Skupina Text a internacionalizace z vývojářů firmy Taligent tak vytvořila internacionalizační třídy pro Java Development Kit.“[2] Některé kódy pro zpracování textů, formátování dat a další vlastnosti knihovny ICU byly přepsány v jazyce Java a daly základ internacionalizačnímu API pro JDK 1.1. Značná část tohoto kódu stále existuje v balíčcích java.text a java.util. Další internacionalizační vlastnosti byly přidávány v každém dalším vydání jazyka Java.
Programátoři firmy IBM přepsali internacionalizační třídy pro jazyk Java do jazyka C++ a některé třídy převedli na funkce v jazyce C. Takto vzniklá verze knihovny ICU pro C/C++ je známa jako ICU4C („ICU pro jazyk C“), původní verze pro Javu jako ICU4J („ICU pro Javu“). ICU4J doplňuje vlastnosti chybějící ve standardních knihovnách jazyka Java. Verze ICU pro jazyk C a pro Javu si jsou velmi podobné, ale ne identické; ICU4C například obsahuje API pro regulární výrazy, které v ICU4J není. Oba frameworky byly postupně vylepšovány, aby podporovaly nové prostředky a nové vlastnosti kódování Unicode a Common Locale Data Repository (CLDR).
ICU byl vydán jako projekt s otevřenými zdrojovými texty v roce 1999 pod jménem IBM Classes for Unicode. Později byl přejmenován na International Components for Unicode.[3]
Odkazy
Reference
V tomto článku byl použit překlad textu z článku International Components for Unicode na anglické Wikipedii.
- ICU homepage - Co je ICU?
- Laura Werner. Getting Java ready for the world: A brief history of IBM and Sun's internationalization efforts [online]. 1999. Dostupné online.
- ICU Project Management Committee [online]. Dostupné online.
Související články
- Uconv
- UCM
- Uniscribe
- OpenType
- Apple Type Services for Unicode Imaging
- Apple Advanced Typography
- Pango
- Graphite (SIL)
- GNU gettext
- NetRexx (ICU license)