106 lines
3.7 KiB
C
106 lines
3.7 KiB
C
/***************************************************************************/
|
|
/* */
|
|
/* 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 */
|