topical media & game development

talk show tell print

lib-of-vs-libs-free-type-2.1.4-include-freetype2-freetype-ftbdf.h / h



  
************************************************************************

  
  /*                                                                         */
  /*  ftbdf.h                                                                */
  /*                                                                         */
  /*    FreeType API for accessing BDF-specific strings (specification).     */
  /*                                                                         */
  /*  Copyright 2002 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 __FTBDF_H__
  define __FTBDF_H__
  
  include <ft2build.h>
  include FT_FREETYPE_H
  
  FT_BEGIN_HEADER
  
    
**********************************************************************

  
    /*                                                                       */
    /* <Section>                                                             */
    /*    bdf_fonts                                                          */
    /*                                                                       */
    /* <Title>                                                               */
    /*    BDF Fonts                                                          */
    /*                                                                       */
    /* <Abstract>                                                            */
    /*    BDF-specific APIs                                                  */
    /*                                                                       */
    /* <Description>                                                         */
    /*    This section contains the declaration of BDF-specific functions.   */
    /*                                                                       */
    
**********************************************************************

  
  
   
******************************************************************** @enum: FT_PropertyType @description: list of BDF property types @values: BDF_PROPERTY_TYPE_NONE :: value 0 is used to indicate a missing property BDF_PROPERTY_TYPE_ATOM :: property is a string atom BDF_PROPERTY_TYPE_INTEGER :: property is a 32-bit signed integer BDF_PROPERTY_TYPE_CARDINAL :: property is a 32-bit unsigned integer

  
    typedef enum
    {
      BDF_PROPERTY_TYPE_NONE     = 0,
      BDF_PROPERTY_TYPE_ATOM     = 1,
      BDF_PROPERTY_TYPE_INTEGER  = 2,
      BDF_PROPERTY_TYPE_CARDINAL = 3
  
    } BDF_PropertyType;
  
   
******************************************************************** @type: BDF_Property @description: handle to a @BDF_PropertyRec structure used to model a given BDF/PCF property

  
    typedef struct BDF_PropertyRec_*   BDF_Property;
  
   
******************************************************************** @struct: BDF_PropertyRec @description: models a given BDF/PCF property @note: type :: property type u.atom :: atom string, when type is @BDF_PROPERTY_TYPE_ATOM u.integer :: signed integer, when type is @BDF_PROPERTY_TYPE_INTEGER u.cardinal :: unsigned integer, when type is @BDF_PROPERTY_TYPE_CARDINAL

  
    typedef struct BDF_PropertyRec_
    {
      BDF_PropertyType   type;
      union {
        const char*   atom;
        FT_Int32      integer;
        FT_UInt32     cardinal;
  
      } u;
  
    } BDF_PropertyRec;
  
   
******************************************************************** @function: FT_Get_BDF_Charset_ID @description: Retrieves a BDF font character set identity, according to the BDF specification. @input: face :: handle to input face @output: acharset_encoding :: Charset encoding, as a C string, owned by the face. acharset_registry :: Charset registry, as a C string, owned by the face. @return: FreeType rror code. 0 means success. @note: This function only works with BDF faces, returning an error otherwise.

  
    FT_EXPORT( FT_Error )
    FT_Get_BDF_Charset_ID( FT_Face       face,
                           const char*  *acharset_encoding,
                           const char*  *acharset_registry );
  
   
******************************************************************** @function: FT_Get_BDF_Property @description: Retrieves a BDF property from a BDF or PCF font file @input: face :: handle to input face name :: property name @output: aproperty :: the property @return: FreeType error code. 0 means success. @note: This function works with BDF _and_ PCF fonts. It returns an error otherwise. it also returns an error when the property is not in the font. in case of error, "aproperty->type" is always set to @BDF_PROPERTY_TYPE_NONE

  
    FT_EXPORT( FT_Error )
    FT_Get_BDF_Property( FT_Face           face,
                         const char*       prop_name,
                         BDF_PropertyRec  *aproperty );
  
   /* */
  
  FT_END_HEADER
  
  endif /* __FTBDF_H__ */
  
  /* END */
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.