/**************************************************************************** * * cfftypes.h * * Basic OpenType/CFF type definitions and interface (specification * only). * * Copyright (C) 1996-2023 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 CFFTYPES_H_ #define CFFTYPES_H_ #include <freetype/freetype.h> #include <freetype/t1tables.h> #include <freetype/internal/ftserv.h> #include <freetype/internal/services/svpscmap.h> #include <freetype/internal/pshints.h> #include <freetype/internal/t1types.h> FT_BEGIN_HEADER /************************************************************************** * * @struct: * CFF_IndexRec * * @description: * A structure used to model a CFF Index table. * * @fields: * stream :: * The source input stream. * * start :: * The position of the first index byte in the input stream. * * count :: * The number of elements in the index. * * off_size :: * The size in bytes of object offsets in index. * * data_offset :: * The position of first data byte in the index's bytes. * * data_size :: * The size of the data table in this index. * * offsets :: * A table of element offsets in the index. Must be loaded explicitly. * * bytes :: * If the index is loaded in memory, its bytes. */ CFF_Index; CFF_Encoding; CFF_Charset; /* cf. similar fields in file `ttgxvar.h' from the `truetype' module */ CFF_VarData; /* contribution of one axis to a region */ CFF_AxisCoords; CFF_VarRegion; CFF_VStore; /* forward reference */ CFF_Font; /* This object manages one cached blend vector. */ /* */ /* There is a BlendRec for Private DICT parsing in each subfont */ /* and a BlendRec for charstrings in CF2_Font instance data. */ /* A cached BV may be used across DICTs or Charstrings if inputs */ /* have not changed. */ /* */ /* `usedBV' is reset at the start of each parse or charstring. */ /* vsindex cannot be changed after a BV is used. */ /* */ /* Note: NDV is long (32/64 bit), while BV is 16.16 (FT_Int32). */ CFF_Blend; CFF_FontRecDict; /* forward reference */ CFF_SubFont; CFF_Private; CFF_FDSelect; /* A SubFont packs a font dict and a private dict together. They are */ /* needed to support CID-keyed CFF fonts. */ CFF_SubFontRec; #define CFF_MAX_CID_FONTS … CFF_FontRec; FT_END_HEADER #endif /* CFFTYPES_H_ */ /* END */