📄 freetype.h
字号:
/***************************************************************************//* *//* freetype.h *//* *//* FreeType high-level API and common types (specification only). *//* *//* Copyright 1996-2000 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_H__#define __FREETYPE_H__/* include potentially build-specific directives and macros */#ifndef FT_BUILD_H# define FT_BUILD_H <freetype/config/ftbuild.h>#endif#include "freetype/config/ftbuild.h" /*************************************************************************/ /* */ /* The `raster' component duplicates some of the declarations in */ /* freetype.h for stand-alone use if _FREETYPE_ isn't defined. */ /* */#define _FREETYPE_ /*************************************************************************/ /* */ /* The FREETYPE_MAJOR and FREETYPE_MINOR macros are used to version the */ /* new FreeType design, which is able to host several kinds of font */ /* drivers. It starts at 2.0. */ /* */#define FREETYPE_MAJOR 2#define FREETYPE_MINOR 0#include "freetype/config/ftconfig.h"#include "freetype/fterrors.h"#include "freetype/fttypes.h"FT_BEGIN_HEADER /*************************************************************************/ /*************************************************************************/ /* */ /* B A S I C T Y P E S */ /* */ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* <Struct> */ /* FT_Glyph_Metrics */ /* */ /* <Description> */ /* A structure used to model the metrics of a single glyph. Note */ /* that values are expressed in 26.6 fractional pixel format or in */ /* font units, depending on context. */ /* */ /* <Fields> */ /* width :: The glyph's width. */ /* */ /* height :: The glyph's height. */ /* */ /* horiBearingX :: Horizontal left side bearing. */ /* */ /* horiBearingY :: Horizontal top side bearing. */ /* */ /* horiAdvance :: Horizontal advance width. */ /* */ /* vertBearingX :: Vertical left side bearing. */ /* */ /* vertBearingY :: Vertical top side bearing. */ /* */ /* vertAdvance :: Vertical advance height. */ /* */ typedef struct FT_Glyph_Metrics_ { FT_Pos width; /* glyph width */ FT_Pos height; /* glyph height */ FT_Pos horiBearingX; /* left side bearing in horizontal layouts */ FT_Pos horiBearingY; /* top side bearing in horizontal layouts */ FT_Pos horiAdvance; /* advance width for horizontal layout */ FT_Pos vertBearingX; /* left side bearing in vertical layouts */ FT_Pos vertBearingY; /* top side bearing in vertical layouts */ FT_Pos vertAdvance; /* advance height for vertical layout */ } FT_Glyph_Metrics; /*************************************************************************/ /* */ /* <FuncType> */ /* FT_Generic_Finalizer */ /* */ /* <Description> */ /* Describes a function used to destroy the `client' data of any */ /* FreeType object. See the description of the FT_Generic type for */ /* details of usage. */ /* */ /* <Input> */ /* The address of the FreeType object which is under finalization. */ /* Its client data is accessed through its `generic' field. */ /* */ typedef void (*FT_Generic_Finalizer)(void* object); /*************************************************************************/ /* */ /* <Struct> */ /* FT_Generic */ /* */ /* <Description> */ /* Client applications often need to associate their own data to a */ /* variety of FreeType core objects. For example, a text layout API */ /* might want to associate a glyph cache to a given size object. */ /* */ /* Most FreeType object contains a `generic' field, of type */ /* FT_Generic, which usage is left to client applications and font */ /* servers. */ /* */ /* It can be used to store a pointer to client-specific data, as well */ /* as the address of a `finalizer' function, which will be called by */ /* FreeType when the object is destroyed (for example, the previous */ /* client example would put the address of the glyph cache destructor */ /* in the `finalizer' field). */ /* */ /* <Fields> */ /* data :: A typeless pointer to any client-specified data. This */ /* field is completely ignored by the FreeType library. */ /* */ /* finalizer :: A pointer to a `generic finalizer' function, which */ /* will be called when the object is destroyed. If this */ /* field is set to NULL, no code will be called. */ /* */ typedef struct FT_Generic_ { void* data; FT_Generic_Finalizer finalizer; } FT_Generic; /*************************************************************************/ /* */ /* <Struct> */ /* FT_Bitmap_Size */ /* */ /* <Description> */ /* An extremely simple structure used to model the size of a bitmap */ /* strike (i.e., a bitmap instance of the font for a given */ /* resolution) in a fixed-size font face. This is used for the */ /* `available_sizes' field of the FT_Face_Properties structure. */ /* */ /* <Fields> */ /* height :: The character height in pixels. */ /* */ /* width :: The character width in pixels. */ /* */ typedef struct FT_Bitmap_Size_ { FT_Short height; FT_Short width; } FT_Bitmap_Size; /*************************************************************************/ /*************************************************************************/ /* */ /* O B J E C T C L A S S E S */ /* */ /*************************************************************************/ /*************************************************************************/ /*************************************************************************/ /* */ /* <Type> */ /* FT_Library */ /* */ /* <Description> */ /* A handle to a FreeType library instance. Each `library' is */ /* completely independent from the others; it is the `root' of a set */ /* of objects like fonts, faces, sizes, etc. */ /* */ /* It also embeds a system object (see FT_System), as well as a */ /* scan-line converter object (see FT_Raster). */ /* */ /* <Note> */ /* Library objects are created through FT_Init_FreeType(). */ /* */ typedef struct FT_LibraryRec_ *FT_Library; /*************************************************************************/ /* */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -