misc/libfreetype/src/base/ftbdf.c
changeset 9372 915436ff64ab
parent 9371 f3840de881bd
child 9373 b769a8e38cbd
equal deleted inserted replaced
9371:f3840de881bd 9372:915436ff64ab
     1 /***************************************************************************/
       
     2 /*                                                                         */
       
     3 /*  ftbdf.c                                                                */
       
     4 /*                                                                         */
       
     5 /*    FreeType API for accessing BDF-specific strings (body).              */
       
     6 /*                                                                         */
       
     7 /*  Copyright 2002, 2003, 2004 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 <ft2build.h>
       
    20 #include FT_INTERNAL_OBJECTS_H
       
    21 #include FT_SERVICE_BDF_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, &registry );
       
    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 */