ref: 5aa646c565b963d44e295162dbe27c039fdd2e1b
parent: 8cfcf6e057ab5d3a6791a80ae13b84f0ac353217
author: Werner Lemberg <[email protected]>
date: Fri Jul 14 02:16:47 EDT 2000
Formatting. Fixing a bug in FT_Get_Kerning(). Moving FT_Get_Module_Interface() to ftoutln.c.
--- a/include/freetype/ftbbox.h
+++ b/include/freetype/ftbbox.h
@@ -7,8 +7,8 @@
/* 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 */
+/* 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. */
--- a/include/freetype/fterrors.h
+++ b/include/freetype/fterrors.h
@@ -2,7 +2,7 @@
/* */
/* fterrors.h */
/* */
-/* FreeType error codes (specification). */
+/* FreeType error codes (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/include/freetype/ftglyph.h
+++ b/include/freetype/ftglyph.h
@@ -2,7 +2,7 @@
/* */
/* ftglyph.h */
/* */
-/* FreeType convenience functions to handle glyphs.. */
+/* FreeType convenience functions to handle glyphs (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/include/freetype/ftimage.h
+++ b/include/freetype/ftimage.h
@@ -2,10 +2,11 @@
/* */
/* ftimage.h */
/* */
-/* FreeType glyph image formats and default raster interface. */
+/* FreeType glyph image formats and default raster interface */
+/* (specification). */
/* */
/* Copyright 1996-2000 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, */
/* modified, and distributed under the terms of the FreeType project */
--- a/include/freetype/ftmm.h
+++ b/include/freetype/ftmm.h
@@ -2,7 +2,7 @@
/* */
/* ftmm.h */
/* */
-/* FreeType Multiple Master font interface. */
+/* FreeType Multiple Master font interface (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
@@ -47,7 +47,7 @@
FT_String* name;
FT_Long minimum;
FT_Long maximum;
-
+
} FT_MM_Axis;
@@ -75,13 +75,13 @@
FT_UInt num_axis;
FT_UInt num_designs;
FT_MM_Axis axis[T1_MAX_MM_AXIS];
-
+
} FT_Multi_Master;
typedef FT_Error (*FT_Get_MM_Func)( FT_Face face,
FT_Multi_Master* master );
-
+
typedef FT_Error (*FT_Set_MM_Design_Func)( FT_Face face,
FT_UInt num_coords,
FT_Long* coords );
--- a/include/freetype/ftmodule.h
+++ b/include/freetype/ftmodule.h
@@ -2,7 +2,7 @@
/* */
/* ftmodule.h */
/* */
-/* FreeType modules public interface. */
+/* FreeType modules public interface (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
@@ -99,7 +99,7 @@
FT_Module_Constructor module_init;
FT_Module_Destructor module_done;
FT_Module_Requester get_interface;
-
+
} FT_Module_Class;
@@ -154,32 +154,6 @@
/*************************************************************************/
/* */
/* <Function> */
- /* FT_Get_Module_Interface */
- /* */
- /* <Description> */
- /* Finds a module and returns its specific interface as a typeless */
- /* pointer. */
- /* */
- /* <Input> */
- /* library :: A handle to the library object. */
- /* */
- /* module_name :: The module's name (as an ASCII string). */
- /* */
- /* <Return> */
- /* A module-specific interface if available, 0 otherwise. */
- /* */
- /* <Note> */
- /* You should better be familiar with FreeType internals to know */
- /* which module to look for, and what its interface is :-) */
- /* */
- FT_EXPORT_DEF( const void* ) FT_Get_Module_Interface(
- FT_Library library,
- const char* mod_name );
-
-
- /*************************************************************************/
- /* */
- /* <Function> */
/* FT_Remove_Module */
/* */
/* <Description> */
@@ -244,7 +218,7 @@
typedef void (*FT_DebugHook_Func)( void* arg );
-
+
/*************************************************************************/
/* */
/* <Function> */
--- a/include/freetype/ftoutln.h
+++ b/include/freetype/ftoutln.h
@@ -2,8 +2,8 @@
/* */
/* ftoutln.h */
/* */
-/* Support for the FT_Outline type (used to store glyph shapes of */
-/* most scalable font formats) */
+/* Support for the FT_Outline type used to store glyph shapes of */
+/* most scalable font formats (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/include/freetype/ftrender.h
+++ b/include/freetype/ftrender.h
@@ -2,7 +2,7 @@
/* */
/* ftrender.h */
/* */
-/* FreeType renderer modules public interface */
+/* FreeType renderer modules public interface (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/include/freetype/ftsystem.h
+++ b/include/freetype/ftsystem.h
@@ -2,7 +2,7 @@
/* */
/* ftsystem.h */
/* */
-/* FreeType low-level system interface definition */
+/* FreeType low-level system interface definition (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/include/freetype/fttypes.h
+++ b/include/freetype/fttypes.h
@@ -2,7 +2,7 @@
/* */
/* fttypes.h */
/* */
-/* FreeType simple types definitions */
+/* FreeType simple types definitions (specification only). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/include/freetype/internal/autohint.h
+++ b/include/freetype/internal/autohint.h
@@ -2,7 +2,7 @@
/* */
/* autohint.h */
/* */
-/* High-level `autohint" module-specific interface (specification) */
+/* High-level `autohint' module-specific interface (specification). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
@@ -13,159 +13,172 @@
/* this file you indicate that you have read the license and */
/* understand and accept it fully. */
/* */
-/* */
-/* The auto-hinter is used to load and automatically hint glyphs */
-/* when a format-specific hinter isn't available.. */
-/* */
/***************************************************************************/
+
+ /*************************************************************************/
+ /* */
+ /* The auto-hinter is used to load and automatically hint glyphs if a */
+ /* format-specific hinter isn't available. */
+ /* */
+ /*************************************************************************/
+
+
#ifndef AUTOHINT_H
#define AUTOHINT_H
- /***************************************************************************
- *
- * A small technical note regarding automatic hinting in order to clarify
- * this module interface.
- *
- * An automatic hinter might compute two kinds of data for a given face:
- *
- * - global hints: usually some metrics that describe global properties
- * of the face. It is computed by scanning more or less
- * agressively the glyphs in the face, and thus can be
- * very slow to compute (even if the size of global hints
- * is really small)
- *
- * - glyph hints: these describe some important features of the glyph
- * outline, as well as how to align them. They are generally
- * much faster to compute than global hints.
- *
- * The current FreeType auto-hinter does a pretty good job while performing
- * fast computations for both global and glyph hints. However, we might be
- * interested in introducing more complex and powerful algorithms in the
- * future, like the one described in the John D. Hobby paper, which
- * unfortunately require a lot more horsepower.
- *
- * Because a sufficiently sophisticated font management system would
- * typically implement a LRU cache of opened face objects to reduce memory
- * usage, it is a good idea to be able to avoid recomputing global hints
- * every time the same face is re-opened.
- *
- * We thus provide the ability to cache global hints outside of the face
- * object, in order to speed up font re-opening time. Of course, this
- * feature is purely optional, so most client programs won't even notice
- * it :o)
- *
- * I initially though that it'd be a good idea to cache the glyph hints too,
- * however, if my general idea now is that if you really need to cache these
- * too, you're simply in need of a new font format, where all this information
- * could be stored within the font file and decoded on the fly :-)
- *
- */
+ /*************************************************************************/
+ /* */
+ /* A small technical note regarding automatic hinting in order to */
+ /* clarify this module interface. */
+ /* */
+ /* An automatic hinter might compute two kinds of data for a given face: */
+ /* */
+ /* - global hints: Usually some metrics that describe global properties */
+ /* of the face. It is computed by scanning more or less */
+ /* agressively the glyphs in the face, and thus can be */
+ /* very slow to compute (even if the size of global */
+ /* hints is really small). */
+ /* */
+ /* - glyph hints: These describe some important features of the glyph */
+ /* outline, as well as how to align them. They are */
+ /* generally much faster to compute than global hints. */
+ /* */
+ /* The current FreeType auto-hinter does a pretty good job while */
+ /* performing fast computations for both global and glyph hints. */
+ /* However, we might be interested in introducing more complex and */
+ /* powerful algorithms in the future, like the one described in the John */
+ /* D. Hobby paper, which unfortunately requires a lot more horsepower. */
+ /* */
+ /* Because a sufficiently sophisticated font management system would */
+ /* typically implement an LRU cache of opened face objects to reduce */
+ /* memory usage, it is a good idea to be able to avoid recomputing */
+ /* global hints every time the same face is re-opened. */
+ /* */
+ /* We thus provide the ability to cache global hints outside of the face */
+ /* object, in order to speed up font re-opening time. Of course, this */
+ /* feature is purely optional, so most client programs won't even notice */
+ /* it. */
+ /* */
+ /* I initially thought that it would be a good idea to cache the glyph */
+ /* hints too. However, my general idea now is that if you really need */
+ /* to cache these too, you are simply in need of a new font format, */
+ /* where all this information could be stored within the font file and */
+ /* decoded on the fly. */
+ /* */
+ /*************************************************************************/
+
+
#include <freetype/freetype.h>
+
typedef struct FT_AutoHinterRec_ *FT_AutoHinter;
- /***********************************************************************
- *
- * <FuncType>
- * FT_AutoHinter_Get_Global_Func
- *
- * <Description>
- * Retrieve the global hints computed for a given face object
- * the resulting data is dissociated from the face and will survive
- * a call to FT_Done_Face. It must be discarded through the API
- * FT_AutoHinter_Done_Global_Func.
- *
- * <Input>
- * hinter :: handle to source auto-hinter
- * face :: handle to source face object
- *
- * <Output>
- * global_hints :: typeless pointer to the global hints
- * global_len :: size in bytes of global hints
- *
- */
- typedef void (*FT_AutoHinter_Get_Global_Func)( FT_AutoHinter hinter,
- FT_Face face,
- void* *global_hints,
- long *global_len );
- /***********************************************************************
- *
- * <FuncType>
- * FT_AutoHinter_Done_Global_Func
- *
- * <Description>
- * Discards the global hints retrieved through
- * FT_AutoHinter_Get_Global_Func. This is the only way these hints
- * are freed from memory.
- *
- * <Input>
- * hinter :: handle to auto-hinter module
- * global :: pointer to retrieved global hints to discard
- */
- typedef void (*FT_AutoHinter_Done_Global_Func)( FT_AutoHinter hinter,
- void* global );
+ /*************************************************************************/
+ /* */
+ /* <FuncType> */
+ /* FT_AutoHinter_Get_Global_Func */
+ /* */
+ /* <Description> */
+ /* Retrieves the global hints computed for a given face object the */
+ /* resulting data is dissociated from the face and will survive a */
+ /* call to FT_Done_Face(). It must be discarded through the API */
+ /* FT_AutoHinter_Done_Global_Func(). */
+ /* */
+ /* <Input> */
+ /* hinter :: A handle to the source auto-hinter. */
+ /* */
+ /* face :: A handle to the source face object. */
+ /* */
+ /* <Output> */
+ /* global_hints :: A typeless pointer to the global hints. */
+ /* */
+ /* global_len :: The size in bytes of the global hints. */
+ /* */
+ typedef void (*FT_AutoHinter_Get_Global_Func)(
+ FT_AutoHinter hinter,
+ FT_Face face,
+ void** global_hints,
+ long* global_len );
- /***********************************************************************
- *
- * <FuncType>
- * FT_AutoHinter_Reset_Func
- *
- * <Description>
- * This function is used to recompute the global metrics in a given
- * font. This is useful when global font data changes (e.g. multiple
- * masters fonts where blend coordinates change..)
- *
- * <Input>
- * hinter :: handle to source auto-hinter
- * face :: handle to the face.
- *
- *
- */
- typedef void (*FT_AutoHinter_Reset_Func)( FT_AutoHinter hinter,
- FT_Face face );
- /***********************************************************************
- *
- * <FuncType>
- * FT_AutoHinter_Load_Func
- *
- * <Description>
- * This function is used to load, scale and automatically hint a glyph
- * from a given face.
- *
- * <Input>
- * face :: handle to the face.
- * glyph_index :: glyph index
- * load_flags :: load flags
- *
- * <Note>
- * This function is capable of loading composite glyphs by hinting
- * each sub-glyph independently (which improves quality).
- *
- * It will call the font driver with FT_Load_Glyph, with FT_LOAD_NO_SCALE
- * set..
- *
- */
- typedef FT_Error (*FT_AutoHinter_Load_Func)(
- FT_AutoHinter hinter,
- FT_GlyphSlot slot,
- FT_Size size,
- FT_UInt glyph_index,
- FT_ULong load_flags );
+ /*************************************************************************/
+ /* */
+ /* <FuncType> */
+ /* FT_AutoHinter_Done_Global_Func */
+ /* */
+ /* <Description> */
+ /* Discards the global hints retrieved through */
+ /* FT_AutoHinter_Get_Global_Func(). This is the only way these hints */
+ /* are freed from memory. */
+ /* */
+ /* <Input> */
+ /* hinter :: A handle to the auto-hinter module. */
+ /* */
+ /* global :: A pointer to retrieved global hints to discard. */
+ /* */
+ typedef void (*FT_AutoHinter_Done_Global_Func)( FT_AutoHinter hinter,
+ void* global );
- /***********************************************************************
- *
- * <Struct>
- * FT_AutoHinter_Interface
- *
- * <Description>
- * The auto-hinter module's interface.
- *
- */
- typedef struct FT_AutoHinter_Interface
+
+ /*************************************************************************/
+ /* */
+ /* <FuncType> */
+ /* FT_AutoHinter_Reset_Func */
+ /* */
+ /* <Description> */
+ /* This function is used to recompute the global metrics in a given */
+ /* font. This is useful when global font data changes (e.g. Multiple */
+ /* Masters fonts where blend coordinates change). */
+ /* */
+ /* <Input> */
+ /* hinter :: A handle to the source auto-hinter. */
+ /* */
+ /* face :: A handle to the face. */
+ /* */
+ typedef void (*FT_AutoHinter_Reset_Func)( FT_AutoHinter hinter,
+ FT_Face face );
+
+
+ /*************************************************************************/
+ /* */
+ /* <FuncType> */
+ /* FT_AutoHinter_Load_Func */
+ /* */
+ /* <Description> */
+ /* This function is used to load, scale, and automatically hint a */
+ /* glyph from a given face. */
+ /* */
+ /* <Input> */
+ /* face :: A handle to the face. */
+ /* glyph_index :: The glyph index. */
+ /* load_flags :: The load flags. */
+ /* */
+ /* <Note> */
+ /* This function is capable of loading composite glyphs by hinting */
+ /* each sub-glyph independently (which improves quality). */
+ /* */
+ /* It will call the font driver with FT_Load_Glyph(), with */
+ /* FT_LOAD_NO_SCALE set. */
+ /* */
+ typedef FT_Error (*FT_AutoHinter_Load_Func)( FT_AutoHinter hinter,
+ FT_GlyphSlot slot,
+ FT_Size size,
+ FT_UInt glyph_index,
+ FT_ULong load_flags );
+
+
+ /*************************************************************************/
+ /* */
+ /* <Struct> */
+ /* FT_AutoHinter_Interface */
+ /* */
+ /* <Description> */
+ /* The auto-hinter module's interface. */
+ /* */
+ typedef struct FT_AutoHinter_Interface
{
FT_AutoHinter_Reset_Func reset_face;
FT_AutoHinter_Load_Func load_glyph;
@@ -175,5 +188,8 @@
} FT_AutoHinter_Interface;
+
#endif /* AUTOHINT_H */
+
+/* END */
--- a/include/freetype/internal/ftobjs.h
+++ b/include/freetype/internal/ftobjs.h
@@ -5,10 +5,10 @@
/* The FreeType private base classes (specification). */
/* */
/* Copyright 1996-2000 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 */
-/* modified and distributed under the terms of the FreeType project */
+/* 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. */
@@ -141,6 +141,32 @@
#define FT_DRIVER_HAS_HINTER(x) (FT_MODULE_CLASS(x)->module_flags & \
ft_module_driver_has_hinter )
+
+
+ /*************************************************************************/
+ /* */
+ /* <Function> */
+ /* FT_Get_Module_Interface */
+ /* */
+ /* <Description> */
+ /* Finds a module and returns its specific interface as a typeless */
+ /* pointer. */
+ /* */
+ /* <Input> */
+ /* library :: A handle to the library object. */
+ /* */
+ /* module_name :: The module's name (as an ASCII string). */
+ /* */
+ /* <Return> */
+ /* A module-specific interface if available, 0 otherwise. */
+ /* */
+ /* <Note> */
+ /* You should better be familiar with FreeType internals to know */
+ /* which module to look for, and what its interface is :-) */
+ /* */
+ BASE_DEF( const void* ) FT_Get_Module_Interface( FT_Library library,
+ const char* mod_name );
+
/*************************************************************************/
/*************************************************************************/
--- a/include/freetype/t1tables.h
+++ b/include/freetype/t1tables.h
@@ -2,7 +2,8 @@
/* */
/* t1tables.h */
/* */
-/* Basic Type 1/Type 2 tables definitions and interface */
+/* Basic Type 1/Type 2 tables definitions and interface (specification */
+/* only). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
@@ -139,7 +140,7 @@
/* 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
@@ -153,7 +154,7 @@
FT_Byte num_points;
FT_Fixed* design_points;
FT_Fixed* blend_points;
-
+
} T1_DesignMap;
@@ -161,19 +162,19 @@
{
FT_UInt num_designs;
FT_UInt num_axis;
-
+
FT_String* axis_names[T1_MAX_MM_AXIS];
FT_Fixed* design_pos[T1_MAX_MM_DESIGNS];
T1_DesignMap design_map[T1_MAX_MM_AXIS];
-
+
FT_Fixed* weight_vector;
FT_Fixed* default_weight_vector;
-
+
T1_FontInfo* font_infos[T1_MAX_MM_DESIGNS + 1];
T1_Private* privates [T1_MAX_MM_DESIGNS + 1];
-
+
FT_ULong blend_bitflags;
-
+
} T1_Blend;
@@ -185,7 +186,7 @@
FT_Fixed forcebold_threshold;
FT_Pos stroke_width;
FT_Fixed expansion_factor;
-
+
FT_Byte paint_type;
FT_Byte font_type;
FT_Matrix font_matrix;
--- a/include/freetype/ttnameid.h
+++ b/include/freetype/ttnameid.h
@@ -2,7 +2,7 @@
/* */
/* ttmakeid.h */
/* */
-/* TrueType name ID definitions */
+/* TrueType name ID definitions (specification only). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/include/freetype/tttables.h
+++ b/include/freetype/tttables.h
@@ -3,6 +3,7 @@
/* tttables.h */
/* */
/* Basic SFNT/TrueType tables definitions and interface */
+/* (specification only). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
@@ -428,7 +429,7 @@
FT_Char WidthType;
FT_Byte SerifStyle;
FT_Byte Reserved;
-
+
} TT_PCLT;
--- a/include/freetype/tttags.h
+++ b/include/freetype/tttags.h
@@ -9,7 +9,7 @@
/* */
/* 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 */
+/* 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. */
/* */
--- a/src/base/ftbase.c
+++ b/src/base/ftbase.c
@@ -2,7 +2,7 @@
/* */
/* ftbase.c */
/* */
-/* Single object library component. */
+/* Single object library component (body only). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/src/base/ftextend.c
+++ b/src/base/ftextend.c
@@ -2,7 +2,7 @@
/* */
/* ftextend.h */
/* */
-/* FreeType extensions implementation (body). */
+/* FreeType extensions implementation (body). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/src/base/ftinit.c
+++ b/src/base/ftinit.c
@@ -2,7 +2,7 @@
/* */
/* ftinit.c */
/* */
-/* FreeType initialisation layer (body). */
+/* FreeType initialization layer (body). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -2,7 +2,7 @@
/* */
/* ftobjs.c */
/* */
-/* The FreeType private base classes (base). */
+/* The FreeType private base classes (body). */
/* */
/* Copyright 1996-2000 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
@@ -2088,6 +2088,9 @@
driver = face->driver;
memory = driver->root.memory;
+ kerning->x = 0;
+ kerning->y = 0;
+
if ( driver->clazz->get_kerning )
{
error = driver->clazz->get_kerning( face,
@@ -2094,26 +2097,21 @@
left_glyph,
right_glyph,
kerning );
- }
- if ( !error )
- {
- if ( kern_mode != ft_kerning_unscaled )
+ if ( !error )
{
- kerning->x = FT_MulFix( kerning->x, face->size->metrics.x_scale );
- kerning->y = FT_MulFix( kerning->y, face->size->metrics.y_scale );
-
- if ( kern_mode != ft_kerning_unfitted )
+ if ( kern_mode != ft_kerning_unscaled )
{
- kerning->x = ( kerning->x + 32 ) & -64;
- kerning->y = ( kerning->y + 32 ) & -64;
+ kerning->x = FT_MulFix( kerning->x, face->size->metrics.x_scale );
+ kerning->y = FT_MulFix( kerning->y, face->size->metrics.y_scale );
+
+ if ( kern_mode != ft_kerning_unfitted )
+ {
+ kerning->x = ( kerning->x + 32 ) & -64;
+ kerning->y = ( kerning->y + 32 ) & -64;
+ }
}
}
}
- else
- {
- kerning->x = 0;
- kerning->y = 0;
- }
return error;
}
@@ -2922,9 +2920,8 @@
/* You should better be familiar with FreeType internals to know */
/* which module to look for, and what its interface is :-) */
/* */
- FT_EXPORT_FUNC( const void* ) FT_Get_Module_Interface(
- FT_Library library,
- const char* mod_name )
+ BASE_FUNC( const void* ) FT_Get_Module_Interface( FT_Library library,
+ const char* mod_name )
{
FT_Module module;
--- a/src/cff/t2gload.c
+++ b/src/cff/t2gload.c
@@ -1264,7 +1264,7 @@
args = stack;
- /* adding six more points; 4 control points, 2 on-curve point */
+ /* adding six more points; 4 control points, 2 on-curve points */
if ( start_point( builder, x, y ) ||
check_points ( builder, 6 ) )
goto Memory_Error;
@@ -1316,7 +1316,7 @@
FT_TRACE4(( " flex1" ));
- /* adding five more points; 4 control points, 1 on-curve point */
+ /* adding six more points; 4 control points, 2 on-curve points */
if ( start_point( builder, x, y ) ||
check_points( builder, 6 ) )
goto Memory_Error;
@@ -1355,7 +1355,7 @@
args += 2;
}
- /* is last operand a x or y delta ? */
+ /* is last operand an x- or y-delta? */
if ( horizontal )
{
x += args[0];
@@ -1389,7 +1389,8 @@
{
x += args[0];
y += args[1];
- add_point( builder, x, y, (FT_Bool)( count == 3 || count == 0) );
+ add_point( builder, x, y,
+ (FT_Bool)( count == 3 || count == 0 ) );
args += 2;
}