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

Referencias

Enlaces externos

Este artículo ha sido escrito por Wikipedia. El texto está disponible bajo la licencia Creative Commons - Atribución - CompartirIgual. Pueden aplicarse cláusulas adicionales a los archivos multimedia.