mirror of
https://github.com/Bloodysharp/Cheat-ImGui-Menu-Design.git
synced 2024-12-23 00:17:23 +08:00
Config folder!
This commit is contained in:
parent
1f9f49ab92
commit
9341803282
51
freetype/Include/freetype/freetype/ftconfig.h
Normal file
51
freetype/Include/freetype/freetype/ftconfig.h
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* ftconfig.h
|
||||||
|
*
|
||||||
|
* ANSI-specific configuration file (specification only).
|
||||||
|
*
|
||||||
|
* Copyright (C) 1996-2022 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* This header file contains a number of macro definitions that are used by
|
||||||
|
* the rest of the engine. Most of the macros here are automatically
|
||||||
|
* determined at compile time, and you should not need to change it to port
|
||||||
|
* FreeType, except to compile the library with a non-ANSI compiler.
|
||||||
|
*
|
||||||
|
* Note however that if some specific modifications are needed, we advise
|
||||||
|
* you to place a modified copy in your build directory.
|
||||||
|
*
|
||||||
|
* The build directory is usually `builds/<system>`, and contains
|
||||||
|
* system-specific files that are always included first when building the
|
||||||
|
* library.
|
||||||
|
*
|
||||||
|
* This ANSI version should stay in `include/config/`.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef FTCONFIG_H_
|
||||||
|
#define FTCONFIG_H_
|
||||||
|
|
||||||
|
#include <ft2build.h>
|
||||||
|
#include FT_CONFIG_OPTIONS_H
|
||||||
|
#include FT_CONFIG_STANDARD_LIBRARY_H
|
||||||
|
|
||||||
|
#include <freetype/config/integer-types.h>
|
||||||
|
#include <freetype/config/public-macros.h>
|
||||||
|
#include <freetype/config/mac-support.h>
|
||||||
|
|
||||||
|
#endif /* FTCONFIG_H_ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
836
freetype/Include/freetype/freetype/ftheader.h
Normal file
836
freetype/Include/freetype/freetype/ftheader.h
Normal file
@ -0,0 +1,836 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* ftheader.h
|
||||||
|
*
|
||||||
|
* Build macros of the FreeType 2 library.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1996-2022 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 FTHEADER_H_
|
||||||
|
#define FTHEADER_H_
|
||||||
|
|
||||||
|
|
||||||
|
/*@***********************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Macro> */
|
||||||
|
/* FT_BEGIN_HEADER */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* This macro is used in association with @FT_END_HEADER in header */
|
||||||
|
/* files to ensure that the declarations within are properly */
|
||||||
|
/* encapsulated in an `extern "C" { .. }` block when included from a */
|
||||||
|
/* C++ compiler. */
|
||||||
|
/* */
|
||||||
|
#ifndef FT_BEGIN_HEADER
|
||||||
|
# ifdef __cplusplus
|
||||||
|
# define FT_BEGIN_HEADER extern "C" {
|
||||||
|
# else
|
||||||
|
# define FT_BEGIN_HEADER /* nothing */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*@***********************************************************************/
|
||||||
|
/* */
|
||||||
|
/* <Macro> */
|
||||||
|
/* FT_END_HEADER */
|
||||||
|
/* */
|
||||||
|
/* <Description> */
|
||||||
|
/* This macro is used in association with @FT_BEGIN_HEADER in header */
|
||||||
|
/* files to ensure that the declarations within are properly */
|
||||||
|
/* encapsulated in an `extern "C" { .. }` block when included from a */
|
||||||
|
/* C++ compiler. */
|
||||||
|
/* */
|
||||||
|
#ifndef FT_END_HEADER
|
||||||
|
# ifdef __cplusplus
|
||||||
|
# define FT_END_HEADER }
|
||||||
|
# else
|
||||||
|
# define FT_END_HEADER /* nothing */
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* Aliases for the FreeType 2 public and configuration files.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @section:
|
||||||
|
* header_file_macros
|
||||||
|
*
|
||||||
|
* @title:
|
||||||
|
* Header File Macros
|
||||||
|
*
|
||||||
|
* @abstract:
|
||||||
|
* Macro definitions used to `#include` specific header files.
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* In addition to the normal scheme of including header files like
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
* #include <freetype/freetype.h>
|
||||||
|
* #include <freetype/ftmm.h>
|
||||||
|
* #include <freetype/ftglyph.h>
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* it is possible to used named macros instead. They can be used
|
||||||
|
* directly in `#include` statements as in
|
||||||
|
*
|
||||||
|
* ```
|
||||||
|
* #include FT_FREETYPE_H
|
||||||
|
* #include FT_MULTIPLE_MASTERS_H
|
||||||
|
* #include FT_GLYPH_H
|
||||||
|
* ```
|
||||||
|
*
|
||||||
|
* These macros were introduced to overcome the infamous 8.3~naming rule
|
||||||
|
* required by DOS (and `FT_MULTIPLE_MASTERS_H` is a lot more meaningful
|
||||||
|
* than `ftmm.h`).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* configuration files */
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_CONFIG_CONFIG_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* FreeType~2 configuration data.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef FT_CONFIG_CONFIG_H
|
||||||
|
#define FT_CONFIG_CONFIG_H <freetype/config/ftconfig.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_CONFIG_STANDARD_LIBRARY_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* FreeType~2 interface to the standard C library functions.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef FT_CONFIG_STANDARD_LIBRARY_H
|
||||||
|
#define FT_CONFIG_STANDARD_LIBRARY_H <freetype/config/ftstdlib.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_CONFIG_OPTIONS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* FreeType~2 project-specific configuration options.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef FT_CONFIG_OPTIONS_H
|
||||||
|
#define FT_CONFIG_OPTIONS_H <freetype/config/ftoption.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_CONFIG_MODULES_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* list of FreeType~2 modules that are statically linked to new library
|
||||||
|
* instances in @FT_Init_FreeType.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#ifndef FT_CONFIG_MODULES_H
|
||||||
|
#define FT_CONFIG_MODULES_H <freetype/config/ftmodule.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* */
|
||||||
|
|
||||||
|
/* public headers */
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_FREETYPE_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* base FreeType~2 API.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_FREETYPE_H <freetype/freetype.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_ERRORS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* list of FreeType~2 error codes (and messages).
|
||||||
|
*
|
||||||
|
* It is included by @FT_FREETYPE_H.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_ERRORS_H <freetype/fterrors.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_MODULE_ERRORS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* list of FreeType~2 module error offsets (and messages).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_MODULE_ERRORS_H <freetype/ftmoderr.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_SYSTEM_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 interface to low-level operations (i.e., memory management
|
||||||
|
* and stream i/o).
|
||||||
|
*
|
||||||
|
* It is included by @FT_FREETYPE_H.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_SYSTEM_H <freetype/ftsystem.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_IMAGE_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing type
|
||||||
|
* definitions related to glyph images (i.e., bitmaps, outlines,
|
||||||
|
* scan-converter parameters).
|
||||||
|
*
|
||||||
|
* It is included by @FT_FREETYPE_H.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_IMAGE_H <freetype/ftimage.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_TYPES_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* basic data types defined by FreeType~2.
|
||||||
|
*
|
||||||
|
* It is included by @FT_FREETYPE_H.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_TYPES_H <freetype/fttypes.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_LIST_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* list management API of FreeType~2.
|
||||||
|
*
|
||||||
|
* (Most applications will never need to include this file.)
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_LIST_H <freetype/ftlist.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_OUTLINE_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* scalable outline management API of FreeType~2.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_OUTLINE_H <freetype/ftoutln.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_SIZES_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* API which manages multiple @FT_Size objects per face.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_SIZES_H <freetype/ftsizes.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_MODULE_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* module management API of FreeType~2.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_MODULE_H <freetype/ftmodapi.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_RENDER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* renderer module management API of FreeType~2.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_RENDER_H <freetype/ftrender.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_DRIVER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* structures and macros related to the driver modules.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_DRIVER_H <freetype/ftdriver.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_AUTOHINTER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* structures and macros related to the auto-hinting module.
|
||||||
|
*
|
||||||
|
* Deprecated since version~2.9; use @FT_DRIVER_H instead.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_AUTOHINTER_H FT_DRIVER_H
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_CFF_DRIVER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* structures and macros related to the CFF driver module.
|
||||||
|
*
|
||||||
|
* Deprecated since version~2.9; use @FT_DRIVER_H instead.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_CFF_DRIVER_H FT_DRIVER_H
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_TRUETYPE_DRIVER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* structures and macros related to the TrueType driver module.
|
||||||
|
*
|
||||||
|
* Deprecated since version~2.9; use @FT_DRIVER_H instead.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_TRUETYPE_DRIVER_H FT_DRIVER_H
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_PCF_DRIVER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing
|
||||||
|
* structures and macros related to the PCF driver module.
|
||||||
|
*
|
||||||
|
* Deprecated since version~2.9; use @FT_DRIVER_H instead.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_PCF_DRIVER_H FT_DRIVER_H
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_TYPE1_TABLES_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* types and API specific to the Type~1 format.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_TYPE1_TABLES_H <freetype/t1tables.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_TRUETYPE_IDS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* enumeration values which identify name strings, languages, encodings,
|
||||||
|
* etc. This file really contains a _large_ set of constant macro
|
||||||
|
* definitions, taken from the TrueType and OpenType specifications.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_TRUETYPE_IDS_H <freetype/ttnameid.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_TRUETYPE_TABLES_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* types and API specific to the TrueType (as well as OpenType) format.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_TRUETYPE_TABLES_H <freetype/tttables.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_TRUETYPE_TAGS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* definitions of TrueType four-byte 'tags' which identify blocks in
|
||||||
|
* SFNT-based font formats (i.e., TrueType and OpenType).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_TRUETYPE_TAGS_H <freetype/tttags.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_BDF_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* definitions of an API which accesses BDF-specific strings from a face.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_BDF_H <freetype/ftbdf.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_CID_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* definitions of an API which access CID font information from a face.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_CID_H <freetype/ftcid.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_GZIP_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* definitions of an API which supports gzip-compressed files.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_GZIP_H <freetype/ftgzip.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_LZW_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* definitions of an API which supports LZW-compressed files.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_LZW_H <freetype/ftlzw.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_BZIP2_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* definitions of an API which supports bzip2-compressed files.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_BZIP2_H <freetype/ftbzip2.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_WINFONTS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* definitions of an API which supports Windows FNT files.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_WINFONTS_H <freetype/ftwinfnt.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_GLYPH_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* API of the optional glyph management component.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_GLYPH_H <freetype/ftglyph.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_BITMAP_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* API of the optional bitmap conversion component.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_BITMAP_H <freetype/ftbitmap.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_BBOX_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* API of the optional exact bounding box computation routines.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_BBOX_H <freetype/ftbbox.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_CACHE_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* API of the optional FreeType~2 cache sub-system.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_CACHE_H <freetype/ftcache.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_MAC_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* Macintosh-specific FreeType~2 API. The latter is used to access fonts
|
||||||
|
* embedded in resource forks.
|
||||||
|
*
|
||||||
|
* This header file must be explicitly included by client applications
|
||||||
|
* compiled on the Mac (note that the base API still works though).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_MAC_H <freetype/ftmac.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_MULTIPLE_MASTERS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* optional multiple-masters management API of FreeType~2.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_MULTIPLE_MASTERS_H <freetype/ftmm.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_SFNT_NAMES_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* optional FreeType~2 API which accesses embedded 'name' strings in
|
||||||
|
* SFNT-based font formats (i.e., TrueType and OpenType).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_SFNT_NAMES_H <freetype/ftsnames.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_OPENTYPE_VALIDATE_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* optional FreeType~2 API which validates OpenType tables ('BASE',
|
||||||
|
* 'GDEF', 'GPOS', 'GSUB', 'JSTF').
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_OPENTYPE_VALIDATE_H <freetype/ftotval.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_GX_VALIDATE_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* optional FreeType~2 API which validates TrueTypeGX/AAT tables ('feat',
|
||||||
|
* 'mort', 'morx', 'bsln', 'just', 'kern', 'opbd', 'trak', 'prop').
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_GX_VALIDATE_H <freetype/ftgxval.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_PFR_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which accesses PFR-specific data.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define FT_PFR_H <freetype/ftpfr.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_STROKER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which provides functions to stroke outline paths.
|
||||||
|
*/
|
||||||
|
#define FT_STROKER_H <freetype/ftstroke.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_SYNTHESIS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which performs artificial obliquing and emboldening.
|
||||||
|
*/
|
||||||
|
#define FT_SYNTHESIS_H <freetype/ftsynth.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_FONT_FORMATS_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which provides functions specific to font formats.
|
||||||
|
*/
|
||||||
|
#define FT_FONT_FORMATS_H <freetype/ftfntfmt.h>
|
||||||
|
|
||||||
|
/* deprecated */
|
||||||
|
#define FT_XFREE86_H FT_FONT_FORMATS_H
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_TRIGONOMETRY_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which performs trigonometric computations (e.g.,
|
||||||
|
* cosines and arc tangents).
|
||||||
|
*/
|
||||||
|
#define FT_TRIGONOMETRY_H <freetype/fttrigon.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_LCD_FILTER_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which performs color filtering for subpixel rendering.
|
||||||
|
*/
|
||||||
|
#define FT_LCD_FILTER_H <freetype/ftlcdfil.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_INCREMENTAL_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which performs incremental glyph loading.
|
||||||
|
*/
|
||||||
|
#define FT_INCREMENTAL_H <freetype/ftincrem.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_GASP_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which returns entries from the TrueType GASP table.
|
||||||
|
*/
|
||||||
|
#define FT_GASP_H <freetype/ftgasp.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_ADVANCES_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which returns individual and ranged glyph advances.
|
||||||
|
*/
|
||||||
|
#define FT_ADVANCES_H <freetype/ftadvanc.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_COLOR_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which handles the OpenType 'CPAL' table.
|
||||||
|
*/
|
||||||
|
#define FT_COLOR_H <freetype/ftcolor.h>
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @macro:
|
||||||
|
* FT_OTSVG_H
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A macro used in `#include` statements to name the file containing the
|
||||||
|
* FreeType~2 API which handles the OpenType 'SVG~' glyphs.
|
||||||
|
*/
|
||||||
|
#define FT_OTSVG_H <freetype/otsvg.h>
|
||||||
|
|
||||||
|
|
||||||
|
/* */
|
||||||
|
|
||||||
|
/* These header files don't need to be included by the user. */
|
||||||
|
#define FT_ERROR_DEFINITIONS_H <freetype/fterrdef.h>
|
||||||
|
#define FT_PARAMETER_TAGS_H <freetype/ftparams.h>
|
||||||
|
|
||||||
|
/* Deprecated macros. */
|
||||||
|
#define FT_UNPATENTED_HINTING_H <freetype/ftparams.h>
|
||||||
|
#define FT_TRUETYPE_UNPATENTED_H <freetype/ftparams.h>
|
||||||
|
|
||||||
|
/* `FT_CACHE_H` is the only header file needed for the cache subsystem. */
|
||||||
|
#define FT_CACHE_IMAGE_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_SMALL_BITMAPS_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_CHARMAP_H FT_CACHE_H
|
||||||
|
|
||||||
|
/* The internals of the cache sub-system are no longer exposed. We */
|
||||||
|
/* default to `FT_CACHE_H` at the moment just in case, but we know */
|
||||||
|
/* of no rogue client that uses them. */
|
||||||
|
/* */
|
||||||
|
#define FT_CACHE_MANAGER_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_INTERNAL_MRU_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_INTERNAL_MANAGER_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_INTERNAL_CACHE_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_INTERNAL_GLYPH_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_INTERNAL_IMAGE_H FT_CACHE_H
|
||||||
|
#define FT_CACHE_INTERNAL_SBITS_H FT_CACHE_H
|
||||||
|
|
||||||
|
/* TODO(david): Move this section below to a different header */
|
||||||
|
#ifdef FT2_BUILD_LIBRARY
|
||||||
|
#if defined( _MSC_VER ) /* Visual C++ (and Intel C++) */
|
||||||
|
|
||||||
|
/* We disable the warning `conditional expression is constant' here */
|
||||||
|
/* in order to compile cleanly with the maximum level of warnings. */
|
||||||
|
/* In particular, the warning complains about stuff like `while(0)' */
|
||||||
|
/* which is very useful in macro definitions. There is no benefit */
|
||||||
|
/* in having it enabled. */
|
||||||
|
#pragma warning( disable : 4127 )
|
||||||
|
|
||||||
|
#endif /* _MSC_VER */
|
||||||
|
#endif /* FT2_BUILD_LIBRARY */
|
||||||
|
|
||||||
|
#endif /* FTHEADER_H_ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
33
freetype/Include/freetype/freetype/ftmodule.h
Normal file
33
freetype/Include/freetype/freetype/ftmodule.h
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/*
|
||||||
|
* This file registers the FreeType modules compiled into the library.
|
||||||
|
*
|
||||||
|
* If you use GNU make, this file IS NOT USED! Instead, it is created in
|
||||||
|
* the objects directory (normally `<topdir>/objs/`) based on information
|
||||||
|
* from `<topdir>/modules.cfg`.
|
||||||
|
*
|
||||||
|
* Please read `docs/INSTALL.ANY` and `docs/CUSTOMIZE` how to compile
|
||||||
|
* FreeType without GNU make.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
FT_USE_MODULE( FT_Module_Class, autofit_module_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, tt_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, t1_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, cff_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, t1cid_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, pfr_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, t42_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, winfnt_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, pcf_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Driver_ClassRec, bdf_driver_class )
|
||||||
|
FT_USE_MODULE( FT_Module_Class, psaux_module_class )
|
||||||
|
FT_USE_MODULE( FT_Module_Class, psnames_module_class )
|
||||||
|
FT_USE_MODULE( FT_Module_Class, pshinter_module_class )
|
||||||
|
FT_USE_MODULE( FT_Module_Class, sfnt_module_class )
|
||||||
|
FT_USE_MODULE( FT_Renderer_Class, ft_smooth_renderer_class )
|
||||||
|
FT_USE_MODULE( FT_Renderer_Class, ft_raster1_renderer_class )
|
||||||
|
FT_USE_MODULE( FT_Renderer_Class, ft_sdf_renderer_class )
|
||||||
|
FT_USE_MODULE( FT_Renderer_Class, ft_bitmap_sdf_renderer_class )
|
||||||
|
FT_USE_MODULE( FT_Renderer_Class, ft_svg_renderer_class )
|
||||||
|
|
||||||
|
/* EOF */
|
1029
freetype/Include/freetype/freetype/ftoption.h
Normal file
1029
freetype/Include/freetype/freetype/ftoption.h
Normal file
File diff suppressed because it is too large
Load Diff
185
freetype/Include/freetype/freetype/ftstdlib.h
Normal file
185
freetype/Include/freetype/freetype/ftstdlib.h
Normal file
@ -0,0 +1,185 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* ftstdlib.h
|
||||||
|
*
|
||||||
|
* ANSI-specific library and header configuration file (specification
|
||||||
|
* only).
|
||||||
|
*
|
||||||
|
* Copyright (C) 2002-2022 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* This file is used to group all `#includes` to the ANSI~C library that
|
||||||
|
* FreeType normally requires. It also defines macros to rename the
|
||||||
|
* standard functions within the FreeType source code.
|
||||||
|
*
|
||||||
|
* Load a file which defines `FTSTDLIB_H_` before this one to override it.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef FTSTDLIB_H_
|
||||||
|
#define FTSTDLIB_H_
|
||||||
|
|
||||||
|
|
||||||
|
#include <stddef.h>
|
||||||
|
|
||||||
|
#define ft_ptrdiff_t ptrdiff_t
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* integer limits
|
||||||
|
*
|
||||||
|
* `UINT_MAX` and `ULONG_MAX` are used to automatically compute the size of
|
||||||
|
* `int` and `long` in bytes at compile-time. So far, this works for all
|
||||||
|
* platforms the library has been tested on. We also check `ULLONG_MAX`
|
||||||
|
* to see whether we can use 64-bit `long long` later on.
|
||||||
|
*
|
||||||
|
* Note that on the extremely rare platforms that do not provide integer
|
||||||
|
* types that are _exactly_ 16 and 32~bits wide (e.g., some old Crays where
|
||||||
|
* `int` is 36~bits), we do not make any guarantee about the correct
|
||||||
|
* behaviour of FreeType~2 with all fonts.
|
||||||
|
*
|
||||||
|
* In these cases, `ftconfig.h` will refuse to compile anyway with a
|
||||||
|
* message like 'couldn't find 32-bit type' or something similar.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <limits.h>
|
||||||
|
|
||||||
|
#define FT_CHAR_BIT CHAR_BIT
|
||||||
|
#define FT_USHORT_MAX USHRT_MAX
|
||||||
|
#define FT_INT_MAX INT_MAX
|
||||||
|
#define FT_INT_MIN INT_MIN
|
||||||
|
#define FT_UINT_MAX UINT_MAX
|
||||||
|
#define FT_LONG_MIN LONG_MIN
|
||||||
|
#define FT_LONG_MAX LONG_MAX
|
||||||
|
#define FT_ULONG_MAX ULONG_MAX
|
||||||
|
#ifdef LLONG_MAX
|
||||||
|
#define FT_LLONG_MAX LLONG_MAX
|
||||||
|
#endif
|
||||||
|
#ifdef LLONG_MIN
|
||||||
|
#define FT_LLONG_MIN LLONG_MIN
|
||||||
|
#endif
|
||||||
|
#ifdef ULLONG_MAX
|
||||||
|
#define FT_ULLONG_MAX ULLONG_MAX
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* character and string processing
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#define ft_memchr memchr
|
||||||
|
#define ft_memcmp memcmp
|
||||||
|
#define ft_memcpy memcpy
|
||||||
|
#define ft_memmove memmove
|
||||||
|
#define ft_memset memset
|
||||||
|
#define ft_strcat strcat
|
||||||
|
#define ft_strcmp strcmp
|
||||||
|
#define ft_strcpy strcpy
|
||||||
|
#define ft_strlen strlen
|
||||||
|
#define ft_strncmp strncmp
|
||||||
|
#define ft_strncpy strncpy
|
||||||
|
#define ft_strrchr strrchr
|
||||||
|
#define ft_strstr strstr
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* file handling
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#define FT_FILE FILE
|
||||||
|
#define ft_fclose fclose
|
||||||
|
#define ft_fopen fopen
|
||||||
|
#define ft_fread fread
|
||||||
|
#define ft_fseek fseek
|
||||||
|
#define ft_ftell ftell
|
||||||
|
#define ft_sprintf sprintf
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* sorting
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
#define ft_qsort qsort
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* memory allocation
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define ft_scalloc calloc
|
||||||
|
#define ft_sfree free
|
||||||
|
#define ft_smalloc malloc
|
||||||
|
#define ft_srealloc realloc
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* miscellaneous
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define ft_strtol strtol
|
||||||
|
#define ft_getenv getenv
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* execution control
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <setjmp.h>
|
||||||
|
|
||||||
|
#define ft_jmp_buf jmp_buf /* note: this cannot be a typedef since */
|
||||||
|
/* `jmp_buf` is defined as a macro */
|
||||||
|
/* on certain platforms */
|
||||||
|
|
||||||
|
#define ft_longjmp longjmp
|
||||||
|
#define ft_setjmp( b ) setjmp( *(ft_jmp_buf*) &(b) ) /* same thing here */
|
||||||
|
|
||||||
|
|
||||||
|
/* The following is only used for debugging purposes, i.e., if */
|
||||||
|
/* `FT_DEBUG_LEVEL_ERROR` or `FT_DEBUG_LEVEL_TRACE` are defined. */
|
||||||
|
|
||||||
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* FTSTDLIB_H_ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
250
freetype/Include/freetype/freetype/integer-types.h
Normal file
250
freetype/Include/freetype/freetype/integer-types.h
Normal file
@ -0,0 +1,250 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* config/integer-types.h
|
||||||
|
*
|
||||||
|
* FreeType integer types definitions.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1996-2022 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 FREETYPE_CONFIG_INTEGER_TYPES_H_
|
||||||
|
#define FREETYPE_CONFIG_INTEGER_TYPES_H_
|
||||||
|
|
||||||
|
/* There are systems (like the Texas Instruments 'C54x) where a `char` */
|
||||||
|
/* has 16~bits. ANSI~C says that `sizeof(char)` is always~1. Since an */
|
||||||
|
/* `int` has 16~bits also for this system, `sizeof(int)` gives~1 which */
|
||||||
|
/* is probably unexpected. */
|
||||||
|
/* */
|
||||||
|
/* `CHAR_BIT` (defined in `limits.h`) gives the number of bits in a */
|
||||||
|
/* `char` type. */
|
||||||
|
|
||||||
|
#ifndef FT_CHAR_BIT
|
||||||
|
#define FT_CHAR_BIT CHAR_BIT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef FT_SIZEOF_INT
|
||||||
|
|
||||||
|
/* The size of an `int` type. */
|
||||||
|
#if FT_UINT_MAX == 0xFFFFUL
|
||||||
|
#define FT_SIZEOF_INT ( 16 / FT_CHAR_BIT )
|
||||||
|
#elif FT_UINT_MAX == 0xFFFFFFFFUL
|
||||||
|
#define FT_SIZEOF_INT ( 32 / FT_CHAR_BIT )
|
||||||
|
#elif FT_UINT_MAX > 0xFFFFFFFFUL && FT_UINT_MAX == 0xFFFFFFFFFFFFFFFFUL
|
||||||
|
#define FT_SIZEOF_INT ( 64 / FT_CHAR_BIT )
|
||||||
|
#else
|
||||||
|
#error "Unsupported size of `int' type!"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !defined(FT_SIZEOF_INT) */
|
||||||
|
|
||||||
|
#ifndef FT_SIZEOF_LONG
|
||||||
|
|
||||||
|
/* The size of a `long` type. A five-byte `long` (as used e.g. on the */
|
||||||
|
/* DM642) is recognized but avoided. */
|
||||||
|
#if FT_ULONG_MAX == 0xFFFFFFFFUL
|
||||||
|
#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
|
||||||
|
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFUL
|
||||||
|
#define FT_SIZEOF_LONG ( 32 / FT_CHAR_BIT )
|
||||||
|
#elif FT_ULONG_MAX > 0xFFFFFFFFUL && FT_ULONG_MAX == 0xFFFFFFFFFFFFFFFFUL
|
||||||
|
#define FT_SIZEOF_LONG ( 64 / FT_CHAR_BIT )
|
||||||
|
#else
|
||||||
|
#error "Unsupported size of `long' type!"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !defined(FT_SIZEOF_LONG) */
|
||||||
|
|
||||||
|
#ifndef FT_SIZEOF_LONG_LONG
|
||||||
|
|
||||||
|
/* The size of a `long long` type if available */
|
||||||
|
#if defined( FT_ULLONG_MAX ) && FT_ULLONG_MAX >= 0xFFFFFFFFFFFFFFFFULL
|
||||||
|
#define FT_SIZEOF_LONG_LONG ( 64 / FT_CHAR_BIT )
|
||||||
|
#else
|
||||||
|
#define FT_SIZEOF_LONG_LONG 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* !defined(FT_SIZEOF_LONG_LONG) */
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @section:
|
||||||
|
* basic_types
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @type:
|
||||||
|
* FT_Int16
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A typedef for a 16bit signed integer type.
|
||||||
|
*/
|
||||||
|
typedef signed short FT_Int16;
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @type:
|
||||||
|
* FT_UInt16
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A typedef for a 16bit unsigned integer type.
|
||||||
|
*/
|
||||||
|
typedef unsigned short FT_UInt16;
|
||||||
|
|
||||||
|
/* */
|
||||||
|
|
||||||
|
|
||||||
|
/* this #if 0 ... #endif clause is for documentation purposes */
|
||||||
|
#if 0
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @type:
|
||||||
|
* FT_Int32
|
||||||
|
*
|
||||||
|
* @description:
|
||||||
|
* A typedef for a 32bit signed integer type. The size depends on the
|
||||||
|
* configuration.
|
||||||
|
*/
|
||||||
|
typedef signed XXX FT_Int32;
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @type:
|
||||||
|
* FT_UInt32
|
||||||
|
*
|
||||||
|
* A typedef for a 32bit unsigned integer type. The size depends on the
|
||||||
|
* configuration.
|
||||||
|
*/
|
||||||
|
typedef unsigned XXX FT_UInt32;
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @type:
|
||||||
|
* FT_Int64
|
||||||
|
*
|
||||||
|
* A typedef for a 64bit signed integer type. The size depends on the
|
||||||
|
* configuration. Only defined if there is real 64bit support;
|
||||||
|
* otherwise, it gets emulated with a structure (if necessary).
|
||||||
|
*/
|
||||||
|
typedef signed XXX FT_Int64;
|
||||||
|
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* @type:
|
||||||
|
* FT_UInt64
|
||||||
|
*
|
||||||
|
* A typedef for a 64bit unsigned integer type. The size depends on the
|
||||||
|
* configuration. Only defined if there is real 64bit support;
|
||||||
|
* otherwise, it gets emulated with a structure (if necessary).
|
||||||
|
*/
|
||||||
|
typedef unsigned XXX FT_UInt64;
|
||||||
|
|
||||||
|
/* */
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#if FT_SIZEOF_INT == ( 32 / FT_CHAR_BIT )
|
||||||
|
|
||||||
|
typedef signed int FT_Int32;
|
||||||
|
typedef unsigned int FT_UInt32;
|
||||||
|
|
||||||
|
#elif FT_SIZEOF_LONG == ( 32 / FT_CHAR_BIT )
|
||||||
|
|
||||||
|
typedef signed long FT_Int32;
|
||||||
|
typedef unsigned long FT_UInt32;
|
||||||
|
|
||||||
|
#else
|
||||||
|
#error "no 32bit type found -- please check your configuration files"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* look up an integer type that is at least 32~bits */
|
||||||
|
#if FT_SIZEOF_INT >= ( 32 / FT_CHAR_BIT )
|
||||||
|
|
||||||
|
typedef int FT_Fast;
|
||||||
|
typedef unsigned int FT_UFast;
|
||||||
|
|
||||||
|
#elif FT_SIZEOF_LONG >= ( 32 / FT_CHAR_BIT )
|
||||||
|
|
||||||
|
typedef long FT_Fast;
|
||||||
|
typedef unsigned long FT_UFast;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* determine whether we have a 64-bit integer type */
|
||||||
|
#if FT_SIZEOF_LONG == ( 64 / FT_CHAR_BIT )
|
||||||
|
|
||||||
|
#define FT_INT64 long
|
||||||
|
#define FT_UINT64 unsigned long
|
||||||
|
|
||||||
|
#elif FT_SIZEOF_LONG_LONG >= ( 64 / FT_CHAR_BIT )
|
||||||
|
|
||||||
|
#define FT_INT64 long long int
|
||||||
|
#define FT_UINT64 unsigned long long int
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* A 64-bit data type may create compilation problems if you compile in
|
||||||
|
* strict ANSI mode. To avoid them, we disable other 64-bit data types if
|
||||||
|
* `__STDC__` is defined. You can however ignore this rule by defining the
|
||||||
|
* `FT_CONFIG_OPTION_FORCE_INT64` configuration macro.
|
||||||
|
*/
|
||||||
|
#elif !defined( __STDC__ ) || defined( FT_CONFIG_OPTION_FORCE_INT64 )
|
||||||
|
|
||||||
|
#if defined( _MSC_VER ) && _MSC_VER >= 900 /* Visual C++ (and Intel C++) */
|
||||||
|
|
||||||
|
/* this compiler provides the `__int64` type */
|
||||||
|
#define FT_INT64 __int64
|
||||||
|
#define FT_UINT64 unsigned __int64
|
||||||
|
|
||||||
|
#elif defined( __BORLANDC__ ) /* Borland C++ */
|
||||||
|
|
||||||
|
/* XXXX: We should probably check the value of `__BORLANDC__` in order */
|
||||||
|
/* to test the compiler version. */
|
||||||
|
|
||||||
|
/* this compiler provides the `__int64` type */
|
||||||
|
#define FT_INT64 __int64
|
||||||
|
#define FT_UINT64 unsigned __int64
|
||||||
|
|
||||||
|
#elif defined( __WATCOMC__ ) && __WATCOMC__ >= 1100 /* Watcom C++ */
|
||||||
|
|
||||||
|
#define FT_INT64 long long int
|
||||||
|
#define FT_UINT64 unsigned long long int
|
||||||
|
|
||||||
|
#elif defined( __MWERKS__ ) /* Metrowerks CodeWarrior */
|
||||||
|
|
||||||
|
#define FT_INT64 long long int
|
||||||
|
#define FT_UINT64 unsigned long long int
|
||||||
|
|
||||||
|
#elif defined( __GNUC__ )
|
||||||
|
|
||||||
|
/* GCC provides the `long long` type */
|
||||||
|
#define FT_INT64 long long int
|
||||||
|
#define FT_UINT64 unsigned long long int
|
||||||
|
|
||||||
|
#endif /* !__STDC__ */
|
||||||
|
|
||||||
|
#endif /* FT_SIZEOF_LONG == (64 / FT_CHAR_BIT) */
|
||||||
|
|
||||||
|
#ifdef FT_INT64
|
||||||
|
typedef FT_INT64 FT_Int64;
|
||||||
|
typedef FT_UINT64 FT_UInt64;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* FREETYPE_CONFIG_INTEGER_TYPES_H_ */
|
49
freetype/Include/freetype/freetype/mac-support.h
Normal file
49
freetype/Include/freetype/freetype/mac-support.h
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* config/mac-support.h
|
||||||
|
*
|
||||||
|
* Mac/OS X support configuration header.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1996-2022 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 FREETYPE_CONFIG_MAC_SUPPORT_H_
|
||||||
|
#define FREETYPE_CONFIG_MAC_SUPPORT_H_
|
||||||
|
|
||||||
|
/**************************************************************************
|
||||||
|
*
|
||||||
|
* Mac support
|
||||||
|
*
|
||||||
|
* This is the only necessary change, so it is defined here instead
|
||||||
|
* providing a new configuration file.
|
||||||
|
*/
|
||||||
|
#if defined( __APPLE__ ) || ( defined( __MWERKS__ ) && defined( macintosh ) )
|
||||||
|
/* No Carbon frameworks for 64bit 10.4.x. */
|
||||||
|
/* `AvailabilityMacros.h` is available since Mac OS X 10.2, */
|
||||||
|
/* so guess the system version by maximum errno before inclusion. */
|
||||||
|
#include <errno.h>
|
||||||
|
#ifdef ECANCELED /* defined since 10.2 */
|
||||||
|
#include "AvailabilityMacros.h"
|
||||||
|
#endif
|
||||||
|
#if defined( __LP64__ ) && \
|
||||||
|
( MAC_OS_X_VERSION_MIN_REQUIRED <= MAC_OS_X_VERSION_10_4 )
|
||||||
|
#undef FT_MACINTOSH
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#elif defined( __SC__ ) || defined( __MRC__ )
|
||||||
|
/* Classic MacOS compilers */
|
||||||
|
#include "ConditionalMacros.h"
|
||||||
|
#if TARGET_OS_MAC
|
||||||
|
#define FT_MACINTOSH 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* Mac support */
|
||||||
|
|
||||||
|
#endif /* FREETYPE_CONFIG_MAC_SUPPORT_H_ */
|
138
freetype/Include/freetype/freetype/public-macros.h
Normal file
138
freetype/Include/freetype/freetype/public-macros.h
Normal file
@ -0,0 +1,138 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
*
|
||||||
|
* config/public-macros.h
|
||||||
|
*
|
||||||
|
* Define a set of compiler macros used in public FreeType headers.
|
||||||
|
*
|
||||||
|
* Copyright (C) 2020-2022 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The definitions in this file are used by the public FreeType headers
|
||||||
|
* and thus should be considered part of the public API.
|
||||||
|
*
|
||||||
|
* Other compiler-specific macro definitions that are not exposed by the
|
||||||
|
* FreeType API should go into
|
||||||
|
* `include/freetype/internal/compiler-macros.h` instead.
|
||||||
|
*/
|
||||||
|
#ifndef FREETYPE_CONFIG_PUBLIC_MACROS_H_
|
||||||
|
#define FREETYPE_CONFIG_PUBLIC_MACROS_H_
|
||||||
|
|
||||||
|
/*
|
||||||
|
* `FT_BEGIN_HEADER` and `FT_END_HEADER` might have already been defined
|
||||||
|
* by `freetype/config/ftheader.h`, but we don't want to include this
|
||||||
|
* header here, so redefine the macros here only when needed. Their
|
||||||
|
* definition is very stable, so keeping them in sync with the ones in the
|
||||||
|
* header should not be a maintenance issue.
|
||||||
|
*/
|
||||||
|
#ifndef FT_BEGIN_HEADER
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define FT_BEGIN_HEADER extern "C" {
|
||||||
|
#else
|
||||||
|
#define FT_BEGIN_HEADER /* empty */
|
||||||
|
#endif
|
||||||
|
#endif /* FT_BEGIN_HEADER */
|
||||||
|
|
||||||
|
#ifndef FT_END_HEADER
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define FT_END_HEADER }
|
||||||
|
#else
|
||||||
|
#define FT_END_HEADER /* empty */
|
||||||
|
#endif
|
||||||
|
#endif /* FT_END_HEADER */
|
||||||
|
|
||||||
|
|
||||||
|
FT_BEGIN_HEADER
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Mark a function declaration as public. This ensures it will be
|
||||||
|
* properly exported to client code. Place this before a function
|
||||||
|
* declaration.
|
||||||
|
*
|
||||||
|
* NOTE: This macro should be considered an internal implementation
|
||||||
|
* detail, and not part of the FreeType API. It is only defined here
|
||||||
|
* because it is needed by `FT_EXPORT`.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Visual C, mingw */
|
||||||
|
#if defined( _WIN32 )
|
||||||
|
|
||||||
|
#if defined( FT2_BUILD_LIBRARY ) && defined( DLL_EXPORT )
|
||||||
|
#define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllexport )
|
||||||
|
#elif defined( DLL_IMPORT )
|
||||||
|
#define FT_PUBLIC_FUNCTION_ATTRIBUTE __declspec( dllimport )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* gcc, clang */
|
||||||
|
#elif ( defined( __GNUC__ ) && __GNUC__ >= 4 ) || defined( __clang__ )
|
||||||
|
#define FT_PUBLIC_FUNCTION_ATTRIBUTE \
|
||||||
|
__attribute__(( visibility( "default" ) ))
|
||||||
|
|
||||||
|
/* Sun */
|
||||||
|
#elif defined( __SUNPRO_C ) && __SUNPRO_C >= 0x550
|
||||||
|
#define FT_PUBLIC_FUNCTION_ATTRIBUTE __global
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef FT_PUBLIC_FUNCTION_ATTRIBUTE
|
||||||
|
#define FT_PUBLIC_FUNCTION_ATTRIBUTE /* empty */
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Define a public FreeType API function. This ensures it is properly
|
||||||
|
* exported or imported at build time. The macro parameter is the
|
||||||
|
* function's return type as in:
|
||||||
|
*
|
||||||
|
* FT_EXPORT( FT_Bool )
|
||||||
|
* FT_Object_Method( FT_Object obj,
|
||||||
|
* ... );
|
||||||
|
*
|
||||||
|
* NOTE: This requires that all `FT_EXPORT` uses are inside
|
||||||
|
* `FT_BEGIN_HEADER ... FT_END_HEADER` blocks. This guarantees that the
|
||||||
|
* functions are exported with C linkage, even when the header is included
|
||||||
|
* by a C++ source file.
|
||||||
|
*/
|
||||||
|
#define FT_EXPORT( x ) FT_PUBLIC_FUNCTION_ATTRIBUTE extern x
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* `FT_UNUSED` indicates that a given parameter is not used -- this is
|
||||||
|
* only used to get rid of unpleasant compiler warnings.
|
||||||
|
*
|
||||||
|
* Technically, this was not meant to be part of the public API, but some
|
||||||
|
* third-party code depends on it.
|
||||||
|
*/
|
||||||
|
#ifndef FT_UNUSED
|
||||||
|
#define FT_UNUSED( arg ) ( (arg) = (arg) )
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Support for casts in both C and C++.
|
||||||
|
*/
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define FT_STATIC_CAST( type, var ) static_cast<type>(var)
|
||||||
|
#define FT_REINTERPRET_CAST( type, var ) reinterpret_cast<type>(var)
|
||||||
|
|
||||||
|
#define FT_STATIC_BYTE_CAST( type, var ) \
|
||||||
|
static_cast<type>( static_cast<unsigned char>( var ) )
|
||||||
|
#else
|
||||||
|
#define FT_STATIC_CAST( type, var ) (type)(var)
|
||||||
|
#define FT_REINTERPRET_CAST( type, var ) (type)(var)
|
||||||
|
|
||||||
|
#define FT_STATIC_BYTE_CAST( type, var ) (type)(unsigned char)(var)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
FT_END_HEADER
|
||||||
|
|
||||||
|
#endif /* FREETYPE_CONFIG_PUBLIC_MACROS_H_ */
|
Loading…
Reference in New Issue
Block a user