diff --git a/fontconfig-fix-fullname-prop.patch b/fontconfig-fix-fullname-prop.patch new file mode 100644 index 0000000..2650279 --- /dev/null +++ b/fontconfig-fix-fullname-prop.patch @@ -0,0 +1,72 @@ +diff --git a/src/fcfreetype.c b/src/fcfreetype.c +index a7809cbb..4b545bf2 100644 +--- a/src/fcfreetype.c ++++ b/src/fcfreetype.c +@@ -1087,6 +1087,8 @@ static const FT_UShort nameid_order[] = { + TT_NAME_ID_WWS_FAMILY, + TT_NAME_ID_TYPOGRAPHIC_FAMILY, + TT_NAME_ID_FONT_FAMILY, ++ TT_NAME_ID_MAC_FULL_NAME, ++ TT_NAME_ID_FULL_NAME, + TT_NAME_ID_WWS_SUBFAMILY, + TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY, + TT_NAME_ID_FONT_SUBFAMILY, +@@ -1222,6 +1224,8 @@ FcFreeTypeQueryFaceInternal (const FT_Face face, + int nfamily_lang = 0; + int nstyle = 0; + int nstyle_lang = 0; ++ int nfullname = 0; ++ int nfullname_lang = 0; + unsigned int p, n; + + FcChar8 *style = 0; +@@ -1443,7 +1447,8 @@ FcFreeTypeQueryFaceInternal (const FT_Face face, + * and treat the instance's nameid as FONT_SUBFAMILY. + * Postscript name is automatically handled by FreeType. */ + if (nameid == TT_NAME_ID_WWS_SUBFAMILY || +- nameid == TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY) ++ nameid == TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY || ++ nameid == TT_NAME_ID_FULL_NAME) + continue; + + if (nameid == TT_NAME_ID_FONT_SUBFAMILY) +@@ -1474,6 +1479,20 @@ FcFreeTypeQueryFaceInternal (const FT_Face face, + np = &nfamily; + nlangp = &nfamily_lang; + break; ++ case TT_NAME_ID_MAC_FULL_NAME: ++ case TT_NAME_ID_FULL_NAME: ++ if (variable) ++ break; ++ if (FcDebug () & FC_DBG_SCANV) ++ printf ("found full (n %2d p %d e %d l 0x%04x)", ++ sname.name_id, sname.platform_id, ++ sname.encoding_id, sname.language_id); ++ ++ obj = FC_FULLNAME_OBJECT; ++ objlang = FC_FULLNAMELANG_OBJECT; ++ np = &nfullname; ++ nlangp = &nfullname_lang; ++ break; + case TT_NAME_ID_WWS_SUBFAMILY: + case TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY: + case TT_NAME_ID_FONT_SUBFAMILY: +diff --git a/src/fcopentype.c b/src/fcopentype.c +index 9382a1ba..59cce456 100644 +--- a/src/fcopentype.c ++++ b/src/fcopentype.c +@@ -76,12 +76,14 @@ FcPatternAddFullname (FcPattern *pat) + FcStrBufChar (&sbuf, ' '); + FcStrBufString (&sbuf, style); + } ++ FcPatternObjectDel (pat, FC_FULLNAME_OBJECT); + if (!FcPatternObjectAddString (pat, FC_FULLNAME_OBJECT, FcStrBufDoneStatic (&sbuf))) + { + FcStrBufDestroy (&sbuf); + return FcFalse; + } + FcStrBufDestroy (&sbuf); ++ FcPatternObjectDel (pat, FC_FULLNAMELANG_OBJECT); + if (!FcPatternObjectAddString (pat, FC_FULLNAMELANG_OBJECT, (const FcChar8 *) "en")) + return FcFalse; + } diff --git a/fontconfig.spec b/fontconfig.spec index ed4128e..60ff2d7 100644 --- a/fontconfig.spec +++ b/fontconfig.spec @@ -5,7 +5,7 @@ Summary: Font configuration and customization library Name: fontconfig Version: 2.13.93 -Release: 2%{?dist} +Release: 3%{?dist} # src/ftglue.[ch] is in Public Domain # src/fccache.c contains Public Domain code # fc-case/CaseFolding.txt is in the UCD @@ -20,6 +20,7 @@ Source2: fc-cache Patch0: %{name}-sleep-less.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch5: %{name}-disable-network-required-test.patch +Patch6: %{name}-fix-fullname-prop.patch BuildRequires: libxml2-devel BuildRequires: freetype-devel >= %{freetype_version} @@ -186,6 +187,10 @@ fi %doc fontconfig-devel.txt fontconfig-devel %changelog +* Thu Dec 3 2020 Akira TAGOH - 2.13.93-3 +- Add back fullname property at the scan matching phase for the backward compatibility. + Resolves: rhbz#1902881 + * Mon Nov 30 2020 Akira TAGOH - 2.13.93-2 - Fix file conflicts.