PageRenderTime 74ms CodeModel.GetById 31ms RepoModel.GetById 0ms app.codeStats 1ms

/htdocs/pfaeditchangelog.html

https://bitbucket.org/sortsmill/sortsmill-tools
HTML | 8857 lines | 6443 code | 2409 blank | 5 comment | 0 complexity | 64a6545fda36b82e0d463b00ac9716e1 MD5 | raw file
Possible License(s): GPL-3.0, LGPL-2.0

Large files files are truncated, but you can click here to view the full file

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta name="generator" content=
  6. "HTML Tidy for Linux (vers 25 March 2009), see www.w3.org" />
  7. <!-- Created with AOLpress/2.0 -->
  8. <!-- AP: Created on: 16-Sep-2001 -->
  9. <!-- AP: Last modified: 22-Aug-2006 -->
  10. <title>Changes to pfaedit (predecessor to fontforge)</title>
  11. <link rel="icon" href="fftype16.png" />
  12. <link rel="stylesheet" type="text/css" href="FontForge.css" />
  13. <style type="text/css">
  14. /*<![CDATA[*/
  15. p.c4 {text-align: center}
  16. td.c3 {background-color: #FFFF00}
  17. span.c2 {color: red; font-weight: bold}
  18. span.c1 {color: red}
  19. /*]]>*/
  20. </style>
  21. </head>
  22. <body>
  23. <div id="in">
  24. <a href="changelog.html">Current fontforge changes</a><br />
  25. <a href="oldchangelog.html">Older fontforge changes</a>
  26. <ul>
  27. <li>1-Mar-2004
  28. <ul>
  29. <li>The Check directions option of Find Problems caused
  30. multilayer mode to crash.</li>
  31. <li>Expand stroke would produce counter-clockwise paths
  32. when given an open contour and asked to fill it with a
  33. circular (or elliptical) pen</li>
  34. <li>Try to do a better job of guessing the correct
  35. direction of a path in an eps file (or a type3 or svg
  36. font)</li>
  37. <li>FontForge would crash when editing in the grid
  38. layer</li>
  39. <li>When the control key is down, make the scroll wheel
  40. do a magnify/minify.</li>
  41. <li>Various cosmetic changes to find problems
  42. <ol>
  43. <li>Specify that "nearness" is measured in
  44. em-units</li>
  45. <li>change "refs deeper than" to "refs nested deeper
  46. than"</li>
  47. <li>make check dir be on by default</li>
  48. </ol>
  49. </li>
  50. <li>Put in more comments about fontforge. We now have a
  51. domain under <a href=
  52. "http://fontforge.sf.net/">fontforge</a>, future releases
  53. will be found there.</li>
  54. </ul>
  55. </li>
  56. <li>29-Feb-2004
  57. <ul>
  58. <li>FontForge could crash if given a bad 'cmap'
  59. subtable</li>
  60. <li>Clean up generation of OS/2 a bit</li>
  61. <li>Pass motion events to windows even when a dlg is
  62. active (so that the mouse location will be shown in an
  63. outline window when the Point info dlg is active).</li>
  64. <li>Put in a comment about changing to FontForge in the
  65. copyright notice the program prints at start up.</li>
  66. <li>The "preflight" script on the mac had problems if the
  67. program had never been installed before</li>
  68. </ul>
  69. </li>
  70. <li>27-Feb-2004
  71. <ul>
  72. <li>Redid the way menus respond to arrow keys</li>
  73. <li>a multilayer enabled FontForge would crash when
  74. editing a normal font.</li>
  75. </ul>
  76. </li>
  77. <li>24-Feb-2004
  78. <ul>
  79. <li>Remove the AddHint command and replace it with
  80. AddHHint and AddVHint.</li>
  81. <li>FontForge would crash when generating a mac family
  82. with NFNT bitmaps.</li>
  83. <li>Added support of exporting a character into PDF
  84. format.</li>
  85. <li>Oh dear, I was figuring out hintmasks in the wrong
  86. direction (because PS splines get reversed before output,
  87. so I now reverse them during the hintmask calculation
  88. too).</li>
  89. <li>At Werner's suggestion, added code to show what hints
  90. are currently active at a point.</li>
  91. <li>At Werner's suggestion added code to show what points
  92. are affected by a hintmask</li>
  93. <li>Added support for real editing of type3 (and svg)
  94. fonts. Support for editing stroked paths, different fill
  95. colors, multiple stroke/fill operations, etc. Because
  96. this involves a lot of extra overhead it is wrong for
  97. people who want to edit CJK fonts, so this mode is off by
  98. default. It may be turned on by
  99. <blockquote>
  100. <pre>
  101. $ configure --with-multilayer
  102. </pre>
  103. </blockquote>
  104. </li>
  105. <li>FontForge failed to interpret h/vstem3 commands
  106. properly when building a hintmask (when reading a type1
  107. font with hint substitution)</li>
  108. </ul>
  109. </li>
  110. <li>11-Feb-2004
  111. <ul>
  112. <li>FontForge would crash when saving a non-multi master
  113. font.</li>
  114. <li>Adding new scripting commands ClearCharCounterMasks,
  115. SetCharCounterMask</li>
  116. </ul>
  117. </li>
  118. <li>10-Feb-2004
  119. <ul>
  120. <li>FontForge could produce bad tfm files.</li>
  121. <li>Added CheckForAnchorClass scripting command</li>
  122. <li>Added SetFontHasVerticalMetrics scripting
  123. command.</li>
  124. <li>FontForge would crash if asked to generate a
  125. contextual lookup which refered to a lookup which only
  126. was activated by a character(s) which was not worth
  127. outputting.</li>
  128. <li>FontForge did the wrong thing when evaluating the
  129. PostScript "index" command (it returned the wrong value
  130. from the stack (stack index off by one))</li>
  131. <li>Added support for the PostScript "for" loop.</li>
  132. <li>I have created a simple (1 axis) Multiple Master
  133. Type1 font with FontForge. It works with both ghostview
  134. and freetype.</li>
  135. <li>FontForge would crash when generating a ttf file from
  136. an sfd file which contain an invalid script/lang index.
  137. Put in code to warn user about this, and in some cases to
  138. correct it.</li>
  139. <li>FontForge had problems reading sfd files in the old
  140. point count format, this meant we still got bad point
  141. count errors.</li>
  142. <li>FontForge wrote bad sfd files if there were
  143. countermasks (all the contours of the glyph would be
  144. lost)</li>
  145. <li>I finally figured out why FontForge kept crashing
  146. when palettes were docked and an outline view was
  147. closed.</li>
  148. <li>Fixed various crashes in Interpolate fonts</li>
  149. <li>FontForge had problems with using subroutines to
  150. express references in PostScript (introduced 30-Jan)</li>
  151. <li>Added a new scripting commands AddHint and
  152. ReplaceCharCounterMasks.</li>
  153. </ul>
  154. </li>
  155. <li>4-Feb-2004
  156. <ul>
  157. <li>Make it illegal to select both "Condense" and
  158. "Extend" in the mac style.</li>
  159. </ul>
  160. </li>
  161. <li>3-Feb-2004
  162. <ul>
  163. <li>Point Info dlg crashed on the mac</li>
  164. <li>Add UI control over Mac Style through the Font Info
  165. dlg</li>
  166. <li>more prep work for mm fonts</li>
  167. </ul>
  168. </li>
  169. <li>2-Feb-2004
  170. <ul>
  171. <li>Generating a postscript font from a database with
  172. quadratic splines didn't work</li>
  173. <li>FontForge crashed on a font with two /CharStrings
  174. entries</li>
  175. <li>Small tweak to menubar behavior given left/right
  176. arrow (for Werner)</li>
  177. <li>Composite glyphs created with seac (type1) had the
  178. wrong transformation for the accent.</li>
  179. <li>more prep work for mm fonts</li>
  180. <li>Still have problems with ttf point counts</li>
  181. <li>If a user loaded a ttf file and made it monospace and
  182. then generated it as ttf, all glyphs except the .notdef
  183. had an advance width of 0</li>
  184. </ul>
  185. </li>
  186. <li>1-Feb-2004
  187. <ul>
  188. <li>sfd reader had a bug. Went into an infinite loop if a
  189. hintmask contained any of the characters [a-fA-F].</li>
  190. </ul>
  191. </li>
  192. <li>31-Jan-2004
  193. <ul>
  194. <li>In Type2 output, when putting a glyph into a
  195. subroutine, if that glyph had no conflicts but had a
  196. hintmask fontforge produced a bad font (which crashed
  197. FontForge when it tried to read it in).</li>
  198. <li>configure script still wasn't working on solaris (or
  199. mac with libiconv probably)</li>
  200. </ul>
  201. </li>
  202. <li>30-Jan-2004
  203. <ul>
  204. <li>The kerning state machine addition broke the indic
  205. state machine dialog</li>
  206. <li>The mac docs claim that the 'feat' table should be
  207. sorted by feature id. But if you do this WorldText can't
  208. find features. All Apple fonts seem to be sorted by the
  209. order the features are used in the 'morx' table's chains.
  210. WorldText works if you do this.</li>
  211. <li>Yannis proposed several extensions to the State
  212. Machine editor, most notably the ability to move the edit
  213. dialog with Up/Down/Left/Right buttons.</li>
  214. <li>I had the feature settings for Linguistic
  215. Rearrangement and Vertical Subs. reversed.</li>
  216. <li>In some cases I wasn't outputting anything to turn a
  217. feature off.</li>
  218. <li>Fixed many problems with kerning state machine
  219. dlg</li>
  220. <li>Fixed several problems with insertion state
  221. machines</li>
  222. <li>Fixed several problems with reading in state
  223. machines.</li>
  224. <li>Added SetMacStyle() to give the user control over how
  225. mac families are built.</li>
  226. <li>Added a fflush after doing Print()s in scripting</li>
  227. <li>FontForge would crash when given an extremely long
  228. real number in a cff dictionary (in this case the font
  229. itself was in error)</li>
  230. <li>FontForge did not copy a bitmap character's width
  231. when it copied the bitmap.</li>
  232. <li>Char Info didn't handle pairwise positioning
  233. properly.</li>
  234. <li>Some more pangrams from <a href=
  235. "http://shair.net/misc/txt/pangram.en">http://shair.net/misc/txt/pangram.en</a>
  236. (link provided by David Shaal)</li>
  237. <li>My old approach to hint substitution caused problems
  238. with multiple master fonts. So now I keep track of which
  239. points are substitution points and what the hint masks
  240. are at those points. There is a new command which will
  241. automatically figure out these points, and the user may
  242. control them directly through Point Info (Element-&gt;Get
  243. Info). At the same time I figured I might as well do the
  244. same thing for counter masks, so FontForge will read
  245. counter masks in from otf file (I did not implement this
  246. for type1s), there is a new command to try and make a
  247. guess as to what they should be, and the user may control
  248. them directly through Element-&gt;Char Info. (new
  249. scripting commands, SubstitutionPoints() and
  250. AutoCounter() do the obvious).</li>
  251. <li>Added a Hints-&gt;Don't AutoHint command to mark a
  252. character as having hints the user likes which should not
  253. be modified until the user explicitly calls AutoHint().
  254. (and a matching scripting command).</li>
  255. <li>Added ability to control whether a PostScript font
  256. (type1&amp;type2) is output with rounding.</li>
  257. <li>FontForge could generate a bad 'post' table for
  258. bitmap only fonts.</li>
  259. <li>FontForge didn't allow you to create two pairwise
  260. positioning items with the same tag.</li>
  261. <li>Hungarian names for mac features and for some
  262. standard names like "Bold", etc. provided by Laszlo
  263. Karoly.</li>
  264. <li>Pierre HANSER noticed that if FontForge mapped a
  265. single glyph to two encodings then bitmap generation
  266. through freetype got confused.</li>
  267. <li>If a font contained a non-.notdef character at
  268. encoding 0, then generating an opentype font from it had
  269. a fair chance of crashing.</li>
  270. <li>Added a couple of new select menu items:
  271. Select-&gt;Contours, Select-&gt;First Point, Next
  272. Contour</li>
  273. <li>Added a new sub-menu to allow ordering contours
  274. within a glyph. This is almost totally useless (the final
  275. look of the character should not be affected by the order
  276. in which the contours are drawn), but for multiple master
  277. fonts, the contour list must have the same ordering in
  278. corresponding glyphs.</li>
  279. </ul>
  280. </li>
  281. <li>11-Jan-2004
  282. <ul>
  283. <li>A patch for reading broken mac tables got lost. I've
  284. reinstated it.</li>
  285. </ul>
  286. </li>
  287. <li>10-Jan-2004
  288. <ul>
  289. <li>FontForge would crash when asked to use the truetype
  290. debugger on fpgm</li>
  291. <li>FontForge always coloured the background of debugger
  292. windows grey.</li>
  293. <li>The Points window did not show any points.</li>
  294. <li>Changed the Points window and the character view to
  295. show whether a point has a watch point set on it.</li>
  296. <li>Display the code range ('fpgm'/'prep'/Glyph) in the
  297. character's info line when debugging.</li>
  298. <li>When creating a 'fpgm'/'prep' table we created one
  299. with some garbage instructions in it.</li>
  300. <li>Somehow I neglected to put in a dlg for editing the
  301. 'cvt ' table. This has been rectified.</li>
  302. <li>There was a bug in the postscript interpreter (the
  303. thing used for reading .eps files and type3 fonts) and
  304. transforming a point by a matrix with diagonal entries
  305. (rotation, skew, etc.) gave the wrong value.</li>
  306. <li>Added code to preserve more of the PS graphic state
  307. when eps file does a gsave</li>
  308. <li>Merge Fonts would crash when merging a font with
  309. references into an empty font</li>
  310. <li>I wasn't providing default values for width/weight
  311. classes in the OS/2 table</li>
  312. <li>The bitmap dlg could write one byte beyond the area
  313. allocated in some cases.</li>
  314. <li>Changed the outline character popup menu to include
  315. an Add Anchor Point entry</li>
  316. <li>The Ligature index wasn't correctly enabled in some
  317. cases.</li>
  318. <li>Add little arrows near the first point of each
  319. contour (in the outline character view) showing the
  320. direction of the contour.</li>
  321. <li>The mac's interpretation of the CFF spec is very
  322. picky, but correct. If a font contained no references
  323. then FontForge would generate an empty subroutine index.
  324. This is wrong. There should be no subroutine index,
  325. rather than an empty one. (Strangely, global subroutines
  326. have the reverse requirement. Stupid). Now if there are
  327. no references, then FontForge will not generate a local
  328. subroutine index.</li>
  329. <li>Yannis Haralambous has corrected the French UI.</li>
  330. <li>Three new scripting commands: AddAnchorClass,
  331. AddAnchorPoint, RemoveAnchorClass</li>
  332. <li>Show ATT did not show glyph classes properly.</li>
  333. <li>Made scripting dlg be resizable.</li>
  334. <li>Save As &amp; Import dlgs looked bad in French.
  335. Various other improvements to make things look better on
  336. non-english systems.</li>
  337. <li>Added the ability to set the glyph class from Char
  338. Info.</li>
  339. <li>FontsInFile did not work on pfb files (nor on
  340. cff)</li>
  341. <li>Opening a mac resource file with multiple FONDs from
  342. a script would crash.</li>
  343. <li>In Font Info-&gt;TTF Names the languages now appear
  344. in unicode ordering no matter what the locale (used to be
  345. the langs were in alphabetical ordering for English, even
  346. if they were actually French)</li>
  347. </ul>
  348. </li>
  349. <li>2-Jan-2004
  350. <ul>
  351. <li>More accurate round joints in stroking.</li>
  352. <li>Better approximations to splines which turn through
  353. 180 degrees or more</li>
  354. <li>Support for reading cff files.</li>
  355. <li>Yet more problems counting ttf points</li>
  356. <li>Update copyright notices.</li>
  357. <li>Add code to protect FontForge against reading bad
  358. Apple lookup tables (I think the Zapfino.dfont that ships
  359. with 10.3 has two bad lookups, but perhaps I just don't
  360. understand them).</li>
  361. <li>Try harder to avoid using 'DFLT' script when coming
  362. up with a default script for glyphs with no innate
  363. script.</li>
  364. <li>Add a Find Problems to detect 'DFLT'</li>
  365. <li>I've been generating bad Simple Positioning subtables
  366. for GPOS all along.</li>
  367. <li>Be pickier about what glyph names I let the user
  368. choose.</li>
  369. <li>On cygwin (perhaps elsewhere, but I was never able to
  370. find the bug elsewhere) if you invoked one command from
  371. the menu while another was still executing, then
  372. fontforge would probably crash.</li>
  373. <li>Support for reading and writing bare cff files.</li>
  374. <li>Build Accents crashed when asked to build accented
  375. chars for iacute, etc. in a font without dotlessi.</li>
  376. </ul>
  377. </li>
  378. <li>28-Dec-2003
  379. <ul>
  380. <li>RemoveATT scripting command didn't work if the third
  381. argument were "*"</li>
  382. <li>FontForge's clipping in the character view left
  383. something to be desired.</li>
  384. <li>Make Meta-Arrow move selected points by 10 times what
  385. Arrow would move them by.</li>
  386. <li>Grabbed the feature ordering for GPOS/GSUB specified
  387. on the <a href=
  388. "http://www.microsoft.com/typography/specs/default.htm">microsoft
  389. site</a> and taught it to FontForge.</li>
  390. <li>Change the Point Info dlg
  391. <ul>
  392. <li>to allow the user to control the point type from
  393. there.</li>
  394. <li>to enforce constraints on control points (ie. the
  395. control points of a curve point must be in line with
  396. the point itself)</li>
  397. <li>by adding an alternated mode of entering data, by
  398. distance and angle (rather than just offset)</li>
  399. </ul>
  400. </li>
  401. <li>Some MF fonts have glyph names with characters which
  402. aren't allowed in PostScript names</li>
  403. <li>FontForge failed to set widthset when it read in
  404. glyphs from a windows FNT (FON) file. This meant that
  405. some glyphs might be ignored.</li>
  406. <li>The context chaining dialog had a bad test for valid
  407. glyph names and complained about any name containing
  408. digits</li>
  409. <li>The histogram dlg would crash if the mouse moved
  410. across it when the window was so wide that it could
  411. contain more stem widths than were actually in use.</li>
  412. <li>Added three commands to the metrics view view menu to
  413. allow users to insert glyphs by name or encoding.</li>
  414. <li>Yannis points out that afm files produced on fonts
  415. with vertical metrics did not contain "WY" values
  416. (vertical advance width), also that the vkerns in the
  417. file actually contained the values of horizontal
  418. kerns.</li>
  419. <li>The 'kern' table did not contain pairwise vertical
  420. kerns (it did contain vertical kerning by class).</li>
  421. <li>The View-&gt;Substitutions sub menu of the
  422. metricsview was not being cleared properly if the current
  423. glyph had no substitutions.</li>
  424. <li>Yannis wants the View-&gt;Substitutions menu to have
  425. a way to return to the original glyph.</li>
  426. <li>Yannis points out that the metricsview in vertical
  427. mode changed the top side bearing in an unexpected way.
  428. Also the vertical advance width did not refresh the
  429. display properly.</li>
  430. <li>Thanks to David Opstad, I now have an example of a
  431. format 1 kerning table and have extended FontForge to
  432. support kerning by state machine.</li>
  433. <li>The code for generating and loading otb (OpenType
  434. bitmap) fonts was broken.</li>
  435. <li>And the code for generating my own weird bitmap only
  436. fonts for windows had some flaws too (different
  437. flaws).</li>
  438. <li>If I typed a character into a fontview (or char view)
  439. and the font did not contain the character, fontforge
  440. would not select that slot that encoded the character,
  441. even if the character was in the encoding.</li>
  442. <li>When loading a ps type3 font, make sure that the
  443. glyph name is available when parsing glyphs so we can
  444. produce reasonable error msgs. (mostly this means "Spline
  445. stroke is too big"</li>
  446. <li>Only generate Spline stroke too big errors once per
  447. font.</li>
  448. <li>Adam Goode tells me that the format 12 (32bit
  449. unicode) cmap was wrong, and provided a patch to fix
  450. it.</li>
  451. <li>Pretty much rewrote the stroking command from
  452. scratch.</li>
  453. <li>Merge fonts would crash when merging in a font
  454. containing either a ligature caret or a nested
  455. lookup.</li>
  456. <li>Made FontForge cognizant of the proposed unicode
  457. dotlessj character (0237), it will now use either this or
  458. the dotlessj in adobe's private use area (depending on
  459. which is in the font)</li>
  460. <li>FontForge would crash when trying to build an
  461. accented character based on inverted breve in pala.ttf
  462. <ul>
  463. <li>It wrongly considered pala.ttf to be slightly
  464. italic (.0005°)</li>
  465. <li>It would crash when doing this in an italic
  466. font</li>
  467. </ul>
  468. <hr />
  469. </li>
  470. <li>When importing postscript (type3 fonts, eps files)
  471. counter-clockwise paths which are both stroked and filled
  472. cause problems</li>
  473. <li>Changed the version stamp of otb fonts from 'OTTO' to
  474. 1.0</li>
  475. </ul>
  476. </li>
  477. <li>10-Dec-2003
  478. <ul>
  479. <li>When there were multiple features with the same tag
  480. (different scripts with 'kern' for instance) FontForge
  481. would produce multiple copies of the same lookup instead
  482. of different lookups.</li>
  483. <li>FontForge was not setting the right to left lookup
  484. flag bit properly for hebrew (and presumably arabic)
  485. kerning</li>
  486. <li>Remove overlap was coalescing some splines that it
  487. should not have.</li>
  488. <li>Typo in expand stroke meant that some round line
  489. joins were really weird</li>
  490. </ul>
  491. </li>
  492. <li>5-Dec-2003
  493. <ul>
  494. <li>When changing the ascent/descent with fontinfo or
  495. scaletoem some of the OS/2 fields did not get updated
  496. properly.</li>
  497. <li>The OS/2 TypoDescent field was set positive instead
  498. of negative.</li>
  499. <li>Added two scripting functions SetTTFName and
  500. GetTTFName to give scripts access to the truetype names
  501. as well as the PS ones</li>
  502. <li>Patch from Kazuyuki. SetPanose didn't work when
  503. argument was an array.</li>
  504. <li>New French translations from Pierre</li>
  505. <li>$copyright didn't return the correct thing (Patch
  506. from Giuseppe Ghibo)</li>
  507. <li>Kerning pair data for non-ASCII unicode characters
  508. did not get output properly into SVG fonts</li>
  509. <li>The AddATT scripting command did not add ligatures
  510. correctly leading to problems when time came to generate
  511. a font.</li>
  512. </ul>
  513. </li>
  514. <li>23-Nov-2003
  515. <ul>
  516. <li>FontForge would crash if given an encoding for the
  517. locale which it didn't understand</li>
  518. <li>Center/Thirds in width from the font view would
  519. change the width</li>
  520. <li>There was a synchronization problem and the truetype
  521. debugger window could deadlock</li>
  522. <li>FontForge failed to read a Contextual (but not
  523. Contextual chaining) Coverage lookup properly.</li>
  524. </ul>
  525. </li>
  526. <li>10-Nov-2003
  527. <ul>
  528. <li>FontForge was crashing when loading a bitmap font
  529. with encoded characters outside the range specified by
  530. the encoding (ie. a character 0x10000 in a unicode BMP
  531. font).</li>
  532. <li>Fixes for several memory leaks provided by Kazuki
  533. Ohta</li>
  534. <li>Slight improvements to the
  535. View-&gt;Combinations-&gt;Ligature dlg</li>
  536. </ul>
  537. </li>
  538. <li>8-Nov-2003
  539. <ul>
  540. <li>Bug introduced 6-Nov, FontForge generated a bad
  541. 'loca' table when outputting a ttf outline font with
  542. bitmaps.</li>
  543. <li>FontForge was getting the truetype point number wrong
  544. when reading outlines from an sfd file.</li>
  545. <li>If the loca table was 2 or 4 bytes long, FontForge
  546. failed to warn about a bad glyph count.</li>
  547. <li>FontForge got confused if two truetype glyphs had the
  548. same name.</li>
  549. <li>When dumping out embedded ttf bitmaps, FontForge got
  550. confused by the extra glyphs (.null and return) and
  551. generated garbage.</li>
  552. <li>Make View-&gt;Combinations-&gt;ligature dlg a bit
  553. better for non-latin glyphs</li>
  554. </ul>
  555. </li>
  556. <li>6-Nov-2003
  557. <ul>
  558. <li>The clut used for drawing anti-alias bitmaps in the
  559. metrics view was wrong.</li>
  560. <li>In a bitmap only ttf file, FontForge was usually
  561. producing bad line spacing data as far as the mac was
  562. concerned.</li>
  563. <li>When importing bitmaps into an empty font, we might
  564. as well change to font view to show the bitmaps rather
  565. than the empty outline data.</li>
  566. <li>If glyph 0 was selected in the fontview then the
  567. File-&gt;Open Outline command was disabled.</li>
  568. <li>With a user defined encoding we were again getting
  569. occasional crashes. (introduced by my work on
  570. bitmaps)</li>
  571. <li>On certain glyphs, the optimizer introduced an slight
  572. error when calculating a spline's coefficients from its
  573. control point. Even though this error was on the order of
  574. 7e-8 it was enough that the rasterizer produced grossly
  575. incorrect results. I have pulled the relevant routine out
  576. into its own file which is now compiled by itself without
  577. optimization.</li>
  578. </ul>
  579. </li>
  580. <li>4-Nov-2003
  581. <ul>
  582. <li>When FontForge removes glyphs with Font
  583. Info-&gt;Encoding-&gt;Number of characters, it will now
  584. run through the font and remove any ligatures,
  585. substitutions, etc. refering to non-existent glyph
  586. names.</li>
  587. <li>Some improvements to remove overlap.</li>
  588. <li>Added a warning message so that when user attempts to
  589. output a ttf file where no characters have unicode
  590. encodings, then the user at least gets warned that the
  591. result will probably not work. For fonts with fewer than
  592. 256 glyphs it will offer the choice of a symbol
  593. encoding.</li>
  594. <li>If a reference were copied in the outline character
  595. view and pasted into the font view, fontforge would
  596. crash.</li>
  597. <li>the expand stroke patch on 29-Sept broke calligraphic
  598. and ellipse modes.</li>
  599. <li>The mouse's scroll wheel did not work in the metrics
  600. view.</li>
  601. <li>The metrics view resized very slowly under window
  602. managers which do continuous resizing.</li>
  603. <li>Give the magnifying glass's rectangle mode a
  604. threshold so that it doesn't resize tiny rectangles which
  605. are really caused by mouse jitter.</li>
  606. <li>Attempt to set a zoom size for character and bitmap
  607. windows, but modern window managers don't seem to support
  608. the old protocol, and I can't find docs on a new
  609. version.</li>
  610. <li>Was not converting filenames to unicode properly for
  611. the open/generate progress dlgs.</li>
  612. <li>FontForge would crash when attempting to draw a
  613. character for which in had no (X11) glyph when doing
  614. bidirectional text.</li>
  615. </ul>
  616. </li>
  617. <li>29-Oct-2003
  618. <ul>
  619. <li>When removing an ATT feature from a glyph using a
  620. script, FontForge would screw up memory. Leading to
  621. unpredictable results.</li>
  622. </ul>
  623. </li>
  624. <li>28-Oct-2003
  625. <ul>
  626. <li>FontForge would crash when converting from cubic to
  627. quadratic splines in a script</li>
  628. <li>FontForge would leave a dangling pointer when
  629. converting from cubic to quadratic. This did not affect
  630. ttf generation, but would affect most other
  631. operations.</li>
  632. </ul>
  633. </li>
  634. <li>27-Oct-2003
  635. <ul>
  636. <li>FontForge would crash when changing the encoding of a
  637. font with a .notdef character to a user defined
  638. encoding.</li>
  639. <li>If one had multiple ligatures for the same glyph with
  640. the same tag and script, FontForge would eat all but one
  641. of them.</li>
  642. <li>When generating most kinds of font, of a font which
  643. had ligatures containing glyph names that were not in the
  644. font, then FontForge would often screw up memory and
  645. eventually crash.</li>
  646. </ul>
  647. </li>
  648. <li>26-Oct-2003
  649. <ul>
  650. <li>Simplify sometimes removed points at extrema even
  651. when it should not have</li>
  652. <li>If one had a ttf font (with instructions) and merged
  653. in a postscript font and then generated a ttf font,
  654. FontForge would complain about an internal error, but go
  655. on to produce a valid font. It should no longer
  656. complain.</li>
  657. <li>When generating fonts from a script, if the font were
  658. in compacted format the generated font would have a
  659. compact encoding (instead of the desired encoding).</li>
  660. <li>Kanou provided a patch to speed up importing bitmap
  661. fonts.</li>
  662. </ul>
  663. </li>
  664. <li>23-Oct-2003
  665. <ul>
  666. <li>The change on the 20th to make custom encoding
  667. support 32bit unicode was incomplete and made custom
  668. encodings crash instead.</li>
  669. <li>The File-&gt;Display dialog ignored the
  670. left-sidebearing of a glyph causing output of some fonts
  671. to look awful.</li>
  672. <li>Was getting the AdobeStandardEncoding a bit wrong
  673. (after the 5-Oct change to the new unicode glyph list
  674. which does not contain "fi" nor "fl")</li>
  675. <li>I used to set the "widthset" bit on .notdef
  676. characters, but there's really no point to that.</li>
  677. <li>Maxim Iorsh tells me that U+fb4f should be a historic
  678. ligature.</li>
  679. <li>On some displays right scrolling the Histogram dlg
  680. would leave black lines on the window.</li>
  681. <li>AutoHint removed too many stems from consideration as
  682. hints on some very bold fonts</li>
  683. <li>Make FontBBox of Type1 fonts be executable. Adobe
  684. says it doesn't have to be, but dvips expects it to
  685. be.</li>
  686. </ul>
  687. </li>
  688. <li>20-Oct-2003
  689. <ul>
  690. <li>Windows XP &amp; 2000 insist on having (what cygwin
  691. describes as) the execute bit of the file set. So
  692. FontForge now sets execute permissions on ttf, otf and
  693. pfb fonts on the cygwin platform.</li>
  694. <li>If a menu was so big that it had to be positioned
  695. over the menubar (instead of above or below it), and the
  696. user clicked on the menubar to invoke it, then the mouse
  697. release would go to the new menu and invoke whatever item
  698. happened to be under the cursor. Not good.</li>
  699. <li>Oops. The Effects sub-menu should have been disabled
  700. for quadratic (truetype) fonts.</li>
  701. <li>Added a new configuration option --with-regular-link
  702. to disable my dlopening of libraries. I dislike this. I
  703. don't think it is anywhere near as flexible as the dlopen
  704. method. It makes it much harder to ship something that
  705. will work with freetype (detecting whether the bytecode
  706. interpreter is present must be done at link time rather
  707. than run time and that is a severe disadvantage. But I
  708. have been asked for it.</li>
  709. <li>Change internal format so that custom encodings can
  710. handle 32 bit unicode.</li>
  711. </ul>
  712. </li>
  713. <li>16-Oct-2003
  714. <ul>
  715. <li>FontForge was still outputting a disordered name
  716. table.</li>
  717. <li>The source tarball on the website included many files
  718. twice and some files that it should not have included at
  719. all. I should now be less than half the size it used to
  720. be.</li>
  721. </ul>
  722. </li>
  723. <li>15-Oct-2003
  724. <ul>
  725. <li>FontForge did not bother to open files in binary
  726. mode. If cygwin was configured with DOS linebreaks, then
  727. fontforge failed to generate valid font files on cygwin.
  728. <hr />
  729. </li>
  730. <li>Added some more warnings to the default build list
  731. and fixed the problems they indicated.</li>
  732. </ul>
  733. </li>
  734. <li>12-Oct-2003
  735. <ul>
  736. <li>Several bad bugs in last night's build (name table
  737. was (usually) all screwed up, conversion from PS to TTF
  738. got incorrect Internal Error msgs)</li>
  739. <li>Order tables in truetype output
  740. <hr />
  741. </li>
  742. <li>My 5-Oct-2003 libpng fix broke it completely. Should
  743. now be refixed.</li>
  744. </ul>
  745. </li>
  746. <li>11-Oct-2003
  747. <ul>
  748. <li>Another patch from Kanou to recognize encodings
  749. better in bdf files.</li>
  750. <li>Various memory fixes found by valgrind</li>
  751. <li>The Element-&gt;Find Problems-&gt;ATT-&gt;Missing
  752. glyph names fixup dlg had some formatting problems and
  753. failed to skip properly.</li>
  754. <li>Draw an "x" through encodings which do not map to
  755. glyphs</li>
  756. <li>If the user is in a compacted encoding and asks to
  757. print a font, then revert to the uncompacted encoding for
  758. the duration of the printing.</li>
  759. <li>View-&gt;Show ATT would show ligatures (and
  760. substitutions) even if some of the glyphs in the glyph
  761. list were missing.</li>
  762. <li>Fix a number of bugs found by the MS Font Validator
  763. <ul>
  764. <li>I misunderstood (and the spec incorrectly
  765. documented) the behavior of the maxp table</li>
  766. <li>I had a typo in figuring out the OS/2 table</li>
  767. </ul>
  768. </li>
  769. <li>I had one more case where I was computing the point
  770. count of a glyph incorrectly.</li>
  771. <li>Make the width line snap to zero when the user drags
  772. near it.</li>
  773. </ul>
  774. </li>
  775. <li>6-Oct-2003
  776. <ul>
  777. <li>Give the Metrics View a vertical mode in which it
  778. does vertical kerning, etc.</li>
  779. <li>Add a hack to allow FontForge to parse a weird pfb
  780. file.</li>
  781. </ul>
  782. </li>
  783. <li>6-Oct-2003
  784. <ul>
  785. <li>Fixed a number of bugs in the new kerning class dlg
  786. including:
  787. <ul>
  788. <li>Vertical kerning classes were displayed
  789. horizontally</li>
  790. <li>When adding a new class the new offsets were
  791. garbage</li>
  792. </ul>
  793. </li>
  794. <li>The routine to convert a horizontal kerning class to
  795. the equivalent vertical kerning class (of the vertical
  796. variants of the glyphs in the horizontal class) didn't
  797. work.</li>
  798. <li>In Back and Lookup Classes of a contextual chaining
  799. substitution by class, the [New] button was never
  800. enabled. (it was disabled if []SameAs was on, and then
  801. never enabled).</li>
  802. <li>My new 94x94 encodings were actually 93x93. Patch by
  803. kanou.</li>
  804. </ul>
  805. </li>
  806. <li>5-Oct-2003
  807. <ul>
  808. <li>Got rid of GreekFixup and added Interpretations of
  809. encodings to FontInfo</li>
  810. <li>FontForge failed to output ligature substitutions
  811. nested under a context/chain sub</li>
  812. <li>If a font had more than about 5 nested ligatures,
  813. fontforge would screw up its memory and (likely)
  814. crash</li>
  815. <li>Fixed various problems pertaining to adding a kerning
  816. class to an empty font</li>
  817. <li>Add a runtime check for the case where the user's
  818. system has a dynamic libpng installed without libz</li>
  819. <li>If a character had ligature carets then FontForge
  820. could crash when determining its script</li>
  821. <li>FontForge was reading mac 'kern' format 3
  822. incorrectly.</li>
  823. <li>Rewrote the Kerning class creation dialog. I hope it
  824. is clearer now.</li>
  825. </ul>
  826. </li>
  827. <li>2-Oct-2003
  828. <ul>
  829. <li>got rid of my strange 94x94 encodings for JIS/KSC/GB
  830. (based on the kuten array) and used instead the much more
  831. obvious encoding that everyone else uses.</li>
  832. <li>BDF files were output with the wrong encoding name
  833. for JISX0208 (I was outputting "JISX208" instead--
  834. missing a "0").</li>
  835. <li>Autotrace failed to read potrace output properly if
  836. there were more than one contour in a given glyph.</li>
  837. <li>Upgraded psunicodenames to the current Adobe Glyph
  838. List for New Fonts.</li>
  839. <li>Simplify now works for quadratic splines. If one uses
  840. the []Allow Slopes to Change checkbox then results are
  841. not good. I need a better algorithm.</li>
  842. <li>If asked to generate a type0 postscript font for a
  843. font encoded with an extended 1byte encoding (ie. one
  844. that had about 300 characters) FontForge would probably
  845. crash.</li>
  846. </ul>
  847. </li>
  848. <li>29-Sept-2003
  849. <ul>
  850. <li>When a path was both stroked and filled (in a
  851. postscript/eps file), fontforge would ignore the
  852. stroke.</li>
  853. <li>I forgot that the stroke linewidth needs to be
  854. transformed by the current transformation matrix. This
  855. meant that when a path should have been stroked by an
  856. ellipse (when reading a ps/eps file) fontforge would
  857. blithely stroke it with a circle.</li>
  858. <li>Added some support for reading the /Metrics
  859. array.</li>
  860. <li>If there were a sharp corner (where the "radius of
  861. curvature" of the corner was less than the radius of the
  862. pen used to stroke the path) then FontForge would
  863. generate an incorrect path.</li>
  864. <li>Round line joins were not a good approximation to
  865. circular arcs.</li>
  866. <li>When filling the outline character view, rounding
  867. errors caused the fill bitmap to stray from the
  868. outline.</li>
  869. <li>Extend the functionality of the magnifying (or
  870. minifying) tool so that if the user drags out a rectangle
  871. with it then the view will be shifted and scaled so that
  872. rectangle fits in the window.</li>
  873. <li>FontForge will no longer auto-generate hints on
  874. non-integral boundaries. In Type1 fonts such hints become
  875. meaningless and just confuse things.</li>
  876. <li>FontForge will now draw a halo around points which
  877. will be part of a flex hint. See the <a href=
  878. "prefs.html#UpdateFlex">UpdateFlex</a> preference
  879. item.</li>
  880. <li>FontForge now has as set of commands for manipulating
  881. typographic features in large lumps rather than one at a
  882. time.
  883. <ul>
  884. <li>Copy features from one font to another</li>
  885. <li>Remove certain features</li>
  886. <li>Give features a new tag</li>
  887. </ul>
  888. </li>
  889. <li>I have greatly rewritten the code for dealing with
  890. AAT fonts
  891. <ul>
  892. <li>FontForge now supports mac feature/setting values
  893. to be used as feature tags as well as opentype 4
  894. letter tags</li>
  895. <li>FontForge will now read any feature in even if it
  896. doesn't map to an opentype tag</li>
  897. <li>FontForge understands the most of the state
  898. machines in the morx/mort tables (it does not
  899. understand ligature state machines, it parses these
  900. for all unconditional ligatures, but it will miss any
  901. conditional ones).</li>
  902. <li>FontForge now lets you edit apple state
  903. machines</li>
  904. <li>FontForge lets you specify feature/setting names
  905. in the font to override the default values specified
  906. in preferences</li>
  907. </ul>
  908. </li>
  909. <li>Added support for reading Apple's format 3 kern
  910. sub-table format (another way of storing a kerning
  911. class)</li>
  912. <li>Oops. SVG didn't read relative movetos properly in a
  913. path option. Patch by Kengo Ichiki.</li>
  914. <li>Simplify had a bug when passed a path which consisted
  915. of a single point with a zero length spline connecting it
  916. to itself</li>
  917. <li>Simplify was not greyed out properly in quadratic
  918. fonts</li>
  919. <li>Some of the low-level error routines consumed massive
  920. amounts of cpu time while waiting for events</li>
  921. <li>The PostScript parsing routines would sometimes think
  922. that "noaccess" was part of the value of something in the
  923. private dictionary.</li>
  924. <li>Several other patches to importing images by
  925. templates from scripts. By Kengo Ichiki</li>
  926. <li>Importing pcf bitmaps into the background had some
  927. problems.</li>
  928. </ul>
  929. </li>
  930. <li>4-Sept-2003
  931. <ul>
  932. <li>the 17-Aug addition of context/chaining broke anchor
  933. classes. Should be fixed now.</li>
  934. <li>Károly László has added Hungarian translations for
  935. the style codes to Font Info-&gt;TTF Names</li>
  936. <li>If a font had comments, an svg file generated from it
  937. had syntax errors.</li>
  938. <li>Add support for generating multilingual strings (in
  939. 'name') for the apple platform.</li>
  940. <li>Add support for the packed gb2312 which mac and
  941. windows seem to use.</li>
  942. <li>Make a UniqueID of -1 in Font Info mean that the font
  943. has no UniqueID.</li>
  944. </ul>
  945. </li>
  946. <li>31-Aug-2003
  947. <ul>
  948. <li>Add problems for maximum number of hints (96) and
  949. maximum number of subroutine nests (references) ~10.</li>
  950. <li>I looked at AppleChancery again and figured out why I
  951. was having trouble parsing its 'mort' ligature tables,
  952. and put in code to make it easy to parse tables of this
  953. type.</li>
  954. <li>After figuring that out, I realized there was a bug
  955. in my own table generation. Suppose we have two ligatures
  956. "f l =&gt; fl" and "s t =&gt; st", and are given "fst".
  957. Then my table would fail to find the "st" ligature. The
  958. state of 'read "f" waiting for "l"' would see that it
  959. didn't get an "l" and revert back to the initial state.
  960. It should instead have checked to see if "s" could start
  961. a ligature in its own right, and if so jump to the 'got
  962. "s" waiting for "t"' state.</li>
  963. <li>The same fix needs to be done for contextual glyph
  964. substitution.</li>
  965. </ul>
  966. </li>
  967. <li>29-Aug-2003
  968. <ul>
  969. <li>FontForge failed to display the morx table if all it
  970. contained were simple substitutions.</li>
  971. <li>FontForge generated incorrect simple substitution
  972. (AAT) tables if it found a substitution with no valid
  973. elements</li>
  974. <li>New problem for find problems. Check for characters
  975. with more than 1500 points in them.</li>
  976. <li>FontForge will now draw selected points in a
  977. different color (currently yellow), and draws them
  978. bolder. This makes them stand out better for Find
  979. Problems (but also makes it harder to distinguish between
  980. corner and curved points).</li>
  981. <li>Redid the way FontForge handled arabic forms in AAT.
  982. Old method was cleaner but depended on behavior which is
  983. unspecified in Apple's docs.</li>
  984. </ul>
  985. </li>
  986. <li>27-Aug-2003
  987. <ul>
  988. <li><span class="c1"><strong><big>The preference dlg has
  989. been broken since about 12 July. Anything on the
  990. Preference-&gt;Font Info tab is probably
  991. wrong.</big></strong></span></li>
  992. <li>FontForge wasn't always getting the script/lang right
  993. when filling in the fields of the New Substitution
  994. dlg.</li>
  995. <li>The newly generated apple state machines for
  996. context/chaining were quite wrong. I hope I've got them
  997. right now.</li>
  998. <li>The []PSNames checkbox (in Generate Font, Options
  999. dlg) did the opposite of what it was documented to do.
  1000. Behavior has been changed to conform to the documentation
  1001. (and expectations).</li>
  1002. <li>FontForge would crash when loading some sfd files
  1003. from a few months ago.</li>
  1004. </ul>
  1005. </li>
  1006. <li>26-Aug-2003
  1007. <ul>
  1008. <li>When I added metadata to svg fonts (20-Aug) I
  1009. inadvertently put in two closing metadata tags. Which
  1010. broke the font.</li>
  1011. <li>Fixed a bug conversion of context/chain coverage
  1012. sub-table into a morx subtable.</li>
  1013. <li>Figured out in what cases I could generate a morx
  1014. subtable from context/chain glyph or class format
  1015. subtables.</li>
  1016. <li>Fixed problems reading required features from ttf
  1017. files.</li>
  1018. <li>Updated French UI</li>
  1019. </ul>
  1020. </li>
  1021. <li>25-Aug-2003
  1022. <ul>
  1023. <li>View-&gt;Show ATT didn't show contextual/chaining
  1024. tables even if they would be put in the 'morx' table</li>
  1025. <li>View-&gt;Show ATT had problems showing anything in
  1026. 'morx'</li>
  1027. <li>Make it possible to edit contextual/chaining lookups
  1028. that are formatted by class</li>
  1029. <li>parsing/generating ttf files with class format
  1030. context/chaining had problems</li>
  1031. <li>loading a class format context/chaining lookup caused
  1032. memory problems when closing the file.</li>
  1033. <li>FontForge would sometimes lose track of
  1034. script/languages of lookups when reading from a ttf
  1035. file</li>
  1036. <li>Added a conversion routine from glyph to class format
  1037. context/chain</li>
  1038. <li>Kanou points out that not all encodings available in
  1039. Font Info-&gt;Encoding are present in the scripting
  1040. interface, and fixes that.</li>
  1041. </ul>
  1042. </li>
  1043. <li>22-Aug-2003
  1044. <ul>
  1045. <li>Fix simplify again</li>
  1046. <li>Patch from Andrey V. Panov to improve bluevalues</li>
  1047. <li>KDE refused to make the find problems explanation
  1048. window visible, so now I shan't make it invisible in the
  1049. first place.</li>
  1050. <li>Generate mac family crashed instead (introduced
  1051. 2-July)</li>
  1052. </ul>
  1053. </li>
  1054. <li>20-Aug-2003
  1055. <ul>
  1056. <li>Support for <a href=
  1057. "http://potrace.sf.net/">potrace</a></li>
  1058. <li>Fix some bugs with simplify more</li>
  1059. <li>Mac build was badly configured and linked with a
  1060. shared library it should not have.</li>
  1061. <li>When compiled with -O2 fontforge had rounding errors
  1062. which resulted in a bad bezier order3=&gt;order2
  1063. conversion (PS-&gt;TTF)</li>
  1064. <li>SetPanose sometimes didn't</li>
  1065. <li>Patch from KANOU to set ulUnicodeRange for version
  1066. 4</li>
  1067. </ul>
  1068. </li>
  1069. <li>18-Aug-2003
  1070. <ul>
  1071. <li><span class="c1"><strong><big>FontForge did not
  1072. interpret SVG relative paths properly, and did not
  1073. generate correct SVG output because of
  1074. this</big></strong></span>. FontForge was mistak

Large files files are truncated, but you can click here to view the full file