FreeType-2.8.1 API Reference

The PCF driver



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’.


Defined in FT_PCF_DRIVER_H (freetype/ftpcfdrv.h).


#endif /* FTPCFDRV_H_ */

/* END */

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 );


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).