/***************************************************************************/ /* */ /* 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 #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 */