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]

International Components for Unicode
VývojářIBM a další
První vydání19. února 1997
Aktuální verze54.1 (1. října 2014)
Operační systémMultiplatformní software
PlatformaMultiplatformní software
Vyvíjeno vC/C++ a Java
Typ softwaruknihovny pro Unicode a internacionalizaci
LicenceICU License
Webhttp://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.

  1. ICU homepage - Co je ICU?
  2. Laura Werner. Getting Java ready for the world: A brief history of IBM and Sun's internationalization efforts [online]. 1999. Dostupné online.
  3. 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)

Externí odkazy

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.