📄 t1tables.h
字号:
/***************************************************************************//* *//* t1tables.h *//* *//* Basic Type 1/Type 2 tables definitions and interface (specification *//* only). *//* *//* Copyright 1996-2001, 2002, 2003, 2004, 2006 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 __T1TABLES_H__#define __T1TABLES_H__#include <ft2build.h>#include FT_FREETYPE_H#ifdef FREETYPE_H#error "freetype.h of FreeType 1 has been loaded!"#error "Please fix the directory search order for header files"#error "so that freetype.h of FreeType 2 is found first."#endifFT_BEGIN_HEADER /*************************************************************************/ /* */ /* <Section> */ /* type1_tables */ /* */ /* <Title> */ /* Type 1 Tables */ /* */ /* <Abstract> */ /* Type 1 (PostScript) specific font tables. */ /* */ /* <Description> */ /* This section contains the definition of Type 1-specific tables, */ /* including structures related to other PostScript font formats. */ /* */ /*************************************************************************/ /* Note that we separate font data in PS_FontInfoRec and PS_PrivateRec */ /* structures in order to support Multiple Master fonts. */ /*************************************************************************/ /* */ /* <Struct> */ /* PS_FontInfoRec */ /* */ /* <Description> */ /* A structure used to model a Type1/Type2 FontInfo dictionary. Note */ /* that for Multiple Master fonts, each instance has its own */ /* FontInfo dictionary. */ /* */ typedef struct PS_FontInfoRec { FT_String* version; FT_String* notice; FT_String* full_name; FT_String* family_name; FT_String* weight; FT_Long italic_angle; FT_Bool is_fixed_pitch; FT_Short underline_position; FT_UShort underline_thickness; } PS_FontInfoRec, *PS_FontInfo; /*************************************************************************/ /* */ /* <Struct> */ /* T1_FontInfo */ /* */ /* <Description> */ /* This type is equivalent to @PS_FontInfoRec. It is deprecated but */ /* kept to maintain source compatibility between various versions of */ /* FreeType. */ /* */ typedef PS_FontInfoRec T1_FontInfo; /*************************************************************************/ /* */ /* <Struct> */ /* PS_PrivateRec */ /* */ /* <Description> */ /* A structure used to model a Type1/Type2 private dictionary. Note */ /* that for Multiple Master fonts, each instance has its own Private */ /* dictionary. */ /* */ typedef struct PS_PrivateRec_ { FT_Int unique_id; FT_Int lenIV; FT_Byte num_blue_values; FT_Byte num_other_blues; FT_Byte num_family_blues; FT_Byte num_family_other_blues; FT_Short blue_values[14]; FT_Short other_blues[10]; FT_Short family_blues [14]; FT_Short family_other_blues[10]; FT_Fixed blue_scale; FT_Int blue_shift; FT_Int blue_fuzz; FT_UShort standard_width[1]; FT_UShort standard_height[1]; FT_Byte num_snap_widths; FT_Byte num_snap_heights; FT_Bool force_bold; FT_Bool round_stem_up; FT_Short snap_widths [13]; /* including std width */ FT_Short snap_heights[13]; /* including std height */ FT_Fixed expansion_factor; FT_Long language_group; FT_Long password; FT_Short min_feature[2]; } PS_PrivateRec, *PS_Private; /*************************************************************************/ /* */ /* <Struct> */ /* T1_Private */ /* */ /* <Description> */ /* This type is equivalent to @PS_PrivateRec. It is deprecated but */ /* kept to maintain source compatibility between various versions of */ /* FreeType. */ /* */ typedef PS_PrivateRec T1_Private; /*************************************************************************/ /* */ /* <Enum> */ /* T1_Blend_Flags */ /* */ /* <Description> */ /* A set of flags used to indicate which fields are present in a */ /* given blend dictionary (font info or private). Used to support */ /* Multiple Masters fonts. */ /* */ typedef enum { /*# required fields in a FontInfo blend dictionary */ T1_BLEND_UNDERLINE_POSITION = 0, T1_BLEND_UNDERLINE_THICKNESS, T1_BLEND_ITALIC_ANGLE, /*# required fields in a Private blend dictionary */ T1_BLEND_BLUE_VALUES, T1_BLEND_OTHER_BLUES, T1_BLEND_STANDARD_WIDTH, T1_BLEND_STANDARD_HEIGHT, T1_BLEND_STEM_SNAP_WIDTHS, T1_BLEND_STEM_SNAP_HEIGHTS, T1_BLEND_BLUE_SCALE, T1_BLEND_BLUE_SHIFT, T1_BLEND_FAMILY_BLUES, T1_BLEND_FAMILY_OTHER_BLUES, T1_BLEND_FORCE_BOLD, /*# never remove */ T1_BLEND_MAX } T1_Blend_Flags; /* */ /*# backwards compatible definitions */#define t1_blend_underline_position T1_BLEND_UNDERLINE_POSITION#define t1_blend_underline_thickness T1_BLEND_UNDERLINE_THICKNESS#define t1_blend_italic_angle T1_BLEND_ITALIC_ANGLE#define t1_blend_blue_values T1_BLEND_BLUE_VALUES#define t1_blend_other_blues T1_BLEND_OTHER_BLUES#define t1_blend_standard_widths T1_BLEND_STANDARD_WIDTH#define t1_blend_standard_height T1_BLEND_STANDARD_HEIGHT#define t1_blend_stem_snap_widths T1_BLEND_STEM_SNAP_WIDTHS#define t1_blend_stem_snap_heights T1_BLEND_STEM_SNAP_HEIGHTS#define t1_blend_blue_scale T1_BLEND_BLUE_SCALE#define t1_blend_blue_shift T1_BLEND_BLUE_SHIFT#define t1_blend_family_blues T1_BLEND_FAMILY_BLUES#define t1_blend_family_other_blues T1_BLEND_FAMILY_OTHER_BLUES#define t1_blend_force_bold T1_BLEND_FORCE_BOLD#define t1_blend_max T1_BLEND_MAX /* maximum number of Multiple Masters designs, as defined in the spec */#define T1_MAX_MM_DESIGNS 16 /* maximum number of Multiple Masters axes, as defined in the spec */#define T1_MAX_MM_AXIS 4 /* maximum number of elements in a design map */#define T1_MAX_MM_MAP_POINTS 20
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -