Updated raqm to 0.10.5 (#9557)
This commit is contained in:
parent
4b911c889b
commit
3a3dab8bb0
@ -2,7 +2,7 @@
|
|||||||
# install raqm
|
# 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
|
./download-and-extract.sh $archive https://raw.githubusercontent.com/python-pillow/pillow-depends/main/$archive.tar.gz
|
||||||
|
|
||||||
|
|||||||
18
src/thirdparty/raqm/NEWS
vendored
18
src/thirdparty/raqm/NEWS
vendored
@ -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
|
Overview of changes leading to 0.10.3
|
||||||
Tuesday, August 5, 2025
|
Tuesday, August 5, 2025
|
||||||
====================================
|
====================================
|
||||||
|
|||||||
4
src/thirdparty/raqm/raqm-version.h
vendored
4
src/thirdparty/raqm/raqm-version.h
vendored
@ -33,9 +33,9 @@
|
|||||||
|
|
||||||
#define RAQM_VERSION_MAJOR 0
|
#define RAQM_VERSION_MAJOR 0
|
||||||
#define RAQM_VERSION_MINOR 10
|
#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) \
|
#define RAQM_VERSION_ATLEAST(major,minor,micro) \
|
||||||
((major)*10000+(minor)*100+(micro) <= \
|
((major)*10000+(minor)*100+(micro) <= \
|
||||||
|
|||||||
47
src/thirdparty/raqm/raqm.c
vendored
47
src/thirdparty/raqm/raqm.c
vendored
@ -54,7 +54,7 @@
|
|||||||
* @short_description: A library for complex text layout
|
* @short_description: A library for complex text layout
|
||||||
* @include: raqm.h
|
* @include: raqm.h
|
||||||
*
|
*
|
||||||
* Raqm is a light weight text layout library with strong emphasis on
|
* Raqm is a lightweight text layout library with strong emphasis on
|
||||||
* supporting languages and writing systems that require complex text layout.
|
* supporting languages and writing systems that require complex text layout.
|
||||||
*
|
*
|
||||||
* The main object in Raqm API is #raqm_t, it stores all the states of the
|
* The main object in Raqm API is #raqm_t, it stores all the states of the
|
||||||
@ -338,6 +338,8 @@ _raqm_alloc_run (raqm_t *rq)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
run = malloc (sizeof (raqm_run_t));
|
run = malloc (sizeof (raqm_run_t));
|
||||||
|
if (!run)
|
||||||
|
return NULL;
|
||||||
run->font = NULL;
|
run->font = NULL;
|
||||||
run->buffer = NULL;
|
run->buffer = NULL;
|
||||||
}
|
}
|
||||||
@ -515,7 +517,7 @@ raqm_clear_contents (raqm_t *rq)
|
|||||||
* @len: the length of @text.
|
* @len: the length of @text.
|
||||||
*
|
*
|
||||||
* Adds @text to @rq to be used for layout. It must be a valid UTF-32 text, any
|
* 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
|
* represent a full paragraph, since doing the layout of chunks of text
|
||||||
* separately can give improper output.
|
* separately can give improper output.
|
||||||
*
|
*
|
||||||
@ -765,13 +767,13 @@ raqm_set_par_direction (raqm_t *rq,
|
|||||||
* raqm_set_language:
|
* raqm_set_language:
|
||||||
* @rq: a #raqm_t.
|
* @rq: a #raqm_t.
|
||||||
* @lang: a BCP47 language code.
|
* @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.
|
* @len: number of characters using @face.
|
||||||
*
|
*
|
||||||
* Sets a [BCP47 language
|
* Sets a [BCP47 language
|
||||||
* code](https://www.w3.org/International/articles/language-tags/) to be used
|
* 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
|
* 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 scaler values
|
* input string array indices (i.e. counting bytes in UTF-8 and scalar values
|
||||||
* in UTF-32).
|
* in UTF-32).
|
||||||
*
|
*
|
||||||
* This method can be used repeatedly to set different languages for different
|
* 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:
|
* raqm_set_freetype_face_range:
|
||||||
* @rq: a #raqm_t.
|
* @rq: a #raqm_t.
|
||||||
* @face: an #FT_Face.
|
* @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.
|
* @len: number of elements using @face.
|
||||||
*
|
*
|
||||||
* Sets an #FT_Face to be used for @len-number of characters staring at @start.
|
* 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
|
* 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
|
* 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().
|
* 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
|
* Sets the load flags passed to FreeType when loading glyphs, should be the
|
||||||
* same flags used by the client when rendering FreeType glyphs.
|
* 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:
|
* Return value:
|
||||||
* `true` if no errors happened, `false` otherwise.
|
* `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:
|
* raqm_set_freetype_load_flags_range:
|
||||||
* @rq: a #raqm_t.
|
* @rq: a #raqm_t.
|
||||||
* @flags: FreeType load flags.
|
* @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.
|
* @len: number of characters using @flags.
|
||||||
*
|
*
|
||||||
* Sets the load flags passed to FreeType when loading glyphs for @len-number
|
* 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
|
* of characters staring at @start. Flags should be the same as used by the
|
||||||
* client when rendering corresponding FreeType glyphs. The @start and @len
|
* 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).
|
* values in UTF-32).
|
||||||
*
|
*
|
||||||
* This method can be used repeatedly to set different flags for different
|
* 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
|
* parts of the text. It is the responsibility of the client to make sure that
|
||||||
* flag ranges cover the whole text.
|
* 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().
|
* See also raqm_set_freetype_load_flags().
|
||||||
*
|
*
|
||||||
* Return value:
|
* Return value:
|
||||||
@ -1143,7 +1139,7 @@ _raqm_set_spacing (raqm_t *rq,
|
|||||||
* raqm_set_letter_spacing_range:
|
* raqm_set_letter_spacing_range:
|
||||||
* @rq: a #raqm_t.
|
* @rq: a #raqm_t.
|
||||||
* @spacing: amount of spacing in Freetype Font Units (26.6 format).
|
* @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.
|
* @len: number of characters using @spacing.
|
||||||
*
|
*
|
||||||
* Set the letter spacing or tracking for a given range, the value
|
* 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:
|
* raqm_set_word_spacing_range:
|
||||||
* @rq: a #raqm_t.
|
* @rq: a #raqm_t.
|
||||||
* @spacing: amount of spacing in Freetype Font Units (26.6 format).
|
* @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.
|
* @len: number of characters using @spacing.
|
||||||
*
|
*
|
||||||
* Set the word spacing for a given range. Word spacing will only be applied to
|
* 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
|
* '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
|
* The value will be added onto the advance and offset for RTL, and the advance
|
||||||
* for other directions.
|
* for other directions.
|
||||||
*
|
*
|
||||||
@ -1239,7 +1235,7 @@ raqm_set_word_spacing_range(raqm_t *rq,
|
|||||||
* @rq: a #raqm_t.
|
* @rq: a #raqm_t.
|
||||||
* @gid: glyph id to use for invisible glyphs.
|
* @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.
|
* 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);
|
runs = malloc (sizeof (_raqm_bidi_run) * count);
|
||||||
|
if (!runs)
|
||||||
|
{
|
||||||
|
*run_count = 0;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
while (run_start < len)
|
while (run_start < len)
|
||||||
{
|
{
|
||||||
@ -2747,10 +2748,10 @@ raqm_version_string (void)
|
|||||||
* @minor: Library minor version component.
|
* @minor: Library minor version component.
|
||||||
* @micro: Library micro 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:
|
* 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.
|
* `false` otherwise.
|
||||||
*
|
*
|
||||||
* Since: 0.7
|
* Since: 0.7
|
||||||
@ -2769,10 +2770,10 @@ raqm_version_atleast (unsigned int major,
|
|||||||
* @minor: Library minor version component.
|
* @minor: Library minor version component.
|
||||||
* @micro: Library micro 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:
|
* 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.
|
* `false` otherwise.
|
||||||
*
|
*
|
||||||
* Since: 0.7
|
* Since: 0.7
|
||||||
|
|||||||
4
src/thirdparty/raqm/raqm.h
vendored
4
src/thirdparty/raqm/raqm.h
vendored
@ -48,7 +48,7 @@ extern "C" {
|
|||||||
/**
|
/**
|
||||||
* raqm_t:
|
* 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.
|
* well as its output.
|
||||||
*
|
*
|
||||||
* Since: 0.1
|
* Since: 0.1
|
||||||
@ -81,7 +81,7 @@ typedef enum
|
|||||||
* @y_advance: the glyph advance width in vertical text.
|
* @y_advance: the glyph advance width in vertical text.
|
||||||
* @x_offset: the horizontal movement of the glyph from the current point.
|
* @x_offset: the horizontal movement of the glyph from the current point.
|
||||||
* @y_offset: the vertical 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.
|
* @ftface: the @FT_Face of the glyph.
|
||||||
*
|
*
|
||||||
* The structure that holds information about output glyphs, returned from
|
* The structure that holds information about output glyphs, returned from
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user