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. They also work for SFNT bitmap fonts that contain a ‘BDF ’ table like X11's .otb 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 and SFNT fonts that have a ‘BDF ’ table, returning an error otherwise. For the latter, a bitmap strike size must be selected first.
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.
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.
This also works with SFNT fonts that have a ‘BDF ’ table, after a bitmap strike size has been selected.