1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/
2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  ftcid.h                                                                */
4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*    FreeType API for accessing CID font information (specification).     */
6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner/*  Copyright 2007, 2009 by Dereg Clegg, Michael Toftdal.                  */
8049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
9049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  This file is part of the FreeType project, and may only be used,       */
10049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  modified, and distributed under the terms of the FreeType project      */
11049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  license, LICENSE.TXT.  By continuing to use, modify, or distribute     */
12049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  this file you indicate that you have read the license and              */
13049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*  understand and accept it fully.                                        */
14049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/*                                                                         */
15049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/
16049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
17049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
18049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifndef __FTCID_H__
19049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define __FTCID_H__
20049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include <ft2build.h>
22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_FREETYPE_H
23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#ifdef FREETYPE_H
25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "freetype.h of FreeType 1 has been loaded!"
26049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "Please fix the directory search order for header files"
27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#error "so that freetype.h of FreeType 2 is found first."
28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif
29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER
32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*                                                                       */
36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /* <Section>                                                             */
37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*    cid_fonts                                                          */
38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*                                                                       */
39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /* <Title>                                                               */
40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*    CID Fonts                                                          */
41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*                                                                       */
42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /* <Abstract>                                                            */
43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*    CID-keyed font specific API.                                       */
44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*                                                                       */
45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /* <Description>                                                         */
46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*    This section contains the declaration of CID-keyed font specific   */
47049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*    functions.                                                         */
48049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*                                                                       */
49049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /*************************************************************************/
50049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
51049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
52049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  /**********************************************************************
53049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
54049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   * @function:
55049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    FT_Get_CID_Registry_Ordering_Supplement
56049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
57049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   * @description:
58049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    Retrieve the Registry/Ordering/Supplement triple (also known as the
59049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    "R/O/S") from a CID-keyed font.
60049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
61049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   * @input:
62049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    face ::
63049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *       A handle to the input face.
64049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
65049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   * @output:
66049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    registry ::
6777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *       The registry, as a C~string, owned by the face.
68049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
69049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    ordering ::
7077f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *       The ordering, as a C~string, owned by the face.
71049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
72049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    supplement ::
73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *       The supplement.
74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   * @return:
7677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    FreeType error code.  0~means success.
77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   * @note:
79049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    This function only works with CID faces, returning an error
80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    otherwise.
81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *
82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   * @since:
83049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   *    2.3.6
84049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project   */
85049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_EXPORT( FT_Error )
86049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project  FT_Get_CID_Registry_Ordering_Supplement( FT_Face       face,
87049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                                           const char*  *registry,
88049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                                           const char*  *ordering,
89049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project                                           FT_Int       *supplement);
90049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
9177f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner
9277f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner  /**********************************************************************
9377f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
9477f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @function:
9577f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    FT_Get_CID_Is_Internally_CID_Keyed
9677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
9777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @description:
9877f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    Retrieve the type of the input face, CID keyed or not.  In
9977f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    constrast to the @FT_IS_CID_KEYED macro this function returns
10077f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    successfully also for CID-keyed fonts in an SNFT wrapper.
10177f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
10277f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @input:
10377f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    face ::
10477f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *       A handle to the input face.
10577f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
10677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @output:
10777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    is_cid ::
10877f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *       The type of the face as an @FT_Bool.
10977f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
11077f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @return:
11177f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    FreeType error code.  0~means success.
11277f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
11377f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @note:
11477f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    This function only works with CID faces and OpenType fonts,
11577f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    returning an error otherwise.
11677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
11777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @since:
11877f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    2.3.9
11977f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   */
12077f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner  FT_EXPORT( FT_Error )
12177f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner  FT_Get_CID_Is_Internally_CID_Keyed( FT_Face   face,
12277f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner                                      FT_Bool  *is_cid );
12377f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner
12477f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner
12577f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner  /**********************************************************************
12677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
12777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @function:
12877f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    FT_Get_CID_From_Glyph_Index
12977f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
13077f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @description:
13177f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    Retrieve the CID of the input glyph index.
13277f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
13377f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @input:
13477f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    face ::
13577f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *       A handle to the input face.
13677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
13777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    glyph_index ::
13877f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *       The input glyph index.
13977f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
14077f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @output:
14177f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    cid ::
14277f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *       The CID as an @FT_UInt.
14377f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
14477f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @return:
14577f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    FreeType error code.  0~means success.
14677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
14777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @note:
14877f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    This function only works with CID faces and OpenType fonts,
14977f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    returning an error otherwise.
15077f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *
15177f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   * @since:
15277f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   *    2.3.9
15377f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner   */
15477f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner  FT_EXPORT( FT_Error )
15577f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner  FT_Get_CID_From_Glyph_Index( FT_Face   face,
15677f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner                               FT_UInt   glyph_index,
15777f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner                               FT_UInt  *cid );
15877f63d23f7d380b0ff02c18fd6a154ab9063128aDavid 'Digit' Turner
159049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */
160049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
161049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER
162049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
163049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif /* __FTCID_H__ */
164049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
165049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project
166049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */
167