[SOLVED] CS代考计算机代写 data structure /***************************************************************************/

30 $

File Name: CS代考计算机代写_data_structure_/***************************************************************************/.zip
File Size: 1092.72 KB

SKU: 0418482052 Category: Tags: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,

Or Upload Your Assignment Here:


/***************************************************************************/
/* */
/*ftmm.h */
/* */
/*FreeType Multiple Master font interface (specification). */
/* */
/*Copyright 1996-2015 by */
/*David Turner, Robert Wilhelm, and Werner Lemberg.*/
/* */
/*This file is part of the FreeType project, and may only be used, */
/*modified, and distributed under the terms of the FreeType project*/
/*license, LICENSE.TXT.By continuing to use, modify, or distribute */
/*this file you indicate that you have read the license and*/
/*understand and accept it fully.*/
/* */
/***************************************************************************/

#ifndef __FTMM_H__
#define __FTMM_H__

#include
#include FT_TYPE1_TABLES_H

FT_BEGIN_HEADER

/*************************************************************************/
/* */
/*

*/
/*multiple_masters */
/* */
/* */<br />/*Multiple Masters */<br />/* */<br />/*<abstract> */ <br /> /*How to manage Multiple Masters fonts.*/ <br /> /* */ <br /> /* <description>*/<br />/*The following types and functions are used to manage Multiple*/<br />/*Master fonts, i.e., the selection of specific design instances by*/<br />/*setting design axis coordinates. */<br />/* */<br />/*George Williams has extended this interface to make it work with */<br />/*both Type~1 Multiple Masters fonts and GX distortable (var)*/<br />/*fonts.Some of these routines only work with MM fonts, others */<br />/*will work with both types.They are similar enough that a */<br />/*consistent interface makes sense.*/<br />/* */<br />/*************************************************************************/ </description></abstract>

/*************************************************************************/
/* */
/* */
/*FT_MM_Axis */
/* */
/* */
/*A simple structure used to model a given axis in design space for*/
/*Multiple Masters fonts.*/
/* */
/*This structure can’t be used for GX var fonts. */
/* */
/* */
/*name:: The axis’s name.*/
/* */
/*minimum :: The axis’s minimum design coordinate. */
/* */
/*maximum :: The axis’s maximum design coordinate. */
/* */
typedef structFT_MM_Axis_
{
FT_String*name;
FT_Long minimum;
FT_Long maximum;

} FT_MM_Axis;

/*************************************************************************/
/* */
/* */
/*FT_Multi_Master*/
/* */
/* */
/*A structure used to model the axes and space of a Multiple Masters */
/*font.*/
/* */
/*This structure can’t be used for GX var fonts. */
/* */
/* */
/*num_axis:: Number of axes.Cannot exceed~4. */
/* */
/*num_designs :: Number of designs; should be normally 2^num_axis*/
/* even though the Type~1 specification strangely*/
/* allows for intermediate designs to be present.*/
/* This number cannot exceed~16. */
/* */
/*axis:: A table of axis descriptors.*/
/* */
typedef structFT_Multi_Master_
{
FT_UInt num_axis;
FT_UInt num_designs;
FT_MM_Axisaxis[T1_MAX_MM_AXIS];

} FT_Multi_Master;

/*************************************************************************/
/* */
/* */
/*FT_Var_Axis*/
/* */
/* */
/*A simple structure used to model a given axis in design space for*/
/*Multiple Masters and GX var fonts. */
/* */
/* */
/*name:: The axis’s name.*/
/* Not always meaningful for GX. */
/* */
/*minimum :: The axis’s minimum design coordinate. */
/* */
/*def :: The axis’s default design coordinate. */
/* FreeType computes meaningful default values for MM; it*/
/* is then an integer value, not in 16.16 format.*/
/* */
/*maximum :: The axis’s maximum design coordinate. */
/* */
/*tag :: The axis’s tag (the GX equivalent to `name’). */
/* FreeType provides default values for MM if possible.*/
/* */
/*strid :: The entry in `name’ table (another GX version of*/
/* `name’).*/
/* Not meaningful for MM.*/
/* */
typedef structFT_Var_Axis_
{
FT_String*name;

FT_Fixedminimum;
FT_Fixeddef;
FT_Fixedmaximum;

FT_ULongtag;
FT_UInt strid;

} FT_Var_Axis;

/*************************************************************************/
/* */
/* */
/*FT_Var_Named_Style */
/* */
/* */
/*A simple structure used to model a named style in a GX var font. */
/* */
/*This structure can’t be used for MM fonts. */
/* */
/* */
/*coords :: The design coordinates for this style. */
/*This is an array with one entry for each axis. */
/* */
/*strid:: The entry in `name’ table identifying this style.*/
/* */
typedef structFT_Var_Named_Style_
{
FT_Fixed*coords;
FT_UIntstrid;

} FT_Var_Named_Style;

