Skip to content

Commit

Permalink
Update FDK docs with latest build number and release notes.
Browse files Browse the repository at this point in the history
  • Loading branch information
readroberts committed Nov 21, 2015
1 parent 28c50d7 commit a331aa0
Show file tree
Hide file tree
Showing 4 changed files with 82 additions and 64 deletions.
16 changes: 7 additions & 9 deletions FDK/AFDKO-Overview.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,21 +28,19 @@ <h3 id="a_introduction">1. Introduction</h3>

<p>Once the AFDKO is installed, all the command-line programs can be run by entering the command name in a Terminal window (OSX, Windows, Linux), along with the necessary option text. All command-line tools provide usage and help text with the options -u and -h. There is a separate user documentation file only for the makeotf tool. Using a command-line window may seem alarming if you are not used to it, but it is actually quite easy to learn a useful set of commands. Please read the FDK documentation "CommandLineHowTo.pdf", sub-titled "The Joys of Command Line", for pointers on how to get started.</p>

<h4>Current version 2.5 change number 64800, Oct 29 2015</h4>
<h4>Current version 2.5 change number 64956, Nov 20 2015</h4>

<h4>Important Changes since 2.5 change number 64655, Mar 3 2015</h4>
<ul>
<li>Updated the AFDKO Python interpreter to 2.7.10. This is now 64-bit only.</li>
<li>Switched to using new text format that is plist-compatible for T1 hint data in UFO fonts.</li>
<li>Fixed crashing bugs in working with UFO fonts.</li>
<li>Added new options to makeotf.</li>
<li>See the file FDKReleaseNotes.txt for more details and a number of other minor bug fixes.</li>
</ul>

<h4>Important Changes since 2.5 change number 63782, Mar 3 2015</h4>
<ul>
<li>Added new options to makeotf, including one to build fonts with Mac platform name strings in the name table.</li>
<li>See the file FDKReleaseNotes.txt for more details.</li>
<li>Added support for fractional coordinates fonts, in UFO workflow only. See release notes.</li>
<li>Added support for Character Variant (cvXX) feature params.</li>
<li>See release notes for a number of other minor bug fixes.</li>
<li>Added support for Character Variant (cvXX) feature params, in spot and makeotf.</li>
<li>Added option to tx family of tools, to select/exclude glyphs by FontDict index. For CID fonts only.</li>
<li>See release notes for a number of other bug fixes and new options.</li>
</ul>

<h4>Important Changes since 2.5 change number 63209, Sept 18 2014</h4>
Expand Down
90 changes: 44 additions & 46 deletions FDK/FDK Build Notes.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,89 +53,87 @@ The FDK distribution directory tree is built by:

3) Building the Python interpreter for the FDK.

Note that the FDK will use the Python interpreter whose path is specified in the file "setFDKPaths" This line can be changed to point to any other Python interpreter program on the system. However, if you choose to use another Python interpreter, you must add the several third party packages.
Note that the FDK will use the Python interpreter whose path is specified in the file "setFDKPaths".
This line can be changed to point to any other Python interpreter program on the
system. However, if you choose to use another Python interpreter, you must add
the several third party packages.

The FDK contains a copy of the Python interpreter. This is used to run the FDK Python scripts. To build this:
- download the latest Python 2.7 source from www.python.org to a local directory.
- unzip it
- Open a Terminal window, and change the current directory to the directory <local directory>/Python-2.7/.
- cd to Modules, and copy Setup.dist to Setup
- edit Setup to enable zlib ( needed by ttx). For OSX and Windows, enable readlines.
- enter "./configure --prefix=AFDKOPythonBuild"
- For Mac OSX, specify teh Xcode SDKK to use by setting the enviromnet variable:
"$> export MACOSX_DEPLOYMENT_TARGET=10.6"
- enter "./configure --prefix=<path to temp directory to hold the installed Python>"
- When this is done, enter "make install"
- when this is done, move the directory "AFDKOPythonBuild" to "FDK/Tools/osx|win/Python/AFDKOPython27".
- when this is done, move the temp Python directory to "FDK/Tools/osx|win/Python/AFDKOPython27".


For building the 32 bit Linux python, use a 32 bit Linux VM system.
Use the same steps as above, but the path to the AFDKOPythonBuild must
be an absolute path. Also, you must first get the build-essentials package, with the commands:
sudo apt-get install build-essential
For building the 64 bit Linux Python, use a 64 bit Linux VM system. Use the same
steps as above, but the path to the AFDKOPythonBuild must be an absolute path.
Also, you must first get the build-essentials and readline packages, with the
commands: sudo apt-get install build-essential
sudo apt-get install zlib1g-dev # gets you the zlib.h file and zlib library.
sudo apt-get install libreadline-dev
You must also edit the Moudles/Setup.dist file, BEFORE running ./configure, to enable the readlines library by removing the comment at the start of the line:
readline readline.c -lreadline -ltermcap # line 166 at the moment.
After building the Python interpreter, copy the file '/lib/i386-linux-gnu/libz.so.1.2.3.4' to Python/lib/python2.7/lib-dynload/.
Then cd there, and make a symbolic link named 'libz.so.1' to the libz.so.1.2.3. file.

