Commit Graph

  • 2545f16b54 Make a hidden feature accessible: optionally ignore decompilation errors, falling back to DefaultTable, retaining the binary data. It's a bit dangerous to enable this by default, since it can lead to hiding other errors or bugs (in the font or fonttools itself). jvr 2008-03-01 09:30:17 +00:00
  • 2db352c748 - skip subtables of length zero - minor tweak in cmap 4 logic contributed by rroberts jvr 2008-02-29 14:43:49 +00:00
  • a1c092af26 _processMathOne does not need factor processing. Copy/paste error. Erik van Blokland 2008-02-26 09:33:18 +00:00
  • 380513b3c2 Fixes a traceback in FL when importing a UFO without hints. Erik van Blokland 2008-02-25 14:53:25 +00:00
  • 6ce7a4c64b Check if the psHints are None before processing. Erik van Blokland 2008-02-25 14:37:20 +00:00
  • 72dc3fecae Add test for glyph.copy() and font.insertGlyph() Erik van Blokland 2008-02-25 13:25:00 +00:00
  • bee4e0c152 Fix Erik van Blokland 2008-02-25 13:22:11 +00:00
  • e9a403fec1 PostScriptGlyphHintValues reads from data argument if there is one. Erik van Blokland 2008-02-25 12:55:29 +00:00
  • 5d3393baab Add a clear() method to the psHint base object. Erik van Blokland 2008-02-25 12:52:26 +00:00
  • 92f1b1c979 New argument for writeUFO: doHints if the glyph hints need to be exported. Default set to False. New argument for readUFO: doHints: if the hints need to be imported. Defaults set to True. font._supportHints is set to True so at least internally hints are supported. Erik van Blokland 2008-02-25 12:51:13 +00:00
  • 47e7af1af8 This adds support for glyph.psHints in objectsFL.RGlyph. The psHints object is in this case a wrapper for FontLab's glyph hint objects. Hints are represented as simple [position, width] pairs, but they're converted to FL Hint objects when writing back to the font. Some changes to the way the hints are written to the font.lib upon export to UFO: hints used to be written as a list of {"position":100, "width":20} dicts. This is now just a list of lists [[100, 20], ]. The names of the entries now match the robofabInterCapSpellingRule, so hHint and vHint rather than hhint and vhint. This also applies to hLink, vLink and replaceTable. Erik van Blokland 2008-02-25 11:35:12 +00:00
  • 119c1534ba This adds support for glyph.psHints in objectsRF.RGlyph. Read from glyph.lib if present. Write to glyph.lib if not empty. It stores in the .glif through the glyph.lib. Erik van Blokland 2008-02-25 11:28:46 +00:00
  • 89a3dcd1a6 psHint object for glyphs. Support for math. Support for (x,y) factors for multiplication and division. Math operations on glyph take psHints into account. Refer to robofab/test/test_psHints.py Erik van Blokland 2008-02-25 11:26:38 +00:00
  • bb9b773615 Test data. Same as the test data from earlier releases. It had not been committed into svn. Erik van Blokland 2008-02-25 11:23:57 +00:00
  • 8893f73410 doc test for the psHints attributes of glyph and font. Various math operations ad tests. Erik van Blokland 2008-02-25 11:22:03 +00:00
  • c52a8690ab objectsRF.RFont object now makes an empty PostScriptFontHintValues object when initialised. psHints data is always saved to UFO, not just when font._supportHints is on. Erik van Blokland 2008-02-24 11:40:36 +00:00
  • 9b132cd124 Div rather than mul. Erik van Blokland 2008-02-23 21:22:40 +00:00
  • 10b720b45d This implements add, sub, mul, rmul, div and rdiv for psHints. With a tip of the hat to Tal's fontMath for some ideas. This also includes a round() method which does some appropriate rounding and integerifying of the zone and stems. Erik van Blokland 2008-02-23 19:44:09 +00:00
  • a1d2ca7469 psHints, allow initialisation of the object with data. Erik van Blokland 2008-02-23 19:40:49 +00:00
  • afe98e771e Reimplements the maximum items for the bluesvalues. New copy() method fo the FL flavored psHints object. Erik van Blokland 2008-02-23 19:40:07 +00:00
  • 026f9d336f Rather than a list of tuples, the zone information is now returned and accepted as a list of lists. It won't make any difference in the way the data is handled, but it makes it possible to compare results in FL with results from UFO. (the pairs are stored as lists in the UFO, not tuples). Two internal method names are updated as well as they're no longer making tuples. Erik van Blokland 2008-02-23 13:22:35 +00:00
  • 0192232fbe Fix: if a psHintValues object is initialised without a parent, it should not try to load the lib. Erik van Blokland 2008-02-23 13:17:21 +00:00
  • fdae4fcb4b Represent blues values as lists of tuples rather than a list of integers. Represent forceBold as a Bool. Do some sorting on blues values. Erik van Blokland 2008-02-22 10:12:19 +00:00
  • 20aadad26c Script with examples of the new RFont.psHints attribute. Setting and getting values. Erik van Blokland 2008-02-22 10:09:52 +00:00
  • a8d74c1c88 GlyphHints thingy doesn't exist yet, so can't be imported. Erik van Blokland 2008-02-22 08:40:00 +00:00
  • a0f4ff8ba7 Support for font level postscript hints, mirroring the support in objectsFL. RFont.psHints attribute gives access to blues values and stems and so on. This is just a simple representation of the data that's already in the UFO. This object should actually do some sanity checking of the entered values, keep them to their allowed maximum number of entries and sort them. Also, it would be nice if the zones could respond to math operations. But that's a different project. Erik van Blokland 2008-02-21 17:42:34 +00:00
  • 1015f090d4 Support for font level postscript hints. RFont.psHints attribute gives access to blues values and stems and so on. When exporting to UFO, font._supportHints needs to be True. When exporting to UFO, font level hint data is stored in the font.lib under key "org.robofab.postScriptHintData". Glyph level hint data is stored in the .glif, also under key "org.robofab.postScriptHintData". Note that glyph hints were stored under a different key before. Note, these are new features and still require some testing. The rest of the objects should not be affected by this. Erik van Blokland 2008-02-21 17:37:39 +00:00
  • 5a8c896278 Base object for font level postscript hint data such as the blue values and stems. See RF and FL modules for actual implementation. Erik van Blokland 2008-02-21 17:17:22 +00:00
  • e940853ff2 When a font was saved to a new location, the kerning did not copy in some cases. This forces the kerning to always copy when a save as happens. Erik van Blokland 2008-02-21 16:56:53 +00:00
  • 702d133861 A fix for ticket http://code.robofab.com/ticket/2 When the feature order is present, it does not mean the features are still in tact, they might have been edited by an earlier version of robofab. Now it checks if a feature is present before adding it to the list of things to add. Erik van Blokland 2008-02-21 07:46:17 +00:00
  • 8633195104 fixed problem with private VTT table, found by Peter Bilak jvr 2008-02-19 18:49:14 +00:00
  • c0e527a2a1 Remove unnecessary print statement. Erik van Blokland 2008-02-05 10:04:25 +00:00
  • 6a3236b291 This fixes glyph rotation around an arbitrary center point. The return-to-base translation was missing. Erik van Blokland 2008-02-05 09:46:47 +00:00
  • 3069538f34 Removes unnecessary print statement. Erik van Blokland 2008-02-04 20:09:55 +00:00
  • 2b446bb01c os.name on mac can also be "posix". This caused a problem with FLS 5 on OSX, which would then return glyph.note as latin-1 rather than macroman, which would cause the wrong string to be written in UFO. Tip of the hat to Kai Bernau for reporting. Erik van Blokland 2008-02-02 12:40:17 +00:00
  • 0045ab5862 Change to writing the glyph.note. Strings are encoded as utf-8 before handing them to the xmlwriter. Erik van Blokland 2008-02-02 12:37:51 +00:00
  • e307d81d4b Update changelog pabs3 2008-01-28 07:11:06 +00:00
  • 67584d842d Woops, missed a version number pabs3 2008-01-28 07:09:27 +00:00
  • 043d41f2c6 Add a MANIFEST file so that we don't forget files in the source distribution pabs3 2008-01-28 04:59:14 +00:00
  • af37f54e52 Update the changelog from the CVS history pabs3 2008-01-28 04:22:26 +00:00
  • d80c13e389 Get ready to release version 2.1 pabs3 2008-01-28 04:19:40 +00:00
  • fb8e53bfcf Just use fonttools as the tarball name. pabs3 2008-01-28 04:00:14 +00:00
  • cd92c4599b Change to the way the transformation tuple of a component is added to the digest. Values which can be ints (int(a) == a) are added as int, rather than float. This solves a problem comparing digests in UFO and VFB. Erik van Blokland 2008-01-22 11:28:22 +00:00
  • d7fca1c1e5 Added >>> for the benefit of the doctests. Erik van Blokland 2008-01-19 12:09:29 +00:00
  • fda0359bb3 Contributed script by Antonio Cavedoni. Tokenize FontLab’s preview/metrics text into single characters respecting escaped glyph names (eg. “/A.smcp”) and providing a lossless reverse function. Erik van Blokland 2008-01-17 06:20:03 +00:00
  • 36bff8e8ff A place for contributed scripts. Erik van Blokland 2008-01-16 08:15:51 +00:00
  • 617945dcf1 The scripts folder for FontLab as they shipped with Fab 1.1.1. Erik van Blokland 2008-01-16 08:14:00 +00:00
  • a80c6d2c8a Some URLs in the code have been updated. Some old crud removed. Install.py moved to the right directory, it was initially checked into the wrong place. Erik van Blokland 2008-01-09 08:53:25 +00:00
  • 2f35645fbe Odd stray misplaced character. Sorry. Erik van Blokland 2008-01-08 20:23:26 +00:00
  • 03fa850d2c This removes the class magic based AllFonts. The AllFonts available in FL relies on actual font indices of open fonts. In RF, AllFonts will raise a NonImplementedError. The class should not be responsible for knowing which fonts are open, it's really up to the application to keep track of these things. Erik van Blokland 2008-01-08 19:18:06 +00:00
  • df38921713 Removes a couple of prints. Erik van Blokland 2008-01-08 19:16:31 +00:00
  • 4fc6c418e3 Dummy AllFonts function added which will raise a NonImplementedError. AllFonts really only works in FL. This removes some bad magic which never really did work. Erik van Blokland 2008-01-08 19:14:51 +00:00
  • b4e57dc4e0 Removing getAllFonts() from objectsBase. It's unreliable and tries to implement something in RF which can't really be implemented. Erik van Blokland 2008-01-08 19:13:43 +00:00
  • d7b493a3cc initial import was at the wrong place Erik van Blokland 2008-01-08 18:41:55 +00:00
  • f570f123fa license for robofab Erik van Blokland 2008-01-08 10:55:20 +00:00
  • fe3133926a Upped the version number to 1.1.2 so there is no confusing with the installer-release 1.1.1. The svn version has a couple of changes already. Erik van Blokland 2008-01-08 07:21:03 +00:00
  • 93f57733fc Basic fab objects for use in FontForge. Not at all ready, but functional in parts. Erik van Blokland 2008-01-07 21:12:34 +00:00
  • 3ce28a5c17 All the changes that sat around. Some fixes involving FontIndex. A fix for weightValue not accepting floats. An addition for feature exports and imports: it now stores the order in which the features are stored in fontlab. While this works for evb, note there might be conflicts with the changes in your own personal objectsFL. Erik van Blokland 2008-01-07 21:05:52 +00:00
  • e397d6495e more cleaning Erik van Blokland 2008-01-07 20:36:45 +00:00
  • 6afe101a71 more cleaning Erik van Blokland 2008-01-07 20:36:03 +00:00
  • 713ce3b9f2 more cleaning Erik van Blokland 2008-01-07 20:34:31 +00:00
  • b6f7c1c1b9 more cleaning Erik van Blokland 2008-01-07 20:29:56 +00:00
  • 05819ef629 more cleaning Erik van Blokland 2008-01-07 20:27:40 +00:00
  • 10c63c548e more cleaning Erik van Blokland 2008-01-07 20:25:28 +00:00
  • 13cd62a0f1 more cleaning Erik van Blokland 2008-01-07 20:19:18 +00:00
  • 79e668f9e2 more cleaning Erik van Blokland 2008-01-07 20:15:29 +00:00
  • f5a6541439 removing old CVS dir Erik van Blokland 2008-01-07 20:14:25 +00:00
  • 3646055ea2 initial import Erik van Blokland 2008-01-07 17:40:34 +00:00
  • 9728601b44 Fix 1762552: traceback on amd64 with DejaVuSans.ttf pabs3 2007-11-14 07:06:39 +00:00
  • 4acb76de2e added 'support' for OS/2 version 4: can anyone verify this is correct? I can't seem to find an OS/2 v4 spec... jvr 2007-10-22 09:31:02 +00:00
  • 26a46b7fce Patch #1296028 from Tomasz Wegrzanowski: improve performance with CJK fonts pabs3 2007-08-25 06:19:37 +00:00
  • 823f8cd15f Misc patches from rroberts: jvr 2006-10-21 14:12:38 +00:00
  • d299b55d14 patches from rroberts: jvr 2006-10-21 13:54:30 +00:00
  • c60a44fa03 Some edits from rroberts: # 1) speed optimizations # 2) fixed parseCharset0 to support CFF-CID fonts. # 3) fixed CharsetConverter.read to work a font that actually has one of the pre-canned encodings. # This fixes a stack dump. # I did not try to support using these encodings when writing a font, # as the cases will be so rare as to not justify the processing overhead for all other fonts. jvr 2006-10-21 13:41:18 +00:00
  • bc6e55b31e Speed optimizations from rroberts jvr 2006-10-21 13:29:47 +00:00
  • 4cc0051c08 Some non-official OT tables from rrboerts. He wrote: jvr 2006-10-21 13:27:25 +00:00
  • 192655c661 make this module work with semi-recent MacPython jvr 2006-10-21 13:16:51 +00:00
  • 7099f4c0f9 support the deprecated dotsection T2 operator jvr 2006-02-25 21:39:33 +00:00
  • 3a3721cb1c In some bad fonts, kern table is incomplete (it only contains a version number). In this case, the code accept a table without kernTables. fcoiffie 2006-01-25 15:24:37 +00:00
  • dc66e7e118 LTSH length can be different of numGlyphs as the table length must be 4-bytes aligned (assertion changed to (len(data) % numGlyphs) < 4) fcoiffie 2006-01-25 15:21:22 +00:00
  • 83f069d66c The dates are stored in 8-bytes fields (Microsoft reference document) but Macintosh dates are only coded with 4-bytes. In some fonts, these date fields are badly coded and 8-bytes are used. So, a ValueError occurs. fcoiffie 2006-01-25 15:12:14 +00:00
  • 04985bfdde Unsigned long data field must be packed with "L" instead of "l" (sometimes an OverflowError can occur) fcoiffie 2006-01-12 14:04:40 +00:00
  • e895dce25d Hmm, fondLib has been broken on Python.framework for a while: I used the native struct alignment, which is different on OSX. Changed all struct calls to explicitly use big endian (ready for x86...), which also fixes the alignment issue. jvr 2005-06-24 09:35:16 +00:00
  • d4561ec1b4 some flex hint fixes from rroberts jvr 2005-05-07 08:41:12 +00:00
  • a5c92986dd avoid glyphSet.get(): not all glyphsets in use implement it. jvr 2005-04-10 13:18:42 +00:00
  • 2e4cc02ca3 BasePen should not fail if a base glyph does not exist in the glyph set; added get() method to _TTGlyphSet class jvr 2005-03-08 09:50:56 +00:00
  • 3a98ae5baf added _endPath method; without it, we'd fail on open paths (which requires pen.endPath() to be called instead of pen.closePath()) jvr 2005-03-08 09:40:25 +00:00
  • c53569efef use highly unscientific epsilon value jvr 2005-02-25 22:31:39 +00:00
  • 86c07d2b9a more doco, reformatted __all__ jvr 2005-02-25 12:51:49 +00:00
  • 441fdd1e9f reworked test code and results, to make the results more readable jvr 2005-02-25 12:40:52 +00:00
  • 10de259aec Refactored splitting logic; added splitQuadraticAtT() and splitCubicAtT() jvr 2005-02-25 12:28:45 +00:00
  • 0ec07f2dbc show/test that _testrepr() reprs Numeric arrays nicely, too jvr 2005-02-25 10:47:36 +00:00
  • 82fdf153ac added a comment jvr 2005-02-25 10:42:29 +00:00
  • befd485af5 factored out param -> points conversion jvr 2005-02-25 10:40:07 +00:00
  • 9369c20087 renamed and rewrote _tuplify() to _testrepr(), added tests for splitCubic() jvr 2005-02-25 10:33:47 +00:00
  • 8ee2561bc1 some refactoring, some doctests jvr 2005-02-25 10:11:30 +00:00
  • cecd58c31c hm, it's been more than a year and a half since I regenerated ChangeLog.txt... jvr 2005-02-23 22:15:14 +00:00
  • 95c9e9fc11 This patch fixes two things - in T2 charstrings, a byte code of 255 is followed by a 16.16 fixed point number, not a 4-byte int as in T1. Noted by rroberts. - some integers were not correctly encoded in the T1 compiler. jvr 2005-02-23 21:22:27 +00:00
  • 31ae380735 fixed problem with empty ClassDef, as well as added some more defenses for possible empty tables jvr 2005-02-11 19:36:38 +00:00
  • 10fd22a989 expose onlyHeader keyword arg to generic read() func jvr 2005-01-25 19:06:51 +00:00