Spade

Mini Shell

Directory:~$ /proc/self/root/usr/include/freetype2/freetype/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ //proc/self/root/usr/include/freetype2/freetype/ftpcfdrv.h

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