PageRenderTime 20ms CodeModel.GetById 10ms app.highlight 7ms RepoModel.GetById 1ms app.codeStats 0ms

/src/freetype/src/base/fttype1.c

https://bitbucket.org/cabalistic/ogredeps/
C | 120 lines | 63 code | 36 blank | 21 comment | 12 complexity | 71ae31ed09536ded776a0c1622d1c72f MD5 | raw file
  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 */