c313c50208
include/freetype/tttables.h, include/freetype/config/ftconfig.h, include/freetype/internal/ftobjs.h, include/freetype/internal/ftserv.h, include/freetype/internal/internal.h, include/freetype/internal/sfnt.h, include/freetype/internal/tttypes.h, include/freetype/internal/services/bdf.h, include/freetype/internal/services/glyfdict.h, include/freetype/internal/services/multmast.h, include/freetype/internal/services/postname.h, include/freetype/internal/services/sfnt.h, include/freetype/internal/services/xf86name.h, src/base/ftbdf.c, src/base/ftmm.c, src/base/ftobjs.c, src/base/ftxf86.c, src/bdf/bdfdrivr.c, src/cff/cffdrivr.c, src/cid/cidriver.c, src/pcf/pcfdrivr.c, src/sfnt/sfdriver.c, src/truetype/ttdriver.c, src/type1/t1driver.c, src/type42/t42drivr.c: heavy internal modifications to introduce the concept of "module services". This is the first step towards a massive simplification of the engine's internals, in order to get rid of various numbers of hacks. Note that this changes will break source & binary compatibility for authors of external font drivers. Maybe 2.1.6 will be called 2.2.0 after all :-)
82 lines
2.6 KiB
C
82 lines
2.6 KiB
C
/***************************************************************************/
|
|
/* */
|
|
/* ftbdf.c */
|
|
/* */
|
|
/* FreeType API for accessing BDF-specific strings (body). */
|
|
/* */
|
|
/* Copyright 2002, 2003 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. */
|
|
/* */
|
|
/***************************************************************************/
|
|
|
|
|
|
#include <ft2build.h>
|
|
#include FT_INTERNAL_BDF_TYPES_H
|
|
#include FT_INTERNAL_OBJECTS_H
|
|
#include FT_SERVICE_BDF_H
|
|
|
|
|
|
FT_EXPORT_DEF( FT_Error )
|
|
FT_Get_BDF_Charset_ID( FT_Face face,
|
|
const char* *acharset_encoding,
|
|
const char* *acharset_registry )
|
|
{
|
|
FT_Error error;
|
|
const char* encoding = NULL;
|
|
const char* registry = NULL;
|
|
|
|
|
|
error = FT_Err_Invalid_Argument;
|
|
|
|
if ( face )
|
|
{
|
|
FT_Service_BDF service;
|
|
|
|
FT_FACE_FIND_SERVICE( service, face, FT_SERVICE_ID_BDF );
|
|
|
|
if ( service && service->get_charset_id )
|
|
error = service->get_charset_id( face, &encoding, ®istry );
|
|
}
|
|
if ( acharset_encoding )
|
|
*acharset_encoding = encoding;
|
|
|
|
if ( acharset_registry )
|
|
*acharset_registry = registry;
|
|
|
|
return error;
|
|
}
|
|
|
|
|
|
FT_EXPORT( FT_Error )
|
|
FT_Get_BDF_Property( FT_Face face,
|
|
const char* prop_name,
|
|
BDF_PropertyRec *aproperty )
|
|
{
|
|
FT_Error error;
|
|
|
|
|
|
error = FT_Err_Invalid_Argument;
|
|
|
|
aproperty->type = BDF_PROPERTY_TYPE_NONE;
|
|
|
|
if ( face )
|
|
{
|
|
FT_Service_BDF service;
|
|
|
|
FT_FACE_FIND_SERVICE( service, face, FT_SERVICE_ID_BDF );
|
|
|
|
if ( service && service->get_property )
|
|
error = service->get_property( face, prop_name, aproperty );
|
|
}
|
|
return error;
|
|
}
|
|
|
|
|
|
/* END */
|