⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 aflatin.h

📁 奇趣公司比较新的qt/emd版本
💻 H
字号:
/***************************************************************************//*                                                                         *//*  aflatin.h                                                              *//*                                                                         *//*    Auto-fitter hinting routines for latin script (specification).       *//*                                                                         *//*  Copyright 2003, 2004, 2005, 2006, 2007 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 __AFLATIN_H__#define __AFLATIN_H__#include "afhints.h"FT_BEGIN_HEADER  /* the latin-specific script class */  FT_CALLBACK_TABLE const AF_ScriptClassRec  af_latin_script_class;/* constants are given with units_per_em == 2048 in mind */#define AF_LATIN_CONSTANT( metrics, c ) \  ( ( (c) * (FT_Long)( (AF_LatinMetrics)(metrics) )->units_per_em ) / 2048 )  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****            L A T I N   G L O B A L   M E T R I C S            *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  /*   *  The following declarations could be embedded in the file `aflatin.c';   *  they have been made semi-public to allow alternate script hinters to   *  re-use some of them.   */  /* Latin (global) metrics management */  enum  {    AF_LATIN_BLUE_CAPITAL_TOP,    AF_LATIN_BLUE_CAPITAL_BOTTOM,    AF_LATIN_BLUE_SMALL_F_TOP,    AF_LATIN_BLUE_SMALL_TOP,    AF_LATIN_BLUE_SMALL_BOTTOM,    AF_LATIN_BLUE_SMALL_MINOR,    AF_LATIN_BLUE_MAX  };#define AF_LATIN_IS_TOP_BLUE( b )  ( (b) == AF_LATIN_BLUE_CAPITAL_TOP || \                                     (b) == AF_LATIN_BLUE_SMALL_F_TOP || \                                     (b) == AF_LATIN_BLUE_SMALL_TOP   )#define AF_LATIN_MAX_WIDTHS  16#define AF_LATIN_MAX_BLUES   AF_LATIN_BLUE_MAX  enum  {    AF_LATIN_BLUE_ACTIVE     = 1 << 0,    AF_LATIN_BLUE_TOP        = 1 << 1,    AF_LATIN_BLUE_ADJUSTMENT = 1 << 2,  /* used for scale adjustment */                                        /* optimization              */    AF_LATIN_BLUE_FLAG_MAX  };  typedef struct  AF_LatinBlueRec_  {    AF_WidthRec  ref;    AF_WidthRec  shoot;    FT_UInt      flags;  } AF_LatinBlueRec, *AF_LatinBlue;  typedef struct  AF_LatinAxisRec_  {    FT_Fixed         scale;    FT_Pos           delta;    FT_UInt          width_count;    AF_WidthRec      widths[AF_LATIN_MAX_WIDTHS];    FT_Pos           edge_distance_threshold;    FT_Pos           standard_width;    FT_Bool          extra_light;    /* ignored for horizontal metrics */    FT_Bool          control_overshoot;    FT_UInt          blue_count;    AF_LatinBlueRec  blues[AF_LATIN_BLUE_MAX];    FT_Fixed         org_scale;    FT_Pos           org_delta;  } AF_LatinAxisRec, *AF_LatinAxis;  typedef struct  AF_LatinMetricsRec_  {    AF_ScriptMetricsRec  root;    FT_UInt              units_per_em;    AF_LatinAxisRec      axis[AF_DIMENSION_MAX];  } AF_LatinMetricsRec, *AF_LatinMetrics;  FT_LOCAL( FT_Error )  af_latin_metrics_init( AF_LatinMetrics  metrics,                         FT_Face          face );  FT_LOCAL( void )  af_latin_metrics_scale( AF_LatinMetrics  metrics,                          AF_Scaler        scaler );  FT_LOCAL( void )  af_latin_metrics_init_widths( AF_LatinMetrics  metrics,                                FT_Face          face,                                FT_ULong         charcode );  /*************************************************************************/  /*************************************************************************/  /*****                                                               *****/  /*****           L A T I N   G L Y P H   A N A L Y S I S             *****/  /*****                                                               *****/  /*************************************************************************/  /*************************************************************************/  enum  {    AF_LATIN_HINTS_HORZ_SNAP   = 1 << 0, /* enable stem width snapping  */    AF_LATIN_HINTS_VERT_SNAP   = 1 << 1, /* enable stem height snapping */    AF_LATIN_HINTS_STEM_ADJUST = 1 << 2, /* enable stem width/height    */                                         /* adjustment                  */    AF_LATIN_HINTS_MONO        = 1 << 3  /* indicate monochrome         */                                         /* rendering                   */  };#define AF_LATIN_HINTS_DO_HORZ_SNAP( h )             \  AF_HINTS_TEST_OTHER( h, AF_LATIN_HINTS_HORZ_SNAP )#define AF_LATIN_HINTS_DO_VERT_SNAP( h )             \  AF_HINTS_TEST_OTHER( h, AF_LATIN_HINTS_VERT_SNAP )#define AF_LATIN_HINTS_DO_STEM_ADJUST( h )             \  AF_HINTS_TEST_OTHER( h, AF_LATIN_HINTS_STEM_ADJUST )#define AF_LATIN_HINTS_DO_MONO( h )             \  AF_HINTS_TEST_OTHER( h, AF_LATIN_HINTS_MONO )  /*   *  This shouldn't normally be exported.  However, other scripts might   *  like to use this function as-is.   */  FT_LOCAL( FT_Error )  af_latin_hints_compute_segments( AF_GlyphHints  hints,                                   AF_Dimension   dim );  /*   *  This shouldn't normally be exported.  However, other scripts might   *  want to use this function as-is.   */  FT_LOCAL( void )  af_latin_hints_link_segments( AF_GlyphHints  hints,                                AF_Dimension   dim );  /*   *  This shouldn't normally be exported.  However, other scripts might   *  want to use this function as-is.   */  FT_LOCAL( FT_Error )  af_latin_hints_compute_edges( AF_GlyphHints  hints,                                AF_Dimension   dim );  FT_LOCAL( FT_Error )  af_latin_hints_detect_features( AF_GlyphHints  hints,                                  AF_Dimension   dim );/* */FT_END_HEADER#endif /* __AFLATIN_H__ *//* END */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -