Ang bersyon 0.9.0 sa C++ library (C++20 standard) gipagawas na. libunicodeAng proyekto gihimo sa usa ka grupo sa mga developer sa terminal emulator. Kaundan ug mga kabhang Si Endo (ubos sa aktibong pag-uswag) ug gilisensyahan ubos sa Apache 2.0 License.
- suporta alang sa mga sumbanan Unicode 17.0:
- API para sa pagkuha og mga kabtangan sa Unicode;
- Pag-optimize sa SIMD sa pipila ka mga gimbuhaton (gamit ang std::simd o std::experimental::simd kon anaa);
- gi-optimize nga pagkakabig UTF-8 <-> UTF-16/UTF-32;
- katumbas nga gimbuhaton nga wcwidth(int unicode::width(char32_t));
- pagbahinbahin sa teksto pinaagi sa mga grapemo, simbolo, emoji ug mga script;
- pagkakabig sa kaso ug pagtandi sa mga string;
- usa ka high-level text segmentation API nga angay alang sa implementasyon pagporma sa teksto.
- pagsulay sa pagsakop sa kadaghanan sa mga bahin sa librarya (gilapdon sa simbolo ug pagbahinbahin).
Ang pakete naglakip usab sa usa ka console utility, unicode-query, para sa pagkuha og detalyadong impormasyon bahin sa mga string.
Mga pagbag-o:
- gidugang ang grapheme_cluster_width API;
- mga kalamboan sa pagtrabaho sa mga bersyon sa Unicode ("Edad");
- bug-os nga suporta UAX #15 Mga Porma sa Normalisasyon sa Unicode uban ang suporta alang sa pagproseso sa sapa:
normalizer norm(Normalization_Form::NFC); // Gi-feed ang nabungkag nga e + gihiusa ang acute, dayon usa ka bag-ong starter aron ma-trigger ang emission auto result = norm.feed(U'e'); CHECK(result.empty()); // nag-buffer gihapon result = norm.feed(U'u0301′); CHECK(result.empty()); // nag-buffer gihapon (combining mark) result = norm.feed(U'x'); // ang starter nag-trigger sa emission sa miaging segment REQUIRE_FALSE(result.empty()); CHECK(result == U"u00E9"); // e + acute nga gihiusa ngadto sa e-acute result = norm.flush(); CHECK(result == U"x"); // katapusang segment
- Ang function sa script_extensions karon mobalik sa std::opsyonal >;
- ang lagda sa GB9c para sa pagbahin sa mga grupo sa grapheme para sa mga kombinasyon sa karakter sa mga pinulongang Indic gipatuman na;
- Sa grapheme_segmenter, ang mga lagda para sa GB11 ug GB4/GB5 gikorekta na; ang wala na gigamit nga API gitangtang na;
- Napatuman na ang SIMD-optimized nga pag-convert sa UTF-8 ngadto sa UTF-16/UTF-32;
- ang gilapdon sa nagkonektar nga mga simbolo sa Hangul V/T karon sero na;
- Gipatuman na ang pagbahin-bahin pinaagi sa mga utlanan sa pulong;
- mga pag-ayo sa C API;
- pag-refactor sa build system ug auxiliary C++ table generator;
- Gidugang ang komprehensibo nga mga pagsulay para sa UTF-16/UTF-32 nga pagkakabig;
- Usa ka static build sa unicode-query utility ang gidugang sa CI.
Source: linux.org.ru
