Despite the momentous version number, this is a fairly minor update.
There is no shlib major bump.
Upstream chagnes:
The license has changed from "LGPLv3+ or GPLv2" to "LGPLv3+ or GPLv2+".
The data tables and algorithms have been updated to Unicode version 14.0.0.
The functions u8_uctomb, u16_uctomb, u32_uctomb now support
strings larger than 2 GiB by taking an 'n' argument of type
ptrdiff_t (instead of int).
The functions u*_possible_linebreaks and u*_width_linebreaks now
make it easier to work with strings that contain CR-LF sequences:
In this case, in the returned array, it will return
UC_BREAK_CR_BEFORE_LF followed by UC_BREAK_MANDATORY (instead of
twice UC_BREAK_MANDATORY).
There are new properties for recognizing pictographic symbols and regional indicators:
- UC_PROPERTY_EMOJI uc_is_property_emoji
- UC_PROPERTY_EMOJI_PRESENTATION uc_is_property_emoji_presentation
- UC_PROPERTY_EMOJI_MODIFIER uc_is_property_emoji_modifier
- UC_PROPERTY_EMOJI_MODIFIER_BASE uc_is_property_emoji_modifier_base
- UC_PROPERTY_EMOJI_COMPONENT uc_is_property_emoji_component
- UC_PROPERTY_EXTENDED_PICTOGRAPHIC uc_is_property_extended_pictographic
- UC_PROPERTY_REGIONAL_INDICATOR uc_is_property_regional_indicator
Fixed multithread-safety bugs on Cygwin, native Windows, and Haiku.
attempting to include stdbool.h. Solaris 10 has stdbool, but the compiler
defaults to c89 and an error will occur on stdbool inclusion due to the
specified standard not being recent enough.
PR pkg/56488
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
Unfetchable distfiles (fetched conditionally?):
./textproc/convertlit/distinfo clit18src.zip
pkglint --only "https instead of http" -r -F
With manual adjustments afterwards since pkglint 19.4.4 fixed a few
indentations in unrelated lines.
This mainly affects projects hosted at SourceForce, as well as
freedesktop.org, CTAN and GNU.
New in 0.9.10:
* The functions
u8_casing_prefix_context, u8_casing_prefixes_context,
u8_casing_suffix_context, u8_casing_suffixes_context,
u16_casing_prefix_context, u16_casing_prefixes_context,
u16_casing_suffix_context, u16_casing_suffixes_context,
u32_casing_prefix_context, u32_casing_prefixes_context,
u32_casing_suffix_context, u32_casing_suffixes_context,
that are documented since version 0.9.1, are now actually implemented.
New in 0.9.8:
* The data tables and line breaking algorithm have been updated to Unicode
version 9.0.0.
* In the include file unigbrk.h, the function uc_grapheme_breaks has
been added to accommodate the new UAX#29 rules involving 3 or more
consecutive characters.
Problems found locating distfiles:
Package cabocha: missing distfile cabocha-0.68.tar.bz2
Package convertlit: missing distfile clit18src.zip
Package php-enchant: missing distfile php-enchant/enchant-1.1.0.tgz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
New in 0.9.5:
* The data tables and line breaking algorithm have been updated to Unicode
version 7.0.0.
* In the include file uniname.h, the function unicode_name_character
has been extended to look for name aliases.
New in 0.9.4:
* The data tables and line breaking algorithm have been updated to Unicode
version 6.0.0.
* A new include file unigbrk.h is provided. It declares functions for
grapheme cluster breaking, that is, determining the boundaries between
graphemes. See the documentation chapter "Grapheme cluster breaks in strings"
for details.
* In the include file unictype.h, constants are defined for the group of
general categories LC ("Cased Letter").
* In the include file unictype.h, functions for associating canonical
combining classes with names have been added:
uc_combining_class_name
uc_combining_class_long_name
uc_combining_class_byname
* In the include file unictype.h, functions for the Arabic joining type and
the Arabic joining group have been added:
uc_joining_type_name
uc_joining_type_long_name
uc_joining_type_byname
uc_joining_type
uc_joining_group_name
uc_joining_group_byname
uc_joining_group
* In the include file unictype.h, functions for new predefined properties
have been added:
uc_is_property_cased
uc_is_property_case_ignorable
uc_is_property_changes_when_lowercased
uc_is_property_changes_when_uppercased
uc_is_property_changes_when_titlecased
uc_is_property_changes_when_casefolded
uc_is_property_changes_when_casemapped
But it's recommended to use the case mapping functions from unicase.h
instead.
* In the include file unictype.h, the functions for bidi class, formerly known
as bidirectional category, have been renamed:
uc_bidi_category_name -> uc_bidi_class_name
uc_bidi_category_byname -> uc_bidi_class_byname
uc_bidi_category -> uc_bidi_class
uc_is_bidi_category -> uc_is_bidi_class
The old function names still exist, but are obsolete.
* In the include file unictype.h, functions for returning long names of
property values have been added:
uc_general_category_long_name
uc_bidi_class_long_name
The functions
uc_general_category_byname
uc_bidi_class_byname
have been extended to recognize long names as well as short names.
* It is now easier to detect the subminor version: The value of the variable
_libunistring_version and of the macro _LIBUNISTRING_VERSION now includes
also the subminor version.
* The functions u8_mbtouc and u8_mbtouc_unsafe now handle ill-formed UTF-8
input in a better way, that is more compliant with W3C recommendations.
* The functions u8_strcoll, u16_strcoll, u32_strcoll now produce results that
are less dependent on the iconv implementation in use.
* The functions u8_strstr, u16_strstr, u32_strstr now perform in O(n) time
worst-case, where n is the sum of the lengths of the argument strings.
libunistring provides a library that implements Unicode strings (in
three flavours: UTF-8 strings, UTF-16 strings, UTF-32 strings),
together with functions for Unicode charactets (character names,
classifications, properties) and functions for string processing
(formatted output, width, word breaks, line breaks, normalization,
case folding, regular expressions).