448 lines
16 KiB
HTML
448 lines
16 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 Release History</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 />
|
|
<a href="install.html">
|
|
Install Notes
|
|
</a>
|
|
<br />
|
|
<span class="selected"><a href="history.html">
|
|
History
|
|
</a></span>
|
|
<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 Release History</h1>
|
|
<p>
|
|
A brief overview of what happened.
|
|
</p>
|
|
|
|
<h3>February 7, 2006 - version 1.1.1</h3>
|
|
<p>
|
|
Some changes in the <strong>online</strong> documentation. Note these changes are not part of the bundled documentation in the 1.1.1 release.
|
|
|
|
<ul>
|
|
<li>The default value for clear in <strong>font.newGlyph(glyphName, clear=True)</strong>. This value is set to False in the objectsFL (FontLab) implementaion, but it is set to True in the NoneLab implementation. The documentation reflected the objectsRF version which led to confusion. The documentation has been updated. The default value for clear in the objectsFL implementation has been changed to True.</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h3>September 12, 2005 - version 1.1.1</h3>
|
|
<p>
|
|
<ul>
|
|
<li>
|
|
The "save" argument in font.close is now False by default. Any scripts that rely on font.close() to save fonts should be modified.
|
|
</li>
|
|
<li>
|
|
font.close(save=False) now suppresses the save dialog.
|
|
</li>
|
|
<li>
|
|
GuessSmoothPointPen is now robust against closed contours containing just one point.
|
|
</li>
|
|
<li>
|
|
Fixed a bug that was causing objectsRF to mark glyphs as dirty after simply being loaded.
|
|
</li>
|
|
<li>
|
|
The GlyphSet in glifLib has a new getUnicodes method for quickly extracting unicodes from all GLIF files.
|
|
</li>
|
|
<li>
|
|
The UFOReader in ufoLib has a new getCharacterMapping method for quickly extracting unicodes from all GLIF files.
|
|
</li>
|
|
<li>
|
|
Fixed a RContour.clockwise bug that was causing incorrect results to be returned if the contour had overlapping points.
|
|
</li>
|
|
<li>
|
|
Fixed a RFont.insertGlyph(..., as=name) bug that was causing the "as" name to not be applied in some cases.
|
|
</li>
|
|
<li>
|
|
The result of glyph.copy() no longer has a parent.
|
|
</li>
|
|
<li>
|
|
Setting italicAngle and slantAngle now forces the values to be floats.
|
|
</li>
|
|
<li>
|
|
glyphNameSchemes now forces the conversion to big endian so the results will be the same on Windows and Mac.
|
|
</li>
|
|
<li>
|
|
Components with negative scale values now return correct bounding boxes.
|
|
</li>
|
|
<li>
|
|
dialogs.py no longer has a win32com dependency when used in FontLab Windows.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h3>February 7, 2005 - version 1.1</h3>
|
|
<p>
|
|
<ul>
|
|
<li>
|
|
Fixed a minor rounding error in flPen.py that was allowing unrounded data to be passed to FontLab.
|
|
</li>
|
|
<li>
|
|
objectsRF.RComponent decomposes properly now.
|
|
</li>
|
|
<li>
|
|
Added new filterPen.py to pens: a module with some useful and sample pens illustrating non-drawing applications of pen objects. StatsPen: a pen returning the length of the contour, FlattenPen: a cubic path flattener. And a couple of helpers to make filtering easier.
|
|
</li>
|
|
<li>
|
|
robofab.features but that may be moving to a private location...
|
|
</li>
|
|
<li>
|
|
RInfo now has createdBy, weightValue, weightName and widthName attributes. These are also now written into info.plist in UFOs.
|
|
</li>
|
|
<li>
|
|
RGlyph has a fun new rasterize method.
|
|
</li>
|
|
<li>
|
|
RContour now has rotate and skew methods.
|
|
</li>
|
|
<li>
|
|
New robofab.path.intersect module for calculating intersections.
|
|
</li>
|
|
<li>
|
|
New FindGlyph dialog added to dialogs.py. This dialog is similar to SelectGlyph, but it contains a search field. Very handy when working with large fonts.
|
|
</li>
|
|
<li>
|
|
Setting objectsFL.unitsPerEm is now buffered against possible float values
|
|
</li>
|
|
<li>
|
|
Added UNIX ASCII (PFA) as a generating option in RFont (use "unixascii" as the type in the generate method). It has been here all along, but it was incorrectly labeled as PC Type 1 ASCII.
|
|
</li>
|
|
<li>
|
|
Retrieving groups from a VFB is now more stable.
|
|
</li>
|
|
<li>
|
|
RFont.insertGlyph has a new as=something argument in order to easily insert one glyph under a different name.
|
|
</li>
|
|
<li>
|
|
RGlyph interpolation and glyph math have been completely rewritten. Now the methods are much more flexible about point types and off curve point counts. The methods are still very strict regarding the count of on curve points. In addition to being much more flexible, it is also much faster.
|
|
</li>
|
|
<li>
|
|
RGlyph.isCompatible returns results that follow the same logic as RGlyph.interpolate
|
|
</li>
|
|
<li>
|
|
RContour.interpolate and the math methods in RContour, RSegment, RPoint, RAnchor and RComponent have all been deprecated.
|
|
</li>
|
|
<li>
|
|
RGlyph.note is now properly encoded.
|
|
</li>
|
|
<li>
|
|
A provision for alternate .glif namingschemes has been added. During the writing of UFO the user can now specify a function (for instance robofab.tools.glyphNameSchemes.glyphNameToShortFileName) to create .glif filenames for glyphs. Previously all glyphnames mapped to filenames directly, which made it impossible to export glyphs with long names in some pythons. The default glif naming scheme in ObjectsFL has been set to the aforementioned glyphNameToShortFileName, check the module for a detailed description of the algorithm. Note that this only affects new exports. Existing UFO's and .glifs are not changed. <a href="howto/glifnames.html">See How to use glyph naming schemes</a>
|
|
</li>
|
|
<li>
|
|
Fixed a bug that could pontially cause a GLIF to be saved outside of the proper UFO.
|
|
</li>
|
|
<li>
|
|
New scripts located in robofab/Scripts/RoboFabUFO: DumpOneGlyphToGlif.py, DumpOneGlyphToUFO.py, ExportFontToUFO.py, ImportFontFromUFO.py, ImportOneGlyphFromUFO.py
|
|
</li>
|
|
<li>
|
|
Bug in script GenerateKernProof.py fixed.
|
|
</li>
|
|
<li>
|
|
RFont now has a handy getReverseComponentMapping method for getting a reversed component mapping.
|
|
</li>
|
|
<li>
|
|
AllFonts bugs squashed.
|
|
</li>
|
|
<li>
|
|
plistlib modified to by Python 2.2 compatible
|
|
</li>
|
|
<li>
|
|
Glyph order is now stored and read from font.lib["org.robofab.glyphOrder"]. Importing a UFO into FontLab now follows this order.
|
|
</li>
|
|
<li>
|
|
Raw FDK-style OT feature code is now stored in font.lib["org.robofab.opentype.classes"] and font.lib["org.robofab.opentype.features"] in UFOs. This data is stored in the OpenType fields in FontLab files.
|
|
</li>
|
|
<li>
|
|
robofab.world no longer prints nag during import.
|
|
</li>
|
|
<li>
|
|
Fixed bug in objectsRF.RFont.save that was occasionally (very, very rarely) forcing save operations to be considered save as operations.
|
|
</li>
|
|
<li>
|
|
Added deprecation warnings to family.py and featureLib.py.
|
|
</li>
|
|
<li>
|
|
Added warning to nameTable.py.
|
|
</li>
|
|
<li>
|
|
Removed properties.py.
|
|
</li>
|
|
<li>
|
|
Removed unused Point and Offset classes from objectsBase.
|
|
</li>
|
|
<li>
|
|
Fixed a bug that would raise an error in robofab.interface.all.dialogs.AskString
|
|
</li>
|
|
<li>
|
|
Backported RoboFab to Python 2.2.1. This is now the oldest version of Python we support. Python 2.2 is not supported.
|
|
</li>
|
|
<li>
|
|
RoboFab now includes a Python 2.2 compatible version of sets.py (found <a href="http://cvs.sourceforge.net/viewcvs.py/*checkout*/python/python/dist/src/Lib/sets.py?content-type=text%2Fplain&rev=1.44.8.4">here</a>). In Python 2.3+ the sets from the standard lib will be used in place of this version.
|
|
</li>
|
|
<li>
|
|
Reworked the way RPoint determines its type attribute in objectsFL.
|
|
</li>
|
|
<li>
|
|
Patched a small bug in BaseContour.draw that occured when a contour begins with a qcurve in FontLab.
|
|
</li>
|
|
<li>
|
|
Removed support for drawing with antique RoboFab pens. Only FontTools pens are supported now.
|
|
</li>
|
|
<li>
|
|
Removed support for drawing with antique RoboFab pens. Only FontTools pens are supported now.
|
|
</li>
|
|
<li>
|
|
Components now have a read-only box attribute.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
|
|
|
|
<h3>March 26, 2004 - version 1.01</h3>
|
|
<p>
|
|
<ul>
|
|
<li>
|
|
Renamed the folder with utility scripts for FontLab to "RoboFab Utils" as not to overwrite any other folders named "Utils" which might live in the FontLab macros folder.
|
|
</li>
|
|
<li>
|
|
Fixed a problem with glyph.box which would show up in some cases in plain Python use of RoboFab with glyphs which have anchors outside of the horizontal bounds of the glyph.
|
|
</li>
|
|
</ul>
|
|
</p>
|
|
|
|
|
|
|
|
<h3>March 14, 2004 - version 1.0</h3>
|
|
<p>
|
|
First public release.
|
|
</p>
|
|
|
|
|
|
|
|
<h3>January 2004</h3>
|
|
<p>
|
|
We've done some projects using RoboFab at the center and it's fast to work with and reliable. We considered ways to reschedule the conference and couldn't plan anything for a couple of unrelated but unchangeable reasons. We decide for a release.
|
|
</p>
|
|
|
|
|
|
|
|
<h3>September 2003: RoboThon '03</h3>
|
|
<p>
|
|
Worked very hard to get RoboFab 1.0b1 ready for the RoboThon conference in September. The RoboThon was cancelled at the last minute to make room for hurricane Isabel. We soon released the beta to a small group but the missed conference made it difficult for folks to get started.
|
|
</p>
|
|
|
|
|
|
|
|
<h3>July 2003: New Fileformat</h3>
|
|
<p>
|
|
Summer 2003 we started defining the UFO file format, using GLIF for glyph information and Apple's .plist (also XML based and entirely cross platform) for any other data as listings, indices, etc.
|
|
</p>
|
|
|
|
|
|
|
|
<h3>April 2003: New Objects</h3>
|
|
<p>
|
|
April 2003 we started new objects to live on top of the FontLab objects. Just van Rossum started work on the <a href="ufo/index.html">GLIF file format</a>.
|
|
</p>
|
|
|
|
|
|
<h3>February 2003: Start</h3>
|
|
<p>
|
|
RoboFab was started sometime during the TypoTechnica in Heidelberg, 2003. Tal Leming, Erik van Blokland and Just van Rossum combined their FontLab code into a new library. At first it was an odd collection of fixes and workarounds.
|
|
</p>
|
|
|
|
</div>
|
|
</body></html> |