ReactOS 0.4.16-dev-2332-g4cba65d
ftcid.c
Go to the documentation of this file.
1/****************************************************************************
2 *
3 * ftcid.c
4 *
5 * FreeType API for accessing CID font information.
6 *
7 * Copyright (C) 2007-2020 by
8 * Derek Clegg and Michael Toftdal.
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 <freetype/ftcid.h>
22
23
24 /* documentation is in ftcid.h */
25
28 const char* *registry,
29 const char* *ordering,
31 {
33 const char* r = NULL;
34 const char* o = NULL;
35 FT_Int s = 0;
36
37
38 error = FT_ERR( Invalid_Argument );
39
40 if ( face )
41 {
42 FT_Service_CID service;
43
44
45 FT_FACE_FIND_SERVICE( face, service, CID );
46
47 if ( service && service->get_ros )
48 error = service->get_ros( face, &r, &o, &s );
49 }
50
51 if ( registry )
52 *registry = r;
53
54 if ( ordering )
55 *ordering = o;
56
57 if ( supplement )
58 *supplement = s;
59
60 return error;
61 }
62
63
66 FT_Bool *is_cid )
67 {
68 FT_Error error = FT_ERR( Invalid_Argument );
69 FT_Bool ic = 0;
70
71
72 if ( face )
73 {
74 FT_Service_CID service;
75
76
77 FT_FACE_FIND_SERVICE( face, service, CID );
78
79 if ( service && service->get_is_cid )
80 error = service->get_is_cid( face, &ic);
81 }
82
83 if ( is_cid )
84 *is_cid = ic;
85
86 return error;
87 }
88
89
92 FT_UInt glyph_index,
93 FT_UInt *cid )
94 {
95 FT_Error error = FT_ERR( Invalid_Argument );
96 FT_UInt c = 0;
97
98
99 if ( face )
100 {
101 FT_Service_CID service;
102
103
104 FT_FACE_FIND_SERVICE( face, service, CID );
105
106 if ( service && service->get_cid_from_glyph_index )
107 error = service->get_cid_from_glyph_index( face, glyph_index, &c);
108 }
109
110 if ( cid )
111 *cid = c;
112
113 return error;
114 }
115
116
117/* END */
const char const char FT_Int * supplement
Definition: cffdrivr.c:699
const char ** registry
Definition: cffdrivr.c:696
#define FT_EXPORT_DEF(x)
#define NULL
Definition: types.h:112
FT_Get_CID_Registry_Ordering_Supplement(FT_Face face, const char **registry, const char **ordering, FT_Int *supplement)
Definition: ftcid.c:27
FT_Get_CID_Is_Internally_CID_Keyed(FT_Face face, FT_Bool *is_cid)
Definition: ftcid.c:65
FT_Get_CID_From_Glyph_Index(FT_Face face, FT_UInt glyph_index, FT_UInt *cid)
Definition: ftcid.c:91
#define FT_FACE_FIND_SERVICE(face, ptr, id)
Definition: ftserv.h:77
FT_BEGIN_HEADER typedef unsigned char FT_Bool
Definition: fttypes.h:108
int FT_Error
Definition: fttypes.h:299
#define FT_ERR(e)
Definition: fttypes.h:599
unsigned int FT_UInt
Definition: fttypes.h:231
signed int FT_Int
Definition: fttypes.h:220
static enum @1042 ordering
GLdouble s
Definition: gl.h:2039
GLdouble GLdouble GLdouble r
Definition: gl.h:2055
const GLubyte * c
Definition: glext.h:8905
GLenum GLuint GLint GLenum face
Definition: glext.h:7025
static TfClientId cid
#define c
Definition: ke_i.h:80
#define error(str)
Definition: mkdosfs.c:1605
#define const
Definition: zconf.h:233