Blame include/freetype/ftpcfdrv.h

Packit cf904d
/***************************************************************************/
Packit cf904d
/*                                                                         */
Packit cf904d
/*  ftpcfdrv.h                                                             */
Packit cf904d
/*                                                                         */
Packit cf904d
/*    FreeType API for controlling the PCF driver (specification only).    */
Packit cf904d
/*                                                                         */
Packit cf904d
/*  Copyright 2017 by                                                      */
Packit cf904d
/*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
Packit cf904d
/*                                                                         */
Packit cf904d
/*  This file is part of the FreeType project, and may only be used,       */
Packit cf904d
/*  modified, and distributed under the terms of the FreeType project      */
Packit cf904d
/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
Packit cf904d
/*  this file you indicate that you have read the license and              */
Packit cf904d
/*  understand and accept it fully.                                        */
Packit cf904d
/*                                                                         */
Packit cf904d
/***************************************************************************/
Packit cf904d
Packit cf904d
Packit cf904d
#ifndef FTPCFDRV_H_
Packit cf904d
#define FTPCFDRV_H_
Packit cf904d
Packit cf904d
#include <ft2build.h>
Packit cf904d
#include FT_FREETYPE_H
Packit cf904d
Packit cf904d
#ifdef FREETYPE_H
Packit cf904d
#error "freetype.h of FreeType 1 has been loaded!"
Packit cf904d
#error "Please fix the directory search order for header files"
Packit cf904d
#error "so that freetype.h of FreeType 2 is found first."
Packit cf904d
#endif
Packit cf904d
Packit cf904d
Packit cf904d
FT_BEGIN_HEADER
Packit cf904d
Packit cf904d
Packit cf904d
  /**************************************************************************
Packit cf904d
   *
Packit cf904d
   * @section:
Packit cf904d
   *   pcf_driver
Packit cf904d
   *
Packit cf904d
   * @title:
Packit cf904d
   *   The PCF driver
Packit cf904d
   *
Packit cf904d
   * @abstract:
Packit cf904d
   *   Controlling the PCF driver module.
Packit cf904d
   *
Packit cf904d
   * @description:
Packit cf904d
   *   While FreeType's PCF driver doesn't expose API functions by itself,
Packit cf904d
   *   it is possible to control its behaviour with @FT_Property_Set and
Packit cf904d
   *   @FT_Property_Get.  Right now, there is a single property
Packit cf904d
   *   `no-long-family-names' available if FreeType is compiled with
Packit cf904d
   *   PCF_CONFIG_OPTION_LONG_FAMILY_NAMES.
Packit cf904d
   *
Packit cf904d
   *   The PCF driver's module name is `pcf'.
Packit cf904d
   *
Packit cf904d
   */
Packit cf904d
Packit cf904d
Packit cf904d
  /**************************************************************************
Packit cf904d
   *
Packit cf904d
   * @property:
Packit cf904d
   *   no-long-family-names
Packit cf904d
   *
Packit cf904d
   * @description:
Packit cf904d
   *   If PCF_CONFIG_OPTION_LONG_FAMILY_NAMES is active while compiling
Packit cf904d
   *   FreeType, the PCF driver constructs long family names.
Packit cf904d
   *
Packit cf904d
   *   There are many PCF fonts just called `Fixed' which look completely
Packit cf904d
   *   different, and which have nothing to do with each other.  When
Packit cf904d
   *   selecting `Fixed' in KDE or Gnome one gets results that appear rather
Packit cf904d
   *   random, the style changes often if one changes the size and one
Packit cf904d
   *   cannot select some fonts at all.  The improve this situation, the PCF
Packit cf904d
   *   module prepends the foundry name (plus a space) to the family name. 
Packit cf904d
   *   It also checks whether there are `wide' characters; all put together,
Packit cf904d
   *   family names like `Sony Fixed' or `Misc Fixed Wide' are constructed.
Packit cf904d
   *
Packit cf904d
   *   If `no-long-family-names' is set, this feature gets switched off.
Packit cf904d
   *
Packit cf904d
   *   {
Packit cf904d
   *     FT_Library  library;
Packit cf904d
   *     FT_Bool     no_long_family_names = TRUE;
Packit cf904d
   *
Packit cf904d
   *
Packit cf904d
   *     FT_Init_FreeType( &library );
Packit cf904d
   *
Packit cf904d
   *     FT_Property_Set( library, "pcf",
Packit cf904d
   *                               "no-long-family-names",
Packit cf904d
   *                               &no_long_family_names );
Packit cf904d
   *   }
Packit cf904d
   *
Packit cf904d
   * @note:
Packit cf904d
   *   This property can be used with @FT_Property_Get also.
Packit cf904d
   *
Packit cf904d
   *   This property can be set via the `FREETYPE_PROPERTIES' environment
Packit cf904d
   *   variable (using values 1 and 0 for `on' and `off', respectively).
Packit cf904d
   *
Packit cf904d
   */
Packit cf904d
Packit cf904d
Packit cf904d
FT_END_HEADER
Packit cf904d
Packit cf904d
Packit cf904d
#endif /* FTPCFDRV_H_ */
Packit cf904d
Packit cf904d
Packit cf904d
/* END */