summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Turner <david@freetype.org>2001-10-24 23:33:31 +0000
committerDavid Turner <david@freetype.org>2001-10-24 23:33:31 +0000
commit2271a84bbd38acc2d2897c48e1df814da731dcde (patch)
tree8bc19eaa0c22f0c6b08258a8981d9a95ec6b1c42
parent1b138a4260cb0dd7d7202ef6898f4cc7dd3fe13a (diff)
downloadfreetype2-2271a84bbd38acc2d2897c48e1df814da731dcde.tar.gz
updated comment explaining how to use project-specific
option (and module) files
-rw-r--r--ChangeLog8
-rw-r--r--docs/BUGS73
-rw-r--r--include/freetype/config/ftoption.h45
3 files changed, 115 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 0258a84a1..698eb9569 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,15 @@
+2001-10-25 David Turner <david@freetype.org>
+
+ * 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 <tjk@ams.org>
* builds/unix/ftsystem.c (FT_New_Memory): Added a missing `}'.
+
2001-10-23 David Turner <david@freetype.org>
* include/freetype/internal/ftmemory.h, src/base/ftdbgmem.c:
diff --git a/docs/BUGS b/docs/BUGS
index edcdb711d..ba051706a 100644
--- a/docs/BUGS
+++ b/docs/BUGS
@@ -31,6 +31,7 @@ AUTOHINT-NO-SBITS 13-09-2001 David always
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,7 +44,8 @@ II. Table of closed bugs
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 @@ BAD-TT-RENDERING
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 @@ BAD-THIN-LINES
FT_Outline_Render() function.
+
NOT-WINDOWS-METRICS
FreeType doesn't always return the same metrics as Windows for ascender,
@@ -121,4 +125,71 @@ NOT-WINDOWS-METRICS
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 <pfaedit@users.sourceforge.net>:
+
+ 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 ===
diff --git a/include/freetype/config/ftoption.h b/include/freetype/config/ftoption.h
index 844a71f36..2f1e5e48e 100644
--- a/include/freetype/config/ftoption.h
+++ b/include/freetype/config/ftoption.h
@@ -30,17 +30,41 @@ FT_BEGIN_HEADER
/* */
/* 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 @@ FT_BEGIN_HEADER
/* */
#undef T1_CONFIG_OPTION_NO_MM_SUPPORT
-
+ /* */
+
FT_END_HEADER