For Windows, I just use the std x64 Windows MSI installer, and then move it
under FDK/Tools/win/Python27. I do not use the std Python installers for the
other platforms, becuase they come with compiled-in search paths for modules that
conflicts with any user/system installed Python interpreter.

Once you have built the AFDKO Python, you need to install the various modules that it needs.

3.1 FontTools.

This module is needed for the ttx and ttxn tools to work. I use Behdad Esfahbod's GitHub v2.5 branch, as it fixes a number of bugs, and is not dependent on the numPy module.

Get the master branch of fontTools from https://github.com/behdad/fonttools. Download the zip file, cd to the unpacked directory,
and use the command "AFDKOPython setup.py install".
Get the master branch of fontTools from https://github.com/behdad/fonttools.
Download the zip file, cd to the unpacked directory, and use the command
"AFDKOPython setup.py install".

3.2 MutatorMath support.

Install in order:
fontMath-ufo3: ufo3 branch of fontMath at: https://github.com/typesupply/fontMath/tree/ufo3/.
As of Nov 10 2015, several of the modules must be installed from the ufo3 branch. However, it may no longer be necessary to do this if the ufo3 branches have been merged into the main branch.

fontMath: ufo3 branch of fontMath at: https://github.com/typesupply/fontMath/tree/ufo3/.
Install with "AFDKOPython setup.py install"

robofab-ufo3k: ufo3K branch of robofab library from https://github.com/robofab-developers/robofab/tree/ufo3k.
This does not have a setup.py file. The install.py file just makes a link to the
source. Install by copying the robofab-ufo3k directory to your Python
installation's site-packages directory. For the Mac, this is
FDK/Tools/osx/Python/AFDKOPython27/lib/python2.7/site-packages, cd to the
directory, run "AFDKOPython install.py", and then delete all but the LIB
directory and the LICENSE.txt file.
robofab: ufo3K branch of robofab library from https://github.com/robofab-developers/robofab/tree/ufo3k.
Install with "AFDKOPython setup.py install"

defcon-ufo3: ufo3 branch of defcon library at https://github.com/typesupply/defcon/tree/ufo3.
defcon: ufo3 branch of defcon library at https://github.com/typesupply/defcon/tree/ufo3.
Install with "AFDKOPython setup.py install"

MutatorMath: master branch of MutatorMath at https://github.com/LettError/MutatorMath
Install with "AFDKOPython setup.py install"

Check all the *.pth files in "FDK/Tools/osx/Python/AFDKOPython27/lib/python2.7/site-packages", and make sure the path references are all relative to the site-packages directory.
Check all the *.pth files in
"FDK/Tools/osx/Python/AFDKOPython27/lib/python2.7/site-packages", and make sure
the path references are all relative to the site-packages directory, so that
they don't break when the FDK directory is moved.

Do this for the osx, win and Linux AFDKOPython directories.

3.3 BooleanOperations support
This is needed for the checkOutlinesUFO command.

booleanOperations-master: master branch of booleanOperations at:
https://github.com/typemytype/booleanOperations/. This does not have a
setup.py file. Install by copying the booleanOperations-master directory to your
Python installation's site-packages directory. For the Mac, this is
FDK/Tools/osx/Python/AFDKOPython27/lib/python2.7/site-packages, cd to the
site-packages directory, duplicate the file 'robofab.pth', and rename it
to"booleanOperations-master.pth". Edit the file by replacing
"./robofab-ufo3k/Lib" with "./booleanOperations-master/Lib".

This library requires a C++ module named pyClipper. The GIT download includes
the pyClipper.so library for Max OSX< but you have to build it yourself for
Linux and Windows.

To build under windows, cd to booleanOperations/cppWrapper, and run:
<Linux FDK Python> setup.py build".
Copy the new pyClipper.so file into booleanOperations/Lib

To build under Windodws Visual C 9,
- in cppWrapper/clipper.py, at line 41, replace:
#if (__GNUC__ == 2 && __GNUC_MINOR__ <= 97) || (defined(BOOST_MSVC) && _MSC_VER <= 1200)
with:
#if (__GNUC__ == 2 && __GNUC_MINOR__ <= 97) || (1)

