Cleanups.
This commit is contained in:
parent
90e979e7be
commit
3ae7cc997a
75
ChangeLog
75
ChangeLog
|
@ -77,9 +77,11 @@
|
||||||
|
|
||||||
* src/cache/ftlru.c: Fixed an invalid assertion check.
|
* src/cache/ftlru.c: Fixed an invalid assertion check.
|
||||||
|
|
||||||
* src/autohint/ahglyph.h, src/autohint/ahglyph.c,
|
* src/autohint/ahglyph.c (ah_outline_load): Add two scaling
|
||||||
src/autohint/ahglobal.c, src/autohint/ahhint.c: Fixed blue-scale
|
arguments.
|
||||||
problem.
|
* src/autohint/ahglyph.h: Updated.
|
||||||
|
* src/autohint/ahhint.c (ah_hinter_load): Updated.
|
||||||
|
* src/autohint/ahglobal.c (ah_hinter_compute_widths): Updated.
|
||||||
|
|
||||||
* src/cache/ftccache.c: Fixed small bug that could crash the cache
|
* src/cache/ftccache.c: Fixed small bug that could crash the cache
|
||||||
in rare circumstances (mostly with broken fonts).
|
in rare circumstances (mostly with broken fonts).
|
||||||
|
@ -169,8 +171,8 @@
|
||||||
Fixing the slight distortion problem that ocurred due to the latest
|
Fixing the slight distortion problem that ocurred due to the latest
|
||||||
auto-hinter changes.
|
auto-hinter changes.
|
||||||
|
|
||||||
* src/autohint/ahhint.c: Disabled the advance width "correction"
|
* src/autohint/ahhint.c (ah_hinter_load): Disabled the advance width
|
||||||
which seemed to provide more trouble than benefits.
|
"correction" which seemed to provide more trouble than benefits.
|
||||||
|
|
||||||
2003-02-13 Graham Asher <graham.asher@btinternet.com>
|
2003-02-13 Graham Asher <graham.asher@btinternet.com>
|
||||||
|
|
||||||
|
@ -203,10 +205,16 @@
|
||||||
display a waterfall with a font without a Unicode charmap (e.g.
|
display a waterfall with a font without a Unicode charmap (e.g.
|
||||||
SYMBOL.TTF).
|
SYMBOL.TTF).
|
||||||
|
|
||||||
* src/autohint/ahtypes.h, src/autohint/ahhint.c, src/base/ftobjs.c,
|
Implemented FT_CONFIG_CHESTER_BLUE_SCALE, corresponding to the last
|
||||||
src/truetype/ttobjs.c: Implemented FT_CONFIG_CHESTER_BLUE_SCALE,
|
patch from David Chester, but with a much simpler (and saner)
|
||||||
corresponding to the last patch from David Chester, but with a much
|
implementation.
|
||||||
simpler (and saner) implementation.
|
|
||||||
|
* src/autohint/ahhint.c (ah_hinter_load_glyph)
|
||||||
|
[FT_CONFIG_CHESTER_BLUE_SCALE]: Try to optimize the y_scale so that
|
||||||
|
the top of non-capital letters is aligned on a pixel boundary
|
||||||
|
whenever possible.
|
||||||
|
|
||||||
|
* src/base/ftobjs.c, src/truetype/ttobjs.c:
|
||||||
|
|
||||||
* src/pshinter/pshalgo3.c: Improved the Postscript hinter. Getting
|
* src/pshinter/pshalgo3.c: Improved the Postscript hinter. Getting
|
||||||
rid of stem snapping seems to work well here (though the stems are
|
rid of stem snapping seems to work well here (though the stems are
|
||||||
|
@ -217,7 +225,8 @@
|
||||||
|
|
||||||
2003-01-22 David Chester <davidchester@qmx.net>
|
2003-01-22 David Chester <davidchester@qmx.net>
|
||||||
|
|
||||||
* src/autohint/ahhint.c: Small fix to the stem width optimization.
|
* src/autohint/ahhint.c (ah_compute_stem_width): Small fix to the
|
||||||
|
stem width optimization.
|
||||||
|
|
||||||
2003-01-22 David Turner <david@freetype.org>
|
2003-01-22 David Turner <david@freetype.org>
|
||||||
|
|
||||||
|
@ -308,8 +317,27 @@
|
||||||
[FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
|
[FT_CONFIG_OPTION_CHESTER_HINTS]: New macros to control individual
|
||||||
features.
|
features.
|
||||||
|
|
||||||
* src/autohint/ahglobal.h, src/autohint/ahglobal.c,
|
* src/autohint/ahglobal.c (blue_chars) [FT_CONFIG_CHESTER_SMALL_F]:
|
||||||
src/autohint/ahglyph.c, src/autohint/ahtypes.h:
|
Add blue zone for `fijkdbh'.
|
||||||
|
* src/autohint/ahglobal.h (AH_IS_TOP_BLUE)
|
||||||
|
[FT_CONFIG_CHESTER_SMALL_F]: Use `AH_BLUE_SMALL_F_TOP'.
|
||||||
|
* src/autohint/ahglyph.c (ah_outline_compute_edges)
|
||||||
|
[FT_CONFIG_CHESTER_SERIF]: Use `AH_EDGE_SERIF'.
|
||||||
|
(ah_outline_compute_blue_edges) [FT_CONFIG_CHESTER_SMALL_F]:
|
||||||
|
Increase threshold for `best_dist'.
|
||||||
|
* src/autohint/ahhint.c (ah_compute_stem_width)
|
||||||
|
[FT_CONFIG_CHESTER_SERIF]: Provide new version for improved serif
|
||||||
|
handling.
|
||||||
|
(ah_align_linked_edge) [FT_CONFIG_CHESTER_SERIF]: Use special
|
||||||
|
version of `ah_compute_stem_width'.
|
||||||
|
(ah_hint_edges_3) [FT_CONFIG_CHESTER_STEM]: A new algorithm for stem
|
||||||
|
alignment when stem widths are less than 1.5 pixels wide centers the
|
||||||
|
stem slightly off-center of the center of a pixel (this increases
|
||||||
|
sharpness and consistency).
|
||||||
|
[FT_CONFIG_CHESTER_SERIF]: Use special version of
|
||||||
|
`ah_compute_stem_width'.
|
||||||
|
* src/autohint/ahtypes.h [FT_CONFIG_CHESTER_SMALL_F]: Add
|
||||||
|
`AH_BLUE_SMALL_F_TOP'.
|
||||||
|
|
||||||
2003-01-11 David Turner <david@freetype.org>
|
2003-01-11 David Turner <david@freetype.org>
|
||||||
|
|
||||||
|
@ -328,10 +356,15 @@
|
||||||
|
|
||||||
2003-01-08 Owen Taylor <owen@redhat.com>
|
2003-01-08 Owen Taylor <owen@redhat.com>
|
||||||
|
|
||||||
* src/autohint/ahtypes.h, src/autohint/ahhint.c,
|
Implemented the FT_RENDER_MODE_LIGHT hinting mode in the auto and
|
||||||
src/pshinter/pshalgo3.h, src/pshinter/pshalgo3.c: Implemented the
|
postscript hinters.
|
||||||
FT_RENDER_MODE_LIGHT hinting mode in the auto and postscript
|
|
||||||
hinters.
|
* src/autohint/ahhint.c (ah_compute_stem_width): Handle
|
||||||
|
hinter->do_stem_adjust.
|
||||||
|
(ah_hinter_load_glyph): Set hinter->do_stem_adjust.
|
||||||
|
|
||||||
|
* src/autohint/ahtypes.h (AH_HinterRec): Add `do_stem_adjust'.
|
||||||
|
* src/pshinter/pshalgo3.h, src/pshinter/pshalgo3.c:
|
||||||
|
|
||||||
* include/freetype/freetype.h (FT_Render_Mode): Add
|
* include/freetype/freetype.h (FT_Render_Mode): Add
|
||||||
FT_RENDER_MODE_LIGHT.
|
FT_RENDER_MODE_LIGHT.
|
||||||
|
@ -457,9 +490,13 @@
|
||||||
support fot the first GSUB lookups. Nothing that really compiles
|
support fot the first GSUB lookups. Nothing that really compiles
|
||||||
for now though.
|
for now though.
|
||||||
|
|
||||||
* src/autohint/ahhint.c: Disabled serif stem width quantization. It
|
* src/autohint/ahhint.c (ah_align_serif_edge): Disabled serif stem
|
||||||
produces slightly better shapes though this is not distinguishable
|
width quantization. It produces slightly better shapes though this
|
||||||
with many fonts.
|
is not distinguishable with many fonts.
|
||||||
|
Remove other dead code.
|
||||||
|
|
||||||
|
* src/Jamfile, src/*/Jamfile: Simplified.
|
||||||
|
Use $(FT2_SRC_DIR).
|
||||||
|
|
||||||
2002-11-06 David Turner <david@freetype.org>
|
2002-11-06 David Turner <david@freetype.org>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType API for accessing BDF-specific strings (specification). */
|
/* FreeType API for accessing BDF-specific strings (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002 by */
|
/* Copyright 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -49,20 +49,20 @@ FT_BEGIN_HEADER
|
||||||
* FT_PropertyType
|
* FT_PropertyType
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* list of BDF property types
|
* A list of BDF property types.
|
||||||
*
|
*
|
||||||
* @values:
|
* @values:
|
||||||
* BDF_PROPERTY_TYPE_NONE ::
|
* BDF_PROPERTY_TYPE_NONE ::
|
||||||
* value 0 is used to indicate a missing property
|
* Value 0 is used to indicate a missing property.
|
||||||
*
|
*
|
||||||
* BDF_PROPERTY_TYPE_ATOM ::
|
* BDF_PROPERTY_TYPE_ATOM ::
|
||||||
* property is a string atom
|
* Property is a string atom.
|
||||||
*
|
*
|
||||||
* BDF_PROPERTY_TYPE_INTEGER ::
|
* BDF_PROPERTY_TYPE_INTEGER ::
|
||||||
* property is a 32-bit signed integer
|
* Property is a 32-bit signed integer.
|
||||||
*
|
*
|
||||||
* BDF_PROPERTY_TYPE_CARDINAL ::
|
* BDF_PROPERTY_TYPE_CARDINAL ::
|
||||||
* property is a 32-bit unsigned integer
|
* Property is a 32-bit unsigned integer.
|
||||||
*/
|
*/
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
|
@ -76,26 +76,31 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
*
|
*
|
||||||
* @type: BDF_Property
|
* @type:
|
||||||
|
* BDF_Property
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* handle to a @BDF_PropertyRec structure used to model a given
|
* A handle to a @BDF_PropertyRec structure to model a given
|
||||||
* BDF/PCF property
|
* BDF/PCF property.
|
||||||
*/
|
*/
|
||||||
typedef struct BDF_PropertyRec_* BDF_Property;
|
typedef struct BDF_PropertyRec_* BDF_Property;
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
*
|
*
|
||||||
* @struct: BDF_PropertyRec
|
* @struct:
|
||||||
|
* BDF_PropertyRec
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* models a given BDF/PCF property
|
* This structure models a given BDF/PCF property.
|
||||||
*
|
*
|
||||||
* @note:
|
* @fields:
|
||||||
* type :: property type
|
* type :: The property type.
|
||||||
* u.atom :: atom string, when type is @BDF_PROPERTY_TYPE_ATOM
|
*
|
||||||
* u.integer :: signed integer, when type is @BDF_PROPERTY_TYPE_INTEGER
|
* u.atom :: The atom string, if type is @BDF_PROPERTY_TYPE_ATOM.
|
||||||
* u.cardinal :: unsigned integer, when type is @BDF_PROPERTY_TYPE_CARDINAL
|
* u.integer :: A signed integer, if type is @BDF_PROPERTY_TYPE_INTEGER.
|
||||||
|
* u.cardinal :: An unsigned integer, if type is
|
||||||
|
* @BDF_PROPERTY_TYPE_CARDINAL.
|
||||||
*/
|
*/
|
||||||
typedef struct BDF_PropertyRec_
|
typedef struct BDF_PropertyRec_
|
||||||
{
|
{
|
||||||
|
@ -121,7 +126,7 @@ FT_BEGIN_HEADER
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* face ::
|
* face ::
|
||||||
* handle to input face
|
* A handle to the input face.
|
||||||
*
|
*
|
||||||
* @output:
|
* @output:
|
||||||
* acharset_encoding ::
|
* acharset_encoding ::
|
||||||
|
@ -131,7 +136,7 @@ FT_BEGIN_HEADER
|
||||||
* Charset registry, as a C string, owned by the face.
|
* Charset registry, as a C string, owned by the face.
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* FreeType rror code. 0 means success.
|
* FreeType error code. 0 means success.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* This function only works with BDF faces, returning an error otherwise.
|
* This function only works with BDF faces, returning an error otherwise.
|
||||||
|
@ -141,31 +146,33 @@ FT_BEGIN_HEADER
|
||||||
const char* *acharset_encoding,
|
const char* *acharset_encoding,
|
||||||
const char* *acharset_registry );
|
const char* *acharset_registry );
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
*
|
*
|
||||||
* @function:
|
* @function:
|
||||||
* FT_Get_BDF_Property
|
* FT_Get_BDF_Property
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* Retrieves a BDF property from a BDF or PCF font file
|
* Retrieves a BDF property from a BDF or PCF font file.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* face :: handle to input face
|
* face :: A handle to the input face.
|
||||||
* name :: property name
|
*
|
||||||
|
* name :: The property name.
|
||||||
*
|
*
|
||||||
* @output:
|
* @output:
|
||||||
* aproperty :: the property
|
* aproperty :: The property.
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* FreeType error code. 0 means success.
|
* FreeType error code. 0 means success.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* This function works with BDF _and_ PCF fonts. It returns an error
|
* This function works with BDF _and_ PCF fonts. It returns an error
|
||||||
* otherwise. it also returns an error when the property is not in the
|
* otherwise. It also returns an error if the property is not in the
|
||||||
* font.
|
* font.
|
||||||
*
|
*
|
||||||
* in case of error, "aproperty->type" is always set to
|
* In case of error, "aproperty->type" is always set to
|
||||||
* @BDF_PROPERTY_TYPE_NONE
|
* @BDF_PROPERTY_TYPE_NONE.
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Get_BDF_Property( FT_Face face,
|
FT_Get_BDF_Property( FT_Face face,
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Gzip-compressed stream support. */
|
/* Gzip-compressed stream support. */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002 by */
|
/* Copyright 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -40,39 +40,42 @@ FT_BEGIN_HEADER
|
||||||
/* */
|
/* */
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
*
|
*
|
||||||
* @type: FT_Stream_OpenGzip
|
* @function:
|
||||||
|
* FT_Stream_OpenGzip
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* open a new stream to parse gzip-compressed font files. This is
|
* Open a new stream to parse gzip-compressed font files. This is
|
||||||
* mainly used to support the compressed *.pcf.gz fonts that come
|
* mainly used to support the compressed *.pcf.gz fonts that come
|
||||||
* with XFree86
|
* with XFree86.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* stream :: target embedding stream
|
* stream :: The target embedding stream.
|
||||||
* source :: source stream, used to
|
*
|
||||||
|
* source :: The source stream.
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* error code. 0 means success
|
* FreeType error code. 0 means success.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* the source stream must be opened _before_ calling this function.
|
* The source stream must be opened _before_ calling this function.
|
||||||
*
|
*
|
||||||
* calling @FT_Stream_Close on the new stream will *not* call
|
* Calling @FT_Stream_Close on the new stream will *not* call
|
||||||
* @FT_Stream_Close on the source stream. None of the stream objects
|
* @FT_Stream_Close on the source stream. None of the stream objects
|
||||||
* will be released to the heap.
|
* will be released to the heap.
|
||||||
*
|
*
|
||||||
* the stream implementation is very basic, and resets the decompression
|
* The stream implementation is very basic and resets the decompression
|
||||||
* process each time seeking backwards is needed within the stream
|
* process each time seeking backwards is needed within the stream.
|
||||||
*
|
*
|
||||||
* in certain builds of the library, gzip compression recognition is
|
* In certain builds of the library, gzip compression recognition is
|
||||||
* automatic when calling @FT_New_Face or @FT_Open_Face. This means that
|
* automatically handled when calling @FT_New_Face or @FT_Open_Face.
|
||||||
* if no font driver is capable of handling the raw compressed file,
|
* This means that if no font driver is capable of handling the raw
|
||||||
* the library will try to open a gzip stream from it and re-open
|
* compressed file, the library will try to open a gzipped stream from
|
||||||
* the face with it.
|
* it and re-open the face with it.
|
||||||
*
|
*
|
||||||
* this function may return "FT_Err_Unimplemented" if your build of
|
* This function may return "FT_Err_Unimplemented" if your build of
|
||||||
* FreeType was not compiled with zlib support.
|
* FreeType was not compiled with zlib support.
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
|
@ -81,6 +84,10 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
|
|
||||||
FT_END_HEADER
|
FT_END_HEADER
|
||||||
|
|
||||||
#endif /* __FTGZIP_H__ */
|
#endif /* __FTGZIP_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType incremental loading (specification). */
|
/* FreeType incremental loading (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002 by */
|
/* Copyright 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
/* */
|
/* */
|
||||||
/* ftpfr.h */
|
/* ftpfr.h */
|
||||||
/* */
|
/* */
|
||||||
/* FreeType API for accessing PFR-specific data */
|
/* FreeType API for accessing PFR-specific data (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002 by */
|
/* Copyright 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -49,34 +49,35 @@ FT_BEGIN_HEADER
|
||||||
* FT_Get_PFR_Metrics
|
* FT_Get_PFR_Metrics
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* returns the outline and metrics resolutions of a given PFR
|
* Return the outline and metrics resolutions of a given PFR face.
|
||||||
* face.
|
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* face :: handle to input face. It can be a non-PFR face.
|
* face :: Handle to the input face. It can be a non-PFR face.
|
||||||
*
|
*
|
||||||
* @output:
|
* @output:
|
||||||
* aoutline_resolution ::
|
* aoutline_resolution ::
|
||||||
* outline resolution. This is equivalent to "face->units_per_EM".
|
* Outline resolution. This is equivalent to `face->units_per_EM'.
|
||||||
* optional (parameter can be NULL)
|
* Optional (parameter can be NULL).
|
||||||
*
|
*
|
||||||
* ametrics_resolution ::
|
* ametrics_resolution ::
|
||||||
* metrics_resolution. This is equivalent to "outline_resolution"
|
* Metrics resolution. This is equivalent to `outline_resolution'
|
||||||
* for non-PFR fonts. can be NULL
|
* for non-PFR fonts. Optional (parameter can be NULL).
|
||||||
* optional (parameter can be NULL)
|
|
||||||
*
|
*
|
||||||
* ametrics_x_scale ::
|
* ametrics_x_scale ::
|
||||||
* a 16.16 fixed-point number used to scale distance expressed
|
* A 16.16 fixed-point number used to scale distance expressed
|
||||||
* in metrics units to device sub-pixels. This is equivalent to
|
* in metrics units to device sub-pixels. This is equivalent to
|
||||||
* 'face->size->x_scale', but for metrics only.
|
* `face->size->x_scale', but for metrics only. Optional (parameter
|
||||||
* optional (parameter can be NULL)
|
* can be NULL)
|
||||||
*
|
*
|
||||||
* ametrics_y_scale ::
|
* ametrics_y_scale ::
|
||||||
* same as 'ametrics_x_scale', but for the vertical direction.
|
* Same as `ametrics_x_scale' but for the vertical direction.
|
||||||
* optional (parameter can be NULL)
|
* optional (parameter can be NULL)
|
||||||
*
|
*
|
||||||
|
* @return:
|
||||||
|
* FreeType error code. 0 means success.
|
||||||
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* if the input face is not a PFR, this function will return an error.
|
* If the input face is not a PFR, this function will return an error.
|
||||||
* However, in all cases, it will return valid values.
|
* However, in all cases, it will return valid values.
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
|
@ -86,31 +87,37 @@ FT_BEGIN_HEADER
|
||||||
FT_Fixed *ametrics_x_scale,
|
FT_Fixed *ametrics_x_scale,
|
||||||
FT_Fixed *ametrics_y_scale );
|
FT_Fixed *ametrics_y_scale );
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
*
|
*
|
||||||
* @function:
|
* @function:
|
||||||
* FT_Get_PFR_Kerning
|
* FT_Get_PFR_Kerning
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* returns the kerning pair corresponding to two glyphs in
|
* Return the kerning pair corresponding to two glyphs in a PFR face.
|
||||||
* a PFR face. The distance is expressed in metrics units, unlike
|
* The distance is expressed in metrics units, unlike the result of
|
||||||
* the result of @FT_Get_Kerning.
|
* @FT_Get_Kerning.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* face :: handle to input face.
|
* face :: A handle to the input face.
|
||||||
* left :: left glyph index
|
*
|
||||||
* right :: right glyph index
|
* left :: Index of the left glyph.
|
||||||
|
*
|
||||||
|
* right :: Index of the right glyph.
|
||||||
*
|
*
|
||||||
* @output:
|
* @output:
|
||||||
* avector :: kerning vector
|
* avector :: A kerning vector.
|
||||||
|
*
|
||||||
|
* @return:
|
||||||
|
* FreeType error code. 0 means success.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* this function always return distances in original PFR metrics
|
* This function always return distances in original PFR metrics
|
||||||
* units. This is unlike @FT_Get_Kerning with the @FT_KERNING_UNSCALED
|
* units. This is unlike @FT_Get_Kerning with the @FT_KERNING_UNSCALED
|
||||||
* mode, which always return distances converted to outline units.
|
* mode, which always returns distances converted to outline units.
|
||||||
*
|
*
|
||||||
* you can use the value of the 'x_scale' and 'y_scale' parameters
|
* You can use the value of the `x_scale' and `y_scale' parameters
|
||||||
* returned by @FT_Get_PFR_Metrics to scale these to device sub-pixels
|
* returned by @FT_Get_PFR_Metrics to scale these to device sub-pixels.
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Get_PFR_Kerning( FT_Face face,
|
FT_Get_PFR_Kerning( FT_Face face,
|
||||||
|
@ -118,28 +125,30 @@ FT_BEGIN_HEADER
|
||||||
FT_UInt right,
|
FT_UInt right,
|
||||||
FT_Vector *avector );
|
FT_Vector *avector );
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
*
|
*
|
||||||
* @function:
|
* @function:
|
||||||
* FT_Get_PFR_Advance
|
* FT_Get_PFR_Advance
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* returns a given glyph advance, expressed in original metrics units,
|
* Return a given glyph advance, expressed in original metrics units,
|
||||||
* from a PFR font.
|
* from a PFR font.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* face :: handle to input face.
|
* face :: A handle to the input face.
|
||||||
* gindex :: glyph index
|
*
|
||||||
|
* gindex :: The glyph index.
|
||||||
*
|
*
|
||||||
* @output:
|
* @output:
|
||||||
* aadvance :: glyph advance in metrics units
|
* aadvance :: The glyph advance in metrics units.
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* error code. 0 means success
|
* FreeType error code. 0 means success.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* you can use the 'x_scale' or 'y_scale' results of @FT_Get_PFR_Metrics
|
* You can use the `x_scale' or `y_scale' results of @FT_Get_PFR_Metrics
|
||||||
* to convert the advance to device sub-pixels (i.e. 1/64th of pixels)
|
* to convert the advance to device sub-pixels (i.e. 1/64th of pixels).
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Get_PFR_Advance( FT_Face face,
|
FT_Get_PFR_Advance( FT_Face face,
|
||||||
|
@ -148,6 +157,7 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
|
|
||||||
FT_END_HEADER
|
FT_END_HEADER
|
||||||
|
|
||||||
#endif /* __FTBDF_H__ */
|
#endif /* __FTBDF_H__ */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* FreeType API for accessing Windows fnt-specific data. */
|
/* FreeType API for accessing Windows fnt-specific data. */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2002 by */
|
/* Copyright 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -93,31 +93,31 @@ FT_BEGIN_HEADER
|
||||||
} FT_WinFNT_HeaderRec, *FT_WinFNT_Header;
|
} FT_WinFNT_HeaderRec, *FT_WinFNT_Header;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**********************************************************************
|
/**********************************************************************
|
||||||
*
|
*
|
||||||
* @function:
|
* @function:
|
||||||
* FT_Get_WinFNT_Header
|
* FT_Get_WinFNT_Header
|
||||||
*
|
*
|
||||||
* @description:
|
* @description:
|
||||||
* Retrieves a Windows FNT font info header.
|
* Retrieve a Windows FNT font info header.
|
||||||
*
|
*
|
||||||
* @input:
|
* @input:
|
||||||
* face :: handle to input face
|
* face :: A handle to the input face.
|
||||||
*
|
*
|
||||||
* @output:
|
* @output:
|
||||||
* header :: WinFNT header.
|
* aheader :: The WinFNT header.
|
||||||
*
|
*
|
||||||
* @return:
|
* @return:
|
||||||
* FreeType error code. 0 means success.
|
* FreeType error code. 0 means success.
|
||||||
*
|
*
|
||||||
* @note:
|
* @note:
|
||||||
* This function only works with Windows FNT faces, returning an erro
|
* This function only works with Windows FNT faces, returning an error
|
||||||
* otherwise.
|
* otherwise.
|
||||||
*/
|
*/
|
||||||
FT_EXPORT( FT_Error )
|
FT_EXPORT( FT_Error )
|
||||||
FT_Get_WinFNT_Header( FT_Face face,
|
FT_Get_WinFNT_Header( FT_Face face,
|
||||||
FT_WinFNT_HeaderRec *header );
|
FT_WinFNT_HeaderRec *aheader );
|
||||||
|
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* Basic Windows FNT/FON type definitions and interface (specification */
|
/* Basic Windows FNT/FON type definitions and interface (specification */
|
||||||
/* only). */
|
/* only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002 by */
|
/* Copyright 1996-2001, 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* The FreeType private base classes (specification). */
|
/* The FreeType private base classes (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002 by */
|
/* Copyright 1996-2001, 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -539,22 +539,24 @@ FT_BEGIN_HEADER
|
||||||
/* */
|
/* */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* free the bitmap of a given glyphslot when needed
|
* Free the bitmap of a given glyphslot when needed
|
||||||
* (i.e. only when it was allocated with ft_glyphslot_alloc_bitmap)
|
* (i.e., only when it was allocated with ft_glyphslot_alloc_bitmap).
|
||||||
*/
|
*/
|
||||||
FT_BASE( void )
|
FT_BASE( void )
|
||||||
ft_glyphslot_free_bitmap( FT_GlyphSlot slot );
|
ft_glyphslot_free_bitmap( FT_GlyphSlot slot );
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* allocate a new bitmap buffer in a glyph slot
|
* Allocate a new bitmap buffer in a glyph slot.
|
||||||
*/
|
*/
|
||||||
FT_BASE( FT_Error )
|
FT_BASE( FT_Error )
|
||||||
ft_glyphslot_alloc_bitmap( FT_GlyphSlot slot,
|
ft_glyphslot_alloc_bitmap( FT_GlyphSlot slot,
|
||||||
FT_ULong size );
|
FT_ULong size );
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* set the bitmap buffer in a glyph slot to a given pointer.
|
* Set the bitmap buffer in a glyph slot to a given pointer.
|
||||||
* the buffer will not be freed by a later call to ft_glyphslot_free_bitmap
|
* The buffer will not be freed by a later call to ft_glyphslot_free_bitmap.
|
||||||
*/
|
*/
|
||||||
FT_BASE( void )
|
FT_BASE( void )
|
||||||
ft_glyphslot_set_bitmap( FT_GlyphSlot slot,
|
ft_glyphslot_set_bitmap( FT_GlyphSlot slot,
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
FreeType font driver for pcf fonts
|
FreeType font driver for pcf fonts
|
||||||
|
|
||||||
Copyright (C) 2000-2001 by
|
Copyright (C) 2000, 2001, 2002 by
|
||||||
Francesco Zappa Nardelli
|
Francesco Zappa Nardelli
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
|
|
@ -1,9 +1,28 @@
|
||||||
#ifndef __FT_INTERNAL_PFR_H__
|
/***************************************************************************/
|
||||||
#define __FT_INTERNAL_PFR_H__
|
/* */
|
||||||
|
/* pfr.h */
|
||||||
|
/* */
|
||||||
|
/* Internal PFR service functions (specification only). */
|
||||||
|
/* */
|
||||||
|
/* Copyright 2002, 2003 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 __PFR_H__
|
||||||
|
#define __PFR_H__
|
||||||
|
|
||||||
#include <ft2build.h>
|
#include <ft2build.h>
|
||||||
#include FT_FREETYPE_H
|
#include FT_FREETYPE_H
|
||||||
|
|
||||||
|
|
||||||
FT_BEGIN_HEADER
|
FT_BEGIN_HEADER
|
||||||
|
|
||||||
typedef FT_Error (*FT_PFR_GetMetricsFunc)( FT_Face face,
|
typedef FT_Error (*FT_PFR_GetMetricsFunc)( FT_Face face,
|
||||||
|
@ -21,6 +40,7 @@ FT_BEGIN_HEADER
|
||||||
FT_UInt gindex,
|
FT_UInt gindex,
|
||||||
FT_Pos *aadvance );
|
FT_Pos *aadvance );
|
||||||
|
|
||||||
|
|
||||||
typedef struct FT_PFR_ServiceRec_
|
typedef struct FT_PFR_ServiceRec_
|
||||||
{
|
{
|
||||||
FT_PFR_GetMetricsFunc get_metrics;
|
FT_PFR_GetMetricsFunc get_metrics;
|
||||||
|
@ -31,6 +51,10 @@ FT_BEGIN_HEADER
|
||||||
|
|
||||||
#define FT_PFR_SERVICE_NAME "pfr"
|
#define FT_PFR_SERVICE_NAME "pfr"
|
||||||
|
|
||||||
|
|
||||||
FT_END_HEADER
|
FT_END_HEADER
|
||||||
|
|
||||||
#endif /* __FT_INTERNAL_PFR_H__ */
|
#endif /* __PFR_H__ */
|
||||||
|
|
||||||
|
|
||||||
|
/* END */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* High-level `sfnt' driver interface (specification). */
|
/* High-level `sfnt' driver interface (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001, 2002 by */
|
/* Copyright 1996-2001, 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -463,7 +463,7 @@ FT_BEGIN_HEADER
|
||||||
/* SFNT_Load_Table_Func */
|
/* SFNT_Load_Table_Func */
|
||||||
/* */
|
/* */
|
||||||
/* <Description> */
|
/* <Description> */
|
||||||
/* Loads a given SFNT table in memory */
|
/* Loads a given SFNT table into memory. */
|
||||||
/* */
|
/* */
|
||||||
typedef FT_Error
|
typedef FT_Error
|
||||||
(*SFNT_Load_Table_Func)( FT_Face face,
|
(*SFNT_Load_Table_Func)( FT_Face face,
|
||||||
|
@ -472,6 +472,7 @@ FT_BEGIN_HEADER
|
||||||
FT_Byte* buffer,
|
FT_Byte* buffer,
|
||||||
FT_ULong* length );
|
FT_ULong* length );
|
||||||
|
|
||||||
|
|
||||||
/*************************************************************************/
|
/*************************************************************************/
|
||||||
/* */
|
/* */
|
||||||
/* <Struct> */
|
/* <Struct> */
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* TrueType name ID definitions (specification only). */
|
/* TrueType name ID definitions (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2002 by */
|
/* Copyright 1996-2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -257,8 +257,8 @@ FT_BEGIN_HEADER
|
||||||
* Corresponds to Microsoft Johab encoding. See @FT_ENCODING_MS_JOHAB.
|
* Corresponds to Microsoft Johab encoding. See @FT_ENCODING_MS_JOHAB.
|
||||||
*
|
*
|
||||||
* TT_MS_ID_UCS_4 ::
|
* TT_MS_ID_UCS_4 ::
|
||||||
* Corresponds to UCS-4 or UTF-32 charmaps. This has been added into
|
* Corresponds to UCS-4 or UTF-32 charmaps. This has been added to
|
||||||
* OpenType specification as of version 1.4 (mid-2001.)
|
* the OpenType specification version 1.4 (mid-2001.)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define TT_MS_ID_SYMBOL_CS 0
|
#define TT_MS_ID_SYMBOL_CS 0
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* Basic SFNT/TrueType tables definitions and interface */
|
/* Basic SFNT/TrueType tables definitions and interface */
|
||||||
/* (specification only). */
|
/* (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 1996-2001 by */
|
/* Copyright 1996-2001, 2002, 2003 by */
|
||||||
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the FreeType project, and may only be used, */
|
/* This file is part of the FreeType project, and may only be used, */
|
||||||
|
@ -593,6 +593,7 @@ FT_BEGIN_HEADER
|
||||||
FT_Get_Sfnt_Table( FT_Face face,
|
FT_Get_Sfnt_Table( FT_Face face,
|
||||||
FT_Sfnt_Tag tag );
|
FT_Sfnt_Tag tag );
|
||||||
|
|
||||||
|
|
||||||
/**************************************************************************
|
/**************************************************************************
|
||||||
*
|
*
|
||||||
* <Function>
|
* <Function>
|
||||||
|
@ -602,38 +603,40 @@ FT_BEGIN_HEADER
|
||||||
* Loads any font table into client memory.
|
* Loads any font table into client memory.
|
||||||
*
|
*
|
||||||
* <Input>
|
* <Input>
|
||||||
* face :: handle to source face.
|
* face :: A handle to the source face.
|
||||||
* tag :: the 4-byte tag of the table to load. Use the value 0 if
|
|
||||||
* you want to access the whole font file. Else, you can use
|
|
||||||
* one of the definitions found in the @FT_TRUETYPE_TAGS_H
|
|
||||||
* file, or forge a new one with @FT_MAKE_TAG
|
|
||||||
*
|
*
|
||||||
* offset :: the starting offset in the table (or file if tag == 0)
|
* tag :: The 4-byte tag of the table to load. Use the value 0 if
|
||||||
|
* you want to access the whole font file. Otherwise, you can
|
||||||
|
* use one of the definitions found in the @FT_TRUETYPE_TAGS_H
|
||||||
|
* file, or forge a new one with @FT_MAKE_TAG.
|
||||||
|
*
|
||||||
|
* offset :: The starting offset in the table (or file if tag == 0).
|
||||||
*
|
*
|
||||||
* <Output>
|
* <Output>
|
||||||
* buffer :: target buffer address. client must ensure that there are
|
* buffer :: The target buffer address. The client must ensure that
|
||||||
* enough bytes in it.
|
* the memory array is big enough to hold the data.
|
||||||
*
|
*
|
||||||
* <InOut>
|
* <InOut>
|
||||||
* length :: if the 'length' parameter is NULL, then try to load the whole
|
* length :: If the `length' parameter is NULL, then try to load the whole
|
||||||
* table, and return an error code if it fails.
|
* table. Return an error code if it fails.
|
||||||
*
|
*
|
||||||
* else, if '*length' is 0, then exit immediately while returning
|
* Else, if `*length' is 0, exit immediately while returning
|
||||||
* the table's (or file) full size in it.
|
* the table's (or file) full size in it.
|
||||||
*
|
*
|
||||||
* else, the number of bytes to read from the table or file,
|
* Else the number of bytes to read from the table or file,
|
||||||
* from the starting offset.
|
* from the starting offset.
|
||||||
*
|
*
|
||||||
* <Return>
|
* <Return>
|
||||||
* error code. 0 means success
|
* FreeType error code. 0 means success.
|
||||||
*
|
*
|
||||||
* <Note>
|
* <Note>
|
||||||
* if you need to determine the table's length you should first call this
|
* If you need to determine the table's length you should first call this
|
||||||
* function with "*length" set to 0, as in the following example:
|
* function with `*length' set to 0, as in the following example:
|
||||||
*
|
*
|
||||||
* {
|
* {
|
||||||
* FT_ULong length = 0;
|
* FT_ULong length = 0;
|
||||||
*
|
*
|
||||||
|
*
|
||||||
* error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
|
* error = FT_Load_Sfnt_Table( face, tag, 0, NULL, &length );
|
||||||
* if ( error ) { ... table does not exist ... }
|
* if ( error ) { ... table does not exist ... }
|
||||||
*
|
*
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Routines used to compute global metrics automatically (body). */
|
/* Routines used to compute global metrics automatically (body). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2000-2001, 2002 Catharon Productions Inc. */
|
/* Copyright 2000-2001, 2002, 2003 Catharon Productions Inc. */
|
||||||
/* Author: David Turner */
|
/* Author: David Turner */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the Catharon Typography Project and shall only */
|
/* This file is part of the Catharon Typography Project and shall only */
|
||||||
|
@ -323,7 +323,8 @@
|
||||||
if ( error )
|
if ( error )
|
||||||
goto Exit;
|
goto Exit;
|
||||||
|
|
||||||
error = ah_outline_load( hinter->glyph, 0x10000L, 0x10000L, hinter->face );
|
error = ah_outline_load( hinter->glyph, 0x10000L, 0x10000L,
|
||||||
|
hinter->face );
|
||||||
if ( error )
|
if ( error )
|
||||||
goto Exit;
|
goto Exit;
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* Routines used to compute global metrics automatically */
|
/* Routines used to compute global metrics automatically */
|
||||||
/* (specification). */
|
/* (specification). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2000-2001, 2002 Catharon Productions Inc. */
|
/* Copyright 2000-2001, 2002, 2003 Catharon Productions Inc. */
|
||||||
/* Author: David Turner */
|
/* Author: David Turner */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the Catharon Typography Project and shall only */
|
/* This file is part of the Catharon Typography Project and shall only */
|
||||||
|
@ -38,12 +38,12 @@ FT_BEGIN_HEADER
|
||||||
(b) == AH_BLUE_SMALL_F_TOP || \
|
(b) == AH_BLUE_SMALL_F_TOP || \
|
||||||
(b) == AH_BLUE_SMALL_TOP )
|
(b) == AH_BLUE_SMALL_TOP )
|
||||||
|
|
||||||
#else /* !CHESTER_SMALL_F */
|
#else /* !FT_CONFIG_CHESTER_SMALL_F */
|
||||||
|
|
||||||
#define AH_IS_TOP_BLUE( b ) ( (b) == AH_BLUE_CAPITAL_TOP || \
|
#define AH_IS_TOP_BLUE( b ) ( (b) == AH_BLUE_CAPITAL_TOP || \
|
||||||
(b) == AH_BLUE_SMALL_TOP )
|
(b) == AH_BLUE_SMALL_TOP )
|
||||||
|
|
||||||
#endif /* !CHESTER_SMALL_F */
|
#endif /* !FT_CONFIG_CHESTER_SMALL_F */
|
||||||
|
|
||||||
|
|
||||||
/* compute global metrics automatically */
|
/* compute global metrics automatically */
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* Routines used to load and analyze a given glyph before hinting */
|
/* Routines used to load and analyze a given glyph before hinting */
|
||||||
/* (body). */
|
/* (body). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2000-2001, 2002 Catharon Productions Inc. */
|
/* Copyright 2000-2001, 2002, 2003 Catharon Productions Inc. */
|
||||||
/* Author: David Turner */
|
/* Author: David Turner */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the Catharon Typography Project and shall only */
|
/* This file is part of the Catharon Typography Project and shall only */
|
||||||
|
@ -1358,12 +1358,12 @@
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
edge->link = edge2;
|
edge->link = edge2;
|
||||||
#else /* !CHESTER_SERIF */
|
#else /* !FT_CONFIG_CHESTER_SERIF */
|
||||||
if ( is_serif )
|
if ( is_serif )
|
||||||
edge->serif = edge2;
|
edge->serif = edge2;
|
||||||
else
|
else
|
||||||
edge->link = edge2;
|
edge->link = edge2;
|
||||||
#endif
|
#endif /* !FT_CONFIG_CHESTER_SERIF */
|
||||||
}
|
}
|
||||||
|
|
||||||
seg = seg->edge_next;
|
seg = seg->edge_next;
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
/* */
|
/* */
|
||||||
/* Glyph hinter (body). */
|
/* Glyph hinter (body). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2000-2001, 2002 Catharon Productions Inc. */
|
/* Copyright 2000-2001, 2002, 2003 Catharon Productions Inc. */
|
||||||
/* Author: David Turner */
|
/* Author: David Turner */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the Catharon Typography Project and shall only */
|
/* This file is part of the Catharon Typography Project and shall only */
|
||||||
|
@ -88,7 +88,9 @@
|
||||||
|
|
||||||
|
|
||||||
/* compute the snapped width of a given stem */
|
/* compute the snapped width of a given stem */
|
||||||
|
|
||||||
#ifdef FT_CONFIG_CHESTER_SERIF
|
#ifdef FT_CONFIG_CHESTER_SERIF
|
||||||
|
|
||||||
static FT_Pos
|
static FT_Pos
|
||||||
ah_compute_stem_width( AH_Hinter hinter,
|
ah_compute_stem_width( AH_Hinter hinter,
|
||||||
int vertical,
|
int vertical,
|
||||||
|
@ -218,7 +220,9 @@
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
}
|
||||||
#else /* !CHESTER_SERIF */
|
|
||||||
|
#else /* !FT_CONFIG_CHESTER_SERIF */
|
||||||
|
|
||||||
static FT_Pos
|
static FT_Pos
|
||||||
ah_compute_stem_width( AH_Hinter hinter,
|
ah_compute_stem_width( AH_Hinter hinter,
|
||||||
int vertical,
|
int vertical,
|
||||||
|
@ -332,7 +336,8 @@
|
||||||
|
|
||||||
return dist;
|
return dist;
|
||||||
}
|
}
|
||||||
#endif /* !CHESTER_SERIF */
|
|
||||||
|
#endif /* !FT_CONFIG_CHESTER_SERIF */
|
||||||
|
|
||||||
|
|
||||||
/* align one stem edge relative to the previous stem edge */
|
/* align one stem edge relative to the previous stem edge */
|
||||||
|
@ -345,6 +350,7 @@
|
||||||
FT_Pos dist = stem_edge->opos - base_edge->opos;
|
FT_Pos dist = stem_edge->opos - base_edge->opos;
|
||||||
|
|
||||||
#ifdef FT_CONFIG_CHESTER_SERIF
|
#ifdef FT_CONFIG_CHESTER_SERIF
|
||||||
|
|
||||||
FT_Pos fitted_width = ah_compute_stem_width( hinter,
|
FT_Pos fitted_width = ah_compute_stem_width( hinter,
|
||||||
vertical,
|
vertical,
|
||||||
dist,
|
dist,
|
||||||
|
@ -352,10 +358,14 @@
|
||||||
stem_edge->flags );
|
stem_edge->flags );
|
||||||
|
|
||||||
stem_edge->pos = base_edge->pos + fitted_width;
|
stem_edge->pos = base_edge->pos + fitted_width;
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
stem_edge->pos = base_edge->pos +
|
stem_edge->pos = base_edge->pos +
|
||||||
ah_compute_stem_width( hinter, vertical, dist );
|
ah_compute_stem_width( hinter, vertical, dist );
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -509,7 +519,9 @@
|
||||||
|
|
||||||
if ( !anchor )
|
if ( !anchor )
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef FT_CONFIG_CHESTER_STEM
|
#ifdef FT_CONFIG_CHESTER_STEM
|
||||||
|
|
||||||
FT_Pos org_len, org_center, cur_len;
|
FT_Pos org_len, org_center, cur_len;
|
||||||
FT_Pos cur_pos1, error1, error2, u_off, d_off;
|
FT_Pos cur_pos1, error1, error2, u_off, d_off;
|
||||||
|
|
||||||
|
@ -556,14 +568,18 @@
|
||||||
edge->flags |= AH_EDGE_DONE;
|
edge->flags |= AH_EDGE_DONE;
|
||||||
|
|
||||||
ah_align_linked_edge( hinter, edge, edge2, dimension );
|
ah_align_linked_edge( hinter, edge, edge2, dimension );
|
||||||
#else /* !CHESTER_STEM */
|
|
||||||
|
#else /* !FT_CONFIG_CHESTER_STEM */
|
||||||
|
|
||||||
edge->pos = ( edge->opos + 32 ) & -64;
|
edge->pos = ( edge->opos + 32 ) & -64;
|
||||||
anchor = edge;
|
anchor = edge;
|
||||||
|
|
||||||
edge->flags |= AH_EDGE_DONE;
|
edge->flags |= AH_EDGE_DONE;
|
||||||
|
|
||||||
ah_align_linked_edge( hinter, edge, edge2, dimension );
|
ah_align_linked_edge( hinter, edge, edge2, dimension );
|
||||||
#endif /* !CHESTER_STEM */
|
|
||||||
|
#endif /* !FT_CONFIG_CHESTER_STEM */
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -576,13 +592,19 @@
|
||||||
org_center = org_pos + ( org_len >> 1 );
|
org_center = org_pos + ( org_len >> 1 );
|
||||||
|
|
||||||
#ifdef FT_CONFIG_CHESTER_SERIF
|
#ifdef FT_CONFIG_CHESTER_SERIF
|
||||||
|
|
||||||
cur_len = ah_compute_stem_width( hinter, dimension, org_len,
|
cur_len = ah_compute_stem_width( hinter, dimension, org_len,
|
||||||
edge->flags, edge2->flags );
|
edge->flags, edge2->flags );
|
||||||
#else /* !CHESTER_SERIF */
|
|
||||||
|
|
||||||
|
#else /* !FT_CONFIG_CHESTER_SERIF */
|
||||||
|
|
||||||
cur_len = ah_compute_stem_width( hinter, dimension, org_len );
|
cur_len = ah_compute_stem_width( hinter, dimension, org_len );
|
||||||
#endif /* !CHESTER_SERIF */
|
|
||||||
|
#endif /* !FT_CONFIG_CHESTER_SERIF */
|
||||||
|
|
||||||
#ifdef FT_CONFIG_CHESTER_STEM
|
#ifdef FT_CONFIG_CHESTER_STEM
|
||||||
|
|
||||||
if ( cur_len < 96 )
|
if ( cur_len < 96 )
|
||||||
{
|
{
|
||||||
FT_Pos u_off, d_off;
|
FT_Pos u_off, d_off;
|
||||||
|
@ -638,7 +660,7 @@
|
||||||
edge2->pos = edge->pos + cur_len;
|
edge2->pos = edge->pos + cur_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* !CHESTER_STEM */
|
#else /* !FT_CONFIG_CHESTER_STEM */
|
||||||
|
|
||||||
cur_pos1 = ( org_pos + 32 ) & -64;
|
cur_pos1 = ( org_pos + 32 ) & -64;
|
||||||
delta1 = ( cur_pos1 + ( cur_len >> 1 ) - org_center );
|
delta1 = ( cur_pos1 + ( cur_len >> 1 ) - org_center );
|
||||||
|
@ -653,7 +675,7 @@
|
||||||
edge->pos = ( delta1 <= delta2 ) ? cur_pos1 : cur_pos2;
|
edge->pos = ( delta1 <= delta2 ) ? cur_pos1 : cur_pos2;
|
||||||
edge2->pos = edge->pos + cur_len;
|
edge2->pos = edge->pos + cur_len;
|
||||||
|
|
||||||
#endif /* !CHESTER_STEM */
|
#endif /* !FT_CONFIG_CHESTER_STEM */
|
||||||
|
|
||||||
edge->flags |= AH_EDGE_DONE;
|
edge->flags |= AH_EDGE_DONE;
|
||||||
edge2->flags |= AH_EDGE_DONE;
|
edge2->flags |= AH_EDGE_DONE;
|
||||||
|
@ -1662,6 +1684,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef FT_CONFIG_CHESTER_BLUE_SCALE
|
#ifdef FT_CONFIG_CHESTER_BLUE_SCALE
|
||||||
|
|
||||||
/* try to optimize the y_scale so that the top of non-capital letters
|
/* try to optimize the y_scale so that the top of non-capital letters
|
||||||
* is aligned on a pixel boundary whenever possible
|
* is aligned on a pixel boundary whenever possible
|
||||||
*/
|
*/
|
||||||
|
@ -1689,6 +1712,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* FT_CONFIG_CHESTER_BLUE_SCALE */
|
#endif /* FT_CONFIG_CHESTER_BLUE_SCALE */
|
||||||
|
|
||||||
/* now, we must check the current character pixel size to see if we */
|
/* now, we must check the current character pixel size to see if we */
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
/* General types and definitions for the auto-hint module */
|
/* General types and definitions for the auto-hint module */
|
||||||
/* (specification only). */
|
/* (specification only). */
|
||||||
/* */
|
/* */
|
||||||
/* Copyright 2000-2001, 2002 Catharon Productions Inc. */
|
/* Copyright 2000-2001, 2002, 2003 Catharon Productions Inc. */
|
||||||
/* Author: David Turner */
|
/* Author: David Turner */
|
||||||
/* */
|
/* */
|
||||||
/* This file is part of the Catharon Typography Project and shall only */
|
/* This file is part of the Catharon Typography Project and shall only */
|
||||||
|
@ -395,7 +395,7 @@ FT_BEGIN_HEADER
|
||||||
#define AH_BLUE_SMALL_MINOR ( AH_BLUE_SMALL_BOTTOM + 1 ) /* pqgjy */
|
#define AH_BLUE_SMALL_MINOR ( AH_BLUE_SMALL_BOTTOM + 1 ) /* pqgjy */
|
||||||
#define AH_BLUE_MAX ( AH_BLUE_SMALL_MINOR + 1 )
|
#define AH_BLUE_MAX ( AH_BLUE_SMALL_MINOR + 1 )
|
||||||
|
|
||||||
#else /* !CHESTER_SMALL_F */
|
#else /* !FT_CONFIG_CHESTER_SMALL_F */
|
||||||
|
|
||||||
#define AH_BLUE_CAPITAL_TOP 0 /* THEZOCQS */
|
#define AH_BLUE_CAPITAL_TOP 0 /* THEZOCQS */
|
||||||
#define AH_BLUE_CAPITAL_BOTTOM ( AH_BLUE_CAPITAL_TOP + 1 ) /* HEZLOCUS */
|
#define AH_BLUE_CAPITAL_BOTTOM ( AH_BLUE_CAPITAL_TOP + 1 ) /* HEZLOCUS */
|
||||||
|
@ -404,7 +404,7 @@ FT_BEGIN_HEADER
|
||||||
#define AH_BLUE_SMALL_MINOR ( AH_BLUE_SMALL_BOTTOM + 1 ) /* pqgjy */
|
#define AH_BLUE_SMALL_MINOR ( AH_BLUE_SMALL_BOTTOM + 1 ) /* pqgjy */
|
||||||
#define AH_BLUE_MAX ( AH_BLUE_SMALL_MINOR + 1 )
|
#define AH_BLUE_MAX ( AH_BLUE_SMALL_MINOR + 1 )
|
||||||
|
|
||||||
#endif /* !CHESTER_SMALL_F */
|
#endif /* !FT_CONFIG_CHESTER_SMALL_F */
|
||||||
|
|
||||||
typedef FT_Int AH_Blue;
|
typedef FT_Int AH_Blue;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue