1049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/***************************************************************************/ 2049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 3049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* ftmm.h */ 4049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 5049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* FreeType Multiple Master font interface (specification). */ 6049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* */ 70a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project/* Copyright 1996-2001, 2003, 2004, 2006, 2009 by */ 8049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* David Turner, Robert Wilhelm, and Werner Lemberg. */ 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 __FTMM_H__ 20049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#define __FTMM_H__ 21049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 22049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 23049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include <ft2build.h> 24049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#include FT_TYPE1_TABLES_H 25049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 26049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 27049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_BEGIN_HEADER 28049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 29049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 30049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 31049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 32049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Section> */ 33049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* multiple_masters */ 34049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 35049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Title> */ 36049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Multiple Masters */ 37049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 38049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Abstract> */ 39049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* How to manage Multiple Masters fonts. */ 40049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 41049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 42049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* The following types and functions are used to manage Multiple */ 43049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Master fonts, i.e., the selection of specific design instances by */ 44049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* setting design axis coordinates. */ 45049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 46049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* George Williams has extended this interface to make it work with */ 470a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* both Type~1 Multiple Masters fonts and GX distortable (var) */ 48049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* fonts. Some of these routines only work with MM fonts, others */ 49049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* will work with both types. They are similar enough that a */ 50049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* consistent interface makes sense. */ 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 /*************************************************************************/ 56049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 57049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 58049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_MM_Axis */ 59049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 60049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 61049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A simple structure used to model a given axis in design space for */ 62049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Multiple Masters fonts. */ 63049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 64049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This structure can't be used for GX var fonts. */ 65049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 66049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Fields> */ 67049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* name :: The axis's name. */ 68049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 69049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* minimum :: The axis's minimum design coordinate. */ 70049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 71049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* maximum :: The axis's maximum design coordinate. */ 72049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 73049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct FT_MM_Axis_ 74049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 75049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* name; 76049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long minimum; 77049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long maximum; 78049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 79049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } FT_MM_Axis; 80049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 81049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 82049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 83049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 84049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 85049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Multi_Master */ 86049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 87049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 88049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A structure used to model the axes and space of a Multiple Masters */ 89049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* font. */ 90049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 91049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This structure can't be used for GX var fonts. */ 92049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 93049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Fields> */ 940a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* num_axis :: Number of axes. Cannot exceed~4. */ 95049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 96049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* num_designs :: Number of designs; should be normally 2^num_axis */ 970a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* even though the Type~1 specification strangely */ 98049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* allows for intermediate designs to be present. This */ 990a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* number cannot exceed~16. */ 100049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 101049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* axis :: A table of axis descriptors. */ 102049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 103049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct FT_Multi_Master_ 104049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 105049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_axis; 106049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_designs; 107049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_MM_Axis axis[T1_MAX_MM_AXIS]; 108049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 109049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } FT_Multi_Master; 110049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 111049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 112049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 113049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 114049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 115049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Var_Axis */ 116049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 117049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 118049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A simple structure used to model a given axis in design space for */ 119049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Multiple Masters and GX var fonts. */ 120049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 121049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Fields> */ 122049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* name :: The axis's name. */ 123049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Not always meaningful for GX. */ 124049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 125049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* minimum :: The axis's minimum design coordinate. */ 126049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 127049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* def :: The axis's default design coordinate. */ 128049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FreeType computes meaningful default values for MM; it */ 129049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* is then an integer value, not in 16.16 format. */ 130049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 131049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* maximum :: The axis's maximum design coordinate. */ 132049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 133049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* tag :: The axis's tag (the GX equivalent to `name'). */ 134049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FreeType provides default values for MM if possible. */ 135049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 136049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* strid :: The entry in `name' table (another GX version of */ 137049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* `name'). */ 138049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Not meaningful for MM. */ 139049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 140049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct FT_Var_Axis_ 141049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 142049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_String* name; 143049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 144049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed minimum; 145049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed def; 146049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed maximum; 147049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 148049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_ULong tag; 149049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt strid; 150049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 151049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } FT_Var_Axis; 152049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 153049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 154049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 155049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 156049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 157049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Var_Named_Style */ 158049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 159049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 160049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A simple structure used to model a named style in a GX var font. */ 161049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 162049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This structure can't be used for MM fonts. */ 163049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 164049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Fields> */ 165049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* coords :: The design coordinates for this style. */ 166049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This is an array with one entry for each axis. */ 167049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 168049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* strid :: The entry in `name' table identifying this style. */ 169049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 170049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct FT_Var_Named_Style_ 171049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 172049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* coords; 173049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt strid; 174049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 175049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } FT_Var_Named_Style; 176049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 177049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 178049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 179049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 180049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Struct> */ 181049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_MM_Var */ 182049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 183049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 184049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* A structure used to model the axes and space of a Multiple Masters */ 185049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* or GX var distortable font. */ 186049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 187049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Some fields are specific to one format and not to the other. */ 188049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 189049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Fields> */ 1900a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* num_axis :: The number of axes. The maximum value is~4 for */ 191049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* MM; no limit in GX. */ 192049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 193049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* num_designs :: The number of designs; should be normally */ 194049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* 2^num_axis for MM fonts. Not meaningful for GX */ 195049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* (where every glyph could have a different */ 196049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* number of designs). */ 197049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 198049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* num_namedstyles :: The number of named styles; only meaningful for */ 199049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* GX which allows certain design coordinates to */ 200049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* have a string ID (in the `name' table) */ 201049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* associated with them. The font can tell the */ 202049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* user that, for example, Weight=1.5 is `Bold'. */ 203049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 204049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* axis :: A table of axis descriptors. */ 205049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* GX fonts contain slightly more data than MM. */ 206049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 207049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* namedstyles :: A table of named styles. */ 208049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Only meaningful with GX. */ 209049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 210049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project typedef struct FT_MM_Var_ 211049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project { 212049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_axis; 213049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_designs; 214049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_namedstyles; 215049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Var_Axis* axis; 216049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Var_Named_Style* namedstyle; 217049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 218049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project } FT_MM_Var; 219049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 220049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 221049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 222049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 223049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 224049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 225049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 226049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 227049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Get_Multi_Master */ 228049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 229049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 2300a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Retrieve the Multiple Master descriptor of a given font. */ 231049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 232049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This function can't be used with GX fonts. */ 233049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 234049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 235049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* face :: A handle to the source face. */ 236049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 237049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Output> */ 238049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* amaster :: The Multiple Masters descriptor. */ 239049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 240049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 2410a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 242049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 243049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 244049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Get_Multi_Master( FT_Face face, 245049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Multi_Master *amaster ); 246049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 247049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 248049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 249049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 250049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 251049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Get_MM_Var */ 252049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 253049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 2540a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* Retrieve the Multiple Master/GX var descriptor of a given font. */ 255049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 256049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 257049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* face :: A handle to the source face. */ 258049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 259049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Output> */ 2600a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* amaster :: The Multiple Masters/GX var descriptor. */ 261049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* Allocates a data structure, which the user must free */ 262049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* (a single call to FT_FREE will do it). */ 263049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 264049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 2650a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 266049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 267049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 268049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Get_MM_Var( FT_Face face, 269049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_MM_Var* *amaster ); 270049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 271049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 272049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 273049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 274049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 275049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Set_MM_Design_Coordinates */ 276049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 277049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 278049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* For Multiple Masters fonts, choose an interpolated font design */ 279049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* through design coordinates. */ 280049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 281049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This function can't be used with GX fonts. */ 282049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 283049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <InOut> */ 284049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* face :: A handle to the source face. */ 285049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 286049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 287049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* num_coords :: The number of design coordinates (must be equal to */ 288049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* the number of axes in the font). */ 289049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 290049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* coords :: An array of design coordinates. */ 291049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 292049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 2930a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 294049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 295049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 296049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Set_MM_Design_Coordinates( FT_Face face, 297049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_coords, 298049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Long* coords ); 299049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 300049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 301049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 302049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 303049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 304049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Set_Var_Design_Coordinates */ 305049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 306049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 307049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* For Multiple Master or GX Var fonts, choose an interpolated font */ 308049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* design through design coordinates. */ 309049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 310049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <InOut> */ 311049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* face :: A handle to the source face. */ 312049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 313049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 314049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* num_coords :: The number of design coordinates (must be equal to */ 315049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* the number of axes in the font). */ 316049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 317049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* coords :: An array of design coordinates. */ 318049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 319049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 3200a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 321049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 322049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 323049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Set_Var_Design_Coordinates( FT_Face face, 324049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_coords, 325049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* coords ); 326049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 327049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 328049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 329049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 330049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 331049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Set_MM_Blend_Coordinates */ 332049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 333049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 334049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* For Multiple Masters and GX var fonts, choose an interpolated font */ 335049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* design through normalized blend coordinates. */ 336049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 337049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <InOut> */ 338049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* face :: A handle to the source face. */ 339049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 340049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Input> */ 341049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* num_coords :: The number of design coordinates (must be equal to */ 342049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* the number of axes in the font). */ 343049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 344049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* coords :: The design coordinates array (each element must be */ 345049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* between 0 and 1.0). */ 346049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 347049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Return> */ 3480a9d06e2b5cf75c3d6ba958026bfdf4745f576d6The Android Open Source Project /* FreeType error code. 0~means success. */ 349049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 350049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 351049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Set_MM_Blend_Coordinates( FT_Face face, 352049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_coords, 353049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* coords ); 354049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 355049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 356049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /*************************************************************************/ 357049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 358049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Function> */ 359049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* FT_Set_Var_Blend_Coordinates */ 360049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 361049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* <Description> */ 362049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* This is another name of @FT_Set_MM_Blend_Coordinates. */ 363049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 364049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_EXPORT( FT_Error ) 365049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Set_Var_Blend_Coordinates( FT_Face face, 366049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_UInt num_coords, 367049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project FT_Fixed* coords ); 368049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 369049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 370049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project /* */ 371049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 372049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 373049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source ProjectFT_END_HEADER 374049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 375049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project#endif /* __FTMM_H__ */ 376049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 377049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project 378049d6fea481044fcc000e7782e5bc7046fc70844The Android Open Source Project/* END */ 379