shithub: freetype+ttf2subf

Download patch

ref: 5184ed6d53de2978de6812995f841c188d9125e6
parent: 5e83ce4d291556f66440765b52a852daaad27bec
author: Werner Lemberg <[email protected]>
date: Thu Jan 22 05:13:59 EST 2009

Move FT_Get_FSType_Flags to a separate file.
Problem reported by Mickey Gabel <[email protected]>.

* src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
* src/base/ftfstype.c: This new file.

* modules.cfg (BASE_EXTENSION): Add ftfstype.c.

* docs/INSTALL.ANY: Updated.

* builds/mac/*.txt, builds/amiga/*makefile*,
builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
Updated.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2009-01-23  Werner Lemberg  <[email protected]>
+
+	Move FT_Get_FSType_Flags to a separate file.
+	Problem reported by Mickey Gabel <[email protected]>.
+
+	* src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
+	* src/base/ftfstype.c: This new file.
+
+	* modules.cfg (BASE_EXTENSION): Add ftfstype.c.
+
+	* docs/INSTALL.ANY: Updated.
+
+	* builds/mac/*.txt, builds/amiga/*makefile*,
+	builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
+	Updated.
+
 2009-01-22  suzuki toshiya  <[email protected]>
 
 	* builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
--- a/builds/amiga/makefile
+++ b/builds/amiga/makefile
@@ -5,7 +5,7 @@
 #
 
 
-# Copyright 2005, 2006, 2007 by
+# Copyright 2005, 2006, 2007, 2009 by
 # Werner Lemberg and Detlef W�rkner.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -93,6 +93,12 @@
 ftbitmap.ppc.o: $(FTSRC)/base/ftbitmap.c
 	$(CC) -c $(CFLAGS) -o $@ $<
 
+ftcid.ppc.o: $(FTSRC)/base/ftcid.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+
+ftfstype.ppc.o: $(FTSRC)/base/ftfstype.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+
 ftgasp.ppc.o: $(FTSRC)/base/ftgasp.c
 	$(CC) -c $(CFLAGS) -o $@ $<
 
@@ -111,6 +117,9 @@
 ftotval.ppc.o: $(FTSRC)/base/ftotval.c
 	$(CC) -c $(CFLAGS) -o $@ $<
 
+ftpatent.ppc.o: $(FTSRC)/base/ftpatent.c
+	$(CC) -c $(CFLAGS) -o $@ $<
+
 ftpfr.ppc.o: $(FTSRC)/base/ftpfr.c
 	$(CC) -c $(CFLAGS) -o $@ $<
 
@@ -255,10 +264,11 @@
 otvalid.ppc.o: $(FTSRC)/otvalid/otvalid.c
 	$(CC) -c $(CFLAGS) -o $@ $<
 
-BASEPPC = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o      \
-	  ftgasp.ppc.o ftglyph.ppc.o ftgxvalid.ppc.o ftlcdfil.ppc.o \
-	  ftmm.ppc.o ftotval.ppc.o ftpfr.ppc.o ftstroke.ppc.o       \
-	  ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o ftxf86.ppc.o
+BASEPPC = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o   \
+	  ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o            \
+	  ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
+	  ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o          \
+	  ftxf86.ppc.o
 
 DEBUGPPC = ftdebug.ppc.o ftdebugpure.ppc.o
 
--- a/builds/amiga/makefile.os4
+++ b/builds/amiga/makefile.os4
@@ -4,7 +4,7 @@
 #
 
 
-# Copyright 2005, 2006, 2007 by
+# Copyright 2005, 2006, 2007, 2009 by
 # Werner Lemberg and Detlef W�rkner.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -89,6 +89,9 @@
 ftbitmap.ppc.o: FT:src/base/ftbitmap.c
 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftbitmap.c
 
+ftcid.ppc.o: FT:src/base/ftcid.c
+	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftcid.c
+
 ftdebug.ppc.o: FT:src/base/ftdebug.c
 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftdebug.c
 
@@ -96,6 +99,9 @@
 ftdebugpure.ppc.o: src/base/ftdebug.c
 	$(CC) -c $(CFLAGS) -o $@ src/base/ftdebug.c
 
+ftfstype.ppc.o: FT:src/base/ftfstype.c
+	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftfstype.c
+
 ftgasp.ppc.o: FT:src/base/ftgasp.c
 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftgasp.c
 
@@ -114,6 +120,9 @@
 ftotval.ppc.o: FT:src/base/ftotval.c
 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftotval.c
 
+ftpatent.ppc.o: FT:src/base/ftpatent.c
+	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpatent.c
+
 ftpfr.ppc.o: FT:src/base/ftpfr.c
 	$(CC) -c $(CFLAGS) -o $@ /FT/src/base/ftpfr.c
 
@@ -258,10 +267,11 @@
 otvalid.ppc.o: FT:src/otvalid/otvalid.c
 	$(CC) -c $(CFLAGS) -o $@ /FT/src/otvalid/otvalid.c
 
-BASE =  ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o    \
-	ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o ftlcdfil.ppc.o \
-	ftmm.ppc.o ftotval.ppc.o ftpfr.ppc.o ftstroke.ppc.o     \
-	ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o ftxf86.ppc.o
+BASE = ftbase.ppc.o ftbbox.ppc.o ftbdf.ppc.o ftbitmap.ppc.o ftcid.ppc.o   \
+       ftfstype.ppc.o ftgasp.ppc.o ftglyph.ppc.o ftgxval.ppc.o            \
+       ftlcdfil.ppc.o ftmm.ppc.o ftotval.ppc.o ftpatent.ppc.o ftpfr.ppc.o \
+       ftstroke.ppc.o ftsynth.ppc.o fttype1.ppc.o ftwinfnt.ppc.o          \
+       ftxf86.ppc.o
 
 DEBUG = ftdebug.ppc.o ftdebugpure.ppc.o
 
--- a/builds/amiga/smakefile
+++ b/builds/amiga/smakefile
@@ -3,7 +3,7 @@
 #
 
 
-# Copyright 2005,2006, 2007 by
+# Copyright 2005,2006, 2007, 2009 by
 # Werner Lemberg and Detlef W�rkner.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -42,9 +42,9 @@
 # (and either ftdebug.o or ftdebugpure.o if you enabled FT_DEBUG_LEVEL_ERROR or
 # FT_DEBUG_LEVEL_TRACE in include/freetype/config/ftoption.h).
 
-OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftgasp.o ftglyph.o  \
-	  ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpfr.o ftstroke.o \
-	  ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
+OBJBASE = ftbase.o ftbbox.o ftbdf.o ftbitmap.o ftcid.o ftfstype.o ftgasp.o   \
+	  ftglyph.o ftgxval.o ftlcdfil.o ftmm.o ftotval.o ftpatent.o ftpfr.o \
+	  ftstroke.o ftsynth.o fttype1.o ftwinfnt.o ftxf86.o
 
 OBJSYSTEM = ftsystem.o ftsystempure.o
 
@@ -131,6 +131,10 @@
 	sc $(SCFLAGS) objname=$@ $<
 ftbitmap.o: $(CORE)base/ftbitmap.c
 	sc $(SCFLAGS) objname=$@ $<
+ftcid.o: $(CORE)base/ftcid.c
+	sc $(SCFLAGS) objname=$@ $<
+ftfstype.o: $(CORE)base/ftfstype.c
+	sc $(SCFLAGS) objname=$@ $<
 ftgasp.o: $(CORE)base/ftgasp.c
 	sc $(SCFLAGS) objname=$@ $<
 ftglyph.o: $(CORE)base/ftglyph.c
@@ -142,6 +146,8 @@
 ftmm.o: $(CORE)base/ftmm.c
 	sc $(SCFLAGS) objname=$@ $<
 ftotval.o: $(CORE)base/ftotval.c
+	sc $(SCFLAGS) objname=$@ $<
+ftpatent.o: $(CORE)base/ftpatent.c
 	sc $(SCFLAGS) objname=$@ $<
 ftpfr.o: $(CORE)base/ftpfr.c
 	sc $(SCFLAGS) objname=$@ $<
--- a/builds/mac/FreeType.m68k_cfm.make.txt
+++ b/builds/mac/FreeType.m68k_cfm.make.txt
@@ -37,6 +37,7 @@
 				  :src:base:ftbdf.c \xB6
 				  :src:base:ftbitmap.c \xB6
 				  :src:base:ftdebug.c \xB6
+				  :src:base:ftfstype.c \xB6
 				  :src:base:ftglyph.c \xB6
 				  :src:base:ftgxval.c \xB6
 				  :src:base:ftinit.c \xB6
@@ -80,6 +81,7 @@
 				  "{ObjDir}ftbdf.c.o" \xB6
 				  "{ObjDir}ftbitmap.c.o" \xB6
 				  "{ObjDir}ftdebug.c.o" \xB6
+				  "{ObjDir}ftfstype.c.o" \xB6
 				  "{ObjDir}ftglyph.c.o" \xB6
 				  "{ObjDir}ftgxval.c.o" \xB6
 				  "{ObjDir}ftinit.c.o" \xB6
@@ -156,6 +158,7 @@
 "{ObjDir}ftbdf.c.o" \xC4 :src:base:ftbdf.c
 "{ObjDir}ftbitmap.c.o" \xC4 :src:base:ftbitmap.c
 "{ObjDir}ftdebug.c.o" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.o" \xC4 :src:base:ftfstype.c
 "{ObjDir}ftglyph.c.o" \xC4 :src:base:ftglyph.c
 "{ObjDir}ftgxval.c.o" \xC4 :src:base:ftgxval.c
 "{ObjDir}ftinit.c.o" \xC4 :src:base:ftinit.c
--- a/builds/mac/FreeType.m68k_far.make.txt
+++ b/builds/mac/FreeType.m68k_far.make.txt
@@ -36,6 +36,7 @@
 				  :src:base:ftbdf.c \xB6
 				  :src:base:ftbitmap.c \xB6
 				  :src:base:ftdebug.c \xB6
+				  :src:base:ftfstype.c \xB6
 				  :src:base:ftglyph.c \xB6
 				  :src:base:ftgxval.c \xB6
 				  :src:base:ftinit.c \xB6
@@ -79,6 +80,7 @@
 				  "{ObjDir}ftbdf.c.o" \xB6
 				  "{ObjDir}ftbitmap.c.o" \xB6
 				  "{ObjDir}ftdebug.c.o" \xB6
+				  "{ObjDir}ftfstype.c.o" \xB6
 				  "{ObjDir}ftglyph.c.o" \xB6
 				  "{ObjDir}ftgxval.c.o" \xB6
 				  "{ObjDir}ftinit.c.o" \xB6
@@ -155,6 +157,7 @@
 "{ObjDir}ftbdf.c.o" \xC4 :src:base:ftbdf.c
 "{ObjDir}ftbitmap.c.o" \xC4 :src:base:ftbitmap.c
 "{ObjDir}ftdebug.c.o" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.o" \xC4 :src:base:ftfstype.c
 "{ObjDir}ftglyph.c.o" \xC4 :src:base:ftglyph.c
 "{ObjDir}ftgxval.c.o" \xC4 :src:base:ftgxval.c
 "{ObjDir}ftinit.c.o" \xC4 :src:base:ftinit.c
--- a/builds/mac/FreeType.ppc_carbon.make.txt
+++ b/builds/mac/FreeType.ppc_carbon.make.txt
@@ -37,6 +37,7 @@
 				  :src:base:ftbdf.c \xB6
 				  :src:base:ftbitmap.c \xB6
 				  :src:base:ftdebug.c \xB6
+				  :src:base:ftfstype.c \xB6
 				  :src:base:ftglyph.c \xB6
 				  :src:base:ftgxval.c \xB6
 				  :src:base:ftinit.c \xB6
@@ -80,6 +81,7 @@
 				  "{ObjDir}ftbdf.c.x" \xB6
 				  "{ObjDir}ftbitmap.c.x" \xB6
 				  "{ObjDir}ftdebug.c.x" \xB6
+				  "{ObjDir}ftfstype.c.x" \xB6
 				  "{ObjDir}ftglyph.c.x" \xB6
 				  "{ObjDir}ftgxval.c.x" \xB6
 				  "{ObjDir}ftinit.c.x" \xB6
@@ -159,6 +161,7 @@
 "{ObjDir}ftbdf.c.x" \xC4 :src:base:ftbdf.c
 "{ObjDir}ftbitmap.c.x" \xC4 :src:base:ftbitmap.c
 "{ObjDir}ftdebug.c.x" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.x" \xC4 :src:base:ftfstype.c
 "{ObjDir}ftglyph.c.x" \xC4 :src:base:ftglyph.c
 "{ObjDir}ftgxval.c.x" \xC4 :src:base:ftgxval.c
 "{ObjDir}ftinit.c.x" \xC4 :src:base:ftinit.c
--- a/builds/mac/FreeType.ppc_classic.make.txt
+++ b/builds/mac/FreeType.ppc_classic.make.txt
@@ -37,6 +37,7 @@
 				  :src:base:ftbdf.c \xB6
 				  :src:base:ftbitmap.c \xB6
 				  :src:base:ftdebug.c \xB6
+				  :src:base:ftfstype.c \xB6
 				  :src:base:ftglyph.c \xB6
 				  :src:base:ftgxval.c \xB6
 				  :src:base:ftinit.c \xB6
@@ -80,6 +81,7 @@
 				  "{ObjDir}ftbdf.c.x" \xB6
 				  "{ObjDir}ftbitmap.c.x" \xB6
 				  "{ObjDir}ftdebug.c.x" \xB6
+				  "{ObjDir}ftfstype.c.x" \xB6
 				  "{ObjDir}ftglyph.c.x" \xB6
 				  "{ObjDir}ftgxval.c.x" \xB6
 				  "{ObjDir}ftinit.c.x" \xB6
@@ -159,6 +161,7 @@
 "{ObjDir}ftbdf.c.x" \xC4 :src:base:ftbdf.c
 "{ObjDir}ftbitmap.c.x" \xC4 :src:base:ftbitmap.c
 "{ObjDir}ftdebug.c.x" \xC4 :src:base:ftdebug.c
+"{ObjDir}ftfstype.c.x" \xC4 :src:base:ftfstype.c
 "{ObjDir}ftglyph.c.x" \xC4 :src:base:ftglyph.c
 "{ObjDir}ftgxval.c.x" \xC4 :src:base:ftgxval.c
 "{ObjDir}ftinit.c.x" \xC4 :src:base:ftinit.c
--- a/builds/mac/README
+++ b/builds/mac/README
@@ -61,11 +61,11 @@
   /Developer/Tools/SetFile of DevTool is useful to
   manipulate from commandline.
 
-  2-2. Metrowerks CodeWarriror
-  ----------------------------
+  2-2. Metrowerks CodeWarrior
+  ---------------------------
 
   XML project file is generated and tested by
-  CodeWarriror 9.0.  Older versions are not tested
+  CodeWarrior 9.0.  Older versions are not tested
   at all. At present, static library for ppc target
   is available in the project file.
 
--- a/builds/symbian/bld.inf
+++ b/builds/symbian/bld.inf
@@ -2,7 +2,7 @@
 // FreeType 2 project for the symbian platform
 //
 
-// Copyright 2008 by
+// Copyright 2008, 2009 by
 // David Turner, Robert Wilhelm, and Werner Lemberg.
 //
 // This file is part of the FreeType project, and may only be used, modified,
@@ -29,7 +29,7 @@
 ../../include/freetype/ftbdf.h			freetype/ftbdf.h
 ../../include/freetype/ftbitmap.h		freetype/ftbitmap.h
 ../../include/freetype/ftcache.h		freetype/ftcache.h
-../../include/freetype/ftchapters.h		freetype/ftchapters.h
+../../include/freetype/ftcid.h			freetype/ftcid.h
 ../../include/freetype/fterrdef.h		freetype/fterrdef.h
 ../../include/freetype/fterrors.h		freetype/fterrors.h
 ../../include/freetype/ftgasp.h			freetype/ftgasp.h
@@ -63,4 +63,3 @@
 ../../include/freetype/tttables.h		freetype/tttables.h
 ../../include/freetype/tttags.h			freetype/tttags.h
 ../../include/freetype/ttunpat.h		freetype/ttunpat.h
-
--- a/builds/symbian/freetype.mmp
+++ b/builds/symbian/freetype.mmp
@@ -2,7 +2,7 @@
 // FreeType 2 makefile for the symbian platform
 //
 
-// Copyright 2008 by
+// Copyright 2008, 2009 by
 // David Turner, Robert Wilhelm, and Werner Lemberg.
 //
 // This file is part of the FreeType project, and may only be used, modified,
@@ -27,10 +27,16 @@
 source ftbbox.c
 source ftbdf.c
 source ftbitmap.c
+source ftcid.c
+source ftfstype.c
 source ftgasp.c
 source ftglyph.c
+source ftgxval.c
 source ftinit.c
+source ftlcdfil.c
 source ftmm.c
+source ftotval.c
+source ftpatent.c
 source ftpfr.c
 source ftstroke.c
 source ftsynth.c
--- a/builds/win32/visualc/freetype.dsp
+++ b/builds/win32/visualc/freetype.dsp
@@ -226,6 +226,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\src\base\ftfstype.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\src\base\ftgasp.c
 # End Source File
 # Begin Source File
--- a/builds/win32/visualc/freetype.vcproj
+++ b/builds/win32/visualc/freetype.vcproj
@@ -675,6 +675,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\base\ftfstype.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\base\ftgasp.c"
 				>
 			</File>
--- a/builds/win32/visualce/freetype.dsp
+++ b/builds/win32/visualce/freetype.dsp
@@ -226,6 +226,10 @@
 # End Source File
 # Begin Source File
 
+SOURCE=..\..\..\src\base\ftfstype.c
+# End Source File
+# Begin Source File
+
 SOURCE=..\..\..\src\base\ftgasp.c
 # End Source File
 # Begin Source File
--- a/builds/win32/visualce/freetype.vcproj
+++ b/builds/win32/visualce/freetype.vcproj
@@ -4785,6 +4785,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\..\..\src\base\ftfstype.c"
+				>
+			</File>
+			<File
 				RelativePath="..\..\..\src\cache\ftcache.c"
 				>
 				<FileConfiguration
--- a/docs/INSTALL.ANY
+++ b/docs/INSTALL.ANY
@@ -38,14 +38,20 @@
 
       src/base/ftbdf.c        -- optional, see <freetype/ftbdf.h>
       src/base/ftbitmap.c     -- optional, see <freetype/ftbitmap.h>
+      src/base/ftcid.c        -- optional, see <freetype/ftcid.h>
+      src/base/ftfstype.c     -- optional
+      src/base/ftgasp.c       -- optional, see <freetype/ftgasp.h>
       src/base/ftgxval.c      -- optional, see <freetype/ftgxval.h>
+      src/base/ftlcdfil.c     -- optional, see <freetype/ftlcdfil.h>
       src/base/ftmm.c         -- optional, see <freetype/ftmm.h>
       src/base/ftotval.c      -- optional, see <freetype/ftotval.h>
+      src/base/ftpatent.c     -- optional
       src/base/ftpfr.c        -- optional, see <freetype/ftpfr.h>
       src/base/ftstroke.c     -- optional, see <freetype/ftstroke.h>
       src/base/ftsynth.c      -- optional, see <freetype/ftsynth.h>
       src/base/fttype1.c      -- optional, see <freetype/t1tables.h>
       src/base/ftwinfnt.c     -- optional, see <freetype/ftwinfnt.h>
+      src/base/ftxf86.c       -- optional, see <freetype/ftxf86.h>
 
       src/base/ftmac.c        -- only on the Macintosh
 
@@ -63,8 +69,8 @@
       src/type42/type42.c     -- Type 42 font driver
       src/winfonts/winfnt.c   -- Windows FONT / FNT font driver
 
-    -- rasterizers (optional; at least one is needed for
-       vector formats)
+    -- rasterizers (optional; at least one is needed for vector
+       formats)
 
       src/raster/raster.c     -- monochrome rasterizer
       src/smooth/smooth.c     -- anti-aliasing rasterizer
@@ -84,6 +90,12 @@
 
     Notes:
 
+      `ftcache.c'  needs `ftglyph.c'
+      `ftfstype.c' needs `fttype1.c'
+      `ftglyph.c'  needs `ftbitmap.c'
+      `ftstroke.c' needs `ftglyph.c'
+      `ftsynth.c'  needs `ftbitmap.c'
+
       `cff.c'      needs `sfnt.c', `pshinter.c', and `psnames.c'
       `truetype.c' needs `sfnt.c' and `psnames.c'
       `type1.c'    needs `psaux.c' `pshinter.c', and `psnames.c'
@@ -126,7 +138,7 @@
 
 ----------------------------------------------------------------------
 
-Copyright 2003, 2005, 2006 by
+Copyright 2003, 2005, 2006, 2009 by
 David Turner, Robert Wilhelm, and Werner Lemberg.
 
 This  file is  part of  the FreeType  project, and  may only  be used,
--- a/modules.cfg
+++ b/modules.cfg
@@ -1,6 +1,6 @@
 # modules.cfg
 #
-# Copyright 2005, 2006, 2007 by
+# Copyright 2005, 2006, 2007, 2009 by
 # David Turner, Robert Wilhelm, and Werner Lemberg.
 #
 # This file is part of the FreeType project, and may only be used, modified,
@@ -106,7 +106,7 @@
 
 # FreeType's cache sub-system (quite stable but still in beta -- this means
 # that its public API is subject to change if necessary).  See
-# include/freetype/ftcache.h.
+# include/freetype/ftcache.h.  Needs ftglyph.c.
 AUX_MODULES += cache
 
 # TrueType GX/AAT table validation.  Needs ftgxval.c below.
@@ -152,48 +152,68 @@
 # See include/freetype/ftbdf.h for the API.
 BASE_EXTENSIONS += ftbdf.c
 
+# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
+# 8bpp format, and for emboldening of bitmap glyphs.
+#
+# See include/freetype/ftbitmap.h for the API.
+BASE_EXTENSIONS += ftbitmap.c
+
 # Access CID font information.
 #
 # See include/freetype/ftcid.h for the API.
 BASE_EXTENSIONS += ftcid.c
 
-# Utility functions for converting 1bpp, 2bpp, 4bpp, and 8bpp bitmaps into
-# 8bpp format, and for emboldening of bitmap glyphs.
+# Access FSType information.  Needs fttype1.c.
 #
-# See include/freetype/ftbitmap.h for the API.
-BASE_EXTENSIONS += ftbitmap.c
+# See include/freetype/freetype.h for the API.
+BASE_EXTENSIONS += ftfstype.c
 
-# Convenience functions to handle glyphs.
+# Support for GASP table queries.
 #
+# See include/freetype/ftgasp.h for the API.
+BASE_EXTENSIONS += ftgasp.c
+
+# Convenience functions to handle glyphs.  Needs ftbitmap.c.
+#
 # See include/freetype/ftglyph.h for the API.
 BASE_EXTENSIONS += ftglyph.c
 
-# Interface for gxvalid module (which is required).
+# Interface for gxvalid module.
 #
 # See include/freetype/ftgxval.h for the API.
 BASE_EXTENSIONS += ftgxval.c
 
+# Support for LCD color filtering of subpixel bitmaps.
+#
+# See include/freetype/ftlcdfil.h for the API.
+BASE_EXTENSIONS += ftlcdfil.c
+
 # Multiple Master font interface.
 #
 # See include/freetype/ftmm.h for the API.
 BASE_EXTENSIONS += ftmm.c
 
-# Interface for otvalid module (which is required).
+# Interface for otvalid module.
 #
 # See include/freetype/ftotval.h for the API.
 BASE_EXTENSIONS += ftotval.c
 
+# Support for FT_Face_CheckTrueTypePatents.
+#
+# See include/freetype/freetype.h for the API.
+BASE_EXTENSIONS += ftpatent.c
+
 # Interface for accessing PFR-specific data.  Needs PFR font driver.
 #
 # See include/freetype/ftpfr.h for the API.
 BASE_EXTENSIONS += ftpfr.c
 
-# Path stroker.
+# Path stroker.  Needs ftglyph.c.
 #
 # See include/freetype/ftstroke.h for the API.
 BASE_EXTENSIONS += ftstroke.c
 
-# Support for synthetic embolding and slanting of fonts.
+# Support for synthetic embolding and slanting of fonts.  Needs ftbitmap.c.
 #
 # See include/freetype/ftsynth.h for the API.
 BASE_EXTENSIONS += ftsynth.c
@@ -214,21 +234,6 @@
 #
 # See include/freetype/ftxf86.h for the API.
 BASE_EXTENSIONS += ftxf86.c
-
-# Support for LCD color filtering of subpixel bitmaps.
-#
-# See include/freetype/ftlcdfil.h for the API.
-BASE_EXTENSIONS += ftlcdfil.c
-
-# Support for GASP table queries.
-#
-# See include/freetype/ftgasp.h for the API.
-BASE_EXTENSIONS += ftgasp.c
-
-# Support for FT_Face_CheckTrueTypePatents.
-#
-# See include/freetype.h for the API.
-BASE_EXTENSIONS += ftpatent.c
 
 ####
 #### The components `ftsystem.c' (for memory allocation and stream I/O
--- /dev/null
+++ b/src/base/ftfstype.c
@@ -1,0 +1,46 @@
+/***************************************************************************/
+/*                                                                         */
+/*  ftfstype.c                                                             */
+/*                                                                         */
+/*    FreeType utility file to access FSType data (body).                  */
+/*                                                                         */
+/*  Copyright 2008, 2009 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.                                        */
+/*                                                                         */
+/***************************************************************************/
+
+#include <ft2build.h>
+#include FT_TYPE1_TABLES_H
+#include FT_TRUETYPE_TABLES_H
+
+
+  /* documentation is in freetype.h */
+
+  FT_EXPORT_DEF( FT_UShort )
+  FT_Get_FSType_Flags( FT_Face  face )
+  {
+    PS_FontInfoRec  font_info;
+    TT_OS2*         os2;
+
+
+    /* look at FSType before fsType for Type42 */
+
+    if ( !FT_Get_PS_Font_Info( face, &font_info ) &&
+         font_info.fs_type != 0                   )
+      return font_info.fs_type;
+
+    if ( ( os2 = (TT_OS2*)FT_Get_Sfnt_Table( face, ft_sfnt_os2 ) ) != NULL &&
+         os2->version != 0xFFFFU                                           )
+      return os2->fsType;
+
+    return 0;
+  }
+
+
+/* END */
--- a/src/base/ftobjs.c
+++ b/src/base/ftobjs.c
@@ -4382,27 +4382,4 @@
   }
 
 
-  /* documentation is in freetype.h */
-
-  FT_EXPORT_DEF( FT_UShort )
-  FT_Get_FSType_Flags( FT_Face  face )
-  {
-    PS_FontInfoRec  font_info;
-    TT_OS2*         os2;
-
-
-    /* look at FSType before fsType for Type42 */
-
-    if ( !FT_Get_PS_Font_Info( face, &font_info ) &&
-         font_info.fs_type != 0                   )
-      return font_info.fs_type;
-
-    if ( ( os2 = (TT_OS2*)FT_Get_Sfnt_Table( face, ft_sfnt_os2 ) ) != NULL &&
-         os2->version != 0xFFFFU                                           )
-      return os2->fsType;
-
-    return 0;
-  }
-
-
 /* END */