International Components for Unicode
# International Components for Unicode

International Components for Unicode (ICU) ist ein Open-Source-Projekt zur Unicode-Unterstützung und Internationalisierung, welches ausgereifte C++-, C- und Java-Bibliotheken bereitstellt.
ICU ist portabel und auf vielen Plattformen einsetzbar. Programme, die ICU verwenden, produzieren die gleichen Ergebnisse, egal unter welchem Betriebssystem oder auf welchem Prozessor sie ausgeführt werden oder ob sie C++, C oder Java verwenden. ICU wird von IBM und weiteren Unternehmen gesponsert, verwendet und entwickelt.
Folgende Aspekte umfasst ICU:

## Text

    Unicode-Textverarbeitung (schneiden, fügen), alle Unicode-Zeicheneigenschaften (Properties), Konvertierungen zu anderen Zeichensätzen

## Analyse

    Unicode Reguläre Ausdrücke, volle Unicode-Unterstützung, Berücksichtigung der Zeichenkategorien und -eigenschaften.

## Vergleich

    kulturabhängige Sortierung mit Hilfe des Unicode Collation Algorithm, Collation und Suche

## Transformationen

    Normalisierung, Groß-/Kleinschreibung, Schriftumsetzung, Transliteration

## Locales

    umfängliche Locale-Datenbank und Ressourcenbündel, basierend auf Common Locale Data Repository

## Komplexe Textdarstellung

    Arabisch, Hebräisch, Indisch und Thai

## Zeit

    Multi-Kalender- und Zeitzonen-Unterstützung

## Formatierung und Parsen

    Datum, Zeit, Zahlen, Währungen, Meldungen; regelbasiert

## Layout

    Positionierung von Zeichen und Diakritika abhängig von den für die Sprache (d. h. den Script) gültigen Layout-Regeln
ICU bietet gegenüber den C++- und C-Bibliotheken der meisten Betriebssysteme eine weit umfänglichere Unterstützung von Unicode und Internationalisierung.
Als Betriebssystemerweiterung wird ICU inzwischen auch von ReactOS verwendet. Es ist dort in einer angepassten Form integrativer Bestandteil des Betriebssystems und leistet dort einen wichtigen Beitrag zur Regionalisierung. Zur Anwendung kommt es z. B. in den Spracheinstellungen und in der Textdarstellung überall dort, wo Programme auf diese Komponenten des Betriebssystems zurückgreifen.