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