libunicode 0.9.0

libunicode 0.9.0

Byla vydána verze 0.9.0 knihovny pro jazyk C++ (standard C++20) libunicode. Projekt vyvíjí tým vývojářů emulátoru terminálu Contour a shell Endo (ve fázi aktivního vývoje) a distribuuje se pod licencí Apache 2.0.

Možnosti knihovny:

Sada také obsahuje konzolovou utilitu unicode-query pro získání podrobných informací o řetězcích.

Změny:

  • přidáno API grapheme_cluster_width;
  • vylepšení v manipulaci s verzemi Unicode („Age“);
  • plná podpora UAX #15 Normy normalizace Unicode s podporou streamingu:

normalizer norm(Normalization_Form::NFC); // Zpracování rozloženého e + spoilující akcent, pak nový startér pro spuštění emise auto result = norm.feed(U’e’); CHECK(result.empty()); // stále vyrovnávám result = norm.feed(U’u0301′); CHECK(result.empty()); // stále vyrovnávám (kombinující značka) result = norm.feed(U’x’); // startér spouští emisi předchozího segmentu REQUIRE_FALSE(result.empty()); CHECK(result == U"u00E9"); // e + akcent složeno do e-akcentu result = norm.flush(); CHECK(result == U"x"); // konečný segment

  • funkce script_extensions nyní vrací std::optional<std::span>;
  • implementováno pravidlo GB9c pro rozdělení skupin grafémů pro kombinace znaků v jazycích skupiny Indic;
  • v grapheme_segmenter byla opravena pravidla pro GB11 a GB4/GB5; zastaralé API bylo odstraněno;
  • implementováno SIMD-optimalizované konvertování UTF-8 do UTF-16/UTF-32;
  • šířka spojovacích znaků Hangul V/T je nyní nulová;
  • implementováno segmentování podle hranic slov;
  • opravy v C API;
  • refaktorování systému sestavování a pomocného generátoru tabulek C++;
  • byly přidány komplexní testy pro převod UTF-16/UTF-32;
  • v CI byla přidána statická verze utility unicode-query.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster