libunicode 0.8.0

libunicode 0.8.0

Op 17 Februarie is weergawe 0.8.0 van die biblioteek vir die C++-taal (C++20-standaard) vrygestel. libunicodeDie projek word ontwikkel deur 'n span terminaal-emulator-ontwikkelaars. Contour en word versprei onder die Apache 2.0-lisensie.

Biblioteekvermoëns:

  • ondersteuning vir standaarde Unicode 17.0:
  • API vir die verkryging van Unicode-eienskappe;
  • SIMD-optimering van sommige funksies (met behulp van std::simd of std::experimental::simd indien beskikbaar);
  • geoptimaliseerde omskakeling UTF8 <-> UTF32;
  • ekwivalente funksie wcwidth(int unicode::width(char32_t));
  • tekssegmentering deur grafeme, simbole, emoji en skrifte;
  • gevalomskakeling en stringvergelyking;
  • 'n Hoëvlak-tekssegmenterings-API geskik vir die implementering van teksvorming.
  • toetsdekking van die meeste biblioteekkenmerke (simboolwydte en segmentering).

Die pakket sluit ook 'n konsole-hulpmiddel, unicode-query, in vir die verkryging van gedetailleerde inligting oor stringe.

Lys van veranderinge:

  • bygevoegde funksies:

char32_t simple_uppercase(char32_t kodepunt) char32_t simple_lowercase(char32_t kodepunt) char32_t simple_titlecase(char32_t kodepunt) char32_t simple_casefold(char32_t kodepunt) case_mapping_resultaat full_uppercase(char32_t kodepunt) case_mapping_resultaat full_lowercase(char32_t kodepunt) case_mapping_resultaat full_titlecase(char32_t kodepunt) case_mapping_resultaat full_casefold(char32_t kodepunt) std::u32string na_uppercase(std::u32string_view text) std::u32string na_lowercase(std::u32string_view text) std::u32string na_titlecase(std::u32string_view text) std::u32string casefold(std::u32string_view teks) std::string na_uppercase(std::string_view teks) std::string na_lowercase(std::string_view teks) std::string na_titlecase(std::string_view teks) std::string casefold(std::string_view teks) int casefold_compare(std::u32string_view a, std::u32string_view b) int casefold_compare(std::string_view a, std::string_view b) bool casefold_equals(std::u32string_view a, std::u32string_view b) bool casefold_equals(std::string_view a, std::string_view b) bool is_cased(char32_t kodepunt) bool is_case_ignorable(char32_t kodepunt) bool veranderinge_wanneer_hoofletters(char32_t kodepunt) bool veranderinge_wanneer_onderletters(char32_t kodepunt) bool veranderinge_wanneer_titlecased(char32_t kodepunt) bool veranderinge_wanneer_gevou(char32_t kodepunt)

  • Emscripten-ondersteuning bygevoeg;
  • Sommige toetsfunksies het die is_ voorvoegsel gekry.

Bron: linux.org.ru