Disabling auto-refresh of game list by default, as it is causing bugs sometimes
[open-ps2-loader.git] / thirdparty / freetype-2.3.12 / src / base / ftcid.c
blob733aae147517421921da5817b7d134da8b4eaeb5
1 /***************************************************************************/
2 /* */
3 /* ftcid.c */
4 /* */
5 /* FreeType API for accessing CID font information. */
6 /* */
7 /* Copyright 2007, 2009 by Derek Clegg, Michael Toftdal. */
8 /* */
9 /* This file is part of the FreeType project, and may only be used, */
10 /* modified, and distributed under the terms of the FreeType project */
11 /* license, LICENSE.TXT. By continuing to use, modify, or distribute */
12 /* this file you indicate that you have read the license and */
13 /* understand and accept it fully. */
14 /* */
15 /***************************************************************************/
18 #include <ft2build.h>
19 #include FT_CID_H
20 #include FT_INTERNAL_OBJECTS_H
21 #include FT_SERVICE_CID_H
24 /* documentation is in ftcid.h */
26 FT_EXPORT_DEF( FT_Error )
27 FT_Get_CID_Registry_Ordering_Supplement( FT_Face face,
28 const char* *registry,
29 const char* *ordering,
30 FT_Int *supplement)
32 FT_Error error;
33 const char* r = NULL;
34 const char* o = NULL;
35 FT_Int s = 0;
38 error = FT_Err_Invalid_Argument;
40 if ( face )
42 FT_Service_CID service;
45 FT_FACE_FIND_SERVICE( face, service, CID );
47 if ( service && service->get_ros )
48 error = service->get_ros( face, &r, &o, &s );
51 if ( registry )
52 *registry = r;
54 if ( ordering )
55 *ordering = o;
57 if ( supplement )
58 *supplement = s;
60 return error;
64 FT_EXPORT_DEF( FT_Error )
65 FT_Get_CID_Is_Internally_CID_Keyed( FT_Face face,
66 FT_Bool *is_cid )
68 FT_Error error = FT_Err_Invalid_Argument;
69 FT_Bool ic = 0;
72 if ( face )
74 FT_Service_CID service;
77 FT_FACE_FIND_SERVICE( face, service, CID );
79 if ( service && service->get_is_cid )
80 error = service->get_is_cid( face, &ic);
83 if ( is_cid )
84 *is_cid = ic;
86 return error;
90 FT_EXPORT_DEF( FT_Error )
91 FT_Get_CID_From_Glyph_Index( FT_Face face,
92 FT_UInt glyph_index,
93 FT_UInt *cid )
95 FT_Error error = FT_Err_Invalid_Argument;
96 FT_UInt c = 0;
99 if ( face )
101 FT_Service_CID service;
104 FT_FACE_FIND_SERVICE( face, service, CID );
106 if ( service && service->get_cid_from_glyph_index )
107 error = service->get_cid_from_glyph_index( face, glyph_index, &c);
110 if ( cid )
111 *cid = c;
113 return error;
117 /* END */