Compare commits
No commits in common. 'c9' and 'c8' have entirely different histories.
@ -1 +1 @@
|
||||
SOURCES/pango-1.48.7.tar.xz
|
||||
SOURCES/pango-1.42.4.tar.xz
|
||||
|
@ -1 +1 @@
|
||||
b6ea5a5fd68070eea94b598efbc77d0ae11b6783 SOURCES/pango-1.48.7.tar.xz
|
||||
240942b1307eaa3819e6e534596271c57cd75457 SOURCES/pango-1.42.4.tar.xz
|
||||
|
@ -0,0 +1,29 @@
|
||||
commit 490f8979a260c16b1df055eab386345da18a2d54
|
||||
Author: Matthias Clasen <mclasen@redhat.com>
|
||||
Date: Wed Jul 10 20:26:23 2019 -0400
|
||||
|
||||
bidi: Be safer against bad input
|
||||
|
||||
Don't run off the end of an array that we
|
||||
allocated to certain length.
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/pango/issues/342
|
||||
|
||||
diff --git a/pango/pango-bidi-type.c b/pango/pango-bidi-type.c
|
||||
index 3e46b66c..5c02dbbb 100644
|
||||
--- a/pango/pango-bidi-type.c
|
||||
+++ b/pango/pango-bidi-type.c
|
||||
@@ -181,8 +181,11 @@ pango_log2vis_get_embedding_levels (const gchar *text,
|
||||
for (i = 0, p = text; p < text + length; p = g_utf8_next_char(p), i++)
|
||||
{
|
||||
gunichar ch = g_utf8_get_char (p);
|
||||
- FriBidiCharType char_type;
|
||||
- char_type = fribidi_get_bidi_type (ch);
|
||||
+ FriBidiCharType char_type = fribidi_get_bidi_type (ch);
|
||||
+
|
||||
+ if (i == n_chars)
|
||||
+ break;
|
||||
+
|
||||
bidi_types[i] = char_type;
|
||||
ored_types |= char_type;
|
||||
if (FRIBIDI_IS_STRONG (char_type))
|
@ -0,0 +1,31 @@
|
||||
commit ad92e199f221499c19f22dce7a16e7d770ad3ae7
|
||||
Author: Carsten Pfeiffer <carsten.pfeiffer@gebit.de>
|
||||
Date: Fri Aug 10 16:06:20 2018 +0200
|
||||
|
||||
Fix crash in pango_fc_font_key_get_variations() when key is null
|
||||
|
||||
diff --git a/pango/pangofc-shape.c b/pango/pangofc-shape.c
|
||||
index a59ca67c..53269d73 100644
|
||||
--- a/pango/pangofc-shape.c
|
||||
+++ b/pango/pangofc-shape.c
|
||||
@@ -380,8 +380,10 @@ _pango_fc_shape (PangoFont *font,
|
||||
fc_font->is_hinted ? ft_face->size->metrics.x_ppem : 0,
|
||||
fc_font->is_hinted ? ft_face->size->metrics.y_ppem : 0);
|
||||
|
||||
- variations = pango_fc_font_key_get_variations (key);
|
||||
- if (variations)
|
||||
+ if (key)
|
||||
+ {
|
||||
+ variations = pango_fc_font_key_get_variations (key);
|
||||
+ if (variations)
|
||||
{
|
||||
guint n_variations;
|
||||
hb_variation_t *hb_variations;
|
||||
@@ -391,6 +393,7 @@ _pango_fc_shape (PangoFont *font,
|
||||
|
||||
g_free (hb_variations);
|
||||
}
|
||||
+ }
|
||||
|
||||
hb_buffer = acquire_buffer (&free_buffer);
|
||||
|
@ -0,0 +1,175 @@
|
||||
Index: pango-1.42.4/pango/break.c
|
||||
===================================================================
|
||||
--- pango-1.42.4.orig/pango/break.c
|
||||
+++ pango-1.42.4/pango/break.c
|
||||
@@ -409,15 +409,6 @@ pango_default_break (const gchar *text
|
||||
GB_type = GB_ControlCRLF;
|
||||
break;
|
||||
|
||||
- case G_UNICODE_UNASSIGNED:
|
||||
- /* Unassigned default ignorables */
|
||||
- if ((wc >= 0xFFF0 && wc <= 0xFFF8) ||
|
||||
- (wc >= 0xE0000 && wc <= 0xE0FFF))
|
||||
- {
|
||||
- GB_type = GB_ControlCRLF;
|
||||
- break;
|
||||
- }
|
||||
-
|
||||
case G_UNICODE_OTHER_LETTER:
|
||||
if (makes_hangul_syllable)
|
||||
GB_type = GB_InHangulSyllable;
|
||||
@@ -446,67 +437,103 @@ pango_default_break (const gchar *text
|
||||
GB_type = GB_Extend; /* Grapheme_Extend */
|
||||
break;
|
||||
|
||||
+ case G_UNICODE_UNASSIGNED:
|
||||
+ /* Unassigned default ignorables */
|
||||
+ if ((wc >= 0xFFF0 && wc <= 0xFFF8) ||
|
||||
+ (wc >= 0xE0000 && wc <= 0xE0FFF))
|
||||
+ {
|
||||
+ GB_type = GB_ControlCRLF;
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ /* In Unicode 9.0, some emoji characters are unassigned.
|
||||
+ * To support Unicode emoji 13.0, check the emoji characters here.
|
||||
+ */
|
||||
case G_UNICODE_OTHER_SYMBOL:
|
||||
if (G_UNLIKELY(wc == 0x261D ||
|
||||
- wc == 0x26F9 ||
|
||||
- (wc >= 0x270A && wc <= 0x270D) ||
|
||||
- wc == 0x1F385 ||
|
||||
- (wc >= 0x1F3C2 && wc <= 0x1F3C4) ||
|
||||
- wc == 0x1F3C7 ||
|
||||
- (wc >= 0x1F3CA && wc <= 0x1F3CC) ||
|
||||
- (wc >= 0x1F442 && wc <= 0x1F443) ||
|
||||
- (wc >= 0x1F446 && wc <= 0x1F450) ||
|
||||
- wc == 0x1F46E ||
|
||||
- (wc >= 0x1F470 && wc <= 0x1F478) ||
|
||||
- wc == 0x1F47C ||
|
||||
- (wc >= 0x1F481 && wc <= 0x1F483) ||
|
||||
- (wc >= 0x1F485 && wc <= 0x1F487) ||
|
||||
- wc == 0x1F4AA ||
|
||||
- (wc >= 0x1F574 && wc <= 0x1F575) ||
|
||||
- wc == 0x1F57A ||
|
||||
- wc == 0x1F590 ||
|
||||
- (wc >= 0x1F595 && wc <= 0x1F596) ||
|
||||
- (wc >= 0x1F645 && wc <= 0x1F647) ||
|
||||
- (wc >= 0x1F64B && wc <= 0x1F64F) ||
|
||||
- wc == 0x1F6A3 ||
|
||||
- (wc >= 0x1F6B4 && wc <= 0x1F6B6) ||
|
||||
- wc == 0x1F6C0 ||
|
||||
- wc == 0x1F6CC ||
|
||||
- (wc >= 0x1F918 && wc <= 0x1F91C) ||
|
||||
- (wc >= 0x1F91E && wc <= 0x1F91F) ||
|
||||
- wc == 0x1F926 ||
|
||||
- (wc >= 0x1F930 && wc <= 0x1F939) ||
|
||||
- (wc >= 0x1F93D && wc <= 0x1F93E) ||
|
||||
- (wc >= 0x1F9D1 && wc <= 0x1F9DD)))
|
||||
+ wc == 0x26F9 ||
|
||||
+ (wc >= 0x270A && wc <= 0x270D) ||
|
||||
+ wc == 0x1F385 ||
|
||||
+ (wc >= 0x1F3C2 && wc <= 0x1F3C4) ||
|
||||
+ wc == 0x1F3C7 ||
|
||||
+ (wc >= 0x1F3CA && wc <= 0x1F3CC) ||
|
||||
+ (wc >= 0x1F442 && wc <= 0x1F443) ||
|
||||
+ (wc >= 0x1F446 && wc <= 0x1F450) ||
|
||||
+ (wc >= 0x1F46A && wc <= 0x1F478) ||
|
||||
+ wc == 0x1F47C ||
|
||||
+ (wc >= 0x1F481 && wc <= 0x1F483) ||
|
||||
+ (wc >= 0x1F485 && wc <= 0x1F487) ||
|
||||
+ wc == 0x1F48F ||
|
||||
+ wc == 0x1F491 ||
|
||||
+ wc == 0x1F4AA ||
|
||||
+ (wc >= 0x1F574 && wc <= 0x1F575) ||
|
||||
+ wc == 0x1F57A ||
|
||||
+ wc == 0x1F590 ||
|
||||
+ (wc >= 0x1F595 && wc <= 0x1F596) ||
|
||||
+ (wc >= 0x1F645 && wc <= 0x1F647) ||
|
||||
+ (wc >= 0x1F64B && wc <= 0x1F64F) ||
|
||||
+ wc == 0x1F6A3 ||
|
||||
+ (wc >= 0x1F6B4 && wc <= 0x1F6B6) ||
|
||||
+ wc == 0x1F6C0 ||
|
||||
+ wc == 0x1F6CC ||
|
||||
+ wc == 0x1F90C ||
|
||||
+ wc == 0x1F90F ||
|
||||
+ (wc >= 0x1F918 && wc <= 0x1F91C) ||
|
||||
+ (wc >= 0x1F91E && wc <= 0x1F91F) ||
|
||||
+ wc == 0x1F926 ||
|
||||
+ (wc >= 0x1F930 && wc <= 0x1F939) ||
|
||||
+ (wc >= 0x1F93C && wc <= 0x1F93E) ||
|
||||
+ wc == 0x1F977 ||
|
||||
+ (wc >= 0x1F9B5 && wc <= 0x1F9B6) ||
|
||||
+ (wc >= 0x1F9B8 && wc <= 0x1F9B9) ||
|
||||
+ wc == 0x1F9BB ||
|
||||
+ (wc >= 0x1F9CD && wc <= 0x1F9CF) ||
|
||||
+ (wc >= 0x1F9D2 && wc <= 0x1F9DD)))
|
||||
{
|
||||
GB_type = GB_E_Base;
|
||||
break;
|
||||
}
|
||||
- if (G_UNLIKELY(wc == 0x2640 ||
|
||||
- wc == 0x2642 ||
|
||||
- (wc >= 0x2695 && wc <= 0x2696) ||
|
||||
- wc == 0x2708 ||
|
||||
- wc == 0x2764 ||
|
||||
- wc == 0x1F308 ||
|
||||
- wc == 0x1F33E ||
|
||||
- wc == 0x1F373 ||
|
||||
- wc == 0x1F393 ||
|
||||
- wc == 0x1F3A4 ||
|
||||
- wc == 0x1F3A8 ||
|
||||
- wc == 0x1F3EB ||
|
||||
- wc == 0x1F3ED ||
|
||||
- wc == 0x1F48B ||
|
||||
- (wc >= 0x1F4BB && wc <= 0x1F4BC) ||
|
||||
- wc == 0x1F527 ||
|
||||
- wc == 0x1F52C ||
|
||||
- wc == 0x1F5E8 ||
|
||||
- wc == 0x1F680 ||
|
||||
- wc == 0x1F692))
|
||||
+ if (G_UNLIKELY(wc == 0x2620 ||
|
||||
+ wc == 0x2640 ||
|
||||
+ wc == 0x2642 ||
|
||||
+ (wc >= 0x2695 && wc <= 0x2696) ||
|
||||
+ wc == 0x26A7 ||
|
||||
+ wc == 0x2708 ||
|
||||
+ wc == 0x2744 ||
|
||||
+ wc == 0x2764 ||
|
||||
+ wc == 0x2B1B ||
|
||||
+ wc == 0x1F308 ||
|
||||
+ wc == 0x1F32B ||
|
||||
+ wc == 0x1F33E ||
|
||||
+ wc == 0x1F373 ||
|
||||
+ wc == 0x1F37C ||
|
||||
+ wc == 0x1F384 ||
|
||||
+ wc == 0x1F393 ||
|
||||
+ wc == 0x1F3A4 ||
|
||||
+ wc == 0x1F3A8 ||
|
||||
+ wc == 0x1F3EB ||
|
||||
+ wc == 0x1F3ED ||
|
||||
+ wc == 0x1F48B ||
|
||||
+ wc == 0x1F4A8 ||
|
||||
+ wc == 0x1F4AB ||
|
||||
+ (wc >= 0x1F4BB && wc <= 0x1F4BC) ||
|
||||
+ wc == 0x1F525 ||
|
||||
+ wc == 0x1F527 ||
|
||||
+ wc == 0x1F52C ||
|
||||
+ wc == 0x1F5E8 ||
|
||||
+ wc == 0x1F680 ||
|
||||
+ wc == 0x1F692 ||
|
||||
+ (wc >= 0x1F9AF && wc <= 0x1F9B3) ||
|
||||
+ wc == 0x1F9BA ||
|
||||
+ (wc >= 0x1F9BC && wc <= 0x1F9BD) ||
|
||||
+ wc == 0x1FA79))
|
||||
{
|
||||
GB_type = GB_Glue_After_Zwj;
|
||||
break;
|
||||
}
|
||||
- if (G_UNLIKELY(wc >= 0x1F466 && wc <= 0x1F469))
|
||||
+ if (G_UNLIKELY((wc >= 0x1F466 && wc <= 0x1F469) ||
|
||||
+ wc == 0x1F91D ||
|
||||
+ wc == 0x1F9D1))
|
||||
{
|
||||
GB_type = GB_E_Base_GAZ;
|
||||
break;
|
File diff suppressed because it is too large
Load Diff
@ -1,99 +0,0 @@
|
||||
Index: pango-1.48.7/pango/pango-emoji-table.h
|
||||
===================================================================
|
||||
--- pango-1.48.7.orig/pango/pango-emoji-table.h
|
||||
+++ pango-1.48.7/pango/pango-emoji-table.h
|
||||
@@ -6,14 +6,14 @@
|
||||
*
|
||||
* on file with this header:
|
||||
*
|
||||
- * # emoji-data.txt
|
||||
- * # Date: 2020-01-28, 20:52:38 GMT
|
||||
- * # © 2020 Unicode®, Inc.
|
||||
+ * # emoji-data-14.0.0.txt
|
||||
+ * # Date: 2021-08-26, 17:22:22 GMT
|
||||
+ * # © 2021 Unicode®, Inc.
|
||||
* # Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. in the U.S. and other countries.
|
||||
* # For terms of use, see http://www.unicode.org/terms_of_use.html
|
||||
* #
|
||||
* # Emoji Data for UTS #51
|
||||
- * # Version: 13.0
|
||||
+ * # Used with Emoji Version 14.0 and subsequent minor revisions (if any)
|
||||
* #
|
||||
* # For documentation and usage, see http://www.unicode.org/reports/tr51
|
||||
*/
|
||||
@@ -163,24 +163,25 @@ static const struct Interval _pango_Emoj
|
||||
{0x1F680, 0x1F6C5},
|
||||
{0x1F6CB, 0x1F6D2},
|
||||
{0x1F6D5, 0x1F6D7},
|
||||
- {0x1F6E0, 0x1F6E5},
|
||||
+ {0x1F6DD, 0x1F6E5},
|
||||
{0x1F6E9, 0x1F6E9},
|
||||
{0x1F6EB, 0x1F6EC},
|
||||
{0x1F6F0, 0x1F6F0},
|
||||
{0x1F6F3, 0x1F6FC},
|
||||
{0x1F7E0, 0x1F7EB},
|
||||
+ {0x1F7F0, 0x1F7F0},
|
||||
{0x1F90C, 0x1F93A},
|
||||
{0x1F93C, 0x1F945},
|
||||
- {0x1F947, 0x1F978},
|
||||
- {0x1F97A, 0x1F9CB},
|
||||
- {0x1F9CD, 0x1F9FF},
|
||||
+ {0x1F947, 0x1F9FF},
|
||||
{0x1FA70, 0x1FA74},
|
||||
- {0x1FA78, 0x1FA7A},
|
||||
+ {0x1FA78, 0x1FA7C},
|
||||
{0x1FA80, 0x1FA86},
|
||||
- {0x1FA90, 0x1FAA8},
|
||||
- {0x1FAB0, 0x1FAB6},
|
||||
- {0x1FAC0, 0x1FAC2},
|
||||
- {0x1FAD0, 0x1FAD6},
|
||||
+ {0x1FA90, 0x1FAAC},
|
||||
+ {0x1FAB0, 0x1FABA},
|
||||
+ {0x1FAC0, 0x1FAC5},
|
||||
+ {0x1FAD0, 0x1FAD9},
|
||||
+ {0x1FAE0, 0x1FAE7},
|
||||
+ {0x1FAF0, 0x1FAF6},
|
||||
};
|
||||
|
||||
static const struct Interval _pango_Emoji_Presentation_table[] =
|
||||
@@ -251,21 +252,23 @@ static const struct Interval _pango_Emoj
|
||||
{0x1F6CC, 0x1F6CC},
|
||||
{0x1F6D0, 0x1F6D2},
|
||||
{0x1F6D5, 0x1F6D7},
|
||||
+ {0x1F6DD, 0x1F6DF},
|
||||
{0x1F6EB, 0x1F6EC},
|
||||
{0x1F6F4, 0x1F6FC},
|
||||
{0x1F7E0, 0x1F7EB},
|
||||
+ {0x1F7F0, 0x1F7F0},
|
||||
{0x1F90C, 0x1F93A},
|
||||
{0x1F93C, 0x1F945},
|
||||
- {0x1F947, 0x1F978},
|
||||
- {0x1F97A, 0x1F9CB},
|
||||
- {0x1F9CD, 0x1F9FF},
|
||||
+ {0x1F947, 0x1F9FF},
|
||||
{0x1FA70, 0x1FA74},
|
||||
- {0x1FA78, 0x1FA7A},
|
||||
+ {0x1FA78, 0x1FA7C},
|
||||
{0x1FA80, 0x1FA86},
|
||||
- {0x1FA90, 0x1FAA8},
|
||||
- {0x1FAB0, 0x1FAB6},
|
||||
- {0x1FAC0, 0x1FAC2},
|
||||
- {0x1FAD0, 0x1FAD6},
|
||||
+ {0x1FA90, 0x1FAAC},
|
||||
+ {0x1FAB0, 0x1FABA},
|
||||
+ {0x1FAC0, 0x1FAC5},
|
||||
+ {0x1FAD0, 0x1FAD9},
|
||||
+ {0x1FAE0, 0x1FAE7},
|
||||
+ {0x1FAF0, 0x1FAF6},
|
||||
};
|
||||
|
||||
static const struct Interval _pango_Emoji_Modifier_table[] =
|
||||
@@ -313,6 +316,8 @@ static const struct Interval _pango_Emoj
|
||||
{0x1F9BB, 0x1F9BB},
|
||||
{0x1F9CD, 0x1F9CF},
|
||||
{0x1F9D1, 0x1F9DD},
|
||||
+ {0x1FAC3, 0x1FAC5},
|
||||
+ {0x1FAF0, 0x1FAF6},
|
||||
};
|
||||
|
||||
static const struct Interval _pango_Extended_Pictographic_table[] =
|
Loading…
Reference in new issue