source: trunk/poppler/freetype-2.1.10/src/sfnt/ttcmap.h @ 2

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

First import

File size: 2.5 KB
Line 
1/***************************************************************************/
2/*                                                                         */
3/*  ttcmap.h                                                               */
4/*                                                                         */
5/*    TrueType character mapping table (cmap) support (specification).     */
6/*                                                                         */
7/*  Copyright 2002, 2003, 2004, 2005 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 __TTCMAP_H__
20#define __TTCMAP_H__
21
22
23#include <ft2build.h>
24#include FT_INTERNAL_TRUETYPE_TYPES_H
25#include FT_INTERNAL_VALIDATE_H
26#include FT_SERVICE_TT_CMAP_H
27
28FT_BEGIN_HEADER
29
30  typedef struct  TT_CMapRec_
31  {
32    FT_CMapRec  cmap;
33    FT_Byte*    data;           /* pointer to in-memory cmap table */
34    FT_Bool     unsorted;       /* for format 4 only               */
35
36  } TT_CMapRec, *TT_CMap;
37
38  typedef const struct TT_CMap_ClassRec_*  TT_CMap_Class;
39
40
41  typedef FT_Error
42  (*TT_CMap_ValidateFunc)( FT_Byte*      data,
43                           FT_Validator  valid );
44
45  typedef struct  TT_CMap_ClassRec_
46  {
47    FT_CMap_ClassRec      clazz;
48    FT_UInt               format;
49    TT_CMap_ValidateFunc  validate;
50    TT_CMap_Info_GetFunc  get_cmap_info;
51
52  } TT_CMap_ClassRec;
53
54
55  typedef struct  TT_ValidatorRec_
56  {
57    FT_ValidatorRec  validator;
58    FT_UInt          num_glyphs;
59
60  } TT_ValidatorRec, *TT_Validator;
61
62
63#define TT_VALIDATOR( x )          ((TT_Validator)( x ))
64#define TT_VALID_GLYPH_COUNT( x )  TT_VALIDATOR( x )->num_glyphs
65
66
67  FT_LOCAL( FT_Error )
68  tt_face_build_cmaps( TT_Face  face );
69
70  /* used in tt-cmaps service */
71  FT_LOCAL( FT_Error )
72  tt_get_cmap_info( FT_CharMap    charmap,
73                    TT_CMapInfo  *cmap_info );
74
75
76FT_END_HEADER
77
78#endif /* __TTCMAP_H__ */
79
80
81/* END */
Note: See TracBrowser for help on using the repository browser.