- use the command <FDK WIndows Python> the setup.py command ' setup.py build_ext --inplace".
- Copy the new pyClipper.pyd file into booleanOperations/Lib
booleanOperations: master branch of booleanOperations at:
https://github.com/typemytype/booleanOperations/.
Follow the installation instructions on the main page for the githubn project.
Under Linux, you will need to install g++: 'sudo apt-get install g++'
then copy the Python/include/python2.7/* to /user/include/python2.7/
then get the source wheel with: " pip install --find-links https://github.com/typemytype/booleanOperations/releases/latest booleanOperations"
then cd to build/booleanOperations, and run <Linux AFDKO Python> setup.py install
Note the source wheel is not always up to date with the main branch: compare
what you get with the main branch, and update as needed. You need the source
wheel in order to easily compiled the pyClipper library; else you need to
isntall Cython and do a lot more work.


4) Testing/building systems.

Expand Down
36 changes: 29 additions & 7 deletions FDK/FDKReleaseNotes.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
FDKReleaseNotes.txt
===============================================================================

FDK. v2.5 Oct 29 2015 change number 64800.
FDK. v2.5 Nov 20 2015 change number 64956.

autohint and tx.
Switched to using new text format that is plist-compatible for T1 hint data in UFO fonts.
Expand Down Expand Up @@ -71,12 +71,16 @@ FDK. v2.5 Oct 29 2015 change number 64800.
of the PostScriptName, and finally the value "NoFamilyName". For style, the
keys are: "openTypeNamePreferredSubfamilyName", "styleName", the style name
part of the PostScriptName, and finally the value "Regular".
Fixed bug where MakeOTF allowed the input file path and the output file path
to be the same.

makeotfexe.
Extended the set of characters allowed in glyph names to include + * : ~ ^ !
Fixed crashing bug with more than 32K glyphs in a name-keyed font, reported by Gustavo Ferreira.
Merged changes from Kahled Hosny, to remove requirement that 'size' feature menu names have Mac
platform names.
Allow developer glyph names to start with numbers: final names must still
follow the PS spec.
Fixed crashing bug with more than 32K glyphs in a name-keyed font, reported
by Gustavo Ferreira. Merged changes from Kahled Hosny, to remove requirement
that 'size' feature menu names have Mac platform names.
Added three new options: see above.
Code maintenance in generation of the feature file parser. Rebuilt the
'antler' parser generator to get rid of a compile-time warning for
Expand All @@ -89,19 +93,37 @@ FDK. v2.5 Oct 29 2015 change number 64800.
relative to the parent directory of the including feature file. If that is
not found, then makeotf tries to apply the reference as relative to the main
feature file.

Changed glyph name parsing rules so that ‘friendly’ glyph names can start
with a sequence of numbers. Final glyph names still cannot start with a
number.

spot.
Fixed bug in duming stylistic feature names.
Fixed bug in dumping stylistic feature names.
Fixed bug proofing vertical features: needed to use vkern values. Fix contributed by Hiroki Kanou.

tx family
Fix crash when using '-gx' option with source UFO fonts for 'tx' family of tools.
Fix crash when a UFO glyph point has a name attribute with an empty string.
Fix crash when a UFO font has no public.glyphOrder dict in the lib.plist file.

Fix really old bug in reading TTF fonts, reported by Belleve Invis. TrueType
glyphs with nested component references and x/y offsets or translation get
shifted.
Added new option '-fdx' to select glyphs by excluding all glyphs with the
specified FDArray indicies. This and the '-fd' option now take lists and
ranges of indices, as well as a single index value.

ufonormalizer
Added a command to call the ufonormalizer tool.

Misc
Updated to latest modules for booleanOperatons, defcon (ufo3 branch),
fontMath (ufo3 branch), fontTools, mutatorMath, and robofab (ufo3 branch).
The FDK no longer contains any private branches of third party modules.
Rebuilt the Mac OSX, Linux and Windows Python interpreters in the AFDKO,
bringing the Python version up to 2.7.10. The python interpreters are now
built for 64 bite systems, and will not run on 32 bit systems.


FDK. v2.5 Aug 4 2015 change number 64700.

autohint.
Expand Down
4 changes: 2 additions & 2 deletions FDK/Read_Me_First.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
</head>
<body>
<h1>ReadMe for the Adobe Font Development Kit for OpenType (AFDKO)</h1>
<h2>v2.5 change number 64800, Oct 29 2015</h2>
<h2>v2.5 change number 64956, Nov 20 2015</h2>
<p>
<h3>Contents</h3>
<ol>
Expand All @@ -28,7 +28,7 @@ <h3>Contents</h3>

<p>Please see the document <a href="AFDKO-Overview.html">Adobe Font Development Kit for OpenType (AFDKO) Overview</a>, in the file "AFDKO-Overview.html" for what is new and for a summary of all the tools and what they do.</p>

<p><strong>NOTE:</strong> The FDK 2.5 requires an Intel-based Mac running OSX 10.6.8 or later , or Windows XP or later.</p>
<p><strong>NOTE:</strong> The FDK 2.5 requires an 64 bit Intel-based Mac running OSX 10.6.8 or later , or Windows XP or later.</p>

<p><a name="Installation" id="Installation"></a><h2>2. AFDKO Installation Guide</h2></p>

Expand Down

0 comments on commit a331aa0

Please sign in to comment.