/**************************************************************************** * * wofftypes.h * * Basic WOFF/WOFF2 type definitions and interface (specification * only). * * Copyright (C) 1996-2019 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 WOFFTYPES_H_ #define WOFFTYPES_H_ #include #include FT_TRUETYPE_TABLES_H #include FT_INTERNAL_OBJECTS_H FT_BEGIN_HEADER /************************************************************************** * * @struct: * WOFF_HeaderRec * * @description: * WOFF file format header. * * @fields: * See * * https://www.w3.org/TR/WOFF/#WOFFHeader */ typedef struct WOFF_HeaderRec_ { FT_ULong signature; FT_ULong flavor; FT_ULong length; FT_UShort num_tables; FT_UShort reserved; FT_ULong totalSfntSize; FT_UShort majorVersion; FT_UShort minorVersion; FT_ULong metaOffset; FT_ULong metaLength; FT_ULong metaOrigLength; FT_ULong privOffset; FT_ULong privLength; } WOFF_HeaderRec, *WOFF_Header; /************************************************************************** * * @struct: * WOFF_TableRec * * @description: * This structure describes a given table of a WOFF font. * * @fields: * Tag :: * A four-bytes tag describing the table. * * Offset :: * The offset of the table from the start of the WOFF font in its * resource. * * CompLength :: * Compressed table length (in bytes). * * OrigLength :: * Uncompressed table length (in bytes). * * CheckSum :: * The table checksum. This value can be ignored. * * OrigOffset :: * The uncompressed table file offset. This value gets computed while * constructing the (uncompressed) SFNT header. It is not contained in * the WOFF file. */ typedef struct WOFF_TableRec_ { FT_ULong Tag; /* table ID */ FT_ULong Offset; /* table file offset */ FT_ULong CompLength; /* compressed table length */ FT_ULong OrigLength; /* uncompressed table length */ FT_ULong CheckSum; /* uncompressed checksum */ FT_ULong OrigOffset; /* uncompressed table file offset */ /* (not in the WOFF file) */ } WOFF_TableRec, *WOFF_Table; FT_END_HEADER #endif /* WOFFTYPES_H_ */ /* END */