Updated raqm to 0.10.5 (#9557)

This commit is contained in:
Andrew Murray 2026-04-12 15:13:32 +10:00 committed by GitHub
parent 4b911c889b
commit 3a3dab8bb0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 47 additions and 28 deletions

View File

@ -2,7 +2,7 @@
# install raqm
archive=libraqm-0.10.3
archive=libraqm-0.10.5
./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/main/$archive.tar.gz

View File

@ -1,3 +1,21 @@
Overview of changes leading to 0.10.5
Saturday, April 11, 2026
====================================
Check for NULL return from malloc in couple of places.
Overview of changes leading to 0.10.4
Thursday, February 5, 2026
====================================
Add build option to skip tests.
Add dependency override for use as a subproject.
Fix tests when b_ndebug=true.
Build, CI and documentation updates.
Overview of changes leading to 0.10.3
Tuesday, August 5, 2025
====================================

View File

@ -33,9 +33,9 @@
#define RAQM_VERSION_MAJOR 0
#define RAQM_VERSION_MINOR 10
#define RAQM_VERSION_MICRO 3
#define RAQM_VERSION_MICRO 5
#define RAQM_VERSION_STRING "0.10.3"
#define RAQM_VERSION_STRING "0.10.5"
#define RAQM_VERSION_ATLEAST(major,minor,micro) \
((major)*10000+(minor)*100+(micro) <= \

View File

@ -338,6 +338,8 @@ _raqm_alloc_run (raqm_t *rq)
else
{
run = malloc (sizeof (raqm_run_t));
if (!run)
return NULL;
run->font = NULL;
run->buffer = NULL;
}
@ -515,7 +517,7 @@ raqm_clear_contents (raqm_t *rq)
* @len: the length of @text.
*
* Adds @text to @rq to be used for layout. It must be a valid UTF-32 text, any
* invalid character will be replaced with U+FFFD. The text should typically
* invalid characters will be replaced with U+FFFD. The text should typically
* represent a full paragraph, since doing the layout of chunks of text
* separately can give improper output.
*
@ -765,13 +767,13 @@ raqm_set_par_direction (raqm_t *rq,
* raqm_set_language:
* @rq: a #raqm_t.
* @lang: a BCP47 language code.
* @start: index of first character that should use @face.
* @start: index of the first character that should use @face.
* @len: number of characters using @face.
*
* Sets a [BCP47 language
* code](https://www.w3.org/International/articles/language-tags/) to be used
* for @len-number of characters staring at @start. The @start and @len are
* input string array indices (i.e. counting bytes in UTF-8 and scaler values
* for @len-number of characters starting at @start. The @start and @len are
* input string array indices (i.e. counting bytes in UTF-8 and scalar values
* in UTF-32).
*
* This method can be used repeatedly to set different languages for different
@ -951,7 +953,7 @@ raqm_set_freetype_face (raqm_t *rq,
* raqm_set_freetype_face_range:
* @rq: a #raqm_t.
* @face: an #FT_Face.
* @start: index of first character that should use @face from the input string.
* @start: index of the first character that should use @face from the input string.
* @len: number of elements using @face.
*
* Sets an #FT_Face to be used for @len-number of characters staring at @start.
@ -962,7 +964,7 @@ raqm_set_freetype_face (raqm_t *rq,
*
* This method can be used repeatedly to set different faces for different
* parts of the text. It is the responsibility of the client to make sure that
* face ranges cover the whole text, and is properly aligned.
* face ranges cover the whole text, and are properly aligned.
*
* See also raqm_set_freetype_face().
*
@ -1023,9 +1025,6 @@ _raqm_set_freetype_load_flags (raqm_t *rq,
* Sets the load flags passed to FreeType when loading glyphs, should be the
* same flags used by the client when rendering FreeType glyphs.
*
* This requires version of HarfBuzz that has hb_ft_font_set_load_flags(), for
* older version the flags will be ignored.
*
* Return value:
* `true` if no errors happened, `false` otherwise.
*
@ -1042,22 +1041,19 @@ raqm_set_freetype_load_flags (raqm_t *rq,
* raqm_set_freetype_load_flags_range:
* @rq: a #raqm_t.
* @flags: FreeType load flags.
* @start: index of first character that should use @flags.
* @start: index of the first character that should use @flags.
* @len: number of characters using @flags.
*
* Sets the load flags passed to FreeType when loading glyphs for @len-number
* of characters staring at @start. Flags should be the same as used by the
* client when rendering corresponding FreeType glyphs. The @start and @len
* are input string array indices (i.e. counting bytes in UTF-8 and scaler
* are input string array indices (i.e. counting bytes in UTF-8 and scalar
* values in UTF-32).
*
* This method can be used repeatedly to set different flags for different
* parts of the text. It is the responsibility of the client to make sure that
* flag ranges cover the whole text.
*
* This requires version of HarfBuzz that has hb_ft_font_set_load_flags(), for
* older version the flags will be ignored.
*
* See also raqm_set_freetype_load_flags().
*
* Return value:
@ -1143,7 +1139,7 @@ _raqm_set_spacing (raqm_t *rq,
* raqm_set_letter_spacing_range:
* @rq: a #raqm_t.
* @spacing: amount of spacing in Freetype Font Units (26.6 format).
* @start: index of first character that should use @spacing.
* @start: index of the first character that should use @spacing.
* @len: number of characters using @spacing.
*
* Set the letter spacing or tracking for a given range, the value
@ -1200,12 +1196,12 @@ raqm_set_letter_spacing_range(raqm_t *rq,
* raqm_set_word_spacing_range:
* @rq: a #raqm_t.
* @spacing: amount of spacing in Freetype Font Units (26.6 format).
* @start: index of first character that should use @spacing.
* @start: index of the first character that should use @spacing.
* @len: number of characters using @spacing.
*
* Set the word spacing for a given range. Word spacing will only be applied to
* 'word separator' characters, such as 'space', 'no break space' and
* Ethiopic word separator'.
* 'Ethiopic word separator'.
* The value will be added onto the advance and offset for RTL, and the advance
* for other directions.
*
@ -1239,7 +1235,7 @@ raqm_set_word_spacing_range(raqm_t *rq,
* @rq: a #raqm_t.
* @gid: glyph id to use for invisible glyphs.
*
* Sets the glyph id to be used for invisible glyhphs.
* Sets the glyph id to be used for invisible glyphs.
*
* If @gid is negative, invisible glyphs will be suppressed from the output.
*
@ -1629,6 +1625,11 @@ _raqm_reorder_runs (const FriBidiCharType *types,
}
runs = malloc (sizeof (_raqm_bidi_run) * count);
if (!runs)
{
*run_count = 0;
return NULL;
}
while (run_start < len)
{
@ -2747,10 +2748,10 @@ raqm_version_string (void)
* @minor: Library minor version component.
* @micro: Library micro version component.
*
* Checks if library version is less than or equal the specified version.
* Checks if library version is less than or equal to the specified version.
*
* Return value:
* `true` if library version is less than or equal the specified version,
* `true` if library version is less than or equal to the specified version,
* `false` otherwise.
*
* Since: 0.7
@ -2769,10 +2770,10 @@ raqm_version_atleast (unsigned int major,
* @minor: Library minor version component.
* @micro: Library micro version component.
*
* Checks if library version is less than or equal the specified version.
* Checks if library version is less than or equal to the specified version.
*
* Return value:
* `true` if library version is less than or equal the specified version,
* `true` if library version is less than or equal to the specified version,
* `false` otherwise.
*
* Since: 0.7

View File

@ -48,7 +48,7 @@ extern "C" {
/**
* raqm_t:
*
* This is the main object holding all state of the currently processed text as
* This is the main object holding all the states of the currently processed text as
* well as its output.
*
* Since: 0.1
@ -81,7 +81,7 @@ typedef enum
* @y_advance: the glyph advance width in vertical text.
* @x_offset: the horizontal movement of the glyph from the current point.
* @y_offset: the vertical movement of the glyph from the current point.
* @cluster: the index of original character in input text.
* @cluster: the index of the original character in the input text.
* @ftface: the @FT_Face of the glyph.
*
* The structure that holds information about output glyphs, returned from