/*************************************************************************/
/* */
/* */
/*FT_MM_Var*/
/* */
/* */
/*A structure used to model the axes and space of a Multiple Masters */
/*or GX var distortable font.*/
/* */
/*Some fields are specific to one format and not to the other. */
/* */
/* */
/*num_axis:: The number of axes.The maximum value is~4 for */
/* MM; no limit in GX. */
/* */
/*num_designs :: The number of designs; should be normally */
/* 2^num_axis for MM fonts.Not meaningful for GX */
/* (where every glyph could have a different */
/* number of designs). */
/* */
/*num_namedstyles :: The number of named styles; only meaningful for */
/* GX that allows certain design coordinates to*/
/* have a string ID (in the `name’ table)*/
/* associated with them.The font can tell the*/
/* user that, for example, Weight=1.5 is `Bold’. */
/* */
/*axis:: An axis descriptor table. */
/* GX fonts contain slightly more data than MM.*/
/* */
/*namedstyle:: A named style table.*/
/* Only meaningful with GX.*/
/* */
typedef structFT_MM_Var_
{
FT_UIntnum_axis;
FT_UIntnum_designs;
FT_UIntnum_namedstyles;
FT_Var_Axis* axis;
FT_Var_Named_Style*namedstyle;

} FT_MM_Var;

/*************************************************************************/
/* */
/* */
/*FT_Get_Multi_Master*/
/* */
/* */
/*Retrieve the Multiple Master descriptor of a given font. */
/* */
/*This function can’t be used with GX fonts. */
/* */
/**/
/*face:: A handle to the source face.*/
/* */
/* */
/*amaster :: The Multiple Masters descriptor.*/
/* */
/* */
/*FreeType error code.0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_Multi_Master( FT_Face face,
FT_Multi_Master*amaster );

/*************************************************************************/
/* */
/* */
/*FT_Get_MM_Var*/
/* */
/* */
/*Retrieve the Multiple Master/GX var descriptor of a given font.*/
/* */
/**/
/*face:: A handle to the source face.*/
/* */
/* */
/*amaster :: The Multiple Masters/GX var descriptor. */
/* Allocates a data structure, which the user must free. */
/* */
/* */
/*FreeType error code.0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Get_MM_Var( FT_Faceface,
FT_MM_Var**amaster );

/*************************************************************************/
/* */
/* */
/*FT_Set_MM_Design_Coordinates */
/* */
/* */
/*For Multiple Masters fonts, choose an interpolated font design */
/*through design coordinates.*/
/* */
/*This function can’t be used with GX fonts. */
/* */
/* */
/*face :: A handle to the source face. */
/* */
/* */
/*num_coords :: The number of available design coordinates.If it */
/*is larger than the number of axes, ignore the excess */
/*values.If it is smaller than the number of axes, */
/*use default values for the remaining axes. */
/* */
/*coords :: An array of design coordinates.*/
/* */
/* */
/*FreeType error code.0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_MM_Design_Coordinates( FT_Face face,
FT_UInt num_coords,
FT_Long*coords );

/*************************************************************************/
/* */
/* */
/*FT_Set_Var_Design_Coordinates*/
/* */
/* */
/*For Multiple Master or GX Var fonts, choose an interpolated font */
/*design through design coordinates. */
/* */
/* */
/*face :: A handle to the source face. */
/* */
/* */
/*num_coords :: The number of available design coordinates.If it */
/*is larger than the number of axes, ignore the excess */
/*values.If it is smaller than the number of axes, */
/*use default values for the remaining axes. */
/* */
/*coords :: An array of design coordinates.*/
/* */
/* */
/*FreeType error code.0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_Var_Design_Coordinates( FT_Faceface,
FT_UIntnum_coords,
FT_Fixed*coords );

/*************************************************************************/
/* */
/* */
/*FT_Set_MM_Blend_Coordinates*/
/* */
/* */
/*For Multiple Masters and GX var fonts, choose an interpolated font */
/*design through normalized blend coordinates. */
/* */
/* */
/*face :: A handle to the source face. */
/* */
/* */
/*num_coords :: The number of available design coordinates.If it */
/*is larger than the number of axes, ignore the excess */
/*values.If it is smaller than the number of axes, */
/*use default values for the remaining axes. */
/* */
/*coords :: The design coordinates array (each element must be */
/*between 0 and 1.0).*/
/* */
/* */
/*FreeType error code.0~means success. */
/* */
FT_EXPORT( FT_Error )
FT_Set_MM_Blend_Coordinates( FT_Faceface,
FT_UIntnum_coords,
FT_Fixed*coords );

/*************************************************************************/
/* */
/* */
/*FT_Set_Var_Blend_Coordinates */
/* */
/* */
/*This is another name of @FT_Set_MM_Blend_Coordinates.*/
/* */
FT_EXPORT( FT_Error )
FT_Set_Var_Blend_Coordinates( FT_Faceface,
FT_UIntnum_coords,
FT_Fixed*coords );

/* */

FT_END_HEADER

#endif /* __FTMM_H__ */

/* END */

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] CS代考计算机代写 data structure /***************************************************************************/
30 $