<html>
<header>
<title>
  FreeType&nbsp;2 Project Files for VS.NET&nbsp;2010 or newer
</title>

<body>
<h1>
  FreeType&nbsp;2 Project Files for VS.NET&nbsp;2010 or newer
</h1>

<p>This directory contains a project file for Visual C++ (VS.NET&nbsp;2010
or newer), named <tt>freetype.vcxproj</tt>, and Visual Studio, called
<tt>freetype.sln</tt>.  It compiles the following libraries from the
FreeType 2.6.2 sources:</p>

<ul>
  <pre>
    freetype262.lib    - release build
    freetype262d.lib   - debug build
    freetype262ST.lib  - release build; single threaded
    freetype262STd.lib - debug build;   single threaded
    freetype262MT.lib  - release build; multi-threaded
    freetype262MTd.lib - debug build;   multi-threaded</pre>
</ul>

<p>Both Win32 and x64 builds are supported.</p>

<p>Be sure to extract the files with the Windows (CR+LF) line endings.  ZIP
archives are already stored this way, so no further action is required.  If
you use some <tt>.tar.*z</tt> archives, be sure to configure your extracting
tool to convert the line endings.  For example, with <a
href="http://www.winzip.com">WinZip</a>, you should activate the <em>TAR
file smart CR/LF Conversion</em> option.  Alternatively, you may consider
using the <tt>unix2dos</tt> or <tt>u2d</tt> utilities that are floating
around, which specifically deal with this particular problem.

<p>Build directories are placed in the top-level <tt>objs\vc2010</tt>
directory.</p>

<p>Customization of the FreeType library is done by editing the
<tt>ftoptions.h</tt> header file in the top-level <tt>devel</tt> path.
Alternatively, you may copy the file to another directory and change the
include directory in <tt>freetype.users.props</tt>.</p>

<p>To configure library dependencies like <em>zlib</em> and <em>libpng</em>,
edit the <tt>freetype.users.props</tt> file in this directory.  It also
simplifies automated (command-line) builds using <a
href="http://msdn.microsoft.com/library/dd393574%28v=vs.100%29.aspx">msbuild</a>.</p>

</body>
</html>
