Subversion Repositories Kolibri OS

Rev

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

Rev Author Line No. Line
3918 Serge 1
/***************************************************************************/
2
/*                                                                         */
3
/*  svgldict.h                                                             */
4
/*                                                                         */
5
/*    The FreeType glyph dictionary services (specification).              */
6
/*                                                                         */
7
/*  Copyright 2003, 2009, 2012 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
#ifndef __SVGLDICT_H__
20
#define __SVGLDICT_H__
21
 
22
#include FT_INTERNAL_SERVICE_H
23
 
24
 
25
FT_BEGIN_HEADER
26
 
27
 
28
  /*
29
   *  A service used to retrieve glyph names, as well as to find the
30
   *  index of a given glyph name in a font.
31
   *
32
   */
33
 
34
#define FT_SERVICE_ID_GLYPH_DICT  "glyph-dict"
35
 
36
 
37
  typedef FT_Error
38
  (*FT_GlyphDict_GetNameFunc)( FT_Face     face,
39
                               FT_UInt     glyph_index,
40
                               FT_Pointer  buffer,
41
                               FT_UInt     buffer_max );
42
 
43
  typedef FT_UInt
44
  (*FT_GlyphDict_NameIndexFunc)( FT_Face     face,
45
                                 FT_String*  glyph_name );
46
 
47
 
48
  FT_DEFINE_SERVICE( GlyphDict )
49
  {
50
    FT_GlyphDict_GetNameFunc    get_name;
51
    FT_GlyphDict_NameIndexFunc  name_index;  /* optional */
52
  };
53
 
54
 
55
#ifndef FT_CONFIG_OPTION_PIC
56
 
57
#define FT_DEFINE_SERVICE_GLYPHDICTREC( class_,                        \
58
                                        get_name_,                     \
59
                                        name_index_)                   \
60
  static const FT_Service_GlyphDictRec  class_ =                       \
61
  {                                                                    \
62
    get_name_, name_index_                                             \
63
  };
64
 
65
#else /* FT_CONFIG_OPTION_PIC */
66
 
67
#define FT_DEFINE_SERVICE_GLYPHDICTREC( class_,                        \
68
                                        get_name_,                     \
69
                                        name_index_)                   \
70
  void                                                                 \
71
  FT_Init_Class_ ## class_( FT_Library                library,         \
72
                            FT_Service_GlyphDictRec*  clazz )          \
73
  {                                                                    \
74
    FT_UNUSED( library );                                              \
75
                                                                       \
76
    clazz->get_name   = get_name_;                                     \
77
    clazz->name_index = name_index_;                                   \
78
  }
79
 
80
#endif /* FT_CONFIG_OPTION_PIC */
81
 
82
  /* */
83
 
84
 
85
FT_END_HEADER
86
 
87
 
88
#endif /* __SVGLDICT_H__ */