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