* include/freetype/internal/ftbdf.h, src/base/ftbdf.c,

src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:

          Adding a new API called "FT_Get_BDF_Charset_ID" to retrieve
          BDF-specific strings from a face. This is much cleaner
          than accessing the internal types "BDF_Public_Face" defined in
          FT_INTERNAL_BDF_TYPES_H
This commit is contained in:
David Turner 2002-05-21 20:50:53 +00:00
parent 1b547d80d6
commit 75aafb5021
6 changed files with 69 additions and 2 deletions

View File

@ -1,3 +1,13 @@
2002-05-21 David Turner <david@freetype.org>
* include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
Adding a new API called "FT_Get_BDF_Charset_ID" to retrieve
BDF-specific strings from a face. This is much cleaner
than accessing the internal types "BDF_Public_Face" defined in
FT_INTERNAL_BDF_TYPES_H
2002-05-21 Werner Lemberg <wl@gnu.org>
* src/bdf/README: Mention Microsoft's SBIT tool.

16
include/freetype/ftbdf.h Normal file
View File

@ -0,0 +1,16 @@
#ifndef __FT_BDF_H__
#define __FT_BDF_H__
#include <ft2build.h>
#include FT_FREETYPE_H
FT_BEGIN_HEADER
FT_EXPORT( FT_Error )
FT_Get_BDF_Charset_ID( FT_Face face,
const char* *acharset_encoding,
const char* *acharset_registry );
FT_END_HEADER
#endif /* __FT_BDF_H__ */

View File

@ -23,7 +23,7 @@ SubDirHdrs [ FT2_SubDir src base ] ;
# Add the optional/replaceable files.
#
Library $(FT2_LIB) : ftsystem.c ftinit.c ftglyph.c ftmm.c
Library $(FT2_LIB) : ftsystem.c ftinit.c ftglyph.c ftmm.c ftbdf.c
ftbbox.c ftdebug.c ;
# Add Macintosh-specific file to the library when necessary.

View File

@ -15,7 +15,7 @@
CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.builds.vms],[--.include],[--.src.base])
OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftmm.obj
OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftbdf.obj,ftmm.obj
all : $(OBJS)
library [--.lib]freetype.olb $(OBJS)

40
src/base/ftbdf.c Normal file
View File

@ -0,0 +1,40 @@
#include <ft2build.h>
#include FT_INTERNAL_BDF_TYPES_H
#include FT_INTERNAL_OBJECTS_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 != NULL && face->driver != NULL )
{
FT_Module driver = (FT_Module) face->driver;
if ( driver->clazz && driver->clazz->module_name &&
ft_strcmp( driver->clazz->module_name, "bdf" ) == 0 )
{
BDF_Public_Face bdf_face = (BDF_Public_Face) face;
encoding = (const char*) bdf_face->charset_encoding;
registry = (const char*) bdf_face->charset_registry;
error = 0;
}
}
if ( acharset_encoding )
*acharset_encoding = encoding;
if ( acharset_registry )
*acharset_registry = registry;
return error;
}

View File

@ -51,6 +51,7 @@ BASE_SRC := $(BASE_)ftcalc.c \
#
BASE_EXT_SRC := $(BASE_)ftglyph.c \
$(BASE_)ftmm.c \
$(BASE_)ftbdf.c \
$(BASE_)ftbbox.c
# Default extensions objects