ref: 745a4f42a500c441ba4be4e096c6e63309ab0709
parent: b1c36cfbd99c67ef239753387a5ec1102c11608b
author: Werner Lemberg <[email protected]>
date: Sun Jun 22 18:41:24 EDT 2008
* src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff with IS_HINTED. * docs/CHANGES: Updated.
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,13 +1,20 @@
+2008-06-22 Werner Lemberg <[email protected]>
+
+ * src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
+ with IS_HINTED.
+
+ * docs/CHANGES: Updated.
+
2008-06-22 suzuki toshiya <[email protected]>
- * builds/unix/configure.raw: If CFLAGS has "-isysroot XXX"
- option but LDFLAGS does not, import it to LDFLAGS. The option
- is used to specify non-default SDK on Mac OS X (e.g. universal
- binary SDK for Mac OS X 10.4 on PowerPC platform). Although
- Apple TechNote 2137 recommends to add the option only to CFLAGS,
- LDFLAGS should include it because libfreetype.la is built with
- -no-undefined. This fixes a bug reported by Ryan Schmidt in
- MacPorts, http://trac.macports.org/ticket/15331.
+ * builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
+ but LDFLAGS does not, import it to LDFLAGS. The option is used to
+ specify non-default SDK on Mac OS X (e.g., universal binary SDK for
+ Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
+ recommends to add the option only to CFLAGS, LDFLAGS should include
+ it because libfreetype.la is built with -no-undefined. This fixes a
+ bug reported by Ryan Schmidt in MacPorts,
+ http://trac.macports.org/ticket/15331.
2008-06-21 Werner Lemberg <[email protected]>
--- a/builds/unix/configure.raw
+++ b/builds/unix/configure.raw
@@ -155,7 +155,7 @@
AC_CHECK_FUNCS([memcpy memmove])
-# Check for system zlib
+# check for system zlib
# don't quote AS_HELP_STRING!
AC_ARG_WITH([zlib],
@@ -171,29 +171,29 @@
fi
-# check Apple "-isysroot" option and duplicate it to LDFLAGS if required
-# Apple TechNote 2137 recommends to include it in CFLAGS but not in LDFLAGS.
+# check Apple "-isysroot" option and duplicate it to LDFLAGS if required --
+# Apple TechNote 2137 recommends to include it in CFLAGS but not in LDFLAGS
-AC_MSG_CHECKING([CFLAGS includes -isysroot option])
+AC_MSG_CHECKING([whether CFLAGS includes -isysroot option])
case "$CFLAGS" in
+*sysroot* )
+ AC_MSG_RESULT([yes])
+ AC_MSG_CHECKING([whether LDFLAGS includes -isysroot option])
+ case "$LDFLAGS" in
*sysroot* )
AC_MSG_RESULT([yes])
- AC_MSG_CHECKING([LDFLAGS includes -isysroot option])
- case "$LDFLAGS" in
- *sysroot* )
- AC_MSG_RESULT([yes])
- ;;
- *)
- AC_MSG_RESULT([no])
- isysroot_dir=`echo ${CFLAGS} | tr '\t' ' ' | sed 's/^.*-isysroot *//;s/ .*//'`
- AC_MSG_WARN(-isysroot ${isysroot_dir} is added to LDFLAGS)
- LDFLAGS="-isysroot ${isysroot_dir} ${LDFLAGS}"
- ;;
- esac
;;
*)
AC_MSG_RESULT([no])
+ isysroot_dir=`echo ${CFLAGS} | tr '\t' ' ' | sed 's/^.*-isysroot *//;s/ .*//'`
+ AC_MSG_WARN(-isysroot ${isysroot_dir} is added to LDFLAGS)
+ LDFLAGS="-isysroot ${isysroot_dir} ${LDFLAGS}"
;;
+ esac
+ ;;
+*)
+ AC_MSG_RESULT([no])
+ ;;
esac
--- a/docs/CHANGES
+++ b/docs/CHANGES
@@ -20,6 +20,20 @@
very simplistic.]
+ II. IMPORTANT CHANGES
+
+ - Two new macros, FT_OUTLINE_SMART_DROPOUTS and
+ FT_OUTLINE_EXCLUDE_STUBS, have been introduced. Together with
+ FT_OUTLINE_IGNORE_DROPOUTS (which was ignored until now) it is
+ now possible to control the dropout mode of the `raster' module
+ (for B&W rasterization), using the `flags' field in the
+ `FT_Outline' structure.
+
+ - The TrueType bytecode interpreter now passes the dropout mode to
+ the B&W rasterizer. This greatly increases the output for small
+ ppem values for many fonts like `pala.ttf'.
+
+
======================================================================
CHANGES BETWEEN 2.3.6 and 2.3.5
--- a/src/truetype/ttgload.c
+++ b/src/truetype/ttgload.c
@@ -1668,8 +1668,8 @@
}
/* adjust advance width to the value contained in the hdmx table */
- if ( !face->postscript.isFixedPitch &&
- IS_HINTED( loader->load_flags ) )
+ if ( !face->postscript.isFixedPitch &&
+ IS_HINTED( loader->load_flags ) )
{
FT_Byte* widthp;
@@ -1960,32 +1960,35 @@
#ifdef TT_USE_BYTECODE_INTERPRETER
- if ( loader.exec->GS.scan_control )
+ if ( IS_HINTED( load_flags ) )
{
- /* convert scan conversion mode to FT_OUTLINE_XXX flags */
- switch ( loader.exec->GS.scan_type )
+ if ( loader.exec->GS.scan_control )
{
- case 0: /* simple drop-outs including stubs */
- glyph->outline.flags |= FT_OUTLINE_INCLUDE_STUBS;
- break;
- case 1: /* simple drop-outs excluding stubs */
- /* nothing; it's the default rendering mode */
- break;
- case 4: /* smart drop-outs including stubs */
- glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS |
- FT_OUTLINE_INCLUDE_STUBS;
- break;
- case 5: /* smart drop-outs excluding stubs */
- glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS;
- break;
+ /* convert scan conversion mode to FT_OUTLINE_XXX flags */
+ switch ( loader.exec->GS.scan_type )
+ {
+ case 0: /* simple drop-outs including stubs */
+ glyph->outline.flags |= FT_OUTLINE_INCLUDE_STUBS;
+ break;
+ case 1: /* simple drop-outs excluding stubs */
+ /* nothing; it's the default rendering mode */
+ break;
+ case 4: /* smart drop-outs including stubs */
+ glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS |
+ FT_OUTLINE_INCLUDE_STUBS;
+ break;
+ case 5: /* smart drop-outs excluding stubs */
+ glyph->outline.flags |= FT_OUTLINE_SMART_DROPOUTS;
+ break;
- default: /* no drop-out control */
- glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
- break;
+ default: /* no drop-out control */
+ glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
+ break;
+ }
}
+ else
+ glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
}
- else
- glyph->outline.flags |= FT_OUTLINE_IGNORE_DROPOUTS;
#endif /* TT_USE_BYTECODE_INTERPRETER */