International Components for Unicode
International Components for Unicode («Componentes Internacionales para Unicode», abreviado ICU) es un proyecto de código abierto de C/C++ y Java para Unicode, que busca la internacionalización y globalización del software. ICU es fácilmente aplicable a distintos sistemas operativos y entornos. Su resultado es el mismo en todas las plataformas y en softwares de C, C++ y Java. El proyecto de ICU está patrocinado, apoyado y empleado por IBM y muchas otras compañías.[1]
International Components for Unicode | ||
---|---|---|
Información general | ||
Tipo de programa | internacionalización y localización | |
Desarrollador | IBM and many other companies. | |
Lanzamiento inicial | 1996 | |
Licencia | Unicode License | |
Información técnica | ||
Programado en | ||
Enlaces | ||
ICU proporciona los siguientes servicios: control Unicode del texto, una amplia gama de propiedades y conversiones de codificación de caracteres; expresiones regulares Unicode; amplitud de conjuntos Unicode; caracteres, palabras y fronteras de línea; búsqueda y orden de idiomas; conversión de mayúsculas y minúsculas mediante corrección ortográfica y script de transliteración; configuración regional y packs de recursos mediante CLDR; multicalendario y husos horarios; y reglas basadas en formato y gramática de fechas, tiempo, números, monedas, y mensajes. ICU presentó alguna complicación con idiomas como árabe, hebreo, indoario y tailandés en sus orígenes, pero aquello se detectó en su versión 54 y se solucionó completamente en la versión 58 gracias a HarfBuzz.[2]
ICU proporciona una internacionalización más extensa que las bibliotecas estándar de C y C++. ICU 62 es compatible con Unicode 11.0 y las versiones más viejas con Unicode 10.0, pero no con plataformas más viejas como Windows XP, Windows Vista, AIX, Solaris o z/OS.
ICU comenzó utilizando UTF-16 y hoy en día solo lo hace para Java; mientras que con C/C++ se usa UTF-8, incluyendo el correcto manejando de "ilegal UTF-8".[3][4]
Origen y desarrollo
Después de que Taligent formase parte de IBM a comienzos de 1996, Sun Microsystems decidió que el lenguaje de Java tendría que tener una mayor compatibilidad para lograr su internacionalización. Ya que Taligent tenía experiencia con dicha tecnología y se encontraba cerca geográficamente, se les propuso contribuir con las clases internacionales de Java Development Kit como parte de la internacionalización de APIs JDK 1.1.[5] Una gran parte de este código aun existe en los paquetes java.text y java.util. Con cada liberación se añadieron más características de internacionalización de Java.
Las clases de internacionalización Java se llevaron a C++ y C bajo una librería con el nombre ICU4C ("ICU para C").[6] El proyecto de ICU también proporciona ICU4J ("ICU para Java"), el cual añade características no incluidas en las librerías estándar de Java. ICU4C e ICU4J son muy similares, pero no idénticos; por ejemplo, ICU4C incluye una expresión regular API, mientras ICU4J no. Ambos marcos de trabajo han sido realzados con el fin de soportar nuevas instalaciones y características de Unicode y CLDR.
ICU estuvo accesible como un proyecto de código abierto en 1999 bajo el nombre de IBM Classes para Unicode. Más tarde rebautizado a International Components for Unicode, conservando su acrónimo.[7] En mayo de 2016, el proyecto de ICU entró en el consorcio de Unicode como comité técnico ICU-TC y ahora todo se distribuye bajo la licencia de Unicode.[8]
Véase también
- GNU GetText
- NetRexx (Licencia de UVI)
- OpenType
- Pango
Referencias
- UVI homepage - Qué es UVI ?
- Motor de diseño - Guía de Usuario de la UVI
- «UTF-8 - ICU User Guide». userguide.icu-project.org. Consultado el 3 de abril de 2018.
- «#13311 (change illegal-UTF-8 handling to Unicode "best practice")». bugs.icu-project.org. Consultado el 3 de abril de 2018.
- Laura Werner (1999). «Getting Java ready for the world: A brief history of IBM and Sun's internationalization efforts».
- «ICU User Guide».
- «ICU Project Management Committee».
- «ICU joins the Unicode Consortium». Unicode, Inc. 16 de mayo de 2016. Consultado el 1 de agosto de 2016.