Subversion Repositories Kolibri OS

Rev

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

  1. /***************************************************************************/
  2. /*                                                                         */
  3. /*  fttype1.c                                                              */
  4. /*                                                                         */
  5. /*    FreeType utility file for PS names support (body).                   */
  6. /*                                                                         */
  7. /*  Copyright 2002-2004, 2011 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_INTERNAL_SERVICE_H
  22. #include FT_SERVICE_POSTSCRIPT_INFO_H
  23.  
  24.  
  25.   /* documentation is in t1tables.h */
  26.  
  27.   FT_EXPORT_DEF( FT_Error )
  28.   FT_Get_PS_Font_Info( FT_Face          face,
  29.                        PS_FontInfoRec*  afont_info )
  30.   {
  31.     FT_Error  error = FT_ERR( Invalid_Argument );
  32.  
  33.  
  34.     if ( face )
  35.     {
  36.       FT_Service_PsInfo  service = NULL;
  37.  
  38.  
  39.       FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO );
  40.  
  41.       if ( service && service->ps_get_font_info )
  42.         error = service->ps_get_font_info( face, afont_info );
  43.     }
  44.  
  45.     return error;
  46.   }
  47.  
  48.  
  49.   /* documentation is in t1tables.h */
  50.  
  51.   FT_EXPORT_DEF( FT_Int )
  52.   FT_Has_PS_Glyph_Names( FT_Face  face )
  53.   {
  54.     FT_Int             result  = 0;
  55.     FT_Service_PsInfo  service = NULL;
  56.  
  57.  
  58.     if ( face )
  59.     {
  60.       FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO );
  61.  
  62.       if ( service && service->ps_has_glyph_names )
  63.         result = service->ps_has_glyph_names( face );
  64.     }
  65.  
  66.     return result;
  67.   }
  68.  
  69.  
  70.   /* documentation is in t1tables.h */
  71.  
  72.   FT_EXPORT_DEF( FT_Error )
  73.   FT_Get_PS_Font_Private( FT_Face         face,
  74.                           PS_PrivateRec*  afont_private )
  75.   {
  76.     FT_Error  error = FT_ERR( Invalid_Argument );
  77.  
  78.  
  79.     if ( face )
  80.     {
  81.       FT_Service_PsInfo  service = NULL;
  82.  
  83.  
  84.       FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO );
  85.  
  86.       if ( service && service->ps_get_font_private )
  87.         error = service->ps_get_font_private( face, afont_private );
  88.     }
  89.  
  90.     return error;
  91.   }
  92.  
  93.  
  94.   /* documentation is in t1tables.h */
  95.  
  96.   FT_EXPORT_DEF( FT_Long )
  97.   FT_Get_PS_Font_Value( FT_Face       face,
  98.                         PS_Dict_Keys  key,
  99.                         FT_UInt       idx,
  100.                         void         *value,
  101.                         FT_Long       value_len )
  102.   {
  103.     FT_Int             result  = 0;
  104.     FT_Service_PsInfo  service = NULL;
  105.  
  106.  
  107.     if ( face )
  108.     {
  109.       FT_FACE_FIND_SERVICE( face, service, POSTSCRIPT_INFO );
  110.  
  111.       if ( service && service->ps_get_font_value )
  112.         result = service->ps_get_font_value( face, key, idx,
  113.                                              value, value_len );
  114.     }
  115.  
  116.     return result;
  117.   }
  118.  
  119.  
  120. /* END */
  121.