1*37da2899SCharles.Forsyth /***************************************************************************/ 2*37da2899SCharles.Forsyth /* */ 3*37da2899SCharles.Forsyth /* ftbdf.c */ 4*37da2899SCharles.Forsyth /* */ 5*37da2899SCharles.Forsyth /* FreeType API for accessing BDF-specific strings (body). */ 6*37da2899SCharles.Forsyth /* */ 7*37da2899SCharles.Forsyth /* Copyright 2002 by */ 8*37da2899SCharles.Forsyth /* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9*37da2899SCharles.Forsyth /* */ 10*37da2899SCharles.Forsyth /* This file is part of the FreeType project, and may only be used, */ 11*37da2899SCharles.Forsyth /* modified, and distributed under the terms of the FreeType project */ 12*37da2899SCharles.Forsyth /* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13*37da2899SCharles.Forsyth /* this file you indicate that you have read the license and */ 14*37da2899SCharles.Forsyth /* understand and accept it fully. */ 15*37da2899SCharles.Forsyth /* */ 16*37da2899SCharles.Forsyth /***************************************************************************/ 17*37da2899SCharles.Forsyth 18*37da2899SCharles.Forsyth 19*37da2899SCharles.Forsyth #include <ft2build.h> 20*37da2899SCharles.Forsyth #include FT_INTERNAL_BDF_TYPES_H 21*37da2899SCharles.Forsyth #include FT_INTERNAL_OBJECTS_H 22*37da2899SCharles.Forsyth 23*37da2899SCharles.Forsyth 24*37da2899SCharles.Forsyth FT_EXPORT_DEF( FT_Error ) FT_Get_BDF_Charset_ID(FT_Face face,const char ** acharset_encoding,const char ** acharset_registry)25*37da2899SCharles.Forsyth FT_Get_BDF_Charset_ID( FT_Face face, 26*37da2899SCharles.Forsyth const char* *acharset_encoding, 27*37da2899SCharles.Forsyth const char* *acharset_registry ) 28*37da2899SCharles.Forsyth { 29*37da2899SCharles.Forsyth FT_Error error; 30*37da2899SCharles.Forsyth const char* encoding = NULL; 31*37da2899SCharles.Forsyth const char* registry = NULL; 32*37da2899SCharles.Forsyth 33*37da2899SCharles.Forsyth 34*37da2899SCharles.Forsyth error = FT_Err_Invalid_Argument; 35*37da2899SCharles.Forsyth 36*37da2899SCharles.Forsyth if ( face != NULL && face->driver != NULL ) 37*37da2899SCharles.Forsyth { 38*37da2899SCharles.Forsyth FT_Module driver = (FT_Module) face->driver; 39*37da2899SCharles.Forsyth 40*37da2899SCharles.Forsyth 41*37da2899SCharles.Forsyth if ( driver->clazz && driver->clazz->module_name && 42*37da2899SCharles.Forsyth ft_strcmp( driver->clazz->module_name, "bdf" ) == 0 ) 43*37da2899SCharles.Forsyth { 44*37da2899SCharles.Forsyth BDF_Public_Face bdf_face = (BDF_Public_Face)face; 45*37da2899SCharles.Forsyth 46*37da2899SCharles.Forsyth 47*37da2899SCharles.Forsyth encoding = (const char*) bdf_face->charset_encoding; 48*37da2899SCharles.Forsyth registry = (const char*) bdf_face->charset_registry; 49*37da2899SCharles.Forsyth error = 0; 50*37da2899SCharles.Forsyth } 51*37da2899SCharles.Forsyth } 52*37da2899SCharles.Forsyth 53*37da2899SCharles.Forsyth if ( acharset_encoding ) 54*37da2899SCharles.Forsyth *acharset_encoding = encoding; 55*37da2899SCharles.Forsyth 56*37da2899SCharles.Forsyth if ( acharset_registry ) 57*37da2899SCharles.Forsyth *acharset_registry = registry; 58*37da2899SCharles.Forsyth 59*37da2899SCharles.Forsyth return error; 60*37da2899SCharles.Forsyth } 61*37da2899SCharles.Forsyth 62*37da2899SCharles.Forsyth 63*37da2899SCharles.Forsyth /* END */ 64