Nemzetközi összetevők az Unicode számára - International Components for Unicode
Fejlesztő (k) | Unicode konzorcium |
---|---|
Első kiadás | 1999 |
Stabil kiadás | 69.1 / 2020. március 18 .
|
Adattár | |
Beírva | C / C ++ (C ++ 11) és Java |
Operációs rendszer | Többplatformos |
típus | könyvtárak az Unicode és a nemzetköziesítés érdekében |
Engedély | Unicode licenc |
Weboldal | www |
Az International Components for Unicode ( ICU ) egy nyílt forráskódú projekt az érett C / C ++ és Java könyvtárakból az Unicode támogatása, a szoftverek nemzetközivé tétele és a szoftver globalizációja érdekében. Az ICU széles körben hordozható számos operációs rendszerhez és környezethez. Ugyanazokat az eredményeket biztosítja az alkalmazások számára minden platformon, valamint a C, C ++ és Java szoftverek között. Az ICU projekt az Unicode Consortium technikai bizottsága , amelyet az IBM és sok más vállalat szponzorál, támogat és használ .
Az ICU a következő szolgáltatásokat nyújtja: Unicode szövegkezelés, teljes karaktertulajdonságok és karakterkészlet -konverziók; Unicode reguláris kifejezések ; teljes Unicode készletek; karakter-, szó- és sorhatárok; nyelv érzékeny leválogatás és a keresés; normalizálás , kis- és nagybetűs átalakítás, valamint szkript -átírások ; átfogó területi adatok és erőforráscsomag -architektúra a közös területi adattáron (CLDR) keresztül; multi- naptár és időzónák ; valamint a dátumok, időpontok, számok, valuták és üzenetek szabályalapú formázása és elemzése. Az ICU komplex szövegelrendezési szolgáltatást nyújtott az arab, héber, indiai és thai nyelv számára történelmileg, de ez az 54 -es verzióban elavult volt, és az 58 -as verzióban teljesen eltávolították a HarfBuzz javára .
Az ICU kiterjedtebb nemzetköziesítési lehetőségeket biztosít, mint a C és C ++ szabványos könyvtárai. Az ICU 67 támogatja az Unicode 13.0 -at, és kezeli Nagy -Britannia eltávolítását az EU régióiból . Az ICU 64 támogatja az Unicode 12.0 -t , míg az ICU 64.2 támogatja az Unicode 12.1 -et , azaz a japán Reiwa korszak egyetlen új szimbólumát (de annak támogatását is visszaállították a régebbi ICU -verziókra, egészen az ICU 4.8.2 -ig). Az ICU 58 (Unicode 9.0 támogatással) az utolsó verzió, amely támogatja a régebbi platformokat, mint például a Windows XP , a Windows Vista . Az AIX , a Solaris és a z/OS támogatása a későbbi verziókban is korlátozott lehet (azaz az építés a fordító támogatásától függ). Az ICU a Windows 10 szabvány 1703 -as verziója óta a Microsoft Windows szabványos része .
Az ICU történelmileg UTF-16-ot használt , és még mindig csak Java-ra; míg a C/C ++ esetében az UTF-8 támogatott, beleértve az "illegális UTF-8" helyes kezelését.
Az ICU 68 nem építhető fel C ++ 20 fordítóval, de a 69.1 segítségével lehetséges.
Eredet és fejlődés
Miután Taligent 1996 elején az IBM részévé vált , a Sun Microsystems úgy döntött, hogy az új Java nyelvnek jobban kell támogatnia a nemzetközivé válást . Mivel a Taligent rendelkezett tapasztalatokkal az ilyen technológiák terén, és földrajzilag közel állt hozzájuk, a Text and International csoportjukat felkérték, hogy a JDK 1.1 internacionalizációs API -k részeként járuljanak hozzá a nemzetközi osztályokhoz a Java fejlesztői készlethez . Ennek a kódnak a nagy része még mindig megtalálható a és a csomagokban. A Java minden későbbi kiadásával további nemzetközivé válási funkciók érkeztek.
java.text
java.util
A Java nemzetközivé váló osztályokat ezután az ICU4C ("ICU for C") néven ismert könyvtár részeként a C ++ és a C csoportba helyezték át. Az ICU projekt az ICU4J -t ("ICU for Java") is biztosítja, amely olyan funkciókat ad hozzá, amelyek nem találhatók meg a szabványos Java könyvtárakban. Az ICU4C és az ICU4J nagyon hasonlóak, bár nem azonosak; például az ICU4C tartalmaz Regular Expression API -t, míg az ICU4J nem. Mindkét keretrendszert idővel továbbfejlesztették, hogy támogassák a Unicode és a közös területi adattár (CLDR) új lehetőségeit és új funkcióit .
Az ICU nyílt forráskódú projektként jelent meg 1999-ben IBM Classes for Unicode néven. Később átnevezték International Components For Unicode -ra. 2016 májusában az ICU projekt csatlakozott az Unicode konzorciumhoz, mint technikai bizottság ICU-TC , és a könyvtári forrásokat most Unicode licenc alatt terjesztik.
MessageFormat
Az ICU része a MessageFormat osztály, egy olyan formázási rendszer, amely tetszőleges számú argumentumot használ a többes számú ( plural
, selectordinal
) vagy az általánosabb kapcsoló- és stílusválasztás ( select
) vezérlésére, például a nyelvtani nemhez . Ezek az állítások egymásba ágyazhatók. Az ICU MessageFormat a többes szám és a kiválasztó rendszer hozzáadásával jött létre a Java SE azonos nevű rendszeréhez .
Lásd még
- Apple speciális tipográfia
- Apple típusú szolgáltatások Unicode képalkotáshoz
- GNU GetText
- Grafit (SIL)
- NetRexx (ICU licenc)
- OpenType
- Pango
- Uconv
- Uniscribe