source: trunk/poppler/freetype-2.1.10/include/freetype/internal/services/svpscmap.h @ 2

Last change on this file since 2 was 2, checked in by Eugene Romanenko, 15 years ago

First import

File size: 3.3 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  svpscmap.h                                                             */
4/*                                                                         */
5/*    The FreeType PostScript charmap service (specification).             */
6/*                                                                         */
7/*  Copyright 2003 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 __SVPSCMAP_H__
20#define __SVPSCMAP_H__
21
22
23FT_BEGIN_HEADER
24
25
26#define FT_SERVICE_ID_POSTSCRIPT_CMAPS  "postscript-cmaps"
27
28
29  /*
30   *  Adobe glyph name to unicode value
31   */
32  typedef FT_UInt32
33  (*PS_Unicode_ValueFunc)( const char*  glyph_name );
34
35  /*
36   *  Unicode value to Adobe glyph name index.  0xFFFF if not found.
37   */
38  typedef FT_UInt
39  (*PS_Unicode_Index_Func)( FT_UInt       num_glyphs,
40                            const char**  glyph_names,
41                            FT_ULong      unicode );
42
43  /*
44   *  Macintosh name id to glyph name.  NULL if invalid index.
45   */
46  typedef const char*
47  (*PS_Macintosh_Name_Func)( FT_UInt  name_index );
48
49  /*
50   *  Adobe standard string ID to glyph name.  NULL if invalid index.
51   */
52  typedef const char*
53  (*PS_Adobe_Std_Strings_Func)( FT_UInt  string_index );
54
55  /*
56   *  Simple unicode -> glyph index charmap built from font glyph names
57   *  table.
58   */
59  typedef struct  PS_UniMap_
60  {
61    FT_UInt  unicode;
62    FT_UInt  glyph_index;
63
64  } PS_UniMap;
65
66
67  typedef struct  PS_Unicodes_
68  {
69    FT_UInt     num_maps;
70    PS_UniMap*  maps;
71
72  } PS_Unicodes;
73
74
75  typedef FT_Error
76  (*PS_Unicodes_InitFunc)( FT_Memory     memory,
77                           FT_UInt       num_glyphs,
78                           const char**  glyph_names,
79                           PS_Unicodes*  unicodes );
80
81  typedef FT_UInt
82  (*PS_Unicodes_CharIndexFunc)( PS_Unicodes*  unicodes,
83                                FT_UInt       unicode );
84
85  typedef FT_ULong
86  (*PS_Unicodes_CharNextFunc)( PS_Unicodes*  unicodes,
87                               FT_ULong      unicode );
88
89
90  FT_DEFINE_SERVICE( PsCMaps )
91  {
92    PS_Unicode_ValueFunc       unicode_value;
93
94    PS_Unicodes_InitFunc       unicodes_init;
95    PS_Unicodes_CharIndexFunc  unicodes_char_index;
96    PS_Unicodes_CharNextFunc   unicodes_char_next;
97
98    PS_Macintosh_Name_Func     macintosh_name;
99    PS_Adobe_Std_Strings_Func  adobe_std_strings;
100    const unsigned short*      adobe_std_encoding;
101    const unsigned short*      adobe_expert_encoding;
102  };
103
104  /* */
105
106
107FT_END_HEADER
108
109
110#endif /* __SVPSCMAP_H__ */
111
112
113/* END */
Note: See TracBrowser for help on using the repository browser.