Add back fullname property at the scan matching phase for the backward compatibility.

Resolves: rhbz#1902881
This commit is contained in:
Akira TAGOH 2020-12-04 11:12:03 +09:00
parent 57609aa1db
commit df8fa2cecc
2 changed files with 78 additions and 1 deletions

View File

@ -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;
}

View File

@ -5,7 +5,7 @@
Summary: Font configuration and customization library Summary: Font configuration and customization library
Name: fontconfig Name: fontconfig
Version: 2.13.93 Version: 2.13.93
Release: 2%{?dist} Release: 3%{?dist}
# src/ftglue.[ch] is in Public Domain # src/ftglue.[ch] is in Public Domain
# src/fccache.c contains Public Domain code # src/fccache.c contains Public Domain code
# fc-case/CaseFolding.txt is in the UCD # fc-case/CaseFolding.txt is in the UCD
@ -20,6 +20,7 @@ Source2: fc-cache
Patch0: %{name}-sleep-less.patch Patch0: %{name}-sleep-less.patch
Patch4: %{name}-drop-lang-from-pkgkit-format.patch Patch4: %{name}-drop-lang-from-pkgkit-format.patch
Patch5: %{name}-disable-network-required-test.patch Patch5: %{name}-disable-network-required-test.patch
Patch6: %{name}-fix-fullname-prop.patch
BuildRequires: libxml2-devel BuildRequires: libxml2-devel
BuildRequires: freetype-devel >= %{freetype_version} BuildRequires: freetype-devel >= %{freetype_version}
@ -186,6 +187,10 @@ fi
%doc fontconfig-devel.txt fontconfig-devel %doc fontconfig-devel.txt fontconfig-devel
%changelog %changelog
* Thu Dec 3 2020 Akira TAGOH <tagoh@redhat.com> - 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 <tagoh@redhat.com> - 2.13.93-2 * Mon Nov 30 2020 Akira TAGOH <tagoh@redhat.com> - 2.13.93-2
- Fix file conflicts. - Fix file conflicts.