Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Last modification | View Log | Download | RSS feed

  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 <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 */
  89.