ref: dcb2b27ea8b2d5af163e62523e2d6fbc8f088bd7
parent: 40da4e401b7f533a446c39d02f3456c0c53976db
author: David Turner <[email protected]>
date: Wed Oct 24 19:33:31 EDT 2001
updated comment explaining how to use project-specific option (and module) files
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,14 @@
+2001-10-25 David Turner <[email protected]>
+
+ * include/freetype/config/ftoption.h: updated comment to explain
+ precisely how to use project-specific macro definitions without
+ modifying this file manually..
+
+
2001-10-24 Tom Kacvinsky <[email protected]>
* builds/unix/ftsystem.c (FT_New_Memory): Added a missing `}'.
+
2001-10-23 David Turner <[email protected]>
--- a/docs/BUGS
+++ b/docs/BUGS
@@ -31,6 +31,7 @@
BAD-TT-RENDERING 12-09-2001 Paul Pedriana ?
BAD-THIN-LINES 13-09-2001 David ?
NOT-WINDOWS-METRICS 07-10-2001 David always
+ADVANCED-COMPOSITES 25-10-2001 George Williams always
--------------------END-OF-OPENED-BUGS-TABLE----------------------------------
@@ -43,8 +44,9 @@
Identifier Date Closed by Closure date
------------------------------------------------------------------------------
BAD-TTNAMEID.H 12-09-2001 Antoine N/A
+BAD-T1-CHARMAP 15-06-2001 David 2.0.5
+BAD-UNIXXX-NAMES 30-07-2001 David 2.0.5
-
--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
@@ -106,6 +108,7 @@
bytecode-hinted glyphs! Something seems to be really broken here!
+
BAD-THIN-LINES
It seems that the anti-aliased renderer in FreeType has problems rendering
@@ -113,6 +116,7 @@
FT_Outline_Render() function.
+
NOT-WINDOWS-METRICS
FreeType doesn't always return the same metrics as Windows for ascender,
@@ -120,5 +124,72 @@
testing on Windows is needed to debug this properly. It might be due to a
rounding bug when computing the "x_scale" and "y_scale" values.
+
+BAD-T1-CHARMAP
+
+ Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
+ charset. Those characters are mapped as MAC-one in glnames.py, so they
+ cannot be shown in Adobe Type1 fonts.
+
+ (this was due to a bug in the "glnames.py" script used to generate the
+ table of glyph names in 'src/psaux/pstables.h')
+
+
+BAD-UNIXXX-NAMES
+
+ Glyph names like uniXXXX are not recognized as they should be.
+ It seems that code in psmodule.c for uniXXXX glyph names was
+ never tested. The patch is very simple.
+
+ (a simple bug that was left un-noticed due to the fact that I don't have
+ any Postscript font that use this convention, unfortunately..)
+
+
+ADVANCED-COMPOSITES
+
+ Provided by George Williams <[email protected]>:
+
+ I notice that truetype/ttgload.c only supports Apple's
+ definition of offsets for composit glyphs. Apple and
+ Microsoft behave differently if there is a scale
+ factor. OpenType defines some bits to disambiguate.
+
+ (a problem in both 2.0.4 and 2.0.5)
+
+ Apple says
+ (http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html)
+ that if flags&ARGS_ARE_XY is set then the offsets
+ should be scaled by the scale factors (as you have
+ done), but they also say something very cryptic about
+ what happens when the component is rotated at 45�
+ (which you do not support)-- See the "Important" note
+ at the bottom.
+
+ The old truetype spec from Microsoft did not mention
+ this. The OpenType spec
+ (http://www.microsoft.com/typography/otspec/glyf.htm,
+ http://partners.adobe.com/asn/developer/opentype/glyf.html)
+ efines two new bits to disambiguate:
+ SCALED_COMPONENT_OFFSET 11
+ Composite designed to have the component offset scaled
+ (designed for Apple rasterizer)
+ UNSCALED_COMPONENT_OFFSET 12
+ Composite designed not to have the component offset
+ scaled (designed for the Microsoft TrueType rasterizer)
+
+ Perhaps you could add a load_flag to allow the user to
+ define the default setting?
+
+ David says:
+
+ Wow, I was not even aware of this, it will probably take a little
+ time to implement since I don't have any font that implement these
+ "features", and also because I believe that we're running out of
+ bits for "load_flag", some other way to set preferences is probably
+ needed..
+
+
+
+
=== end of file ===
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -30,18 +30,42 @@
/* */
/* USER-SELECTABLE CONFIGURATION MACROS */
/* */
- /* These macros can be toggled by developers to enable or disable */
- /* certain aspects of FreeType. This is a default file, where all major */
- /* options are enabled. */
+ /* this file contains the default configuration macro definitions for */
+ /* a standard build of the FreeType library. There are three ways to */
+ /* use this file to build project-specific versions of the library: */
/* */
- /* Note that if some modifications are required for your build, we */
- /* advise you to put a modified copy of this file in your build */
- /* directory, rather than modifying it in-place. */
+ /* - you can modify this file by hand, but this is not recommended */
+ /* in cases where you'd like to build several versions of the */
+ /* library from a single source directory */
/* */
- /* The build directory is normally `freetype/builds/<system>' and */
- /* contains build or system-specific files that are included in */
- /* priority when building the library. */
/* */
+ /* - you can put a copy of this file in your build directory, more */
+ /* precisely in "$BUILD/freetype/config/ftoption.h", where "$BUILD" */
+ /* is the name of a directory that is included _before_ the */
+ /* FreeType include path during compilation. */
+ /* */
+ /* the default FreeType Makefiles and Jamfiles use the build */
+ /* directory "builds/<system>" by default, but you can easily change */
+ /* that for your own projects */
+ /* */
+ /* */
+ /* - copy the file <ft2build.h> to "$BUILD/ft2build.h" and modify */
+ /* it slightly to pre-define the macro FT_CONFIG_OPTIONS_H used */
+ /* to locate this file during the build. For example: */
+ /* */
+ /* #define FT_CONFIG_OPTIONS_H <myftoptions.h> */
+ /* #include <freetype/config/ftheader.h> */
+ /* */
+ /* will use "$BUILD/myftoptions.h" instead of this file for macro */
+ /* definitions. */
+ /* */
+ /* note also that you can similarly pre-define the macro */
+ /* FT_CONFIG_MODULES_H used to locate the file listing the modules */
+ /* that are statically linked to the library at compile time. */
+ /* by default, this file is <freetype/config/ftmodule.h> */
+ /* */
+ /* we highly recommend using the third method whenever possible */
+ /* */
/*************************************************************************/
@@ -429,7 +453,8 @@
/* */
#undef T1_CONFIG_OPTION_NO_MM_SUPPORT
-
+ /* */
+
FT_END_HEADER