466 lines
15 KiB
HTML
466 lines
15 KiB
HTML
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>
|
||
|
RoboFab Read Me and installation notes
|
||
|
</title>
|
||
|
<link href="default.css" type="text/css" rel="stylesheet" />
|
||
|
</head><body>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<script type="text/javascript" src="http://www.google-analytics.com/urchin.js"></script>
|
||
|
<script type="text/javascript">
|
||
|
_uacct = "UA-2044310-2";
|
||
|
urchinTracker();
|
||
|
</script>
|
||
|
|
||
|
<div id="modellogo">
|
||
|
<img src="img/drawmodel_header.jpg" width="595" height="112" />
|
||
|
</div>
|
||
|
<div class="leftcontent">
|
||
|
<h1 class="crb-seealso">
|
||
|
RoboFab
|
||
|
</h1>
|
||
|
<p class="menu">
|
||
|
<a href="index.html">
|
||
|
Home
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="download/index.html">
|
||
|
Download v1.1.1
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="intro.html">
|
||
|
Intro
|
||
|
</a>
|
||
|
<br />
|
||
|
<span class="selected"><a href="install.html">
|
||
|
Install Notes
|
||
|
</a></span>
|
||
|
<br />
|
||
|
<a href="history.html">
|
||
|
History
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="executive.html">
|
||
|
Summary
|
||
|
</a>
|
||
|
</p>
|
||
|
|
||
|
<p class="menu">
|
||
|
<a href="howto/index.html">
|
||
|
How to's
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="talks/index.html">
|
||
|
Step by step
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="tools/dialogs.html">
|
||
|
Fab Dialogs
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="objects/index.html">
|
||
|
Object reference
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="objects/model.html">
|
||
|
Object map
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="tools/index.html">
|
||
|
Tools
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="ufo/index.html">
|
||
|
UFO Overview
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="ufo/specification.html">
|
||
|
UFO Spec
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="limitations.html">
|
||
|
Fab Limitations
|
||
|
</a>
|
||
|
|
||
|
<a href="links/index.html">
|
||
|
Links
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="credits.html">
|
||
|
Credits
|
||
|
</a>
|
||
|
</p>
|
||
|
|
||
|
<h1 class="crb-seealso">
|
||
|
Support RoboFab
|
||
|
</h1>
|
||
|
|
||
|
|
||
|
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
|
||
|
<input type="hidden" name="cmd" value="_s-xclick">
|
||
|
<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but21.gif" border="0" name="submit" alt="Make payments with PayPal - it's fast, free and secure!">
|
||
|
<img alt="" border="0" src="https://www.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">
|
||
|
<input type="hidden" name="encrypted" value="-----BEGIN PKCS7-----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-----END PKCS7-----
|
||
|
">
|
||
|
</form>
|
||
|
|
||
|
|
||
|
|
||
|
<h2 class="crb-seealso">
|
||
|
Up
|
||
|
</h2>
|
||
|
|
||
|
<p class="menu">
|
||
|
<p class="bonbon_uplink"><a href="index.html">Back to RoboFab Reference</a></p>
|
||
|
</p>
|
||
|
|
||
|
<h2 class="crb-seealso">
|
||
|
See also
|
||
|
</h2>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<p class="menu">
|
||
|
|
||
|
</p>
|
||
|
</div>
|
||
|
|
||
|
<div class="footer">
|
||
|
<a href="feedback.html">
|
||
|
Feedback
|
||
|
</a>
|
||
|
<br />
|
||
|
<a href="map.html">
|
||
|
Sitemap
|
||
|
</a>
|
||
|
<br />
|
||
|
Please also refer to the
|
||
|
<a href="download/license.html">
|
||
|
Legal
|
||
|
</a>
|
||
|
<br />
|
||
|
Copyright 2003-2006 RoboFab
|
||
|
<br />
|
||
|
version 1.1.1
|
||
|
</div>
|
||
|
|
||
|
<div class="google">
|
||
|
|
||
|
|
||
|
<h2>RoboFab Mailinglist</h2>
|
||
|
<p>
|
||
|
Join the RoboFab users community at Google groups.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<img src="http://groups.google.com/groups/img/3nb/groups_bar.gif" alt="Google Groups" height="26" width="132" />
|
||
|
|
||
|
<p>
|
||
|
<form action="http://groups.google.com/group/robofab/boxsubscribe">
|
||
|
Email: <input type="text" name="email" />
|
||
|
<input type="submit" name="sub" value="Subscribe" />
|
||
|
</form>
|
||
|
</p>
|
||
|
<p>
|
||
|
<a href="http://groups.google.com/group/robofab">Visit this group</a>
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<h2>RoboFab Sponsors</h2>
|
||
|
|
||
|
<script type="text/javascript">
|
||
|
|
||
|
|
||
|
google_ad_client = "pub-3703953449723704";
|
||
|
google_ad_width = 120;
|
||
|
google_ad_height = 600;
|
||
|
google_ad_format = "120x600_as";
|
||
|
google_ad_type = "text_image";
|
||
|
google_ad_channel ="";
|
||
|
google_color_border = "336699";
|
||
|
google_color_bg = "FFFFFF";
|
||
|
google_color_link = "0000FF";
|
||
|
google_color_url = "008000";
|
||
|
google_color_text = "000000";
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
</script>
|
||
|
|
||
|
|
||
|
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
|
||
|
|
||
|
|
||
|
|
||
|
</div>
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
<div class="content">
|
||
|
<h1>
|
||
|
RoboFab ReadMe and installation notes
|
||
|
</h1>
|
||
|
<ul>
|
||
|
<li>
|
||
|
November 18, 2007. License changed to <a href="http://www.opensource.org/licenses/bsd-license.php">The BSD License.</a>
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
May 30, 2007, updated some points.
|
||
|
</li>
|
||
|
<li>
|
||
|
v1.1.1 release September 9 2005
|
||
|
</li>
|
||
|
<li>
|
||
|
v1.1 release February 7 2005
|
||
|
</li>
|
||
|
<li>
|
||
|
v1.0b1 release October 6 2003
|
||
|
</li>
|
||
|
<li>
|
||
|
September 14, 2003
|
||
|
</li>
|
||
|
<li>
|
||
|
September 1, 2003
|
||
|
</li>
|
||
|
<li>
|
||
|
July 27, 2003
|
||
|
</li>
|
||
|
</ul>
|
||
|
|
||
|
<p>
|
||
|
Note: from November 2007 on, the 1.1.1 version is now distributed with <a href="http://www.opensource.org/licenses/bsd-license.php">The BSD License.</a>. The license information in the current 1.1.1 package still needs to be updated.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<h2>
|
||
|
Which Python?
|
||
|
</h2>
|
||
|
<p>
|
||
|
RoboFab works with any Python 2.2.1 and up.
|
||
|
</p>
|
||
|
<h3>
|
||
|
Which Python for FontLab?
|
||
|
</h3>
|
||
|
<p>
|
||
|
If you're using RoboFab in conjunction with FontLab, there are some restrictions imposed by FontLab's taste in Python. If you are using FontLab Studio in Mac OS X, you already have the necessary Python. If you are using anything previous to FontLab Studio on a Mac, you will need to install MacPython-OS9 2.3. FontLab on Windows requires at least Python 2.2.1.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
<h2>Installing on Mac OSX for FontLab, 1</h2>
|
||
|
<p>
|
||
|
If you're on OSX Tiger (10.4) or Leopard (10.5), and you want to install RoboFab and its dependencies (FontTools, Numeric), for use in FontLab 5.0x, then you can use the <a href="download/RoboFab1.1.1_FontLab_Installer.zip">RoboFab Installer for OSX, FontLab 5.0x</a>. This should work for most current users on OSX.
|
||
|
</p>
|
||
|
|
||
|
<h2>Installing on Mac OSX for FontLab, 2</h2>
|
||
|
<p>
|
||
|
If the all-in-one installer doesn't do it for you (for instance, you want to use RoboFab outside the context of FontLab) the following instructions show you the individual steps to install RoboFab. Currently Python,org already offers version 2.5. However, on MacOSX FontLab <b>will only work with the OS installed Python 2.3.</b> So there's not really much point in installing a newer Python if you don't know what you're doing.
|
||
|
</p>
|
||
|
|
||
|
<p>
|
||
|
> How do I install Robofab for use with FS5 on mac?
|
||
|
</p>
|
||
|
|
||
|
<p>
|
||
|
The easiest way is to do the following:
|
||
|
|
||
|
<ol>
|
||
|
<li>
|
||
|
Download RoboFab and put it wherever you want it to live on your
|
||
|
hard drive. Many people make a RoboFab folder in /Applications.
|
||
|
</li>
|
||
|
<li>
|
||
|
Go to your Applications/Utilities folder
|
||
|
</li>
|
||
|
<li>
|
||
|
Open Terminal
|
||
|
</li>
|
||
|
<li>
|
||
|
Once the terminal is open, type "python " (don't use the quotes,
|
||
|
but do put the space after "python")
|
||
|
</li>
|
||
|
<li>
|
||
|
Drag the install.py script from the RoboFab folder into the line
|
||
|
that you just typed in the terminal. It should now look something
|
||
|
like this (with your name, rather than Tinkywinky):
|
||
|
|
||
|
<p class="python_code">
|
||
|
python /Users/Tinkywinky/RoboFab_1/install.py
|
||
|
</p>
|
||
|
|
||
|
Note: if you have installed newer (2.3+) versions of python, you need to explicitly tell with
|
||
|
which version of Python you want to install. The command would look like this:
|
||
|
|
||
|
<p class="python_code">
|
||
|
python<b>2.3</b> /Users/Tinkywinky/RoboFab_1/install.py
|
||
|
</p>
|
||
|
|
||
|
</li>
|
||
|
<li>
|
||
|
Hit the return key and the following should be printed in the
|
||
|
terminal:
|
||
|
|
||
|
<pre>
|
||
|
Installing RoboFab: about to write a path to '/Users/Tinkywinky/RoboFab_1/
|
||
|
Lib' in '/System/Library/Frameworks/Python.framework/Versions/2.3/lib/
|
||
|
python2.3/site-packages/robofab.pth'...
|
||
|
Robofab is now installed.
|
||
|
(Note that you have to run the install script again if you move your
|
||
|
RoboFab folder)
|
||
|
</pre>
|
||
|
</li>
|
||
|
|
||
|
<li>
|
||
|
Restart FontLab if you had it open during this process.
|
||
|
</li>
|
||
|
</ol>
|
||
|
|
||
|
This will install RoboFab for the system Python, which is what
|
||
|
FontLab Studio uses.
|
||
|
</p>
|
||
|
|
||
|
|
||
|
|
||
|
<h3>
|
||
|
About install.py
|
||
|
</h3>
|
||
|
<p>
|
||
|
In the package, on the same level as this read me there's a install.py script. Running this script creates a file named
|
||
|
<strong>
|
||
|
robofab.pth
|
||
|
</strong>
|
||
|
in site-packages. This robofab.pth file contains the path to the current location of the RoboFab package. It does not copy the RoboFab package to site-packages itself, you need to keep the RoboFab package. Also: if you _move_ the RoboFab folder to some other location (or rename any of the directories the RoboFab folder is nested in), you have to run the install.py script again to update the path.
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<a href="http://www.python.org/download">
|
||
|
Download Python
|
||
|
</a>
|
||
|
</li>
|
||
|
<li>
|
||
|
<a href="http://homepages.cwi.nl/~jack/macpython/download.html">
|
||
|
MacOS Python download page
|
||
|
</a>
|
||
|
</li>
|
||
|
</ul>
|
||
|
<h3>
|
||
|
Dependencies
|
||
|
</h3>
|
||
|
<p>
|
||
|
Some parts of RoboFab depend on other Python modules and packages. These need to be installed as well.
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<strong>
|
||
|
FontTools:
|
||
|
</strong>
|
||
|
Robofab requires Just van Rossum's FontTools package (not to be confused with Apple Inc's set of tools for fonts with the same name). It is recommended that you use the RoboFab installer with FontTools built in, available at
|
||
|
<a href="download/license.html">
|
||
|
the download section</a>. If you must pick up FontTools separately, download the latest snapshot at
|
||
|
<a href="http://fonttools.sourceforge.net/cvs-snapshots/gzip/fonttools-current-snapshot.tgz">
|
||
|
fonttools.sf.net
|
||
|
</a>
|
||
|
</li>
|
||
|
<li>
|
||
|
<strong>
|
||
|
The Numeric Python module</strong>. The version of Numeric for FontTools is available here:
|
||
|
<a href="download/Numeric-24.2.zip">Numeric 24.2</a>.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<h2>
|
||
|
RoboFab bundled with FontLab Studio 5
|
||
|
</h2>
|
||
|
<p>
|
||
|
FontLab Inc. has been granted permission to bundle RoboFab with FontLab-the-application. They have not done so. The reason is not clear.
|
||
|
</p>
|
||
|
|
||
|
<h3>
|
||
|
Installing on Mac OSX MacPython "OS9" 2.3, for FontLab.
|
||
|
</h3>
|
||
|
<p>
|
||
|
FontLab 4.6 on Mac OSX has to work with MacPython "OS9" 2.3 (available from
|
||
|
<a href="http://homepages.cwi.nl/~jack/macpython/macpython-older.html">
|
||
|
MacPython</a>). FontLab <b>4.6</b> does not work with the Framework version of Python. In Application/MacPython-OS9 2.3 find the
|
||
|
<strong>
|
||
|
PythonInterpreter</strong>. Then go to the directory where you downloaded RoboFab. Drag install.py on top of PythonInterpreter to run it. If it says 'RoboFab is installed' you're done. Since FontLab uses this version of Python, this procedure also installs RoboFab for use inside FontLab.
|
||
|
</p>
|
||
|
<p>
|
||
|
RoboFab has two folders of demo scripts and utilities which can be used in FontLab. Copy the contents of the
|
||
|
<strong>
|
||
|
Scripts
|
||
|
</strong>
|
||
|
folder to the FontLab/Macros folder to make them available to FontLab.
|
||
|
</p>
|
||
|
<h3>
|
||
|
Permissions
|
||
|
</h3>
|
||
|
<p>
|
||
|
Make sure you have admin permissions on the machine when you install the various packages. When installing as a normal priviliged user, it can sometimes happen that certain files can't be written, and the installation remains incomplete. The most common problem is that one or two preference files need to be written, but the current user does not have enough permissions to delete them. Read the traceback, locate the file, delete, install again.
|
||
|
</p>
|
||
|
<h2>
|
||
|
Installing on Windows
|
||
|
</h2>
|
||
|
<p>
|
||
|
Installing RoboFab on windows should be pretty straightforward. RoboFab is backwards compatible to Python 2.2.1, but not 2.2. RoboFab now includes a Python 2.2 compatible version of sets.py.
|
||
|
</p>
|
||
|
<h3>
|
||
|
Note
|
||
|
</h3>
|
||
|
<p>
|
||
|
FontLab 4.54 (and higher) offer some basic file dialogs which RoboFab 1.1.1 uses. If you want to use file dialogs on Windows in an older (pre- 4.54) version of FontLab, or you want to use file dialogs on Windows, outside of FontLab (NoneLab), then you need to install the free win32 module, which might have dependencies of its own.
|
||
|
</p>
|
||
|
<ul>
|
||
|
<li>
|
||
|
<strong>
|
||
|
The win32 module</strong>, available for download
|
||
|
<a href="http://starship.python.net/crew/mhammond/win32/Downloads.html">
|
||
|
here</a>. This module is needed for some simple dialogs and messages. We might actually move to another module for these services in the future.
|
||
|
</li>
|
||
|
</ul>
|
||
|
<p>
|
||
|
Tested in Windows XP Home Edition. If there are special requests or procedures we've forgotten to mention, please let us know.
|
||
|
</p>
|
||
|
<h2>
|
||
|
Installing on other platforms
|
||
|
</h2>
|
||
|
<p>
|
||
|
Place the robofab directory in a place where you can leave it for a while. Not on the desktop or a temporary download folder. Run install.py in a Python interpreter.
|
||
|
</p>
|
||
|
<h2>
|
||
|
Initial testing
|
||
|
</h2>
|
||
|
<p>
|
||
|
Open a Python interactive interpreter window.
|
||
|
</p>
|
||
|
<pre>import robofab
|
||
|
# notice, all lowercase!
|
||
|
</pre>
|
||
|
<p>
|
||
|
If you don't get an traceback, you're good to go.
|
||
|
</p>
|
||
|
<p>
|
||
|
In Scripts/RoboFabIntro/ there are some test scripts, simple examples and some utilities. Read the source to learn more about what the examples do and where they want to run.
|
||
|
</p>
|
||
|
<h2>
|
||
|
Detailed unittesting
|
||
|
</h2>
|
||
|
<p>
|
||
|
Robofab has unittesting to make sure all parts function properly. If you don't know what unittesting is, don't sweat it. If you're interested, go to
|
||
|
<strong>
|
||
|
robofab/test/runAll.py</strong>.
|
||
|
</p>
|
||
|
<br />
|
||
|
<br />
|
||
|
<br />
|
||
|
</div>
|
||
|
</body></html>
|