1/***************************************************************************/ 2/* */ 3/* ftbdf.c */ 4/* */ 5/* FreeType API for accessing BDF-specific strings (body). */ 6/* */ 7/* Copyright 2002-2004, 2013 by */ 8/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 9/* */ 10/* This file is part of the FreeType project, and may only be used, */ 11/* modified, and distributed under the terms of the FreeType project */ 12/* license, LICENSE.TXT. By continuing to use, modify, or distribute */ 13/* this file you indicate that you have read the license and */ 14/* understand and accept it fully. */ 15/* */ 16/***************************************************************************/ 17 18 19#include "../../include/ft2build.h" 20#include "../../include/freetype/internal/ftobjs.h" 21#include "../../include/freetype/internal/services/svbdf.h" 22 23 24 /* documentation is in ftbdf.h */ 25 26 FT_EXPORT_DEF( FT_Error ) 27 FT_Get_BDF_Charset_ID( FT_Face face, 28 const char* *acharset_encoding, 29 const char* *acharset_registry ) 30 { 31 FT_Error error; 32 const char* encoding = NULL; 33 const char* registry = NULL; 34 35 36 error = FT_ERR( Invalid_Argument ); 37 38 if ( face ) 39 { 40 FT_Service_BDF service; 41 42 43 FT_FACE_FIND_SERVICE( face, service, BDF ); 44 45 if ( service && service->get_charset_id ) 46 error = service->get_charset_id( face, &encoding, ®istry ); 47 } 48 49 if ( acharset_encoding ) 50 *acharset_encoding = encoding; 51 52 if ( acharset_registry ) 53 *acharset_registry = registry; 54 55 return error; 56 } 57 58 59 /* documentation is in ftbdf.h */ 60 61 FT_EXPORT_DEF( FT_Error ) 62 FT_Get_BDF_Property( FT_Face face, 63 const char* prop_name, 64 BDF_PropertyRec *aproperty ) 65 { 66 FT_Error error; 67 68 69 error = FT_ERR( Invalid_Argument ); 70 71 aproperty->type = BDF_PROPERTY_TYPE_NONE; 72 73 if ( face ) 74 { 75 FT_Service_BDF service; 76 77 78 FT_FACE_FIND_SERVICE( face, service, BDF ); 79 80 if ( service && service->get_property ) 81 error = service->get_property( face, prop_name, aproperty ); 82 } 83 84 return error; 85 } 86 87 88/* END */ 89