summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Wendler <polynomial-c@gentoo.org>2017-12-08 21:54:47 +0100
committerLars Wendler <polynomial-c@gentoo.org>2017-12-08 21:54:47 +0100
commita1d125da192cd01ecb4edc32252a65414ea8bce5 (patch)
tree3201f82356f213a1ea5ca39c6552881c6ecfdbda /media-libs/freetype/files
parentdev-db/cockroach: 1.1.3 version bump (diff)
downloadgentoo-a1d125da192cd01ecb4edc32252a65414ea8bce5.tar.gz
gentoo-a1d125da192cd01ecb4edc32252a65414ea8bce5.tar.bz2
gentoo-a1d125da192cd01ecb4edc32252a65414ea8bce5.zip
media-libs/freetype: Removed old.
Package-Manager: Portage-2.3.17, Repoman-2.3.6
Diffstat (limited to 'media-libs/freetype/files')
-rw-r--r--media-libs/freetype/files/freetype-2.7.1-glyph_name.patch31
-rw-r--r--media-libs/freetype/files/freetype-2.7.1-pcf_fix.patch711
2 files changed, 0 insertions, 742 deletions
diff --git a/media-libs/freetype/files/freetype-2.7.1-glyph_name.patch b/media-libs/freetype/files/freetype-2.7.1-glyph_name.patch
deleted file mode 100644
index 99c27a7a02fb..000000000000
--- a/media-libs/freetype/files/freetype-2.7.1-glyph_name.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a660e3de422731b94d4a134d27555430cbb6fb39 Mon Sep 17 00:00:00 2001
-From: Werner Lemberg <wl@gnu.org>
-Date: Fri, 26 Aug 2016 00:23:27 +0200
-Subject: [PATCH] [type1] Fix heap buffer overflow.
-
-Reported as
-
- https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36
-
-* src/type1/t1load.c (parse_charstrings): Reject fonts that don't
-contain glyph names.
----
-diff --git a/src/type1/t1load.c b/src/type1/t1load.c
-index c981adcf..f8bf3132 100644
---- a/src/type1/t1load.c
-+++ b/src/type1/t1load.c
-@@ -1776,6 +1776,12 @@
- }
- }
-
-+ if ( !n )
-+ {
-+ error = FT_THROW( Invalid_File_Format );
-+ goto Fail;
-+ }
-+
- loader->num_glyphs = n;
-
- /* if /.notdef is found but does not occupy index 0, do our magic. */
---
-2.12.0
diff --git a/media-libs/freetype/files/freetype-2.7.1-pcf_fix.patch b/media-libs/freetype/files/freetype-2.7.1-pcf_fix.patch
deleted file mode 100644
index 5b8912181323..000000000000
--- a/media-libs/freetype/files/freetype-2.7.1-pcf_fix.patch
+++ /dev/null
@@ -1,711 +0,0 @@
-From f837a50ec3a4f240d73f018f237f9f58631e2ba5 Mon Sep 17 00:00:00 2001
-From: Werner Lemberg <wl@gnu.org>
-Date: Mon, 9 Jan 2017 10:49:03 +0100
-Subject: [pcf] Introduce a driver structure.
-
-To be filled later on with something useful.
-
-* src/pcf/pcf.h (PCF_Driver): New structure.
-
-* src/pcf/pcfdrivr.c (pcf_driver_init, pcf_driver_done): New dummy
-functions.
-(pcf_driver_class): Updated.
----
- src/pcf/pcf.h | 7 +++++++
- src/pcf/pcfdrivr.c | 24 ++++++++++++++++++++----
- 3 files changed, 39 insertions(+), 4 deletions(-)
-
-diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
-index c726e5e..830cabe 100644
---- a/src/pcf/pcf.h
-+++ b/src/pcf/pcf.h
-@@ -163,6 +163,13 @@ FT_BEGIN_HEADER
- } PCF_FaceRec, *PCF_Face;
-
-
-+ typedef struct PCF_DriverRec_
-+ {
-+ FT_DriverRec root;
-+
-+ } PCF_DriverRec, *PCF_Driver;
-+
-+
- /* macros for pcf font format */
-
- #define LSBFirst 0
-diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
-index 10d5c20..8f4a90d 100644
---- a/src/pcf/pcfdrivr.c
-+++ b/src/pcf/pcfdrivr.c
-@@ -691,22 +691,38 @@ THE SOFTWARE.
- }
-
-
-+ FT_CALLBACK_DEF( FT_Error )
-+ pcf_driver_init( FT_Module module ) /* PCF_Driver */
-+ {
-+ FT_UNUSED( module );
-+
-+ return FT_Err_Ok;
-+ }
-+
-+
-+ FT_CALLBACK_DEF( void )
-+ pcf_driver_done( FT_Module module ) /* PCF_Driver */
-+ {
-+ FT_UNUSED( module );
-+ }
-+
-+
- FT_CALLBACK_TABLE_DEF
- const FT_Driver_ClassRec pcf_driver_class =
- {
- {
- FT_MODULE_FONT_DRIVER |
- FT_MODULE_DRIVER_NO_OUTLINES,
-- sizeof ( FT_DriverRec ),
-
-+ sizeof ( PCF_DriverRec ),
- "pcf",
- 0x10000L,
- 0x20000L,
-
-- NULL, /* module-specific interface */
-+ NULL, /* module-specific interface */
-
-- NULL, /* FT_Module_Constructor module_init */
-- NULL, /* FT_Module_Destructor module_done */
-+ pcf_driver_init, /* FT_Module_Constructor module_init */
-+ pcf_driver_done, /* FT_Module_Destructor module_done */
- pcf_driver_requester /* FT_Module_Requester get_interface */
- },
-
---
-cgit v1.0
-
-From 08fd250e1af0aa16d18012d39462e6ca9bbc6e90 Mon Sep 17 00:00:00 2001
-From: Werner Lemberg <wl@gnu.org>
-Date: Mon, 9 Jan 2017 11:30:32 +0100
-Subject: [pcf] Make long family names configurable.
-
-The change from 2016-09-29 was too radical (except for people using
-the openSuSE GNU/Linux distribution). To ameliorate the situation,
-PCF_CONFIG_OPTION_LONG_FAMILY_NAMES gets introduced which controls
-the feature; if set, a new PCF property option
-`no-long-family-names' can be used to switch this feature off.
-
-* include/freetype/config/ftoption.h, devel/ftoption.h
-(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): New option.
-
-* include/freetype/ftpcfdrv.h: New header file (only containing
-comments currently, used for building the documentation).
-
-* include/freetype/config/ftheader.h (FT_PCF_DRIVER_H): New macro.
-
-* src/pcf/pcf.h (PCF_Driver): Add `no_long_family_names' field.
-
-* src/pcf/pcfdrivr.c: Include FT_SERVICE_PROPERTIES_H and
-FT_PCF_DRIVER_H.
-(pcf_property_set, pcf_property_get): New functions.
-(pcf_service_properties): New service.
-(pcf_servives): Updated.
-(pcf_driver_init) [PCF_CONFIG_OPTION_LONG_FAMILY_NAMES]: Handle
-`no_long_family_names'.
-
-* src/pcf/pcfread.c (pcf_load_font): Handle `no_long_family_names'
-and PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
-
-* docs/CHANGES: Updated.
----
- devel/ftoption.h | 31 +++++++++-
- docs/CHANGES | 16 ++++++
- include/freetype/config/ftheader.h | 13 +++++
- include/freetype/config/ftoption.h | 31 +++++++++-
- include/freetype/ftchapters.h | 1 +
- include/freetype/ftpcfdrv.h | 105 ++++++++++++++++++++++++++++++++++
- src/pcf/pcf.h | 2 +
- src/pcf/pcfdrivr.c | 114 +++++++++++++++++++++++++++++++++++++
- src/pcf/pcfread.c | 98 ++++++++++++++++++-------------
- 10 files changed, 400 insertions(+), 44 deletions(-)
- create mode 100644 include/freetype/ftpcfdrv.h
-
-diff --git a/devel/ftoption.h b/devel/ftoption.h
-index 3b63931..b8b0a8d 100644
---- a/devel/ftoption.h
-+++ b/devel/ftoption.h
-@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
- /* to control the various font drivers and modules. The controllable */
- /* properties are listed in the section `Controlling FreeType Modules' */
- /* in the reference's table of contents; currently there are properties */
-- /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and */
-- /* TrueType (file `ftttdrv.h'). */
-+ /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), */
-+ /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h'). */
- /* */
- /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
- /* multiple lines for better readability). */
-@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
- /*************************************************************************/
- /*************************************************************************/
- /**** ****/
-+ /**** P C F D R I V E R C O N F I G U R A T I O N ****/
-+ /**** ****/
-+ /*************************************************************************/
-+ /*************************************************************************/
-+
-+
-+ /*************************************************************************/
-+ /* */
-+ /* There are many PCF fonts just called `Fixed' which look completely */
-+ /* different, and which have nothing to do with each other. When */
-+ /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
-+ /* random, the style changes often if one changes the size and one */
-+ /* cannot select some fonts at all. This option makes the PCF module */
-+ /* prepend the foundry name (plus a space) to the family name. */
-+ /* */
-+ /* We also check whether we have `wide' characters; all put together, we */
-+ /* get family names like `Sony Fixed' or `Misc Fixed Wide'. */
-+ /* */
-+ /* If this option is activated, it can be controlled with the */
-+ /* `no-long-family-names' property of the pcf driver module. */
-+ /* */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+
-+ /*************************************************************************/
-+ /*************************************************************************/
-+ /**** ****/
- /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
- /**** ****/
- /*************************************************************************/
-diff --git a/docs/CHANGES b/docs/CHANGES
-index cb3b327..3823395 100644
---- a/docs/CHANGES
-+++ b/docs/CHANGES
-@@ -1,4 +1,20 @@
-
-+CHANGES BETWEEN 2.7.1 and 2.7.2
-+
-+ I. IMPORTANT CHANGES
-+
-+ - The PCF change to show more `colourful' family names (introduced
-+ in version 2.7.1) was too radical; it can now be configured with
-+ PCF_CONFIG_OPTION_LONG_FAMILY_NAMES at compile time. If
-+ activated, it can be switched off at run time with the new pcf
-+ property `no-long-family-names'. If the `FREETYPE_PROPERTIES'
-+ environment variable is available, you can say
-+
-+ FREETYPE_PROPERTIES=pcf:no-long-family-names=1
-+
-+
-+======================================================================
-+
- CHANGES BETWEEN 2.7 and 2.7.1
-
- I. IMPORTANT CHANGES
-diff --git a/include/freetype/config/ftheader.h b/include/freetype/config/ftheader.h
-index 950d36c..d491af5 100644
---- a/include/freetype/config/ftheader.h
-+++ b/include/freetype/config/ftheader.h
-@@ -357,6 +357,19 @@
- /*************************************************************************
- *
- * @macro:
-+ * FT_PCF_DRIVER_H
-+ *
-+ * @description:
-+ * A macro used in #include statements to name the file containing
-+ * structures and macros related to the PCF driver module.
-+ *
-+ */
-+#define FT_PCF_DRIVER_H <freetype/ftpcfdrv.h>
-+
-+
-+ /*************************************************************************
-+ *
-+ * @macro:
- * FT_TYPE1_TABLES_H
- *
- * @description:
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index f5bc540..5676074 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -82,8 +82,8 @@ FT_BEGIN_HEADER
- /* to control the various font drivers and modules. The controllable */
- /* properties are listed in the section `Controlling FreeType Modules' */
- /* in the reference's table of contents; currently there are properties */
-- /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), and */
-- /* TrueType (file `ftttdrv.h'). */
-+ /* for the auto-hinter (file `ftautoh.h'), CFF (file `ftcffdrv.h'), */
-+ /* TrueType (file `ftttdrv.h'), and PCF (file `ftpcfdrv.h'). */
- /* */
- /* `FREETYPE_PROPERTIES' has the following syntax form (broken here into */
- /* multiple lines for better readability). */
-@@ -835,6 +835,33 @@ FT_BEGIN_HEADER
- /*************************************************************************/
- /*************************************************************************/
- /**** ****/
-+ /**** P C F D R I V E R C O N F I G U R A T I O N ****/
-+ /**** ****/
-+ /*************************************************************************/
-+ /*************************************************************************/
-+
-+
-+ /*************************************************************************/
-+ /* */
-+ /* There are many PCF fonts just called `Fixed' which look completely */
-+ /* different, and which have nothing to do with each other. When */
-+ /* selecting `Fixed' in KDE or Gnome one gets results that appear rather */
-+ /* random, the style changes often if one changes the size and one */
-+ /* cannot select some fonts at all. This option makes the PCF module */
-+ /* prepend the foundry name (plus a space) to the family name. */
-+ /* */
-+ /* We also check whether we have `wide' characters; all put together, we */
-+ /* get family names like `Sony Fixed' or `Misc Fixed Wide'. */
-+ /* */
-+ /* If this option is activated, it can be controlled with the */
-+ /* `no-long-family-names' property of the pcf driver module. */
-+ /* */
-+#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+
-+ /*************************************************************************/
-+ /*************************************************************************/
-+ /**** ****/
- /**** A U T O F I T M O D U L E C O N F I G U R A T I O N ****/
- /**** ****/
- /*************************************************************************/
-diff --git a/include/freetype/ftchapters.h b/include/freetype/ftchapters.h
-index ab43895..a0a121b 100644
---- a/include/freetype/ftchapters.h
-+++ b/include/freetype/ftchapters.h
-@@ -77,6 +77,7 @@
- /* auto_hinter */
- /* cff_driver */
- /* tt_driver */
-+/* pcf_driver */
- /* */
- /***************************************************************************/
-
-diff --git a/include/freetype/ftpcfdrv.h b/include/freetype/ftpcfdrv.h
-new file mode 100644
-index 0000000..6622c93
---- /dev/null
-+++ b/include/freetype/ftpcfdrv.h
-@@ -0,0 +1,105 @@
-+/***************************************************************************/
-+/* */
-+/* ftpcfdrv.h */
-+/* */
-+/* FreeType API for controlling the PCF driver (specification only). */
-+/* */
-+/* Copyright 2017 by */
-+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
-+/* */
-+/* This file is part of the FreeType project, and may only be used, */
-+/* modified, and distributed under the terms of the FreeType project */
-+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
-+/* this file you indicate that you have read the license and */
-+/* understand and accept it fully. */
-+/* */
-+/***************************************************************************/
-+
-+
-+#ifndef FTPCFDRV_H_
-+#define FTPCFDRV_H_
-+
-+#include <ft2build.h>
-+#include FT_FREETYPE_H
-+
-+#ifdef FREETYPE_H
-+#error "freetype.h of FreeType 1 has been loaded!"
-+#error "Please fix the directory search order for header files"
-+#error "so that freetype.h of FreeType 2 is found first."
-+#endif
-+
-+
-+FT_BEGIN_HEADER
-+
-+
-+ /**************************************************************************
-+ *
-+ * @section:
-+ * pcf_driver
-+ *
-+ * @title:
-+ * The PCF driver
-+ *
-+ * @abstract:
-+ * Controlling the PCF driver module.
-+ *
-+ * @description:
-+ * While FreeType's PCF driver doesn't expose API functions by itself,
-+ * it is possible to control its behaviour with @FT_Property_Set and
-+ * @FT_Property_Get. Right now, there is a single property
-+ * `no-long-family-names' available if FreeType is compiled with
-+ * PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
-+ *
-+ * The PCF driver's module name is `pcf'.
-+ *
-+ */
-+
-+
-+ /**************************************************************************
-+ *
-+ * @property:
-+ * no-long-family-names
-+ *
-+ * @description:
-+ * If PCF_CONFIG_OPTION_LONG_FAMILY_NAMES is active while compiling
-+ * FreeType, the PCF driver constructs long family names.
-+ *
-+ * There are many PCF fonts just called `Fixed' which look completely
-+ * different, and which have nothing to do with each other. When
-+ * selecting `Fixed' in KDE or Gnome one gets results that appear rather
-+ * random, the style changes often if one changes the size and one
-+ * cannot select some fonts at all. The improve this situation, the PCF
-+ * module prepends the foundry name (plus a space) to the family name.
-+ * It also checks whether there are `wide' characters; all put together,
-+ * family names like `Sony Fixed' or `Misc Fixed Wide' are constructed.
-+ *
-+ * If `no-long-family-names' is set, this feature gets switched off.
-+ *
-+ * {
-+ * FT_Library library;
-+ * FT_Bool no_long_family_names = TRUE;
-+ *
-+ *
-+ * FT_Init_FreeType( &library );
-+ *
-+ * FT_Property_Set( library, "pcf",
-+ * "no-long-family-names",
-+ * &no_long_family_names );
-+ * }
-+ *
-+ * @note:
-+ * This property can be used with @FT_Property_Get also.
-+ *
-+ * This property can be set via the `FREETYPE_PROPERTIES' environment
-+ * variable (using values 1 and 0 for `on' and `off', respectively).
-+ *
-+ */
-+
-+
-+FT_END_HEADER
-+
-+
-+#endif /* FTPCFDRV_H_ */
-+
-+
-+/* END */
-diff --git a/src/pcf/pcf.h b/src/pcf/pcf.h
-index 830cabe..f0390cb 100644
---- a/src/pcf/pcf.h
-+++ b/src/pcf/pcf.h
-@@ -167,6 +167,8 @@ FT_BEGIN_HEADER
- {
- FT_DriverRec root;
-
-+ FT_Bool no_long_family_names;
-+
- } PCF_DriverRec, *PCF_Driver;
-
-
-diff --git a/src/pcf/pcfdrivr.c b/src/pcf/pcfdrivr.c
-index 8f4a90d..bc65423 100644
---- a/src/pcf/pcfdrivr.c
-+++ b/src/pcf/pcfdrivr.c
-@@ -49,6 +49,8 @@ THE SOFTWARE.
-
- #include FT_SERVICE_BDF_H
- #include FT_SERVICE_FONT_FORMAT_H
-+#include FT_SERVICE_PROPERTIES_H
-+#include FT_PCF_DRIVER_H
-
-
- /*************************************************************************/
-@@ -667,6 +669,110 @@ THE SOFTWARE.
- };
-
-
-+ /*
-+ * PROPERTY SERVICE
-+ *
-+ */
-+ static FT_Error
-+ pcf_property_set( FT_Module module, /* PCF_Driver */
-+ const char* property_name,
-+ const void* value,
-+ FT_Bool value_is_string )
-+ {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+ FT_Error error = FT_Err_Ok;
-+ PCF_Driver driver = (PCF_Driver)module;
-+
-+#ifndef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
-+ FT_UNUSED( value_is_string );
-+#endif
-+
-+
-+ if ( !ft_strcmp( property_name, "no-long-family-names" ) )
-+ {
-+#ifdef FT_CONFIG_OPTION_ENVIRONMENT_PROPERTIES
-+ if ( value_is_string )
-+ {
-+ const char* s = (const char*)value;
-+ long lfn = ft_strtol( s, NULL, 10 );
-+
-+
-+ if ( lfn == 0 )
-+ driver->no_long_family_names = 0;
-+ else if ( lfn == 1 )
-+ driver->no_long_family_names = 1;
-+ else
-+ return FT_THROW( Invalid_Argument );
-+ }
-+ else
-+#endif
-+ {
-+ FT_Bool* no_long_family_names = (FT_Bool*)value;
-+
-+
-+ driver->no_long_family_names = *no_long_family_names;
-+ }
-+
-+ return error;
-+ }
-+
-+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+ FT_UNUSED( module );
-+ FT_UNUSED( value );
-+ FT_UNUSED( value_is_string );
-+
-+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+ FT_TRACE0(( "pcf_property_set: missing property `%s'\n",
-+ property_name ));
-+ return FT_THROW( Missing_Property );
-+ }
-+
-+
-+ static FT_Error
-+ pcf_property_get( FT_Module module, /* PCF_Driver */
-+ const char* property_name,
-+ const void* value )
-+ {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+ FT_Error error = FT_Err_Ok;
-+ PCF_Driver driver = (PCF_Driver)module;
-+
-+
-+ if ( !ft_strcmp( property_name, "no-long-family-names" ) )
-+ {
-+ FT_Bool no_long_family_names = driver->no_long_family_names;
-+ FT_Bool* val = (FT_Bool*)value;
-+
-+
-+ *val = no_long_family_names;
-+
-+ return error;
-+ }
-+
-+#else /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+ FT_UNUSED( module );
-+ FT_UNUSED( value );
-+
-+#endif /* !PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
-+ FT_TRACE0(( "pcf_property_get: missing property `%s'\n",
-+ property_name ));
-+ return FT_THROW( Missing_Property );
-+ }
-+
-+
-+ FT_DEFINE_SERVICE_PROPERTIESREC(
-+ pcf_service_properties,
-+
-+ (FT_Properties_SetFunc)pcf_property_set, /* set_property */
-+ (FT_Properties_GetFunc)pcf_property_get ) /* get_property */
-+
-+
- /*
- *
- * SERVICE LIST
-@@ -677,6 +783,7 @@ THE SOFTWARE.
- {
- { FT_SERVICE_ID_BDF, &pcf_service_bdf },
- { FT_SERVICE_ID_FONT_FORMAT, FT_FONT_FORMAT_PCF },
-+ { FT_SERVICE_ID_PROPERTIES, &pcf_service_properties },
- { NULL, NULL }
- };
-
-@@ -694,7 +801,14 @@ THE SOFTWARE.
- FT_CALLBACK_DEF( FT_Error )
- pcf_driver_init( FT_Module module ) /* PCF_Driver */
- {
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+ PCF_Driver driver = (PCF_Driver)module;
-+
-+
-+ driver->no_long_family_names = 0;
-+#else
- FT_UNUSED( module );
-+#endif
-
- return FT_Err_Ok;
- }
-diff --git a/src/pcf/pcfread.c b/src/pcf/pcfread.c
-index 38ba110..3eacf2b 100644
---- a/src/pcf/pcfread.c
-+++ b/src/pcf/pcfread.c
-@@ -1393,57 +1393,75 @@ THE SOFTWARE.
- prop = pcf_find_property( face, "FAMILY_NAME" );
- if ( prop && prop->isString )
- {
-- /* Prepend the foundry name plus a space to the family name. */
-- /* There are many fonts just called `Fixed' which look completely */
-- /* different, and which have nothing to do with each other. When */
-- /* selecting `Fixed' in KDE or Gnome one gets results that appear */
-- /* rather random, the style changes often if one changes the size */
-- /* and one cannot select some fonts at all. */
-- /* */
-- /* We also check whether we have `wide' characters; all put */
-- /* together, we get family names like `Sony Fixed' or `Misc Fixed */
-- /* Wide'. */
-- PCF_Property foundry_prop, point_size_prop, average_width_prop;
--
-- int l = ft_strlen( prop->value.atom ) + 1;
-- int wide = 0;
--
--
-- foundry_prop = pcf_find_property( face, "FOUNDRY" );
-- point_size_prop = pcf_find_property( face, "POINT_SIZE" );
-- average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
--
-- if ( point_size_prop && average_width_prop )
-+
-+#ifdef PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+
-+ PCF_Driver driver = (PCF_Driver)FT_FACE_DRIVER( face );
-+
-+
-+ if ( !driver->no_long_family_names )
- {
-- if ( average_width_prop->value.l >= point_size_prop->value.l )
-+ /* Prepend the foundry name plus a space to the family name. */
-+ /* There are many fonts just called `Fixed' which look */
-+ /* completely different, and which have nothing to do with each */
-+ /* other. When selecting `Fixed' in KDE or Gnome one gets */
-+ /* results that appear rather random, the style changes often if */
-+ /* one changes the size and one cannot select some fonts at all. */
-+ /* */
-+ /* We also check whether we have `wide' characters; all put */
-+ /* together, we get family names like `Sony Fixed' or `Misc */
-+ /* Fixed Wide'. */
-+
-+ PCF_Property foundry_prop, point_size_prop, average_width_prop;
-+
-+ int l = ft_strlen( prop->value.atom ) + 1;
-+ int wide = 0;
-+
-+
-+ foundry_prop = pcf_find_property( face, "FOUNDRY" );
-+ point_size_prop = pcf_find_property( face, "POINT_SIZE" );
-+ average_width_prop = pcf_find_property( face, "AVERAGE_WIDTH" );
-+
-+ if ( point_size_prop && average_width_prop )
- {
-- /* This font is at least square shaped or even wider */
-- wide = 1;
-- l += ft_strlen( " Wide" );
-+ if ( average_width_prop->value.l >= point_size_prop->value.l )
-+ {
-+ /* This font is at least square shaped or even wider */
-+ wide = 1;
-+ l += ft_strlen( " Wide" );
-+ }
- }
-- }
-
-- if ( foundry_prop && foundry_prop->isString )
-- {
-- l += ft_strlen( foundry_prop->value.atom ) + 1;
-+ if ( foundry_prop && foundry_prop->isString )
-+ {
-+ l += ft_strlen( foundry_prop->value.atom ) + 1;
-
-- if ( FT_NEW_ARRAY( root->family_name, l ) )
-- goto Exit;
-+ if ( FT_NEW_ARRAY( root->family_name, l ) )
-+ goto Exit;
-+
-+ ft_strcpy( root->family_name, foundry_prop->value.atom );
-+ ft_strcat( root->family_name, " " );
-+ ft_strcat( root->family_name, prop->value.atom );
-+ }
-+ else
-+ {
-+ if ( FT_NEW_ARRAY( root->family_name, l ) )
-+ goto Exit;
-
-- ft_strcpy( root->family_name, foundry_prop->value.atom );
-- ft_strcat( root->family_name, " " );
-- ft_strcat( root->family_name, prop->value.atom );
-+ ft_strcpy( root->family_name, prop->value.atom );
-+ }
-+
-+ if ( wide )
-+ ft_strcat( root->family_name, " Wide" );
- }
- else
-+
-+#endif /* PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-+
- {
-- if ( FT_NEW_ARRAY( root->family_name, l ) )
-+ if ( FT_STRDUP( root->family_name, prop->value.atom ) )
- goto Exit;
--
-- ft_strcpy( root->family_name, prop->value.atom );
- }
--
-- if ( wide )
-- ft_strcat( root->family_name, " Wide" );
- }
- else
- root->family_name = NULL;
---
-cgit v1.0
-
-From 7ccca6aec167c2c30c569765ece808f0eee023a6 Mon Sep 17 00:00:00 2001
-From: Werner Lemberg <wl@gnu.org>
-Date: Mon, 9 Jan 2017 19:54:44 +0100
-Subject: [pcf] Disable long family names by default.
-
-* include/freetype/config/ftoption.h
-(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): Comment out.
----
- include/freetype/config/ftoption.h | 2 +-
- 2 files changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
-index 5676074..37a0d00 100644
---- a/include/freetype/config/ftoption.h
-+++ b/include/freetype/config/ftoption.h
-@@ -856,7 +856,7 @@ FT_BEGIN_HEADER
- /* If this option is activated, it can be controlled with the */
- /* `no-long-family-names' property of the pcf driver module. */
- /* */
--#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES
-+/* #define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES */
-
-
- /*************************************************************************/
---
-cgit v1.0
-