ICU

De Wikipedia, la enciclopedia libre
Ir a la navegación Ir a la búsqueda
ICU
www.icu-project.org
Información general
Desarrollador(es) IBM
Lanzamiento inicial 1999
Programado en C
Sistema operativo Multiplataforma
Licencia Unicode License

ICU (cuyo significado en español es "componentes internacionales para Unicode") 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]

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.

UVI 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[editar]

Después de que Taligent formase parte de IBM a comienzos de 1996, Sol 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[editar]

Referencias[editar]

Enlaces externos[editar]

  • 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.