FreeType » Docs » Format-Specific API » BDF and PCF Files
BDF and PCF Files¶
Synopsis¶
This section contains the declaration of functions specific to BDF and PCF fonts.
BDF_PropertyType¶
Defined in FT_BDF_H (freetype/ftbdf.h).
  typedef enum  BDF_PropertyType_
  {
    BDF_PROPERTY_TYPE_NONE     = 0,
    BDF_PROPERTY_TYPE_ATOM     = 1,
    BDF_PROPERTY_TYPE_INTEGER  = 2,
    BDF_PROPERTY_TYPE_CARDINAL = 3
  } BDF_PropertyType;
A 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. | 
BDF_Property¶
Defined in FT_BDF_H (freetype/ftbdf.h).
  typedef struct BDF_PropertyRec_*  BDF_Property;
A handle to a BDF_PropertyRec structure to model a given BDF/PCF property.
BDF_PropertyRec¶
Defined in FT_BDF_H (freetype/ftbdf.h).
  typedef struct  BDF_PropertyRec_
  {
    BDF_PropertyType  type;
    union {
      const char*     atom;
      FT_Int32        integer;
      FT_UInt32       cardinal;
    } u;
  } BDF_PropertyRec;
This structure models a given BDF/PCF property.
fields
| type | The property type. | 
| u.atom | The atom string, if type is  | 
| u.integer | A signed integer, if type is  | 
| u.cardinal | An unsigned integer, if type is  | 
FT_Get_BDF_Charset_ID¶
Defined in FT_BDF_H (freetype/ftbdf.h).
  FT_EXPORT( FT_Error )
  FT_Get_BDF_Charset_ID( FT_Face       face,
                         const char*  *acharset_encoding,
                         const char*  *acharset_registry );
Retrieve a BDF font character set identity, according to the BDF specification.
input
| face | A handle to the 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 error code. 0 means success.
note
This function only works with BDF faces, returning an error otherwise.
FT_Get_BDF_Property¶
Defined in FT_BDF_H (freetype/ftbdf.h).
  FT_EXPORT( FT_Error )
  FT_Get_BDF_Property( FT_Face           face,
                       const char*       prop_name,
                       BDF_PropertyRec  *aproperty );
Retrieve a BDF property from a BDF or PCF font file.
input
| face | A handle to the input face. | 
| name | The 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 if the property is not in the font.
A ‘property’ is a either key-value pair within the STARTPROPERTIES … ENDPROPERTIES block of a BDF font or a key-value pair from the info->props array within a FontRec structure of a PCF font.
Integer properties are always stored as ‘signed’ within PCF fonts; consequently, BDF_PROPERTY_TYPE_CARDINAL is a possible return value for BDF fonts only.
In case of error, aproperty->type is always set to BDF_PROPERTY_TYPE_NONE.