PageRenderTime 50ms CodeModel.GetById 25ms 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
  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 mistakenly
  1075. assuming things should be interpreted as in the Type1
  1076. rrcurveto operator (where each point is relative to the
  1077. previous point in the operator) rather than the rcurveto
  1078. operator (where each point is relative to the initial
  1079. point).</li>
  1080. <li>If FontForge opened a Bold font stored in OTF CFF
  1081. format, then when it closed that font it would either
  1082. crash, or screw up memory so that a crash would happen
  1083. later.</li>
  1084. </ul>
  1085. </li>
  1086. <li>17-Aug-2003
  1087. <ul>
  1088. <li>Support for contextual, chaining contextual and
  1089. reverse chaining contextual sub-tables of GPOS/GSUB.
  1090. <ul>
  1091. <li>Will generate an Apple contextual glyph
  1092. substitution table if:
  1093. <ol>
  1094. <li>There is an apple feature which matches the
  1095. otf tag</li>
  1096. <li>The sub-table is in coverage format</li>
  1097. <li>The sub-table contains either exactly one
  1098. nested single glyph replacement substitution,
  1099. or<br />
  1100. it contains exactly two single glyph replacements
  1101. and one of them refers to the last glyph matched
  1102. (and the other does not)</li>
  1103. </ol>
  1104. </li>
  1105. </ul>
  1106. </li>
  1107. <li>KANOU points out that on screens with high dpi
  1108. FontForge would sometimes draw splines 2 pixels wide and
  1109. sometimes 1 pixel wide (122dpi had this effect)</li>
  1110. <li>KANOU provided another patch for reading bitmaps one
  1111. part covered a memory leak the other fixed a bug reading
  1112. ttc files.</li>
  1113. <li>Added a LoadEncodingFile scripting command</li>
  1114. <li>New french ui.</li>
  1115. <li>FontForge was using the wrong definition of ascent
  1116. &amp; descent to set those fields in the 'hhea' table.
  1117. This confused some mac programs (perhaps others).</li>
  1118. <li>Added a "BBox" item to CharInfo scripting.</li>
  1119. <li>Added a FontsInFile scripting command to return an
  1120. array containing the fontnames of all fonts in a file. If
  1121. an error occurs, a zero length array is returned.</li>
  1122. <li>Change so that when opening a file containing
  1123. multiple fonts the font's filename contains the fontname
  1124. (so it is possible to open other fonts from the same
  1125. file).</li>
  1126. <li>Kanou provides a patch for compressing bitmaps with
  1127. more than 8 bits of white space to their left.</li>
  1128. <li>Markus Schwarzenberg provides a patch to make
  1129. fontforge recognize $cidfamilyname as it should have
  1130. done.</li>
  1131. <li>Add the ability to generate fonts which contain both
  1132. OpenType and Apple Advanced Typography tables (ie. a font
  1133. that should work everywhere).</li>
  1134. <li>Added Utf8(int), Chr(int), Ord(int) to interconvert
  1135. between strings and their encodings.</li>
  1136. <li>Add two problems to Find problems
  1137. <ul>
  1138. <li>Search for substitutions, contexts, kerning
  1139. classes, etc. which refer to a name which does not
  1140. match any glyph in the font</li>
  1141. <li>Search for contexts, chains, etc. which refer to
  1142. a nested lookup which does not exist</li>
  1143. </ul>
  1144. </li>
  1145. <li>Add a new command line argument "-last" which will
  1146. load the last sfd file closed.
  1147. <hr />
  1148. </li>
  1149. <li>FontForge would crash when importing bitmap
  1150. fonts</li>
  1151. <li>FontForge would crash when trying to do an
  1152. Element-&gt;Default ATT-&gt;Suffix to Tag command</li>
  1153. </ul>
  1154. </li>
  1155. <li>3-Aug-2003
  1156. <ul>
  1157. <li>I still wasn't getting r2l kerns correct</li>
  1158. <li>Add support for vertical kerning
  1159. <ul>
  1160. <li>In 'GPOS', 'kern' tables of Open/TrueType</li>
  1161. <li>In SVG fonts</li>
  1162. <li>menu commands
  1163. <ul>
  1164. <li>Remove VKern</li>
  1165. <li>Vertical Kern By Classes</li>
  1166. <li>VKern From HKern</li>
  1167. </ul>
  1168. </li>
  1169. <li>scripting
  1170. <ul>
  1171. <li>RemoveVKern</li>
  1172. <li>SetVKern</li>
  1173. <li>VKernFromHKern</li>
  1174. <li>Add a "VKern" item to CharInfo</li>
  1175. <li><span class="c2">Type argument to SelectByATT
  1176. has changed</span>!!!</li>
  1177. </ul>
  1178. </li>
  1179. </ul>
  1180. </li>
  1181. <li>Add support for other Pairwise positioning
  1182. features.</li>
  1183. <li>Add a $panose command to return an array of panose
  1184. values (scripting)</li>
  1185. <li>Add a SetPanose command allowing scripts to change
  1186. panose values</li>
  1187. <li>FontForge was not rotating .vert glyphs properly</li>
  1188. </ul>
  1189. </li>
  1190. <li>31-Jul-2003
  1191. <ul>
  1192. <li>Installed KANOU's fix for a buffer overrun</li>
  1193. <li>Installed KANOU's fix for compacted cid-keyed
  1194. fonts</li>
  1195. <li>Fixed another bug with compacted cid-keyed fonts</li>
  1196. <li>Mathias Wollin points out that my pfm files don't
  1197. have the correct kerning table format</li>
  1198. <li>Handles the case where a font has both a 'glyf' and a
  1199. 'CFF ' table by asking user which to use</li>
  1200. <li>Various improvements to the goto dialog from James
  1201. Crippen.</li>
  1202. <li>If the ttf "Apple" box got checked then it remained
  1203. checked in subsequent Generate Fonts even though the
  1204. [Options] dialog did not show it checked.</li>
  1205. <li>FontForge would crash if given an Anchor class with
  1206. no marks.</li>
  1207. <li>Hmm... I notice that volt only uses format 2 coverage
  1208. tables. I wonder if windows fails to handle format 1
  1209. tables...</li>
  1210. </ul>
  1211. </li>
  1212. <li>30-Jul-2003
  1213. <ul>
  1214. <li>Add support for <a href=
  1215. "http://www.w3c.org/TR/SVG11/fonts.html">svg fonts</a>
  1216. (and add dependency on libxml2 for reading them in)</li>
  1217. <li>Add support for importing/exporting svg files (again
  1218. libxml2 needed for import)</li>
  1219. <li>Add support for required features.</li>
  1220. <li>In quadratic fonts the ellipse tool did not draw
  1221. ellipses</li>
  1222. <li>Add support for rectangles/ellipses drawn center out
  1223. rather than just within the bounding box</li>
  1224. <li>Preserve the rect/ellipse tool settings across
  1225. invocations</li>
  1226. <li>Put a license entry into the help menu</li>
  1227. </ul>
  1228. </li>
  1229. <li>20-Jul-2003
  1230. <ul>
  1231. <li>made the default linux browser be mozilla rather than
  1232. netscape.</li>
  1233. <li>If the metrics view were displaying an anchored pair
  1234. (mark-base), and a character were typed into the text
  1235. field at top before the anchored pair, then the display
  1236. got very strange.</li>
  1237. <li>FontForge got confused when merging a font which
  1238. contained multiple encodings for the same glyph</li>
  1239. <li>FontForge got confused if there were an lparen in a
  1240. directory name (thought this meant a font
  1241. collection).</li>
  1242. </ul>
  1243. </li>
  1244. <li>15-Jul-2003
  1245. <ul>
  1246. <li>We weren't parsing any type3 fonts properly any
  1247. more</li>
  1248. <li>Extend our ps interpreter to understand some of
  1249. METAPOST's idioms better.</li>
  1250. <li>I used to call all characters which weren't in the
  1251. encoding ".notdef" this could cause problems if a user
  1252. forgot to name them. I now give them unique names
  1253. starting with "NameMe". I still leave characters &lt;256
  1254. called ".notdef" if the encoding calls for it, this may
  1255. be a mistake...</li>
  1256. <li>Fix on 14-July to simplify was incomplete.</li>
  1257. <li>More fiddling with autohint</li>
  1258. <li>Added support for the new X11 opentype bitmap
  1259. format.</li>
  1260. </ul>
  1261. </li>
  1262. <li>14-Jul-2003 (Bastille Day!)
  1263. <ul>
  1264. <li>There are still cases where I'm getting the truetype
  1265. point count wrong. If a truetype file had a control point
  1266. that lay under an end point, then I would treat that as a
  1267. "no control point" mark, and ignore the cp. But if I do
  1268. that blindly I mess up the point count, so during font
  1269. generation I must be prepared to put the cp back.</li>
  1270. <li>Kanou provided a patch to fix a bug in the underlying
  1271. graphics library.</li>
  1272. <li>Add a popup menu to Show Att to allow those data to
  1273. be saved (as utf8 text)</li>
  1274. <li>Fixed (I hope) right to left kerning</li>
  1275. <li>Added 'ccmp' entries by default for Hebrew</li>
  1276. <li>Fixed a couple of bugs with the new simplify more
  1277. options</li>
  1278. <li>fontforge didn't compile on solaris. It now
  1279. does.</li>
  1280. </ul>
  1281. </li>
  1282. <li>12-Jul-2003
  1283. <ul>
  1284. <li>Remove weirdness in scripting interface to TeX font
  1285. parameters</li>
  1286. <li>Kanou points out that the code for reading format 4
  1287. embedded (ttf) bitmaps was ambiguous and would behave
  1288. incorrectly sometimes. He provided a patch.</li>
  1289. <li>FontForge used not to create ghost hints for curved
  1290. splines. It does now.</li>
  1291. <li>FontForge did not find some of the hints needed for
  1292. n021004l.pfb</li>
  1293. <li>New French UI</li>
  1294. <li>FontForge would sometimes crash when autotracing
  1295. characters</li>
  1296. <li>Don't snap to points when moving control points</li>
  1297. <li>Directory browsing didn't work if the local encoding
  1298. wasn't latin1 and the directory name contain non-ascii
  1299. characters.</li>
  1300. <li>Add an entry to find problems to look for 'GSUB'
  1301. entries to non-existent characters.</li>
  1302. <li>Expanded the simplify more command</li>
  1303. <li>The GPOS output routines got very unhappy if a
  1304. duplicate glyph happened to have GPOS data. Fixed on both
  1305. ends I hope.</li>
  1306. <li>The pcf reader was unhappy if
  1307. <ul>
  1308. <li>the glyph bb width was a multiple of 8 (we read
  1309. an extra byte per line which made the result appear
  1310. as garbage)</li>
  1311. <li>several glyphs had the same name.</li>
  1312. </ul>
  1313. </li>
  1314. <li>the FontInfo dlg failed to parse the merge_with field
  1315. of Anchor Classes properly, meaning that each time [OK]
  1316. was pressed in fontinfo each anchor class name got a
  1317. number prepended to it.</li>
  1318. <li>Change the way the merge_with field of anchor classes
  1319. is handled by the UI so that it makes more sense. We used
  1320. to display a number, now display the name of another
  1321. anchor class with which it can be merged.</li>
  1322. <li>Added an arabic text sample, courtesy of Thomas
  1323. Milo.</li>
  1324. <li>Upgraded to Unicode 4.0 (<span class=
  1325. "c1"><strong>Note: <a href=
  1326. "http://libuninameslist.sf.net/">libuninameslist</a> has
  1327. also been upgraded</strong></span>)</li>
  1328. <li>Added a new preference item CharCenterHighest to
  1329. assist in accent placement.
  1330. <hr />
  1331. </li>
  1332. <li>Oh. This isn't documented, but each langsys table can
  1333. only point to one (1) feature with a given tag. So if I
  1334. have multiple 'mark' lookups, I can't have multiple
  1335. 'mark' features, I must have one 'mark' feature with
  1336. pointers to many lookups.</li>
  1337. <li>FontForge could crash when generating a tfm file from
  1338. a CID keyed font</li>
  1339. <li>Change GDEF output so that the class def table isn't
  1340. generated when it isn't needed (we used to generate a 0
  1341. length one, which would confuse the freetype-1 opentype
  1342. code, and perhaps others).</li>
  1343. <li>Fixed a bug in autohint caused by negative stem
  1344. widths.</li>
  1345. </ul>
  1346. </li>
  1347. <li>4-July-2003
  1348. <ul>
  1349. <li>Added a page to the font info dlg which allows users
  1350. to set TeX font parameters</li>
  1351. <li>Added a mechanism for specifying TeX charlists and
  1352. extension characters</li>
  1353. <li>Added a mechanism for specifying TeX Italic
  1354. Correction</li>
  1355. <li>Revamped support for reading tfm files so that it
  1356. sets all these new things correctly.</li>
  1357. </ul>
  1358. </li>
  1359. <li>2-July-2003
  1360. <ul>
  1361. <li>Add an Options dialog to the Generate Font window,
  1362. and remove the check boxes from it.
  1363. <ul>
  1364. <li>Add a UI for the 'PfEd' table</li>
  1365. <li>Add a UI to turn off PostScript hinting</li>
  1366. </ul>
  1367. </li>
  1368. <li>FontForge can now generate a tfm and enc file (for
  1369. TeX)</li>
  1370. </ul>
  1371. </li>
  1372. <li>30-June-2003
  1373. <ul>
  1374. <li>I<span class="c1"><strong>n the table of contents at
  1375. the start of a true/open type file the GDEF table was
  1376. listed as having the wrong size. This caused many
  1377. applications to ignore it, which in turn meant that Mark
  1378. to Base GPOS tables were ignored</strong></span> (at
  1379. least I hope that's what was going on).</li>
  1380. <li>On the mac local help files weren't working
  1381. properly.</li>
  1382. <li>Combining unicode characters (mark glyphs) should
  1383. have an advance width of 0, and now they default to
  1384. that.</li>
  1385. <li>Several people at EuroTeX wanted more pen shapes in
  1386. the expand stroke dlg. Ellipses are easy, so we add
  1387. them.</li>
  1388. <li>One guy at EuroTeX wanted to be able to store
  1389. arbitrary per-glyph data in the font, so add a new
  1390. (private) true/open type table that can contain the glyph
  1391. comments. This table has tag 'PfEd' and can contain
  1392. sub-tables containing font comment, glyph comments, glyph
  1393. colors. Perhaps other data as need arises.</li>
  1394. <li>Kanou has added a new scripting command, SizeOf, to
  1395. return the number of elements in an array.</li>
  1396. </ul>
  1397. </li>
  1398. <li>19-June-2003
  1399. <ul>
  1400. <li>Added a histogram dialog to help figure values for
  1401. StemSnap[H/V]</li>
  1402. </ul>
  1403. </li>
  1404. <li>17-June-2003
  1405. <ul>
  1406. <li>Scripting interface to SelectByATT</li>
  1407. <li>Crash bug caused by incorrect CID fix on 15-June</li>
  1408. <li>(the web interface to the cvs tree seems broken. It
  1409. doesn't show rmligamarks). Here's a copy of <a href=
  1410. "rmligamarks.c">rmligamarks.c</a>.</li>
  1411. </ul>
  1412. </li>
  1413. <li>15-June-2003
  1414. <ul>
  1415. <li>Cleaned up the spelling of some scripts.</li>
  1416. <li>Deactive the [Edit] button of the Script/Lang list
  1417. when appropriate.</li>
  1418. <li>FontForge wasn't removing the quotes around the
  1419. copyright notice when read from a bdf file. After several
  1420. rounds of read/save there were lots of quotes.</li>
  1421. <li>Added a wireframe effect.</li>
  1422. <li>Added a find problems entry which will check for
  1423. control points which are very close to their main point
  1424. (so close that it is unlikely that they will effect the
  1425. curve much).</li>
  1426. <li>The Undo command from the font view did not reset the
  1427. character changed bit.</li>
  1428. <li>GDEF table output had problems with cid-keyed
  1429. fonts.</li>
  1430. <li>So did 'prop' table output.</li>
  1431. <li>Expanded View-&gt;Show ATT to show 'GDEF', 'lcar',
  1432. 'prop', 'opbd' tables.</li>
  1433. <li>Added a Ligatures entry for View-&gt;Combinations in
  1434. the outline character view</li>
  1435. <li>Added "Edit-&gt;Select-&gt;Select by ATT", to allow
  1436. user to select characters depending on advanced
  1437. typographic features.</li>
  1438. <li>
  1439. <span class="c1"><strong>FontForge always used to set
  1440. the "ignore-combining-marks" flag bit for all
  1441. ligatures. But yudit (and probably gedit) will not
  1442. process the substitution if that bit is set. On the
  1443. other hand I believe some arabic ligatures may depend
  1444. on it (at least arabtype-volt.ttf uses it). So... now
  1445. we only set this bit for arabic ligatures which do not
  1446. contain combining marks. Dunno if that is right
  1447. either.</strong></span>
  1448. <ul>
  1449. <li>I have created a little tool, <a href=
  1450. "http://cvs.sourceforge.net/viewcvs.cgi/pfaedit/pfaedit/fonttools/rmligamarks.c">
  1451. rmligamarks</a>, which will take an sfd file with the
  1452. "ignore combining marks" bit in ligatures and turn it
  1453. off. It does not try to guess what should be done, it
  1454. ALWAYS turns the bit off.</li>
  1455. </ul>
  1456. </li>
  1457. </ul>
  1458. </li>
  1459. <li>5-June-2003
  1460. <ul>
  1461. <li>FontForge was generating Apple 'morx' tables with the
  1462. right to left bit reversed (so it thought latin text was
  1463. right to left and arabic was left to right). This meant
  1464. that ligatures happened backwards (the "ffi" ligature
  1465. would be invoked if you typed in "iff")</li>
  1466. <li>FontForge was generating a format=1 glyph class
  1467. definition sub-table of GDEF. ttx didn't like this, I'm
  1468. not sure why. Problem goes away if I generate a format=2
  1469. sub-table.</li>
  1470. </ul>
  1471. </li>
  1472. <li>4-Jun-2003
  1473. <ul>
  1474. <li>Added a Shadow effect</li>
  1475. <li>More fixes for remove overlap</li>
  1476. <li>fixed a bug with timers</li>
  1477. <li>Preserve the Fit To Em mode of a font.</li>
  1478. <li>Added a bunch of scripts (as in writing systems, not
  1479. executable files) from the proposed ISO 15924
  1480. standard.</li>
  1481. <li>Added support for underline position to bdf
  1482. files.</li>
  1483. <li>The 18-May build was bad and failed to read
  1484. postscript fonts properly on many platforms (the sources
  1485. were ok, but the builds were bad)</li>
  1486. <li>Display the version number in the about box, and
  1487. attach it to the directory in the source .tgz file.</li>
  1488. </ul>
  1489. </li>
  1490. <li>18-May-2003
  1491. <ul>
  1492. <li>FontForge would crash when asked to produce a ttf
  1493. font where there was an unused anchor class.</li>
  1494. <li>The original encoding is now preserved when a font is
  1495. generated.</li>
  1496. <li>The goto dialog (and scripting) now recognize
  1497. "glyph&lt;nnn&gt;" as refering to glyph &lt;nnn&gt; in
  1498. the original encoding.</li>
  1499. <li>Kanou provided two scripting commands, ConvertToCID
  1500. and ConvertByCMap.</li>
  1501. <li>Added a Remove External flag to Expand Stroke to
  1502. complement Kanou's Remove Internal</li>
  1503. <li>Expanded on Remove Overlap by adding
  1504. <ul>
  1505. <li>Intersection -- which removes everything except
  1506. the overlap</li>
  1507. <li>Exclude -- which removes areas where any selected
  1508. contours cross non-selected contours (and then
  1509. removes the selected contours)</li>
  1510. </ul>
  1511. </li>
  1512. <li>Added an Effects sub-menu of Elements, including (so
  1513. far)
  1514. <ul>
  1515. <li>Outline -- turns the selected characters into
  1516. outline versions of themselves</li>
  1517. <li>Inline -- turns the selected characters into
  1518. inline versions of themselves</li>
  1519. </ul>
  1520. </li>
  1521. <li>FontForge would crash when reading in an sfd file
  1522. containing a kerning class</li>
  1523. <li>gimp objected to some of my ttf fonts. I think
  1524. because it is inappropriately clipping to the
  1525. ascent/descent values in the hhea rather than using the
  1526. font's bounding box. It's easy enough to preserve the
  1527. 'hhea' ascent/descent values and perhaps that will be
  1528. enough to make gimp happy.</li>
  1529. <li>Kanou points out that rasterization has problems with
  1530. the new TOfNextMajor, so use the new code for remove
  1531. overlap and friends and the old code for
  1532. rasterization</li>
  1533. </ul>
  1534. </li>
  1535. <li>12-May-2003
  1536. <ul>
  1537. <li>Added a command to do non-linear transformations (but
  1538. made it require user configuration to have it
  1539. compiled)</li>
  1540. <li>Added a UI for Kanou's Remove Internal flag to Expand
  1541. stroke</li>
  1542. </ul>
  1543. </li>
  1544. <li>9-May-2003
  1545. <ul>
  1546. <li>Apple's 'lcar' (ligature caret) table was being
  1547. generated incorrectly</li>
  1548. <li>Another bug in point numbering</li>
  1549. <li>Make "Slanted" a synonym for Oblique.</li>
  1550. </ul>
  1551. </li>
  1552. <li>8-May-2003
  1553. <ul>
  1554. <li>FontForge did not recognize "filename(fontname)"
  1555. notation for loading a specific font from a resource fork
  1556. of a mac file.</li>
  1557. <li>FontForge crashed on the mac when generating a GPOS
  1558. table. There was an uninitialized variable there, left
  1559. behind be recent changes. Removed.</li>
  1560. </ul>
  1561. </li>
  1562. <li>7-May-2003
  1563. <ul>
  1564. <li>Oops. It should be legal for a 'mkmk' anchor class to
  1565. have two points in a glyph, one the normal mark point,
  1566. the other the base mark point. (that is it should be
  1567. possible for a glyph to attach to itself).</li>
  1568. <li>Kanou supplied a patch to extend expand stroke.</li>
  1569. <li>Changed behavior of AnchorClasses so that two classes
  1570. could be associated to form a single feature (ie. one
  1571. class of "Above" marks, and one class of "Below"
  1572. marks)</li>
  1573. <li>Show ATT now displays something meaningful for
  1574. marks</li>
  1575. <li>Some general Anchor Class clean up.</li>
  1576. <li>Was not setting bits in the CodePage[1] field of the
  1577. OS/2 table for all the weird MS specific encodings. It
  1578. seems I should do that.</li>
  1579. </ul>
  1580. </li>
  1581. <li>6-May-2003
  1582. <ul>
  1583. <li>Although undocumented, digits behave just like lower
  1584. case letters in macintosh filenames for postscript
  1585. resource fonts.
  1586. <hr />
  1587. </li>
  1588. <li>Looking at the font info-&gt;ttf values dialog would
  1589. cause fontforge to crash after [Ok] was pressed.</li>
  1590. <li>Old sfd files with anchor classes but not script lang
  1591. index would crash fontforge when being read in.</li>
  1592. </ul>
  1593. </li>
  1594. <li>5-May-2003
  1595. <ul>
  1596. <li>Made it possible to select kerning class 0 (ie.
  1597. everything that isn't specified)</li>
  1598. <li>Put in a check to make sure the user didn't add a
  1599. glyph to two different kerning classes</li>
  1600. <li><span class="c1"><strong>FontForge was dumping out a
  1601. full GSUB sub-table for each character that sub-table
  1602. applied to (rather than one sub-table for all
  1603. characters). So there were tons of
  1604. duplicates.</strong></span></li>
  1605. <li><span class="c1"><strong>FontForge was producing
  1606. extension sub-tables that held an incorrect
  1607. offset.</strong></span></li>
  1608. <li>Added some code to protect FontForge when it read
  1609. incorrect ttf fonts like those generated above.</li>
  1610. <li>Drag and Drop to the Char Info dlg was broken.</li>
  1611. <li>If a font had a non-notdef character at encoding 0
  1612. and we used freetype to generate bitmaps for it, then
  1613. those bitmaps would be assigned to the wrong glyphs (ie.
  1614. the bitmap for "A" would go to "B", etc.)</li>
  1615. <li>I used "Mac Roman" in several places where I should
  1616. have said "Macintosh Latin"</li>
  1617. </ul>
  1618. </li>
  1619. <li>4-May-2003
  1620. <ul>
  1621. <li>Added code to determine better defaults for the
  1622. script lang index</li>
  1623. <li>The ligature state table in Apple Chancery has so
  1624. many possible paths through it that FontForge bogs down
  1625. when evaluating it. I presume it would finish in finite
  1626. time, but it takes unacceptably long. So I've put in an
  1627. abort.</li>
  1628. <li>Add support for KernClasses (ie. they are no longer
  1629. just converted into a large number of kernpairs, but will
  1630. be stored internally as a set class and will be output as
  1631. such). And they have their own dialogs to manage
  1632. them.</li>
  1633. <li>Add support for Apple's new version of the 'kern'
  1634. table.</li>
  1635. <li>Add support for the format 2 sub table of Apple's
  1636. 'kern' table (which is different from OpenType's format 2
  1637. sub-table of the kern table), and is Apple's kerning
  1638. class sub-table (note: <a href=
  1639. "http://developer.apple.com/fonts/TTRefMan/RM06/Chap6kern.html">
  1640. Apple's docs</a> are <span class=
  1641. "c1"><small><strong>WRONG</strong></small></span>. they
  1642. claim class data are stored in an array of uint8, but
  1643. they really are in an array of uint16).</li>
  1644. </ul>
  1645. </li>
  1646. <li>29-Apr-2003
  1647. <ul>
  1648. <li>Oops, one more fix to remove overlap</li>
  1649. <li>Kanou points out that copy hasn't been working (for
  1650. some time now) when a contour has be split into bits,
  1651. only one of the bits is copied.</li>
  1652. <li>Kanou points out that Paste reorders open
  1653. contours</li>
  1654. <li>Further work on Show ATT dlg</li>
  1655. <li>Further work on multiple features.</li>
  1656. </ul>
  1657. </li>
  1658. <li>28-Apr-2003
  1659. <ul>
  1660. <li>Yet more fixes for Remove overlap</li>
  1661. <li>Added a mode to the ruler tool where it shows the
  1662. exact position of the mouse cursor</li>
  1663. <li>The Goto command had a strange bug: If a font had a
  1664. glyph with a known name, but that glyph did not reside at
  1665. the unicode slot assigned to that name, then goingto that
  1666. name would go to the (empty) unicode slot, rather than to
  1667. the actually character.</li>
  1668. <li>Werner wants a <a href="showatt.html">dlg</a> which
  1669. shows collects all the GPOS/GSUB (morx/kern) information
  1670. in one place rather than scattering it around hundreds of
  1671. dlgs.</li>
  1672. <li>FontForge now stores the script/langs for kern
  1673. pairs</li>
  1674. <li>FontForge failed to read script/langs for GPOS
  1675. properly.</li>
  1676. <li>FontForge had problems generating an AFM file from a
  1677. CID font with ligatures</li>
  1678. <li>FontForge had problems getting script lang lists
  1679. right when multiple features refered to the same
  1680. lookup.</li>
  1681. </ul>
  1682. </li>
  1683. <li>20-Apr-2003
  1684. <ul>
  1685. <li>One of FontForge's deficiencies is that it handles
  1686. multiple encodings for the same glyph very badly (it does
  1687. not have the multiple layers of indirection that fonts
  1688. do). Rather than solve this properly I have added a new
  1689. command that allows for this case. <a href=
  1690. "editmenu.html#SameGlyphAs">SameGlyphAs</a>.</li>
  1691. <li>Add some more synonyms for greek glyph names</li>
  1692. <li>Failed to realize that U+1FED was an accent</li>
  1693. <li>No longer tries to build greek accents out of latin
  1694. ones when Build Accented is invoked. (but still will for
  1695. Build Composite).</li>
  1696. <li>When swapping character names, check for names like
  1697. "uniXXXX" and instead of swapping it, rebuild it as
  1698. appropriate for the other character.</li>
  1699. <li>Font Info-&gt;Encoding failed to change the encoding
  1700. properly when switching from "Compacted" to anything
  1701. other than the original encoding.</li>
  1702. <li>A couple of changes to the italian translation</li>
  1703. <li>Added an "Original" encoding which gives you back the
  1704. ordering of the glyphs in the ttf font. (this may be
  1705. changed when you regenerate a ttf font)</li>
  1706. <li>FontForge failed to read ttf instructions for
  1707. composite glyphs.</li>
  1708. <li>FontForge got confused if a ttf file had multiple
  1709. glyphs named ".notdef" (which to me looks like a bug in
  1710. the ttf font, but Times New Roman does this so I have to
  1711. deal with it).</li>
  1712. <li>Added a command to the popup menu in the charview to
  1713. bring up a window looking at a reference.</li>
  1714. <li>Add a check for when sfd files contain bad kerning
  1715. info.</li>
  1716. </ul>
  1717. </li>
  1718. <li>14-Apr-2003
  1719. <ul>
  1720. <li>Change a tab in Font Info from "PS General" to
  1721. "General"</li>
  1722. <li>When searching for encoding files, look for the
  1723. extension ".enc" used by TeX for PostScript encoding
  1724. files</li>
  1725. <li>Fixed a crash when setting a character's name to a
  1726. name already given to another character</li>
  1727. <li>Added many new X resources for controlling colors in
  1728. the outline character view.</li>
  1729. </ul>
  1730. </li>
  1731. <li>7-Apr-2003
  1732. <ul>
  1733. <li>Program generated divide by zero errors when using
  1734. Meta-Shift to move a control point which didn't
  1735. exist.</li>
  1736. <li>(cleaned up some syntax issues in non-English nomen
  1737. files)</li>
  1738. <li>Added new scripting commands ClearPrivateEntry,
  1739. ChangePrivateEntry, GetPrivateEntry</li>
  1740. <li>Added new scripting command: UnicodeFromName</li>
  1741. <li>Added new script command: RemoveATT</li>
  1742. <li>Vadim pointed out that loading "pala.ttf" and then
  1743. generating it again (as ttf) produced bad results.
  1744. FontForge was getting confused by the points which were
  1745. used to control Anchors, getting its points list out of
  1746. order and generally screwing up.</li>
  1747. </ul>
  1748. </li>
  1749. <li>04-Apr-2003
  1750. <ul>
  1751. <li>autosave sometimes lost track of which font it should
  1752. be applying changes to.t</li>
  1753. <li>Add Extrema (or just adding a point in the middle of
  1754. a spline) would generate incorrect splines if the spline
  1755. were linear in one but not both of the two
  1756. dimensions</li>
  1757. <li>One more change to Merge/Simplify. Deal with the case
  1758. of a curve point with no control point (use the control
  1759. point in the opposite direction to get the slope).</li>
  1760. <li>Typo in 2-Apr script/lang fix caused crashes.</li>
  1761. <li>TeXBaseEncoding (T1) changed in Oct-2002. Updated my
  1762. version (also updated the other TeX encodings I've got
  1763. and included the cyrillic ones into Encodings.ps.gz)</li>
  1764. <li>Sometimes we failed to remove the dot when creating a
  1765. dotless i/j character.</li>
  1766. <li>Merge/Simplify had conniptions when given a zero
  1767. length spline.</li>
  1768. <li>Added "DefaultATT" and "AddATT" scripting command to
  1769. allow user to add Advanced Typography features to
  1770. characters.</li>
  1771. </ul>
  1772. </li>
  1773. <li>2-Apr-2003
  1774. <ul>
  1775. <li>Problems with script/lang when: Pasting or Merging
  1776. ligatures and substitutions from one font to another</li>
  1777. <li>FontForge could generate points (within a ttf simple
  1778. glyph) in a different than the original glyph, meaning
  1779. that the instructions would move the wrong point
  1780. resulting in blots. I have fixed this (or at least the
  1781. cases I found).</li>
  1782. <li>FontForge would always give ASCII characters their
  1783. standard names in a ttf post table. This was wrong if the
  1784. character did not have its standard name.</li>
  1785. <li>FontForge could go into an infinite loop on some
  1786. simplifies.</li>
  1787. </ul>
  1788. </li>
  1789. <li>1-Apr-2003 (April Fish!)
  1790. <ul>
  1791. <li>Fixed a crash in the Join command</li>
  1792. <li>Fixed a crash when loading some truetype fonts (never
  1793. bothered to figure which ones exactly)</li>
  1794. <li>Fixed a similar crash when loading old sfd files
  1795. (note some old fonts won't guess the script for
  1796. ligatures, etc. properly)</li>
  1797. <li>Added a new preference item: Stop At Join</li>
  1798. <li>Changed the way control points are set when changing
  1799. point type.</li>
  1800. <li>The fill of the outline view sometimes lagged the
  1801. change.</li>
  1802. <li>Added another tag to CharInfo scripting command:
  1803. GlyphIndex. It returns the glyph number in the ttf
  1804. font.</li>
  1805. <li>Werner suggests that instead of naming things
  1806. "nounicode-%x" where %x is the encoding, use
  1807. "nounicode-%d-%d-%x" where the two new arguments are the
  1808. platform/specific pair used in the cmap we picked.</li>
  1809. </ul>
  1810. </li>
  1811. <li>31-Mar-2003
  1812. <ul>
  1813. <li>FontForge was not reading pfb fonts properly if they
  1814. had more than one binary section header.</li>
  1815. <li>When FontForge removed a character it did not remove
  1816. all the kernpairs that refered to that character.</li>
  1817. <li>Fixed more leaks with valgrind.</li>
  1818. <li>Added more synonyms for glyph names from Adobe Glyph
  1819. List (I still rely on Glyph names for New Fonts as my
  1820. basic set of names)</li>
  1821. <li>FontForge had problems if the use selected 0 levels
  1822. of undoes when the UI was active.</li>
  1823. <li>Selecting the freehand tool in a quadratic font
  1824. caused a crash. (The freehand tool doesn't work in
  1825. quadratic fonts, but it shouldn't crash)</li>
  1826. <li>Changed the way scripts are specified. I used to
  1827. assign a script to every character. I realize that
  1828. doesn't work. The digits are used in many scripts and the
  1829. fraction ligatures based on them need to be seen in all
  1830. those scripts, not just the one that the digit was
  1831. assigned to. So...
  1832. <ul>
  1833. <li>Glyphs no longer have a script assigned to
  1834. them</li>
  1835. <li>Substitutions, Ligatures, Anchor Classes and
  1836. other Advanced Typographic features now have a list
  1837. of scripts (and languages) for which they are
  1838. active.</li>
  1839. <li>There is now an absurdly complex <a href=
  1840. "charinfo.html#Feature-Tag">stream of dialogs</a>
  1841. which may be used to set this list.</li>
  1842. </ul>
  1843. </li>
  1844. <li>Added a new preference item to allow the user to
  1845. specify a local help directory</li>
  1846. <li>Added a new scripting command SelectIf which allows
  1847. you to determine whether a character is in a font (Select
  1848. signals an error if the character isn't there, SelectIf
  1849. returns failure).</li>
  1850. <li>Added a new scripting command to change a font's
  1851. order (from quadratic to cubic)</li>
  1852. <li>ScaleToEm scripting command will now accept a single
  1853. argument, the em-size.</li>
  1854. <li>Added a new scripting command to allow you to apply
  1855. an otf substitution to the font</li>
  1856. <li>Added a new scripting command to give control over
  1857. which ligatures are output in an afm file
  1858. <ul>
  1859. <li>(it used to be that all ligatures were output in
  1860. the afm file, no only 'liga' and 'rlig' that appear
  1861. in a default language are output)</li>
  1862. </ul>
  1863. </li>
  1864. <li>AFM files only support 2 character ligatures. So,
  1865. when possible, generate a sort of closure on the
  1866. ligatures. So if we are given the two ligs "ffi-&gt;f f
  1867. i" and "ff-&gt;f f" then add the ligature "ffi-&gt;ff i".
  1868. This means that the sequence f+f-&gt;ff+i-&gt;ffi will
  1869. eventually reach the ligature we want.</li>
  1870. <li>Changed so that an untitled anchor class is now
  1871. called "Anchor-*" rather than "Untitled-*".</li>
  1872. <li>Rewrote Merge &amp; Simplify commands. In my tests
  1873. they now produce better results.</li>
  1874. <li>Type2 font generation did not make use of hv/vh
  1875. curveto commands in some cases</li>
  1876. <li>When figuring out whether to synchronize the
  1877. width/lbearing of a base character with the composites
  1878. containing it, I only checked if the base character was
  1879. alphabetic. But that doesn't work for hebrew where
  1880. unicode says the marks are alphabetic. So add an
  1881. additional check that it can't be a combining
  1882. character.</li>
  1883. <li>When pasting a composite character from one font to
  1884. another, the saved width is not useful. Added a check
  1885. that finds the correct width of the appropriate base
  1886. character.</li>
  1887. <li>When pasting a composite character from a font with
  1888. one em-size to another with a different em-size try to
  1889. scale the amount references are translated by an
  1890. appropriate amount.</li>
  1891. <li>CharInfo scripting command has been extended to allow
  1892. users to test the presence of substitutions</li>
  1893. <li>Some fonts (bsmi00lp.ttf for one) have bad cmap
  1894. tables which map several glyphs to the same unicode code
  1895. point. Put in a check for this and only map one glyph to
  1896. that code point now.</li>
  1897. </ul>
  1898. </li>
  1899. <li>13-Mar-2003
  1900. <ul>
  1901. <li>Add a preference item to control the number of undoes
  1902. saved per character</li>
  1903. <li>Turn off saving undoes when in a script started from
  1904. the command line</li>
  1905. <li>Added a preference item to control the undo depth
  1906. from the UI.</li>
  1907. <li>Try to do better about scaling my chunk allocator to
  1908. machines with 8 byte pointers</li>
  1909. <li>Was doing 32 bit arithmetic when reading GSUB simple
  1910. substitution lookups when I should have done 16 bit.</li>
  1911. <li>Tracked down a lot of memory leaks with valgrind (and
  1912. some uninitialized variables too)</li>
  1913. <li>Added access to a font's version from scripting</li>
  1914. <li>Added PostNotice scripting command</li>
  1915. <li>When reading a ttf/otf font with a GSUB table
  1916. fontforge will try to guess reasonable names for unnamed
  1917. glyphs by looking them up in the GSUB table. Thus an
  1918. unnamed vertical variant for "A" might be named
  1919. "A.vrt2".</li>
  1920. <li>FontForge would crash when outputting ttf files with
  1921. no 'cvt' table (bug introduced around 27-Feb)</li>
  1922. <li>the configure script did not respect the argument
  1923. --with-freetype-src as it should have.</li>
  1924. </ul>
  1925. </li>
  1926. <li>10-Mar-2003
  1927. <ul>
  1928. <li>Added a TrueType instruction debugger (actually an
  1929. interface to FreeType's truetype bytecode interpreter)
  1930. <table border="1" cellpadding="6" width="50%" align=
  1931. "center">
  1932. <tr>
  1933. <td class="c3">
  1934. This command depend on your compiling freetype
  1935. with the byte code interpreter enabled. This is
  1936. disabled by default because it infringes on
  1937. certain <a href=
  1938. "http://freetype.sourceforge.net/patents.html">patents
  1939. granted to Apple</a>. If you have a license from
  1940. Apple then you may enable the interpreter by
  1941. setting the appropriate macro in
  1942. .../include/freetype/config/ftoption.h before you
  1943. build the library (see the README.UNX file on the
  1944. top level of the freetype distribution).
  1945. <p>FontForge needs to have the freetype source
  1946. directories available when it is built (there are
  1947. some include files there which it depends on)</p>
  1948. </td>
  1949. </tr>
  1950. </table>
  1951. </li>
  1952. <li>Added an Edit-&gt;Copy Grid Fit command (to put the
  1953. grid fit splines into the clipboard)</li>
  1954. <li>Added a warning if the freetype library doesn't have
  1955. a byte code interpreter so that the user knows his/her
  1956. splines have been autohinted (rather than had the
  1957. bytecode instructions run).</li>
  1958. <li>Improved Edit-&gt;Merge in some cases that don't fit
  1959. its constraints</li>
  1960. <li>KANOU found some more underscores in character
  1961. names</li>
  1962. <li>And provided a new japanese ui</li>
  1963. <li>Round to Int had problems on quadratic splines</li>
  1964. <li>Added support for runtime loading of dynamic
  1965. libraries on the mac.</li>
  1966. </ul>
  1967. </li>
  1968. <li>03-Mar-2003
  1969. <ul>
  1970. <li>Memory got screwed up when converting TTF splines to
  1971. PS ones</li>
  1972. <li>KANOU suggested some changes to the quadratic spline
  1973. UI</li>
  1974. <li>I had the wrong makefile at top level so builds
  1975. didn't</li>
  1976. <li>syntax error on systems without freetype</li>
  1977. </ul>
  1978. </li>
  1979. <li>02-Mar-2003
  1980. <ul>
  1981. <li>Changed the Show Instructions command to be an Edit
  1982. Instructions</li>
  1983. <li>Bug saving 'prep' table</li>
  1984. <li>Bug changing 'cvt ' table</li>
  1985. <li>Added ability to look at gridfit splines in
  1986. charview.</li>
  1987. </ul>
  1988. </li>
  1989. <li>28-Feb-2003
  1990. <ul>
  1991. <li>New dialog in outline view to examine ttf
  1992. instructions</li>
  1993. <li>If an sfd file was created from a script then when it
  1994. was next opened from the UI it would appear in a tiny
  1995. window.</li>
  1996. <li>The preference item refering to the []Hint check box
  1997. in the generate dlg has been renamed.</li>
  1998. <li>A checksum-like thing has been added to ui files so
  1999. that in the future the application will refuse to use .ui
  2000. files which do not match its expectations.</li>
  2001. </ul>
  2002. </li>
  2003. <li>27-Feb-2003
  2004. <ul>
  2005. <li>Didn't get the SetLBearing change right
  2006. yesterday.</li>
  2007. <li>Changing to quadratic splines with Font Info could
  2008. generate an invalid spline.</li>
  2009. <li>We now preserve truetype instructions when reading in
  2010. a truetype file (the fpgm and prep tables, the cvt table
  2011. and any per character instructions)</li>
  2012. <li>These instructions will be dumped out when generating
  2013. truetype fonts</li>
  2014. <li>Added a menu command AutoInstr to generate our own
  2015. (bad) instructions for a character.</li>
  2016. <li>Any significant change (ie. anything that reorders
  2017. the points, or adds or removes points) will clear the
  2018. instructions for that character.</li>
  2019. <li>Changing to cubic splines (fontwide) will clear the
  2020. instructions (and the fpgm and prep tables).</li>
  2021. </ul>
  2022. </li>
  2023. <li>26-Feb-2003
  2024. <ul>
  2025. <li>configure scripts got confused in the freetype
  2026. libraries were findable but the include files were not.
  2027. Changed the scripts so that freetype is marked not
  2028. present if the include files are missing.</li>
  2029. <li>Table ordering was not read in properly from an sfd
  2030. file</li>
  2031. <li>Typos in SetCharName &amp; SetUnicodeValue prevented
  2032. second argument from working</li>
  2033. <li>Added a second argument to SetLBearing and friends to
  2034. allow relative bearing settings (ie. to increment the
  2035. bearing by some amount)</li>
  2036. </ul>
  2037. </li>
  2038. <li>25-Feb-2003
  2039. <ul>
  2040. <li>Bad bug in GSUB generation introduced yesterday</li>
  2041. <li>Font level round 2 int command now rounds hints
  2042. too.</li>
  2043. <li>Adobe lies when they say that a hint can't stretch
  2044. from one bluezone to another, so be a bit more cautious
  2045. in removing this case.</li>
  2046. <li>Be a little better about getting the script from the
  2047. GSUB/GPOS table.
  2048. <hr />
  2049. </li>
  2050. <li>FontForge had problems generating mac cursive
  2051. connection setting.</li>
  2052. <li>FontForge had problems defaulting ligatures in cid
  2053. keyed fonts (even if there were no ligature characters to
  2054. be defaulted, the attempt would fail)</li>
  2055. <li>I introduced memory problems yesterday. Fixed.</li>
  2056. <li>Font level round 2 int will take hints into account
  2057. when positioning points in order to maintain stem widths.
  2058. <hr />
  2059. </li>
  2060. <li>When running a script from the command line FontForge
  2061. failed to initialize the adobe standard encoding.</li>
  2062. </ul>
  2063. </li>
  2064. <li>24-Feb-2003
  2065. <ul>
  2066. <li>Claudio Beccari has provided an Italian UI.</li>
  2067. <li>(added Italian style translations to fontinfo)</li>
  2068. <li>User now has the ability to control the conversion
  2069. from mac feature/settings to otf features.</li>
  2070. <li>FontForge now remembers the order features are to be
  2071. applied in GSUB/GPOS/morx tables (and dumps features out
  2072. in that order when it next saves them).</li>
  2073. <li>FontForge allows you to reorder the GSUB/morx tables
  2074. should you wish to do so. I am sufficiently ignorant that
  2075. I don't believe it is necessary to reorder the GPOS
  2076. table, so there is currently no UI for this. If I am
  2077. wrong let me know and I will add that too.</li>
  2078. <li>The 'kern' table was not being generated when it
  2079. should have been. This error was introduced sometime in
  2080. the last month due to the AAT changes.</li>
  2081. <li>Scripts generating otf fonts would crash if the font
  2082. had non-integral coordinates because of a bug in my
  2083. PostNotice routine when running without X.</li>
  2084. </ul>
  2085. </li>
  2086. <li>18-Feb-2003
  2087. <ul>
  2088. <li>Hmm. It looks as though apple uses the "ascending
  2089. glyph" flag on the features of the 'mort'/'morx' tables
  2090. to mean left to right text</li>
  2091. <li>Fixed a crash on reading a GSUB table with a glyph
  2092. out of range.</li>
  2093. <li>Added support for a cursive connection (contextual
  2094. glyph substitution subtable of) morx.</li>
  2095. <li>Added an <a href="realindex.html">index</a> to this
  2096. manual and put a link to it in FontForge's Help menu.
  2097. Index is by no means complete yet.</li>
  2098. </ul>
  2099. </li>
  2100. <li>12-Feb-2003
  2101. <ul>
  2102. <li>Support direct editing of quadratic (truetype)
  2103. splines</li>
  2104. </ul>
  2105. </li>
  2106. <li>11-Feb-2003
  2107. <ul>
  2108. <li>Change made on 8 Feb 2003 broke the code that read
  2109. type1 flex hints</li>
  2110. <li>Hide files beginning with "." (except for "..") in
  2111. file chooser dlgs.</li>
  2112. <li>Add protections in the afm file output to handle very
  2113. long copyright notices.</li>
  2114. </ul>
  2115. </li>
  2116. <li>08-Feb-2003
  2117. <ul>
  2118. <li>Support for Apple's 'opbd' (Optical Bounds)
  2119. table</li>
  2120. <li>Support for reading some features in non-contextual
  2121. glyph and ligature sub-tables of the 'mort' or 'morx'
  2122. tables.</li>
  2123. <li>Support for writing those features in non-contextual
  2124. glyph and ligature sub-tables of 'morx'.</li>
  2125. <li>added char info to the fontview popup.</li>
  2126. <li>the scripting command Generate (and GenerateFamily)
  2127. would generate truetype .dfont files when asked to
  2128. generate otf dfont files.</li>
  2129. <li>Add ClearHints scripting command</li>
  2130. <li>Add access to preference items from scripting (via:
  2131. $&lt;prefname&gt;, GetPref("&lt;prefname&gt;"),
  2132. SetPref("&lt;prefname&gt;",&lt;value&gt;)</li>
  2133. </ul>
  2134. </li>
  2135. <li>01-Feb-2003
  2136. <ul>
  2137. <li>Add some support for Apple Advanced Typography tables
  2138. ('prop', 'lcar')</li>
  2139. <li>Popup menus in textfields failed to refresh the text
  2140. field</li>
  2141. <li>KANOU provides a patch for sfd files with long
  2142. Alternate Subs</li>
  2143. <li>FontView didn't deselect properly after doing a drag
  2144. and drop.</li>
  2145. <li>Should now deal with the case where (under cygwin)
  2146. the user sets BROWSER to 'netscape' with no path
  2147. spec.</li>
  2148. <li>Ligature carets introduced a crash bug.</li>
  2149. </ul>
  2150. </li>
  2151. <li>30-Jan-2003
  2152. <ul>
  2153. <li>Should figure out the default windows browser under
  2154. cygwin now.</li>
  2155. <li>Should handle the case where a user sets the BROWSER
  2156. variable to something with a DOS pathspec</li>
  2157. <li>Apply KANOU's patch to turn off more
  2158. autohinting.</li>
  2159. </ul>
  2160. </li>
  2161. <li>29-Jan-2003
  2162. <ul>
  2163. <li>Fix a crash introduced yesterday.</li>
  2164. <li>scripting didn't work for $familyname fix from Alex
  2165. Raftis</li>
  2166. </ul>
  2167. </li>
  2168. <li>28-Jan-2003
  2169. <ul>
  2170. <li>The title of the Anchor Pair dialog was wrong (said
  2171. Kern Pairs)</li>
  2172. <li>Improved error messages for when a font file did not
  2173. exist or was unreadable.</li>
  2174. <li>Failed to generate a GSUB table when the ligatures
  2175. came from a r2l ttf file.</li>
  2176. <li>I was generating incorrect data for r2l GPOS kerning
  2177. sub-tables.</li>
  2178. <li>Failed to display r2l anchored attachments properly
  2179. in the metricsview, anchor pair dlg, or when
  2180. printing.</li>
  2181. <li>Typo when loading libuninameslist dynamic library,
  2182. introduced on the 24th.</li>
  2183. <li>Now we generate a GDEF table too, containing
  2184. (possibly) a glyph class def and (possibly) a ligature
  2185. caret list</li>
  2186. <li>Added code for editing horizontal ligature caret
  2187. locations</li>
  2188. </ul>
  2189. </li>
  2190. <li>25-Jan-2003
  2191. <ul>
  2192. <li>More cygwin fixes for invoking browsers.</li>
  2193. </ul>
  2194. </li>
  2195. <li>24-Jan-2003
  2196. <ul>
  2197. <li>Added a preference item to control whether
  2198. autohinting happens before a font is generated.</li>
  2199. <li>When calling Internet Explorer or Netscape on cygwin
  2200. we needed double backslashes</li>
  2201. <li>moved hidden menu items (those invoked by Shift) into
  2202. submenus</li>
  2203. </ul>
  2204. </li>
  2205. <li>20-Jan-2003
  2206. <ul>
  2207. <li>Put in a number of errors and warnings related to a
  2208. glyph not having a script.</li>
  2209. <li>Fixed a crash bug when generating a popup for a glyph
  2210. with no unicode encoding</li>
  2211. <li>Support for scroll wheels.</li>
  2212. <li>I hope I've now fixed the problems related to the
  2213. GSUB table and ttc files. Now does a pass through the
  2214. GSUB table to see what glyphs can be introduced by it
  2215. when it figures out what glyphs to read from the glyph
  2216. table (ttc files have more than one font sharing the
  2217. table, don't want to read all glyphs).</li>
  2218. <li>Added support for extension subtables of
  2219. GPOS/GSUB.</li>
  2220. <li>Making a selection in the textfield of the Display
  2221. dlg was broken when the selection was scrolled.</li>
  2222. <li>Valek wants a Paste Into command.</li>
  2223. <li>Uninitialized variable in GSUB output caused erratic
  2224. ligature behavior</li>
  2225. <li>I'm told that even though it makes logical sense for
  2226. hebrew to have a 'fina' tag, it is not customary and I
  2227. have been asked to remove it from Default ATT. Which I
  2228. have done.
  2229. <hr />
  2230. </li>
  2231. <li>FontForge now protects itself better against
  2232. erroneous GSUB/GPOS tables.</li>
  2233. <li>Valek points out there were display problems with the
  2234. File-&gt;Display (and File-&gt;Print) menu options in
  2235. Russian.</li>
  2236. </ul>
  2237. </li>
  2238. <li>16-Jan-2003
  2239. <ul>
  2240. <li>Recent char info changes broke copy &amp; paste
  2241. within text fields of the char info dlg.</li>
  2242. <li>Problems reading GSUB table of a ttc files (problems
  2243. remain, but we should no longer crash).</li>
  2244. <li>Reorganized libraries. Now FontForge has an
  2245. additional dependency:<br />
  2246. <a href=
  2247. "http://libuninameslist.sf.net">libuninameslist</a>.
  2248. Please install this.</li>
  2249. <li>With libuninameslist FontForge can display the
  2250. Unicode annotation information.</li>
  2251. </ul>
  2252. </li>
  2253. <li>14-Jan-2003
  2254. <ul>
  2255. <li>Fixed a couple of bugs loading pcf files with complex
  2256. encodings</li>
  2257. <li>Bug in pasting metadata when there was no glyph
  2258. comment.</li>
  2259. <li>Made SetCharColor scripting command set the color on
  2260. any selected glyphs</li>
  2261. <li>Cleaned up selection behavior in fontview. Drag &amp;
  2262. drop made it difficult</li>
  2263. <li>Oops. Was scaling round rect radius incorrectly in
  2264. xfig conversion</li>
  2265. <li>Oh yes, hebrew has final letters too. And greek. Add
  2266. them in to the default for 'fina'.</li>
  2267. <li>Fixed many problems with mac font generation</li>
  2268. <li>Open VMS update from Jauk Jansen</li>
  2269. </ul>
  2270. </li>
  2271. <li>12-Jan-2003
  2272. <ul>
  2273. <li>Support for xkb extension</li>
  2274. <li>New Russian UI from Valek</li>
  2275. <li>New Japanese UI from KANOU
  2276. <hr />
  2277. </li>
  2278. <li>Saving a compacted font did not preserve the old
  2279. encoding</li>
  2280. <li>Added a preference item to control Edit-&gt;Join</li>
  2281. <li>made Edit-&gt;Copy From-&gt;Copy Name (now Metadata)
  2282. be a preference item too.</li>
  2283. </ul>
  2284. </li>
  2285. <li>9-Jan-2003
  2286. <ul>
  2287. <li>Support for round rects in xfig files</li>
  2288. <li>Added the glyph name to the title of the char info
  2289. dlg</li>
  2290. <li>Char info failed to deal with all the flags
  2291. properly</li>
  2292. <li>Fixed crash when creating GPOS sub-table 1 (simple
  2293. positioning)</li>
  2294. <li>GPOS/GSUB output now handles case where a feature has
  2295. several different sets of flags.</li>
  2296. </ul>
  2297. </li>
  2298. <li>8-Jan-2003
  2299. <ul>
  2300. <li>Update copyright notices</li>
  2301. <li>Printing now handles anchored marks. (Display does
  2302. not, just as display doesn't handle kerning-- because X
  2303. doesn't).</li>
  2304. <li>Support for cursive positioning.</li>
  2305. <li>I've registered with Adobe, and they have assigned
  2306. FontForge an XUID base number of 1021. Now when new users
  2307. start fontforge for the first time they will be assigned
  2308. an XUID base sequence of 1021 xxx nnn where xxx and nnn
  2309. are two random numbers generated by fontforge. New fonts
  2310. will get a fourth number for their full XUID.</li>
  2311. <li>Kanou points out that glyph names should not contain
  2312. underscores so redo the .cidmap files to change to
  2313. dashes. Also change "japan1_%d" to "cid-%d" to make life
  2314. easier for me.</li>
  2315. <li>KANOU points out there were places where fontforge
  2316. did not check psunicodenames_cnt. Once outside of BMP
  2317. this causes a crash.</li>
  2318. <li>New Japanese UI from KANOU.</li>
  2319. <li>Support for many more GPOS/GSUB sub-tables.</li>
  2320. <li>Keep track of the order in which characters are
  2321. selected in the fontview and recreate that order when
  2322. user asks to create a metricsview based on the fontview's
  2323. selection</li>
  2324. <li>Make it possible to drag&amp;drop characters from
  2325. fontview into metricsview (again keeping track of
  2326. selection order)</li>
  2327. <li>Make it possible to drag&amp;drop characters from
  2328. fontview into charview to create references</li>
  2329. <li>Make it possible to drag&amp;drop characters from
  2330. fontview into charinfo to create ligatures, etc.</li>
  2331. <li>Command to set the default values for sub GSUB/GPOS
  2332. features that are easy for FontForge to figure out.</li>
  2333. <li>Ability to zoom metrics view.</li>
  2334. <li>Metrics view displays anchor points and does the
  2335. needed work to position the characters. It is also
  2336. possible to move anchor points around in the metrics
  2337. view.</li>
  2338. <li>Metrics view now has a pop-up menu that allows you to
  2339. see alternate metrics</li>
  2340. <li>Metrics view now has a submenu (off of View) which
  2341. allows you to change the current glyph to one of its
  2342. alternates.</li>
  2343. <li>Fixed uninitialized variable what would sometimes
  2344. cause a crash when storing bitmaps in a TTF/OTF
  2345. file.</li>
  2346. <li>Fixed crash bug in 29-Dec when generating a truetype
  2347. font without a GPOS table.</li>
  2348. <li>Many changes to charinfo dlg. Made non-modal. Can
  2349. Copy/Paste Position/Substitution data.</li>
  2350. <li>Do a minimal amount of work toward supporting the
  2351. alpha channel of a png file.</li>
  2352. </ul>
  2353. </li>
  2354. <li>29-Dec-2002
  2355. <ul>
  2356. <li>FontForge now supports <a href=
  2357. "overview.html#Anchors">anchor points</a> for mark to
  2358. base (ligature and mark) positioning.</li>
  2359. <li>FontForge was mistakenly treating NumLock on PC
  2360. keyboards as if it were the command key on Mac
  2361. keyboards.</li>
  2362. <li>The font info dlg now remembers what tab was last
  2363. pressed.</li>
  2364. <li>The char info dlg has been restructured. It includes
  2365. a script field, and associates a tag with the ligature
  2366. (if any).</li>
  2367. <li>I have decided to generate a 'GPOS' table rather than
  2368. a 'kern' table in truetype output as well as in opentype
  2369. output (unless applemode is set).</li>
  2370. <li>I have changed the default names of items in adobe's
  2371. private use area to match their new conventions. ie.
  2372. names used to look like "Asmall" and now look like
  2373. "a.sc".</li>
  2374. <li>I have rewritten the way <a href="gposgsub.html">GPOS
  2375. and GSUB</a> tables are output. I hope this will not have
  2376. much effect on users, but it does mean that a few more
  2377. sub-tables are now supported.</li>
  2378. </ul>
  2379. </li>
  2380. <li>23-Dec-2002
  2381. <ul>
  2382. <li>Various improvements to cubic-&gt;quadratic
  2383. (truetype) conversion.</li>
  2384. <li>When switching from displaying a 12,8,6,4,3,2,1pt
  2385. bitmap to a 24pt anti-aliased version, fontforge would
  2386. fail to update the display.</li>
  2387. <li>The bitmap dlg would come up with the labels for X
  2388. showing when it should have shown those for Win/Mac.</li>
  2389. <li>Inspired by KANOU's mentioning the mona font, I've
  2390. made it possible to generate an ms bitmap only ttf font.
  2391. This is done by creating dummy glyph and loca tables
  2392. (full of space glyphs) and putting a bitmap scaling table
  2393. which causes the most likely pixelsizes to be scaled from
  2394. the strikes available.
  2395. <p>You can generate this with: [No Outline Font] [In
  2396. TTF]</p>
  2397. </li>
  2398. <li>Drat. Fix of 24-Nov was wrong. I still wasn't putting
  2399. the UniqueID into the Private dict.</li>
  2400. <li>I've been generating bad macbinary files since I
  2401. started
  2402. <ul>
  2403. <li>I had not noticed that the resource and data fork
  2404. must be padded to a multiple of 128 bytes.
  2405. <ul>
  2406. <li>This also meant that on rare occasions I
  2407. would read them incorrectly too.</li>
  2408. </ul>
  2409. </li>
  2410. <li>I was generating the crc incorrectly.</li>
  2411. </ul>
  2412. </li>
  2413. <li>Be a bit more vigorous about displaying filter text
  2414. in file choosers.</li>
  2415. <li>Default buttons didn't respond to the keypad enter
  2416. key.</li>
  2417. <li>Pressing OK in the character info dlg would often
  2418. destroy the font's encoding event when it should not
  2419. have.</li>
  2420. <li>Was generating bad kerning tables for mac FONDs.</li>
  2421. <li>Jim Killock reminds me that there was no way for
  2422. fontforge to read kerning data from a mac FOND.
  2423. File-&gt;Merge Kern Data will now accept a mac resource
  2424. file.</li>
  2425. </ul>
  2426. </li>
  2427. <li>15-Dec-2002
  2428. <ul>
  2429. <li>Add support for Big5HKSCS</li>
  2430. <li>Redo CJK encodings</li>
  2431. <li>Update cidmap files.</li>
  2432. </ul>
  2433. </li>
  2434. <li>14-Dec-2002
  2435. <ul>
  2436. <li>Add support for reading windows .FON and .FNT
  2437. files.</li>
  2438. <li>Add support for writing windows .FNT files. Sadly
  2439. .FNT files aren't particularly useful. They need to be
  2440. converted to .FON files with the resource editor
  2441. somehow.</li>
  2442. <li>Bug when reading postscript files that included
  2443. complicated combinations of translate scale and concat
  2444. commands.</li>
  2445. <li>FontForge was a bit too cavalier about guessing how
  2446. big serifs were. Caused problems when autokerning a
  2447. fraktur font. (FontForge thought it had huge serifs when
  2448. it had none).</li>
  2449. <li>Direction (Clockwise, counterclockwise, correct) menu
  2450. items are now greyed out if the selected path is
  2451. open.</li>
  2452. <li>New OpenVms patches from Jacob Jansen.</li>
  2453. <li>Update unicode database to 3.2</li>
  2454. </ul>
  2455. </li>
  2456. <li>13-Dec-2002
  2457. <ul>
  2458. <li>FontForge will now open a ttf/otf font that contains
  2459. only bitmap strikes</li>
  2460. <li>FontForge will now read NFNT resources (old mac
  2461. bitmaps)</li>
  2462. <li>FontForge will import NFNT resources</li>
  2463. <li>Fixed a number of problems with loading and saving
  2464. bdf files
  2465. <ul>
  2466. <li>Did not understand that the "ENCODING" keyword
  2467. could take two values if the first were -1</li>
  2468. <li>Added unencoded glyphs at the wrong encoding (I
  2469. know that sounds like an oxymoron. I assign them an
  2470. encoding, and I did it badly).</li>
  2471. <li>If a font name were not one of the X Logical Font
  2472. Names then fontforge might fail to give the font a
  2473. familyname or a fontname. This caused more problems
  2474. when generating a new bdf file.</li>
  2475. </ul>
  2476. </li>
  2477. </ul>
  2478. </li>
  2479. <li>11-Dec-2002
  2480. <ul>
  2481. <li>Revert Glyph is now undoable</li>
  2482. <li>Fixed a crash when pressing return in the font
  2483. display of a bitmap font.</li>
  2484. <li>Display the name of references near the top of the
  2485. reference in the outline char view.</li>
  2486. <li>Took the width display off the info line and did it
  2487. as hints are displayed.</li>
  2488. <li>Menus now respond to Home and End key events.</li>
  2489. <li>I have changed the calling conventions for the
  2490. ExpandStroke scripting command to reflect the height
  2491. ratio value that is now needed.</li>
  2492. <li>Holding down the Alt (Meta) key when using the
  2493. freehand tool will now close the path.</li>
  2494. <li>The Generate Fonts dlg will now display an
  2495. appropriate bitmap fontname if "No Outline Font" is
  2496. selected.</li>
  2497. <li>I think I've got the wacom stuff working now.
  2498. FreeHand tool now takes options.</li>
  2499. </ul>
  2500. </li>
  2501. <li>08-Dec-2002
  2502. <ul>
  2503. <li>Oops. Can't use Alt-Shift for menus (it's treated as
  2504. a mnemonic) use Alt-Ctl-Shift instead.</li>
  2505. <li>Reorganized the prefs dlg.</li>
  2506. <li>Made FontInfo non-modal.</li>
  2507. <li>Added a default icon for all fontforge's windows
  2508. &amp; dlgs.</li>
  2509. </ul>
  2510. </li>
  2511. <li>06-Dec-2002
  2512. <ul>
  2513. <li>Fixed a problem where FontForge still picked bad
  2514. fonts sometimes.</li>
  2515. <li>Typo in format spec for character windows</li>
  2516. <li>At Werner's suggestion:
  2517. <ul>
  2518. <li>The Transform dlg now preserves hints in the
  2519. undo</li>
  2520. <li>Added an indication of which layer was
  2521. active</li>
  2522. <li>Added an indication on the title bar that a
  2523. character was changed</li>
  2524. <li>Added a Revert Glyph command</li>
  2525. <li>The location of the advance width pops up on the
  2526. info line when the cursor moves over the advance
  2527. width</li>
  2528. <li>changed the Set Width command to get the right
  2529. default value.</li>
  2530. <li>There were some layout problems in the char info
  2531. dlg.</li>
  2532. </ul>
  2533. </li>
  2534. <li>Redid the configuration for mac os/x. I've just
  2535. upgraded to the new developers' tools and that fixed a
  2536. lot of problems.</li>
  2537. </ul>
  2538. </li>
  2539. <li>05-Dec-2002
  2540. <ul>
  2541. <li>Fixed a crash in menus, if the cursor was moved from
  2542. a submenu (a cascaded menu) to the menubar without
  2543. passing through the main menu then a crash would
  2544. happen.</li>
  2545. <li>Clicking in a menu above the first line will dismiss
  2546. the menu.</li>
  2547. <li>Fixed a crash when generating postscript fonts.</li>
  2548. <li>Oops. Bug in work of 2-Dec. The character named "u"
  2549. was treated as uXXXX and given unicode U+0000 rather than
  2550. U+0075.</li>
  2551. <li>It is now possible to switch between editing layers
  2552. in the outline character view by using the mnemonics
  2553. displayed in the layers palette (even if the layers
  2554. palette is hidden).
  2555. <p>Or by using the popup menu invoked by the third
  2556. mouse button.</p>
  2557. </li>
  2558. <li>Rewrote Expand Stroke so that the calligraphic pen is
  2559. no longer treated as a line (it is now treated as a
  2560. rectangle).</li>
  2561. <li>Changed behavior of Next/Prev char so that they do
  2562. not wrap in the outline character view. Also added the
  2563. encoding to the title.</li>
  2564. <li>In the outline view made a separate menu entry for
  2565. Char Info and removed it from "Get Info". Made Ctl-Shft-I
  2566. invoke Char Info in all views (Ctl-I will also invoke it
  2567. everywhere but the outline view).</li>
  2568. <li>Undo will now attempt to reset the modified bit on a
  2569. character. It will not attempt to reset the modified bit
  2570. on the font as a whole (there are too many things that
  2571. can change without setting undo info).</li>
  2572. </ul>
  2573. </li>
  2574. <li>2-Dec-2002
  2575. <ul>
  2576. <li>If the fontview were only one line high FontForge
  2577. would not scroll to the selected character properly.</li>
  2578. <li>Adobe has released a new version of their glyph
  2579. naming conventions. In particular they provide names for
  2580. code points outside of the bmp. Danilo Sagan points out
  2581. that they also allow for alternate glyph names.
  2582. (specified in the <a href=
  2583. "http://partners.adobe.com/asn/tech/type/otfdk/">FDK</a>).</li>
  2584. <li>Remove the PFAEDIT_PI1 environment variable.</li>
  2585. <li>Cut and Paste bug fixed when clearing metadata.</li>
  2586. </ul>
  2587. </li>
  2588. <li>25-Nov-2002
  2589. <ul>
  2590. <li>Harald Harders provides a patch to allow
  2591. SetItalicAngle to deal with real numbers.</li>
  2592. <li>Vadim Belman provides a patch to keep
  2593. Element-&gt;MetaFont from crashing when applied to
  2594. spaces.</li>
  2595. <li>Bringing up the preference dlg would segfault if
  2596. there were arguments specified for autotrace.</li>
  2597. <li>Put in a hack so that the environment variable
  2598. PFAEDIT_PI1 controls whether U+03D6 is named "pi1" (as
  2599. Unicode suggests it ought to be) or "omega1" (as Adobe
  2600. has said it should be).</li>
  2601. <li>Follow riggle's suggestion and use the shell command
  2602. "open" (on a Mac) to bring up a browser window.</li>
  2603. </ul>
  2604. </li>
  2605. <li>24-Nov-2002
  2606. <ul>
  2607. <li>Harald Harders points out that UniqueID needs to be
  2608. in both the font and the Private dictionaries in a
  2609. PostScript font.</li>
  2610. <li>And provides access to UniqueID from the scripting
  2611. language.</li>
  2612. <li>More fixes for TeX sfd files.</li>
  2613. </ul>
  2614. </li>
  2615. <li>20-Nov-2002
  2616. <ul>
  2617. <li>Changed the Simplify More command to bring up a dlg
  2618. giving the user control over what errors Simplify More is
  2619. allowed to induce.</li>
  2620. <li>Bug in import image with non-latin1 fontnames</li>
  2621. <li>New Russian ui translation</li>
  2622. <li>Merge fonts didn't work well with CID keyed
  2623. fonts</li>
  2624. <li>Fixed yet another problem with notdef
  2625. generation.</li>
  2626. <li>Fixed yet crash in sfddiff.</li>
  2627. <li>Using Font Info to convert to SJIS didn't work.</li>
  2628. <li>Merge fonts had problems when both fonts were CID
  2629. keyed.</li>
  2630. <li>Generate a unicode encoding subtable even when
  2631. generating a CJK encoding subtable.</li>
  2632. <li>Added a preference item to allow user to specify
  2633. whether s/he would rather read in the unicode or the cjk
  2634. encoding subtable.</li>
  2635. </ul>
  2636. </li>
  2637. <li>13-Nov-2002
  2638. <ul>
  2639. <li>Two new tools in the outline character view.
  2640. <ul>
  2641. <li>A hand tool -- for scrolling around</li>
  2642. <li>A freehand tool -- for having fontforge try to
  2643. fit splines to a hand drawn curve</li>
  2644. </ul>
  2645. </li>
  2646. <li>MergeFonts was broken from scripts.</li>
  2647. <li>New Russian UI from Valek.</li>
  2648. <li>Another remove overlap fix from KANOU.</li>
  2649. <li>Added code to invoke Internet Explorer (or an Mac
  2650. App) on the Mac (so pressing F1 should actually load some
  2651. help on the mac now).</li>
  2652. <li>Fixed random crash in font generation dialog</li>
  2653. <li>PS-&gt;TTF conversion tried to force splines in cases
  2654. where it could not.</li>
  2655. </ul>
  2656. </li>
  2657. <li>05-Nov-2002
  2658. <ul>
  2659. <li>Improved behavior of Remove Overlap. Fix inspired by
  2660. Kanou.</li>
  2661. <li>Added a "Find Intersections" command, a variant of
  2662. remove overlap that stops after it finds the
  2663. intersections. I think this half of the job has no major
  2664. bugs.</li>
  2665. <li>If a single point is in the clipboard, then FontForge
  2666. will also export the clipboard as STRING, giving the
  2667. coordinates of the point. This is to make it easier to
  2668. refer to the point.</li>
  2669. </ul>
  2670. </li>
  2671. <li>04-Nov-2002
  2672. <ul>
  2673. <li>KDE has the lovely habit of losing some resize events
  2674. when in continuous resize mode. So I've tweaked the
  2675. fontview resize code so that it is less dependent on
  2676. individual events.</li>
  2677. <li>Added a mode where the user can choose between
  2678. whether the font shown in the fontview should be scaled
  2679. so that the em fits in the space provided (this is the
  2680. old behavior) or so that the bounding box does.</li>
  2681. <li>Rewrote the knife tool so that it cuts at the end
  2682. rather than as it goes along. I think this is easier to
  2683. use.</li>
  2684. <li>Bug in the generation of format=2 truetype encoding
  2685. tables (used for CJK fonts).</li>
  2686. </ul>
  2687. </li>
  2688. <li>02-Nov-2002
  2689. <ul>
  2690. <li>Png reading failed on greyscale images with an alpha
  2691. channel</li>
  2692. <li>Png now reads mono images as mono.</li>
  2693. <li>make install (via libtool) didn't work if "." weren't
  2694. in the PATH.</li>
  2695. </ul>
  2696. </li>
  2697. <li>30-Oct-2002
  2698. <ul>
  2699. <li>GenerateFamily() scripting command had a number of
  2700. problems.</li>
  2701. </ul>
  2702. </li>
  2703. <li>26-Oct-2002
  2704. <ul>
  2705. <li>The "Apple" checkbox was sometimes (incorrectly)
  2706. invisible in the Generate Font/Family dialogs</li>
  2707. <li>Minor improvements to the "Insert Character" dialog
  2708. (to match <a href="http://umap.sf.net/">umap</a>)</li>
  2709. <li>Minor tweak to text fields</li>
  2710. <li>More configuration changes</li>
  2711. </ul>
  2712. </li>
  2713. <li>25-Oct-2002
  2714. <ul>
  2715. <li>Problems when reading an sfd with references to
  2716. cleaned up characters.</li>
  2717. <li>Removed code from ttf generation that check for
  2718. points of inflection (but fixed a couple of bugs in it
  2719. before doing that).</li>
  2720. <li>Change the way scripting GenerateFamily behaves. One
  2721. person has already been unable to figure out how to use
  2722. it, and I agree that it didn't make much sense the way I
  2723. had it.</li>
  2724. </ul>
  2725. </li>
  2726. <li>24-Oct-2002
  2727. <ul>
  2728. <li>Change the default configuration process to use
  2729. dynamic libaries
  2730. <ul>
  2731. <li>Added "configure.static" which will configure for
  2732. static libaries (On Mac OS/X the compiler gets
  2733. internal compiler errors if asked to generate pic
  2734. code)</li>
  2735. </ul>
  2736. </li>
  2737. <li>Enable reading a straight ttf file out of a .bin or
  2738. .hqx wrapper (ie. doesn't need to be in a resource
  2739. fork)</li>
  2740. <li>The Kern Pairs dlg did not show Hebrew/Arabic right
  2741. to left. Fixed</li>
  2742. <li>Added a popup menu to Kern Pairs which will allow you
  2743. to reset a kern pair</li>
  2744. <li>Added a way to configure the font family used for
  2745. info messages in the outline and bitmap character
  2746. views.</li>
  2747. <li>New man pages which use the macros supported by Sun.
  2748. Thanks to R. P. Channing Rodgers.</li>
  2749. </ul>
  2750. </li>
  2751. <li>22-Oct-2002
  2752. <ul>
  2753. <li>Initial version of Mac Family (FOND) generation</li>
  2754. <li>Fix old sfds so that their bad pngs will become
  2755. bitmaps</li>
  2756. <li>optimize the fix to draw magnified.</li>
  2757. </ul>
  2758. </li>
  2759. <li>21-Oct-2002
  2760. <ul>
  2761. <li>Verbose addition to scripting broke loops</li>
  2762. <li>Various changes to make utf8/ucs2 selections work
  2763. properly with other programs</li>
  2764. <li>Hebrew/Arabic drag and drop could cause crashes</li>
  2765. <li>The Increment right side bearing command
  2766. (Metrics-&gt;Set RBearing) set the width to the value
  2767. rather than incrementing by that value.</li>
  2768. <li>Fixes for the local encoding being utf8</li>
  2769. <li>Imported bitmap pngs still were seen as indexed</li>
  2770. <li>Problems drawing magnified images when the scale
  2771. factor was 100%</li>
  2772. </ul>
  2773. </li>
  2774. <li>20-Oct-2002
  2775. <ul>
  2776. <li>Updated French and Japanese UI translations</li>
  2777. <li>Use LC_CTYPE (rather than LC_MESSAGES) to determine
  2778. the current local encoding</li>
  2779. <li>If the width line were selected then FontForge would
  2780. sometimes snap cursor movements to an arbitrary x-value
  2781. (often the axis)</li>
  2782. <li>KANOU provided a patch which fixes some remove
  2783. overlap problems.</li>
  2784. <li>I had broken the generation of pure bitmap sfnts from
  2785. scripts (7-Sept)</li>
  2786. <li>Added a verbose mode to scripts (prints script to
  2787. stdout as it is executed).</li>
  2788. </ul>
  2789. </li>
  2790. <li>18-Oct-2002
  2791. <ul>
  2792. <li>Tweaked metrics view so that null kerning now
  2793. displays as an empty string rather than "0"</li>
  2794. <li>If a font contained a kerning pair to a character
  2795. that was omitted when saving the sfd file, then loading
  2796. that font would leave it in a bad state and eventually
  2797. cause a crash. Fixed on both ends (don't generate bad
  2798. sfds any more, and can deal with them properly when
  2799. found)</li>
  2800. <li>Improved the "Insert Character" dialog a bit.</li>
  2801. </ul>
  2802. </li>
  2803. <li>17-Oct-2002
  2804. <ul>
  2805. <li>More work on Ik format files</li>
  2806. <li>Redid UI for Auto Width/Kern to make it easier for
  2807. cyrillic/greek users to kern their alphabets.</li>
  2808. <li>Changed so that CJK encodings will attempt to map
  2809. directly to a CJK font (rather than going through
  2810. unicode) when displaying in the fontview.</li>
  2811. <li>Added a command to join paths</li>
  2812. <li>KANOU points out that support for mimetype cut/paste
  2813. (11-Sept) broke cut/paste in scripting.</li>
  2814. <li>KANOU supplied a patch for the knife tool.</li>
  2815. <li>KANOU points out that IsVisible didn't work properly
  2816. if passed a NULL point (it should never be passed a NULL
  2817. pointer, but if it is no reason not to work
  2818. correctly).</li>
  2819. <li>KANOU points out that the UniqueID for ttf files used
  2820. a bad date.</li>
  2821. <li>Had the wrong MS language ID for hungarian</li>
  2822. <li>Some of Luc Devroye's fonts contain a "div" in the
  2823. FontMatrix. ATM doesn't support this, but it is easy
  2824. enough to accept. Still don't support a full expression
  2825. there, just a div.</li>
  2826. <li>If we read in a gsf font and then generated
  2827. postscript from that, we weren't able to read in the
  2828. result.</li>
  2829. <li>Added an empty glyph-encoding sub-table to mac
  2830. FONDs</li>
  2831. <li>Save multiple postscript did not save the first
  2832. sub-font</li>
  2833. <li>The second count in BeginChars could be wrong in an
  2834. sfd file (FontForge doesn't care, but I suppose some
  2835. program might).</li>
  2836. <li>Add support for local encoding being UTF-8. Prefs now
  2837. has an option to try and figure out the encoding from the
  2838. locale</li>
  2839. <li>Display filenames in the local encoding.</li>
  2840. <li>There was an erroneous test in simplify which caused
  2841. FontForge to complain about an internal error when in
  2842. truth all was well.</li>
  2843. <li>There was a bad test in dumpbdf</li>
  2844. <li>Export will now allow the user to generate png files
  2845. (if s/he's got the png libraries)</li>
  2846. <li>It is possible to invoke Export from a script</li>
  2847. </ul>
  2848. </li>
  2849. <li>11-Sept-2002
  2850. <ul>
  2851. <li>Added a menu in textfields (right mouse button)</li>
  2852. <li>Added support for STRING_UTF8 selections</li>
  2853. <li>Added support for "image/png", "image/bmp",
  2854. "image/eps", "text/plain;charset=ISO-10646-UCS-2",
  2855. "text/plain;charset=UTF-8"
  2856. <ul>
  2857. <li>(two image format)</li>
  2858. <li>(one format for reading spline data)</li>
  2859. <li>(two more ways of expressing unicode text
  2860. data)</li>
  2861. </ul>
  2862. </li>
  2863. </ul>
  2864. </li>
  2865. <li>10-Sept-2002
  2866. <ul>
  2867. <li>Added support for UTF8 in display/print dlg
  2868. imports.</li>
  2869. </ul>
  2870. </li>
  2871. <li>9-Sept-2002
  2872. <ul>
  2873. <li>Added support for loading Ikarus .IK font files</li>
  2874. <li>Fixed a divide by zero problem when generating
  2875. ttfs</li>
  2876. <li>If you type into the Kern Pairs dlg, it will now
  2877. scroll to the pairs associated with the character you
  2878. typed.</li>
  2879. </ul>
  2880. </li>
  2881. <li>8-Sept-2002
  2882. <ul>
  2883. <li>Display crashed on systems without freetype</li>
  2884. <li>my xfig reader didn't handle arcs</li>
  2885. <li>Merge fonts and Interpolate fonts didn't
  2886. merge/interpolate kerning pairs</li>
  2887. </ul>
  2888. </li>
  2889. <li>7-Sept-2002
  2890. <ul>
  2891. <li>The ruler tool will give the length of a spline if
  2892. applied between the spline's endpoints</li>
  2893. <li>Made FontForge a little smarter about when to change
  2894. the xuid field. <!--
  2895. <LI>
  2896. Added the tile path command.
  2897. --></li>
  2898. <li>Added a dlg to <a href="display.html">display
  2899. fonts</a> using freetype.</li>
  2900. <li>Added support for the obsolete _XFREE86_GLYPH_RANGES
  2901. property and then turned it off by default.</li>
  2902. <li>Improvements to type2 output.</li>
  2903. <li>Changed greek accents to use 0x384 rather than 0x30d
  2904. when substituting for 0x301</li>
  2905. <li>I've found another case where Apple and MS/Adobe
  2906. disagree on the format of ttf/otf files. So there's now a
  2907. check box in the Generate dlg which allows you to select
  2908. between the two defns. I've removed the two different
  2909. kinds of bitmaps for ttf files, these are now controlled
  2910. by this new checkbox too.</li>
  2911. <li>FontForge would sometimes in otf files generate
  2912. curves which should have been done as lines.</li>
  2913. <li>macbinary resource output broke when I fixed straight
  2914. resource output the other day.</li>
  2915. <li>When a grid line was a line but expressed with
  2916. control points, then fontforge would get very confused
  2917. about how to snap to it.</li>
  2918. <li>Fixed a bug in the generation of ttf/otf fonts with
  2919. big5/sjis/wansung encodings.</li>
  2920. <li>The ligature dlg had a bad habit of crashing.</li>
  2921. <li>On the Mac, Obliqued fonts are stored in a weird
  2922. postscript format. Try to support them</li>
  2923. </ul>
  2924. </li>
  2925. <li>2-Sept-2002
  2926. <ul>
  2927. <li>When in no-x mode, fontforge did not notice any
  2928. arguments (except -script). It will now notice -version,
  2929. -usage and -help.</li>
  2930. <li>The PS Names check box would be visible when
  2931. generating otf fonts. It should not have been.</li>
  2932. <li>If a font contained multiple encodings for the same
  2933. character, then generating an otf font from it would
  2934. crash fontforge.</li>
  2935. <li>There is now a proper french translation of the ui
  2936. (Merci Pierre Hanser!)</li>
  2937. <li>Under cygwin, FontForge would fail to find internet
  2938. explorer/netscape (because not in user's path) and if it
  2939. did find them would try to invoke them with a cygwin
  2940. style name (ie.
  2941. /usr/local/share/doc/fontforge/overview.html rather than
  2942. c:\cygwin\usr/local/share/doc/fontforge/overview.html
  2943. )</li>
  2944. <li>Added a preference item to allow you to control
  2945. whether a mapping file from glyph ids to character names
  2946. is produced along with ttf and otf fonts.</li>
  2947. </ul>
  2948. </li>
  2949. <li>1-Sept-2002
  2950. <ul>
  2951. <li>Added an #ifdef to an include file to make it work
  2952. when built without X11</li>
  2953. </ul>
  2954. </li>
  2955. <li>31-August-2002
  2956. <ul>
  2957. <li>Making a font be a cid-keyed font might screw up all
  2958. other fontviews and lead to crashes.</li>
  2959. <li>type1 cid keyed fonts got the wrong fontmatrix if the
  2960. em-size was something other than 1000. Doesn't seem to
  2961. make a difference though, we still get bad output for
  2962. emsize!=1000</li>
  2963. <li>got maxp.numGlyphs wrong for otf cid-keyed fonts
  2964. which lacked a .notdef character</li>
  2965. <li>Added a check to make sure fontnames are less than 63
  2966. characters. Needed for ATM.</li>
  2967. <li>format 2 Coverage tables (used by GPOS and GSUB
  2968. tables (kerning &amp; ligatures for otf)) were being
  2969. generated incorrectly. This meant that windows would
  2970. refuse to read my otf files which had complex kerning.
  2971. (presumably complex ligs, but I had no test cases). The
  2972. mac printer driver has also had problems with my otf
  2973. files. This may be why.</li>
  2974. <li>Added a popup to the kern pair dlg to tell user how
  2975. many kern pairs there are, and how many characters start
  2976. kern pairs.</li>
  2977. </ul>
  2978. </li>
  2979. <li>29-August-2002
  2980. <ul>
  2981. <li>Merge and Elide were backwards
  2982. <ul>
  2983. <li>And merge (simplify) had problems when a desired
  2984. spline at the same slope at the start and end (or
  2985. something like that).</li>
  2986. </ul>
  2987. </li>
  2988. <li>Added a field to Review Hints showing the total
  2989. number of hints, flag for h/vstem3, ability to move
  2990. points associated with hint when moving hint. also added
  2991. a hot key for it.</li>
  2992. <li>Added a Find Problem to detect things which are
  2993. almost but not quite h/vstem3</li>
  2994. <li>AutoHint wasn't finding all the ghost hints it should
  2995. have.</li>
  2996. <li>Put in (what I hope is) a better way of detecting
  2997. extraneous hints (the hypen case. At first sight the
  2998. hstem and vstem appear equally valid) remove hints which
  2999. are wider than they are long.</li>
  3000. <li>More fixes from KANOU for cid fonts</li>
  3001. <li>The scale to em checkbox only (sort of) worked if the
  3002. emsize increased. Fix from KANOU</li>
  3003. <li>Autohint could go into an infinite loop on characters
  3004. containing a 0-length spline.</li>
  3005. <li>Problem with cff name table fix of 27-Aug</li>
  3006. <li>bdf fonts were loaded into background by default</li>
  3007. <li>Scripting problem loading bitmap fonts into
  3008. background.</li>
  3009. </ul>
  3010. </li>
  3011. <li>27-August-2002
  3012. <ul>
  3013. <li>Further attempts to fix the fact that FontForge in
  3014. some ways does not believe that monospaced ttf files are
  3015. monospaced.</li>
  3016. <li>Problems with endif</li>
  3017. <li>Redid the Find Problems dialog by adding tabs so that
  3018. related problems are grouped together.</li>
  3019. <li>Added a problem which will report advance widths
  3020. which do not match some standard value.</li>
  3021. <li>CID keyed generation was broken again by the (failed)
  3022. attempt to make things work with FontLab (18-Aug)</li>
  3023. <li>cff name table could be off by 1 if there were a real
  3024. notdef character</li>
  3025. <li>Added ability to display blue zones in outline
  3026. view.</li>
  3027. </ul>
  3028. </li>
  3029. <li>21-August-2002
  3030. <ul>
  3031. <li>Broke cid-keyed otf generation on 27 July when I
  3032. enabled the [Stop] button. Fix by KANOU.</li>
  3033. <li>Bringing up progress indicator early (20 August)
  3034. broke scripting without X11.</li>
  3035. <li>Added ability to load a font protected by fstype=2 to
  3036. a scripting (extra argument to open).</li>
  3037. <li>Enhanced print abilities.</li>
  3038. <li>Added ability to Print to scripting.</li>
  3039. <li>Attempt to fix the fact that windows doesn't
  3040. recognize my monospaced ttf fonts as monospace.</li>
  3041. <li>FontForge could be confused by strange values of
  3042. Ascent in the hhea table</li>
  3043. <li>Added a Round to Int option to the transform
  3044. dialogs</li>
  3045. <li>Added ability to change the em-size (and rescale the
  3046. font) to fontinfo</li>
  3047. </ul>
  3048. </li>
  3049. <li>20-August-2002
  3050. <ul>
  3051. <li>Under KDE my tools palettes are made too wide and
  3052. without borders. That's ok until they get reparented
  3053. (docked). Added code in the docking routines to fix these
  3054. problems.</li>
  3055. <li>May have fixed a race condition problem due to
  3056. reparented windows under freebsd.</li>
  3057. <li>TeX sfd files are a little more complicated than I
  3058. had originally thought, the parser is now more
  3059. general.</li>
  3060. <li>FontForge sometimes thought some X fonts had
  3061. iso8859-1 encoding when they did not.</li>
  3062. <li>cleaned up some problems with encodings</li>
  3063. <li>Added support for TeX (actually MetaFont) gf
  3064. files</li>
  3065. <li>RLE background images sometimes showed up inverted
  3066. (with background color as foreground &amp; vice
  3067. versa)</li>
  3068. <li>The Fit in window command should now take docked
  3069. palettes into consideration.</li>
  3070. <li>Added a Japanese translation of the UI, courtesy of
  3071. KANOU Hiroki.</li>
  3072. <li>Added the ability to run <code>mf</code> on a .mf
  3073. font, generate a gf file, autotrace the gf file, and
  3074. leave you with a font based on an mf file.</li>
  3075. <li>Menus now do pointer grabs.</li>
  3076. <li>Fixed a bug in generating PostScript resource file
  3077. fonts on Mac OS/X</li>
  3078. </ul>
  3079. </li>
  3080. <li>18-August-2002
  3081. <ul>
  3082. <li>Added a dlg to show all kern pairs (and another to
  3083. show all ligatures)</li>
  3084. <li>Added a "Find Problems" item to check for missing
  3085. bitmaps.</li>
  3086. <li>Put in some warnings to the ttf parser for bad cmap
  3087. and glyf tables</li>
  3088. <li>FontForge was still having trouble about loading
  3089. space bitmaps (that had been generated with
  3090. freetype).</li>
  3091. <li>FontForge did not set the flag indicating manual
  3092. hinting after changes by Review Hints or Create Hint.
  3093. Should be set now.</li>
  3094. <li>Various small tweaks to the pfa/pfb output because
  3095. FontLab doesn't like what we currently do. Probably none
  3096. will make much difference.</li>
  3097. <li>The Print command would attempt to print characters
  3098. outside the encoding of type1 fonts. This did not work
  3099. well.</li>
  3100. <li>The autowidth command got very confused when given a
  3101. sans-serif script to autowidth when the Latin characters
  3102. in the font were serifed.</li>
  3103. <li>The Print sample text is now ordered so that the
  3104. language specified in the LANG environment variable comes
  3105. first in the list.</li>
  3106. <li>Added $version</li>
  3107. <li>FontForge will now read scripts from stdin if you
  3108. follow the "-script" argument with "-".</li>
  3109. <li>Valek points out the using CharInfo to change a
  3110. character's color did not change it until the fontview
  3111. was refreshed</li>
  3112. <li>Expand Stroke had problems when intersections bent
  3113. the wrong way.</li>
  3114. </ul>
  3115. </li>
  3116. <li>9-August-2002
  3117. <ul>
  3118. <li>I've decided to encourage use of the <a href=
  3119. "index.html#Mail">mailing lists</a> for reporting bugs. A
  3120. feeble attempt to cut down on the spam I get by removing
  3121. my e-mail address from the site.</li>
  3122. <li>Bug in the dlg asking for the resolution of a bdf
  3123. font. The second (and subsequent) time(s) it came up it
  3124. would have a good chance of never going away again, and
  3125. potentially crashing FontForge into the bargain. (number
  3126. of other bugs here too)</li>
  3127. <li>If the postscript "FontName" contained a hyphen then
  3128. any generated BDF fonts would have invalid X fontnames
  3129. (they hyphen would be included which would throw the name
  3130. parsing off by one hyphen).</li>
  3131. <li>Greg Ford points out that generating a bdf font and
  3132. then loading it back in will often change the fontname.
  3133. This is because the fontname is not actually stored in
  3134. bdf files. I've added a FONT_NAME property to the bdf
  3135. fonts I generate.</li>
  3136. <li>FontForge would sometimes forget about the first
  3137. bitmap character in each bitmap font stored in an sfd
  3138. file. <span class="c1"><strong><big>Please check any sfd
  3139. files to see if they are missing bitmaps of space,
  3140. exclamation point, etc.</big></strong></span> Probably
  3141. introduced 11-June.</li>
  3142. </ul>
  3143. </li>
  3144. <li>8-Aug-2002
  3145. <ul>
  3146. <li>After yesterday's fix textfields ignored
  3147. backspaces</li>
  3148. <li>More work on the metrics lines. There's now a dlg to
  3149. control which ones get drawn.</li>
  3150. <li>FontInfo would sometimes crash after adding ttf
  3151. names.</li>
  3152. <li>Added minimal ability to dock palettes into their
  3153. respective views.</li>
  3154. <li>Added a way of looking at the fontview where there
  3155. are now holes in the font (ie. a compacted view where
  3156. every cell contains a glyph). This is just another
  3157. encoding, but people have been asking for it and it is
  3158. slightly easier to get to than normal reencoding of a
  3159. font. Note: It has no defined relationship to the glyph
  3160. array in a ttf file.</li>
  3161. </ul>
  3162. </li>
  3163. <li>7-Aug-2002
  3164. <ul>
  3165. <li>The 21-July autowidth/kern change broke
  3166. autowidth/kern scripting.</li>
  3167. <li>And the serif detection failed if the character I did
  3168. not reach the baseline.</li>
  3169. <li>FontForge read RGB png files incorrectly.</li>
  3170. <li>FontForge used to bring up most dialogs underneath
  3171. the cursor. Now it only does that if the focus is set to
  3172. FocusFollowsMouse, and otherwise centers dlgs.</li>
  3173. <li>FontForge now will draw metrics lines in the fontview
  3174. if you want it to.</li>
  3175. <li>FontForge remembers what outline character views were
  3176. open when a font was saved (as an sfd file) and will
  3177. automagically reopen them when you next load that
  3178. font.</li>
  3179. <li>Added <code>View-&gt;Find In Font View</code> command
  3180. to the outline character view. Will scroll the fontview
  3181. to display the current character.</li>
  3182. <li>Textfields within FontForge ignored the numeric
  3183. keypad</li>
  3184. </ul>
  3185. </li>
  3186. <li>4-Aug-2002
  3187. <ul>
  3188. <li>Yesterday's resize fix didn't quite work</li>
  3189. <li>Try to improve conversion of cubic to quadratic
  3190. spline (actually, we make the conversion worse, but it
  3191. probably helps rasterizers not to have points quite so
  3192. close together).</li>
  3193. <li>Some more work on the TTF style name</li>
  3194. </ul>
  3195. </li>
  3196. <li>3-Aug-2002
  3197. <ul>
  3198. <li>Failed to read ttf fontnames properly for some dfonts
  3199. (probably some ttc files as well)</li>
  3200. <li>Didn't position references by point matching properly
  3201. (when loading from ttf)</li>
  3202. <li>removed some debugging code inadvertently left in
  3203. after the rle fix.</li>
  3204. <li>Added support for <a href="xim.html">X Input
  3205. Methods</a> (to do CJK character input properly)<br />
  3206. This only works if X_HAVE_UTF8_STRING is defined -- an
  3207. XFree 4.0.2 extension (ie. not on solaris)</li>
  3208. <li>Added a possible fix to a resizing problem for some
  3209. window managers.</li>
  3210. <li>Added CIDFlattenByCMap function to scripting.</li>
  3211. </ul>
  3212. </li>
  3213. <li>30-July-2002
  3214. <ul>
  3215. <li>Fixed a couple of problems found by <a href=
  3216. "http://developer.kde.org/~sewardj/">valgrind</a></li>
  3217. <li>Applied a patch from KANOU Hiroki. PasteInto did not
  3218. work.</li>
  3219. <li>Added run length encoding compression to sfd files
  3220. (for background images). Bitmap image sizes are much
  3221. smaller now.</li>
  3222. <li>FontForge failed to recognize that a PNG black and
  3223. white image was monochrome.</li>
  3224. <li>Now FontForge will immediately put up the progress
  3225. indicator when loading the first font (so the user has
  3226. something to look at)</li>
  3227. <li>A little more work on generate multiple.</li>
  3228. <li>Removed a confusing message about autohinting a font
  3229. for which no autohinting was actually done (it was just
  3230. checking to see if it needed to).</li>
  3231. <li>Oops. Windows won't accept a ttf file if there is no
  3232. name table entry with the same platform/specific entries
  3233. as those in the cmap.</li>
  3234. <li>If a character contained a reference to a blank
  3235. character that FontForge decided wasn't worth outputting,
  3236. then the truetype composite for it would not work.</li>
  3237. <li>The standard format for the ttf "version" name is
  3238. different from the equivalent postscript name. Added code
  3239. to interconvert between the two rather than expecting
  3240. them to be the same.</li>
  3241. <li>Added a gasp table for when there was no
  3242. hinting.</li>
  3243. </ul>
  3244. </li>
  3245. <li>28-July-2002
  3246. <ul>
  3247. <li>Pressing the [Filter] button on a blank field will
  3248. show the current filter text (holding the mouse over the
  3249. [Filter] button will cause a popup to appear with the
  3250. same info).</li>
  3251. <li>If there were know selection the pressing an arrow
  3252. key would presume that the selection was at encoding -1,
  3253. which caused strange behavior. Now we will pretend that
  3254. the selection is visible and halfway down the
  3255. screen.</li>
  3256. <li>Oops. CMap files allow for multiple encodings for the
  3257. same glyph. Now prepared to put in refs.</li>
  3258. <li>Oops. Generate multiple had several problems
  3259. (couldn't handle encodings above 0x80000000, was
  3260. surprised by empty font numbers, etc.)</li>
  3261. <li>If a family name contained a space then only the
  3262. first word in it would be read out of an sfd file</li>
  3263. </ul>
  3264. </li>
  3265. <li>27-July-2002
  3266. <ul>
  3267. <li>Oops. I was calling TeX sfd files Sub Font
  3268. Directories and their proper name was Sub Font
  3269. Definition.</li>
  3270. <li>Enabled the [Stop] button in the progress dlg when
  3271. saving a font.</li>
  3272. <li>FontForge would go into an infinite loop when reading
  3273. one of its sfd files when it was expecting a TeX sfd
  3274. file. Fixed, and put in guards so that won't happen
  3275. anyway.</li>
  3276. <li>Added two new menu commands "Flatten to CMap" and
  3277. "Convert By CMap". These will use one of Adobe's CMap
  3278. files to guide the Flattening/Converting process (rather
  3279. than one of my cidmap files)</li>
  3280. <li>Added support for some really large encodings if they
  3281. have almost equally large gaps in them (use adobe's
  3282. "coderange" data to manage a sparce array).</li>
  3283. <li>If we could not find any style modifiers in a
  3284. fontname, then we used to claim that the style was
  3285. "Regular". I think it is better if we claim that it is
  3286. /Width (ie. whatever is in the FontInfo /Width entry) and
  3287. if that isn't set then return "Regular")</li>
  3288. </ul>
  3289. </li>
  3290. <li>26-July-2002
  3291. <ul>
  3292. <li>Added support for Werner's (TeX's) Sub Font
  3293. Definition files which provide a way of splitting up a 2
  3294. byte encoding into lots of little pfb fonts with 256
  3295. characters in each.</li>
  3296. <li>Normally in a ttf font, FontForge generates a 'post'
  3297. table with the names of all the characters in it. I've
  3298. just added a way to make it generate a short 'post' table
  3299. with no character names.</li>
  3300. <li>FontForge generates bad truetype hints. There is now
  3301. a way to turn these off in the Generate Font dlg.</li>
  3302. </ul>
  3303. </li>
  3304. <li>24-July-2002
  3305. <ul>
  3306. <li>Code for finding the style still not working as it
  3307. should.</li>
  3308. <li>Oops, the postscript parser was over-zealous about
  3309. generating warnings.</li>
  3310. <li>Oops, the code which interprets results from
  3311. autotrace was over-zealous on getting rid of contours in
  3312. small images.
  3313. <hr />
  3314. </li>
  3315. <li>SetUnicodeValue did not behave as it should
  3316. have.</li>
  3317. <li>Made acorn2sfd a little sturdier.
  3318. <hr />
  3319. </li>
  3320. <li>Bitmap copies didn't work from the font view
  3321. (probably broke when I added anti-aliased support)</li>
  3322. </ul>
  3323. </li>
  3324. <li>23-July-2002
  3325. <ul>
  3326. <li>Crash bug introduced yesterday by the duplicate name
  3327. work.</li>
  3328. <li>Initial version of <i><a href=
  3329. "acorn2sfd.html">acorn2sfd</a></i> -- a program to
  3330. convert Acorn RISC/OS font directories into sfd
  3331. files.</li>
  3332. <li>If a font is loaded from a ttf file, then it will
  3333. have both postscript and ttf versions of certain names
  3334. stored (family, copyright, version, etc.). The postscript
  3335. names are obviously displayed, but changing them would
  3336. not change the ttf versions. So generating a ttf font and
  3337. then looking at it would still show the old setting of
  3338. the name. The two should be better synchronized now.</li>
  3339. </ul>
  3340. </li>
  3341. <li>22-July-2002
  3342. <ul>
  3343. <li>Introduced a crash yesterday if a postscript font
  3344. contained an name in an encoding vector which was not
  3345. defined in the font.
  3346. <hr />
  3347. </li>
  3348. <li>More work on duplicate names. I no longer append a
  3349. ".&lt;number&gt;" to the end of duplicate entries and
  3350. when generating fonts I remove them and generate an
  3351. encoding with has multiple references to the base glyph.
  3352. Which is what I should have been doing.</li>
  3353. <li>Small improvements to the style name detector.</li>
  3354. <li>If the Width field was a null string, then reading it
  3355. from an sfd file caused us to thing the next keyword was
  3356. the width.</li>
  3357. <li>Fixed a bug in the display of menus.</li>
  3358. </ul>
  3359. </li>
  3360. <li>21-July-2002
  3361. <ul>
  3362. <li>Various small bugs in build accented characters</li>
  3363. <li>On the mac the filenames for mac resource fonts are
  3364. different from same fonts elsewhere (elsewhere they have
  3365. an additional ".bin"). Made either extension work from a
  3366. script file (so they can work cross platform).</li>
  3367. <li>Expand Stroke had problems with curved splines where
  3368. the slope at one of the end-points was 0/0. Since this
  3369. will happen by default when joining a corner point to a
  3370. curved point this should have been a frequent
  3371. occurrence.</li>
  3372. <li>Bug in generating 'post' table if glyph 0 existed but
  3373. was not .notdef.</li>
  3374. <li>PostScript fonts with one glyph going to multiple
  3375. encodings cause problems.</li>
  3376. <li>Now both PS and TTF load will have consistent names
  3377. in the above case.</li>
  3378. <li>My presumption of how symbol encodings were stored
  3379. under MicroSoft was wrong. It is not a one byte encoding,
  3380. it is a map into the private/corporate use area of
  3381. unicode. 0xf000-0xf0ff. Changed to deal with that.</li>
  3382. <li>Loading a font with mac roman encoding often
  3383. generated a font of 65536 characters (rather than 256+a
  3384. few extras). Fixed.</li>
  3385. <li>New version of autowidth/kern. I don't think it kerns
  3386. serifed fonts well, might do ok for sans.</li>
  3387. <li>Ability to provide autokern with a list of potential
  3388. kern pairs and have it just check them.
  3389. <hr />
  3390. </li>
  3391. <li>Scripting support for kernpair files</li>
  3392. <li>AutoWidth/Kern now does a little better on serifed
  3393. fonts</li>
  3394. </ul>
  3395. </li>
  3396. <li>15-July-2002
  3397. <ul>
  3398. <li>Correct Direction should now only set the changed bit
  3399. when it actually changes a character.</li>
  3400. <li>Correct Direction will now warn about flipped
  3401. references, and offer you the chance to unlink them
  3402. (after which it will be able to correct their
  3403. direction)</li>
  3404. <li>Added ability to scripting to check if a character
  3405. has changed, and to get a font's filename.</li>
  3406. <li>Cleaned up build accented chars a bit.</li>
  3407. <li>Another attempt to keep X from crashing on
  3408. disappearing progress dlgs.</li>
  3409. <li>Maximizing the fontview could make it bigger than the
  3410. screen so that the scroll bar was unusable.</li>
  3411. </ul>
  3412. </li>
  3413. <li>14-July-2002
  3414. <ul>
  3415. <li>Valek points out that bitmaps generated by freetype
  3416. were one pixel too high.</li>
  3417. <li>Changed the get info dlg for references so that the
  3418. user could change the transformation matrix.</li>
  3419. <li>Font Info-&gt;PS Private got the wrong value when
  3420. guessing the vertical stem snaps</li>
  3421. <li>FontForge did not find ghost hints for things at the
  3422. numeric height.</li>
  3423. <li>FontForge got non-integer values for some hints where
  3424. it should have found integer values.</li>
  3425. <li>Bug when auto-hinting references fixed.</li>
  3426. <li>FontForge would find hints for things that don't need
  3427. to be hinted (finding a vertical stem for the top of "E"
  3428. for instance. There is a vertical stem there, but it is
  3429. deemed irrelevant). It now finds fewer of these hints. I
  3430. hope it still finds all the legitimate ones.</li>
  3431. </ul>
  3432. </li>
  3433. <li>13-July-2002
  3434. <ul>
  3435. <li>I think I've finally worked out Apple's scaled offset
  3436. <a href="Composites/index.html">composite</a> glyphs (and
  3437. they do not behave as Apple documents)</li>
  3438. <li>FontForge was not setting the maxCompositePoints and
  3439. maxCompositeContours fields of the maxp table of truetype
  3440. fonts. This meant that in some cases rasterizers would
  3441. crash when trying to deal with characters containing many
  3442. components.</li>
  3443. <li>The translation tables between unicode and johab were
  3444. wrong.</li>
  3445. <li>FontForge failed to generate ttf fonts with
  3446. big5/sjis/wansung cmaps.</li>
  3447. <li>Changed so that reading sjis/wansung encoded ttf
  3448. files would use a sjis/wansung encoding in fontforge
  3449. (rather than the 94x94 encoding that no one but me seems
  3450. to understand).</li>
  3451. </ul>
  3452. </li>
  3453. <li>9-July-2002
  3454. <ul>
  3455. <li>Bug in generating ttf fonts with embedded
  3456. bitmaps.</li>
  3457. <li>Open Font dlg will now try again if it can't load a
  3458. valid font.</li>
  3459. <li>Started working on a <a href=
  3460. "http://cvs.sourceforge.net/viewcvs.cgi/fontforge/fontforge/test/">
  3461. minimal testsuite</a>, and what do you know? I found
  3462. some bugs...
  3463. <ul>
  3464. <li>Scripting had problems when user preference was
  3465. set to ask for bdf resolution.</li>
  3466. <li>Generate() scripting built in now takes an
  3467. optional resolution argument</li>
  3468. <li>Problems generating the vertical metrics tables
  3469. in cid keyed otf fonts</li>
  3470. <li>Problems working with cid-keyed fonts in scripts
  3471. if fontforge could not find the requisite cidmap file
  3472. <hr />
  3473. </li>
  3474. </ul>
  3475. </li>
  3476. <li>Fixed various problems with parsing EPS files, and
  3477. extended the vocabulary a little.</li>
  3478. <li>If the ".notdef" character was whitespace (as it is
  3479. for most postscript fonts) then generating a ttf font
  3480. would produce an entry for glyph 0 that both flint and NT
  3481. consider to be erroneous, while freetype and windows
  3482. think it's fine. Fixed so that Flint no longer
  3483. complains.</li>
  3484. <li>the fontview could get confused about matching short
  3485. names with periods in them against the standard
  3486. postscript unicode names, so it could think that "b.0"
  3487. matched "bracketleft". This caused some confusion in the
  3488. display.</li>
  3489. </ul>
  3490. </li>
  3491. <li>27-June-2002
  3492. <ul>
  3493. <li>A couple more vms patches</li>
  3494. </ul>
  3495. </li>
  3496. <li>26-June-2002
  3497. <ul>
  3498. <li>Merged in Jouk Jansen changes for OpenVMS</li>
  3499. </ul>
  3500. </li>
  3501. <li>23-June-2002
  3502. <ul>
  3503. <li>Valek wanted to be able to add comments to characters
  3504. and to flag characters with some visible mark. The
  3505. <a href="charinfo.html#Character">Char Info</a> dlg has
  3506. been extended to do this. The scripting language has been
  3507. extended to allow scripts to set and test these too.</li>
  3508. <li>Added a "foreach selected character in the font"
  3509. loop.</li>
  3510. <li>Added $selection variable to return the current
  3511. selection as an array</li>
  3512. <li>Extended the Select() and SelectMore() commands to
  3513. accept an array as an argument (and set the selection to
  3514. the array).</li>
  3515. </ul>
  3516. </li>
  3517. <li>22-June-2002
  3518. <ul>
  3519. <li>Yesterday's unicode sprintf change introduced another
  3520. bug. Fixed</li>
  3521. <li>Valek points out that if you have a bitmap only font
  3522. and you attempt simultaneously to scale it and delete all
  3523. the bitmaps, then FontForge would crash. (Same thing
  3524. would happen if you just removed all the bitmaps).</li>
  3525. <li>Valek provided some additional russian
  3526. translations.</li>
  3527. </ul>
  3528. </li>
  3529. <li>21-June-2002
  3530. <ul>
  3531. <li>Ttf fonts seem to be unhappy if they contain a glyph
  3532. with a single contour and a single point on that contour.
  3533. I don't know why. Output all such as spaces.</li>
  3534. <li>Added ability to set the resolution of a bdf
  3535. font.</li>
  3536. <li>Rearranged preferences.</li>
  3537. <li>Added scripting access to Force-Encoding</li>
  3538. <li>FontForge memory allocation optimizations didn't work
  3539. if sizeof(int *)==8</li>
  3540. <li>Bug in unicode sprintf routine when
  3541. sizeof(long)==8</li>
  3542. <li>In some cases when reading a ttf font with a
  3543. (unicode) cmap which assigned one glyph to two encodings,
  3544. and if that glyph happened to be in the
  3545. AdobeStandardEncoding, then when converting to Type1
  3546. FontForge would create a dictionary which recursively
  3547. seac-ed (invoked) itself. This caused an infinite loop in
  3548. GhostView, and crashed some printers.</li>
  3549. </ul>
  3550. </li>
  3551. <li>11-June-2002
  3552. <ul>
  3553. <li>CID fix on 3 June was wrong, it broke all non-CID
  3554. keyed postscript fonts (it did work for CID fonts). Both
  3555. should work now.</li>
  3556. <li>Added better support for bdf foundries and for bdf
  3557. copyrights.</li>
  3558. <li>Added a preference item to specify the ttf VendorID
  3559. (foundry). Used to truncate the bdf foundry to 4
  3560. characters.</li>
  3561. <li>Small bug fix in print</li>
  3562. <li>Cleaned up bug in scripting ($bitmaps)</li>
  3563. </ul>
  3564. </li>
  3565. <li>7-June-2002
  3566. <ul>
  3567. <li>Fixed some more CID font problems</li>
  3568. <li>Tweaked behavior of FamilyName/FullName in
  3569. GetFontInfo dlg.</li>
  3570. </ul>
  3571. </li>
  3572. <li>6-June-2002
  3573. <ul>
  3574. <li>FontForge now supports greymap strikes in truetype
  3575. files</li>
  3576. <li>The bitmap editor has been extended to handle greymap
  3577. (anti-aliased) fonts</li>
  3578. <li>There is no longer a separate mechanism for
  3579. generating greymap files from the Generate Font dlg,
  3580. instead they may be added to the font database file with
  3581. the bitmap dlg.</li>
  3582. <li>Added support for vertical metrics in bdf files.</li>
  3583. <li>Fixed some problems in moving the vwidth line in
  3584. outline character views</li>
  3585. <li>Added some default window positioning code.</li>
  3586. </ul>
  3587. </li>
  3588. <li>4-June-2002
  3589. <ul>
  3590. <li>Oops, more bug fixes for the new greymap format.</li>
  3591. <li>One more attempt to solve the X Server bug where
  3592. destroying/unmapping a window before its map notify event
  3593. gets processed causes the X server to crash.</li>
  3594. </ul>
  3595. </li>
  3596. <li>3-June-2002
  3597. <ul>
  3598. <li>Stopped using my extension to bdf to make it support
  3599. greymaps and started using that supported by freetype
  3600. (removed the BITSPERPIXEL keyword and added an extra
  3601. argument to the SIZE keyword).</li>
  3602. <li>More fixes for cid fonts</li>
  3603. </ul>
  3604. </li>
  3605. <li>18-May-2002
  3606. <ul>
  3607. <li>Font Info will prompt user about changing the
  3608. UniqueID/XUID if the font name is changed without
  3609. changing them.</li>
  3610. <li>Fixed some Mac configuration problems.</li>
  3611. </ul>
  3612. </li>
  3613. <li>16-May-2002
  3614. <ul>
  3615. <li>FontForge would not compile when trying to used
  3616. libjpeg as a static library (as on Mac OS/X)</li>
  3617. <li>Use psili rather than koronis where appropriate</li>
  3618. <li>It was not possible to select the ellipse/star tool
  3619. from the tools palette.</li>
  3620. </ul>
  3621. </li>
  3622. <li>14-May-2002
  3623. <ul>
  3624. <li>Made fontforge work without X (ie. the scripting
  3625. engine can be linked without requiring that X be present.
  3626. Possibly useful for Mac OS/X, Cygwin)
  3627. <hr />
  3628. </li>
  3629. <li>When showing what a greek accented character will be
  3630. built from, the character info dlg will now show the
  3631. non-unicode alternate whether or not the characters
  3632. needed exist in the font.</li>
  3633. <li>The Reference Info dlg will now include the unicode
  3634. value of the referenced character</li>
  3635. <li>The positioning of ypogegrammeni with respect to eta
  3636. was broken (again)</li>
  3637. <li>Some more greek fixes.</li>
  3638. </ul>
  3639. </li>
  3640. <li>13-May-2002
  3641. <ul>
  3642. <li>Various fixes for greek accented characters</li>
  3643. </ul>
  3644. </li>
  3645. <li>7-May-2002
  3646. <ul>
  3647. <li>FontForge would crash when attempting to Flatten a
  3648. CID keyed font (introduced 16-Apr with the multiple
  3649. fontview support)</li>
  3650. <li>FontForge did not process panose information
  3651. correctly (broken 21-Jan, comment change)</li>
  3652. <li>FontForge did not create new ttf names properly when
  3653. they were for a language which had not been used before
  3654. in the font.</li>
  3655. </ul>
  3656. </li>
  3657. <li>6-May-2002
  3658. <ul>
  3659. <li>Oops. Adobe describes two naming conventions for
  3660. ligatures and I only supported one of them. I should
  3661. support the other one now.</li>
  3662. <li>Fixed a number of bugs caused by custom
  3663. encodings.</li>
  3664. <li>If the selection in the font view contained either
  3665. "dotlessi" or "dotlessj" and the Element menu was pulled
  3666. down then the dotless characters would be created from
  3667. their dotted variants (you didn't even have to select
  3668. anything from the menu) (broken 24-Feb-2002)</li>
  3669. <li>FontForge had trouble reading non-empty ttf glyphs
  3670. with 0 contours.</li>
  3671. <li>FontForge failed to read images from an sfd file
  3672. without a transparent colour</li>
  3673. <li>Allow parens in familyname in the fontinfo dlg.</li>
  3674. <li>When the width was selected, depressing a mouse
  3675. button would snap the logical pointer location to a
  3676. random x coordinate (often 0).</li>
  3677. <li>When generating a ttf file from a subfont of a CID
  3678. keyed font fontforge would crash. This has been
  3679. fixed.</li>
  3680. <li>When exiting with multiple font views looking at one
  3681. (changed) font, there would be no prompt to save the
  3682. font.</li>
  3683. <li>Added a <a href="search.html">Find/Replace</a>
  3684. feature</li>
  3685. </ul>
  3686. </li>
  3687. <li>16-Apr-2002
  3688. <ul>
  3689. <li>BDF fonts did not mark the missing (.notdef,
  3690. undefined, etc.) character properly.</li>
  3691. <li>otf fonts had the default and normative widths
  3692. reversed on output</li>
  3693. <li>Added marginally better support for non-latin
  3694. ligatures in GPOS/GSUB tables.</li>
  3695. <li>Added support for arabic forms in the GSUB table (ie.
  3696. we now produce 'init', 'medi', 'fina', and 'isol'
  3697. features)</li>
  3698. <li>Build composite should now note whether arabic
  3699. ligatures are &lt;initial&gt;, &lt;final&gt;,
  3700. &lt;medial&gt; or &lt;isolated&gt;</li>
  3701. <li>It is now possible to have multiple font views
  3702. looking at one font. I expect this will be a rich source
  3703. of bugs, especially for CID keyed fonts.</li>
  3704. </ul>
  3705. </li>
  3706. <li>9-Apr-2002
  3707. <ul>
  3708. <li>Under KDE we could get two textfields flashing
  3709. cursors (thinking they had focus) should be fixed.</li>
  3710. <li>Added Undo/Redo to metricsview</li>
  3711. <li>Added Undo/Redo to fontview</li>
  3712. <li>Added Element menu to metricsview</li>
  3713. <li>Added [Fix] button to (some of) Find Problems</li>
  3714. </ul>
  3715. </li>
  3716. <li>5-Apr-2002
  3717. <ul>
  3718. <li>Applied various patches from KANOU Hiroki</li>
  3719. <li>Changes to metricsview
  3720. <ul>
  3721. <li>Fixed some minor bugs</li>
  3722. <li>Double clicking on a character will open that
  3723. character</li>
  3724. <li>Enabled Copy/(CopyRef/CopyWidth/)Paste but not
  3725. Cut</li>
  3726. </ul>
  3727. </li>
  3728. <li>FontForge had problems when there were exactly two X
  3729. resources.</li>
  3730. <li>Made the Point Info dlg wider.</li>
  3731. <li>Improved printing text samples at large point
  3732. sizes.</li>
  3733. <li>I was generating flex hints incorrectly.</li>
  3734. <li>Extended postscript interpreter slightly to recognize
  3735. the eps files (called "art") produced by
  3736. fontographer</li>
  3737. <li>Additions to the scripting language
  3738. <ul>
  3739. <li>CenterInWidth</li>
  3740. <li>AutoWidth (from Andreas Påhlsson)</li>
  3741. <li>AutoKern</li>
  3742. </ul>
  3743. </li>
  3744. <li>The Expand Stroke fix for 4-Mar-2001 was too
  3745. extreme.</li>
  3746. <li>Added a field to Char Info that shows the components
  3747. out of which this character (accented, ligature, hangul
  3748. syllable, etc.) may be built.</li>
  3749. </ul>
  3750. </li>
  3751. <li>3-Apr-2002
  3752. <ul>
  3753. <li>Various scrollbar enhancements
  3754. <ul>
  3755. <li>thumb now has a bigger minimum size</li>
  3756. <li>fontview/charview both respond to page up and
  3757. page down requests</li>
  3758. <li>right mouse button may be used to position
  3759. thumb</li>
  3760. </ul>
  3761. </li>
  3762. <li>Installed James A. Crippen makefile patch so that
  3763. distclean reports success even if there are no files to
  3764. clean.</li>
  3765. <li>FontForge had problems guessing default ligatures for
  3766. characters outside of BMP.</li>
  3767. <li>In the outline character view, double clicking with
  3768. one of the point tools (curve, corner, tangent, pen) will
  3769. add a point and then bring up a <a href=
  3770. "getinfo.html">Point Info</a> dialog</li>
  3771. <li>If you edit in a textfield (so that the mouse pointer
  3772. vanishes) and then tabbed into another text field the
  3773. mouse pointer would never reappear.</li>
  3774. <li>Merge Fonts left memory in a bad state and would
  3775. often cause a crash.</li>
  3776. <li>Merge Fonts used a string for a title which was ascii
  3777. when unicode was expected. This could cause strange
  3778. characters to be displayed.</li>
  3779. <li>More fixes for build accented characters (for
  3780. inverted breve and Oslash).</li>
  3781. </ul>
  3782. </li>
  3783. <li>14-Mar-2002
  3784. <ul>
  3785. <li>Nifty. The modifier keys auto-repeat under cygwin (if
  3786. Control is down one gets a series of Press/Release,
  3787. Press/Release... while normal X just gives one Press.)
  3788. This meant we'd keep refreshing the tools palette, which
  3789. meant an annoying flicker and slowed things down.</li>
  3790. <li>Raise the palettes after a resize</li>
  3791. <li>FontForge didn't handle 8bit colormaps well. I've
  3792. improved the behavior, and added an x resource to give
  3793. the user some control over behavior.</li>
  3794. </ul>
  3795. </li>
  3796. <li>10-Mar-2002
  3797. <ul>
  3798. <li>Oops. I broke CID-keyed postscript input (ie.
  3799. none-otf) when I added the 6-Mar fix for type1utils</li>
  3800. <li>Applied another patch from KANOU Hiroki, on otf cid
  3801. support</li>
  3802. </ul>
  3803. </li>
  3804. <li>9-Mar-2002
  3805. <ul>
  3806. <li>added docs for sfddiff.</li>
  3807. </ul>
  3808. </li>
  3809. <li>8-Mar-2002
  3810. <ul>
  3811. <li>Added a new program, <a href=
  3812. "sfddiff.html">sfddiff</a>, to compare fonts and show
  3813. their differences.</li>
  3814. </ul>
  3815. </li>
  3816. <li>6-Mar-2002
  3817. <ul>
  3818. <li>Small change to the format of cidmap files (to bring
  3819. names into conformance with adobe's spec on modified
  3820. unicode names), and corresponding changes to a few
  3821. routines.</li>
  3822. <li>Add support for the type1 format produced by GNU
  3823. type1utils. Which is vaguely like that used by
  3824. ghostview.</li>
  3825. </ul>
  3826. </li>
  3827. <li>4-Mar-2002
  3828. <ul>
  3829. <li>Fixed more problems with reading eps files (these
  3830. were mostly within Expand Stroke, so presumably also
  3831. problems with Element-&gt;Expand Stroke)</li>
  3832. <li>And one more problem with the file chooser.</li>
  3833. <li>Scripting additions:
  3834. <ul>
  3835. <li>Ability to generate a pfm file from script</li>
  3836. <li>Ability to Merge Kerning Info from a script</li>
  3837. <li>Ability to Remove All Kerning info from a
  3838. script</li>
  3839. </ul>
  3840. </li>
  3841. <li>
  3842. <hr />
  3843. Will now display something useful for rotated and
  3844. italic cids
  3845. </li>
  3846. </ul>
  3847. </li>
  3848. <li>3-Mar-2002
  3849. <ul>
  3850. <li>Fixed a number of problems involved in reading in eps
  3851. files.</li>
  3852. <li>28-Feb Mac work introduced a bug in the file picker
  3853. dlg (in wildcarding).</li>
  3854. </ul>
  3855. </li>
  3856. <li>2-Mar-2002
  3857. <ul>
  3858. <li>Rounding errors could accumulate when generating
  3859. Type1 fonts.</li>
  3860. <li>Fix for some overlap problems due to KANOU
  3861. Hiroki</li>
  3862. <li>If FontForge crashed (or was interrupted) after
  3863. making some (unsaved) changes to a font, and that font
  3864. was subsequently deleted, the FontForge's autorecovery
  3865. would complain about a missing file each time it was
  3866. started. Now it will notice the problem and ask whether
  3867. it should delete the recovery file (whereupon it will
  3868. stop complaining).</li>
  3869. <li>Enabled a fix from Greg Ford so that FontForge set
  3870. the mac style bits appropriately.</li>
  3871. </ul>
  3872. </li>
  3873. <li>28-Feb-2002
  3874. <ul>
  3875. <li>When running under Mac OS/X FontForge is now able to
  3876. open/create mac resource forks</li>
  3877. <li>I may have fixed a bug displaying images on solaris
  3878. screens with bit depth 8</li>
  3879. <li>Cleaned up a problem with the postscript name table
  3880. (in a ttf file) when there was a .notdef character</li>
  3881. <li>Fixed some problems with references when reading in
  3882. truetype.</li>
  3883. </ul>
  3884. </li>
  3885. <li>24-Feb-2002
  3886. <ul>
  3887. <li>Substr() did not work when given three arguments</li>
  3888. <li>Added
  3889. <ul>
  3890. <li>$bitmaps (returns an array of all bitmap sizes
  3891. rasterized for the current font)</li>
  3892. <li>BitmapsAvail()</li>
  3893. <li>BitmapsRegen()</li>
  3894. </ul>
  3895. </li>
  3896. <li>Changed the FontInfo dlg to give direct access to the
  3897. postscript names rather than trying to build the fontname
  3898. out of family and modifiers.</li>
  3899. <li>Added the ability to create an encoding which is any
  3900. given plane of unicode (ie BMP is plane 0, SMP is plane
  3901. 1, SIP is plane 2...)</li>
  3902. <li>Fixed a bug in Revert</li>
  3903. <li>More work on hints.
  3904. <hr />
  3905. </li>
  3906. <li>Build Composite will now build a dotlessi from an "i"
  3907. (and same for dotlessj)</li>
  3908. </ul>
  3909. </li>
  3910. <li>20-Feb-2002
  3911. <ul>
  3912. <li>Made Shift-Arrow keys move along italic axis.</li>
  3913. <li>$argv didn't work in scripting. (broken when I added
  3914. arrays)</li>
  3915. </ul>
  3916. </li>
  3917. <li>19-Feb-2002
  3918. <ul>
  3919. <li>Bugs in the generation of MacRoman encoding tables in
  3920. ttf output (introduced 14-Feb)</li>
  3921. <li>The Goto Dlg sometimes didn't notice Returns (ie. OK
  3922. button wasn't always invoked)</li>
  3923. <li>Some linear splines were not noticed as such.</li>
  3924. </ul>
  3925. </li>
  3926. <li>18-Feb-2002
  3927. <ul>
  3928. <li>Cancelling the Point Info dlg would leave minimum
  3929. distance hints in a bad state.</li>
  3930. <li>Using Undo also left the MD hints wonky</li>
  3931. <li>added $fontchanged to scripting</li>
  3932. <li>Added SaveAll menu item in font view.</li>
  3933. <li>Sometimes the underlines for accelerators didn't
  3934. print in the menu (depended on what FontForge thought the
  3935. screen resolution was).</li>
  3936. <li>Added a new minimum distance hint for serifs of
  3937. diagonal stems.</li>
  3938. <li>Fixed a bug where some extra serif stems were
  3939. hinted.</li>
  3940. </ul>
  3941. </li>
  3942. <li>16-Feb-2002
  3943. <ul>
  3944. <li>Created a "Select" submenu of the edit menu in the
  3945. outline view. Moved Edit-&gt;Select All, View-&gt;Next
  3946. Point, View-&gt;Prev Point into it.</li>
  3947. <li>Added Deselect All, Select Next Control Point, Select
  3948. Prev Control Point, Select First Point, Select Width,
  3949. Select VWidth</li>
  3950. <li>It is now possible to select the width (right
  3951. bearing) line and move it with the arrow keys or
  3952. transform dlg (or to move points and the width line
  3953. concurrently). VWidth too.</li>
  3954. <li>Added variables with global and font scope to
  3955. Scripting.</li>
  3956. <li>Yet another bug in the new simplify/merge code</li>
  3957. <li>Cleaned up unicode range names a bit more.
  3958. <hr />
  3959. </li>
  3960. <li>Changed the Goto Character dialog so that it will now
  3961. (for two/four byte encodings) display a list of unicode
  3962. ranges which are in the font and allow you to go to a
  3963. range by name.</li>
  3964. <li>Made it possible to copy and paste the left and right
  3965. side bearings (from menus and scripts)</li>
  3966. </ul>
  3967. </li>
  3968. <li>14-Feb-2002
  3969. <ul>
  3970. <li>My TrueType parser will now read cmap subtable
  3971. formats 8,10 and 12 (the 4 byte encoding tables) and will
  3972. produce format 12 subtables for full unicode fonts.</li>
  3973. <li>Cleaned up various encoding problems.</li>
  3974. <li>Fixed display of SJIS.</li>
  3975. <li>Added better commentary on unicode outside of
  3976. BMP</li>
  3977. <li>Cleaned up the spec file</li>
  3978. <li>In pfb files subroutines for references didn't work
  3979. if the first thing called was untranslated.</li>
  3980. <li>The arrow keys can be used to move a control
  3981. point.</li>
  3982. </ul>
  3983. </li>
  3984. <li>12-Feb-2002
  3985. <ul>
  3986. <li>Added sjis and Wansung encodings</li>
  3987. <li>Used freetype for a couple of other things
  3988. (generating gdf files and exporting bitmaps)</li>
  3989. <li>Textfields didn't respond to middle button clicks (to
  3990. paste the primary selection).</li>
  3991. <li>FontForge would sometimes fail to exit properly if
  3992. you brought up a script dlg.</li>
  3993. <li>Added a --version command line option.</li>
  3994. <li>Fixed another bug in generating postscript.</li>
  3995. <li>Added a user defined print command option to the
  3996. print dlg.</li>
  3997. <li>Fixed a bug in Simplify/Merge</li>
  3998. <li>Fixed a bug in loading integer resources</li>
  3999. <li>Cleaned up the help command line option.</li>
  4000. </ul>
  4001. </li>
  4002. <li>9-Feb-2002
  4003. <ul>
  4004. <li>FontForge will now use freetype (if available) to
  4005. generate bitmaps for the fonts (results are much
  4006. better).<br />
  4007. It still does its own rasterizing for the fontview
  4008. (there's a lot of overhead involved with freetype, and
  4009. this needs to be fastish)</li>
  4010. <li>Made the Generate Font dlg settings sticky across
  4011. invocations of fontforge.</li>
  4012. </ul>
  4013. </li>
  4014. <li>8-Feb-2002
  4015. <ul>
  4016. <li>FontForge would crash when generating a PostScript
  4017. font from ARIAL.TTF.</li>
  4018. <li>Changed the bitmap dlgs so that they allow you to
  4019. specify some control over interesting screen resolutions.
  4020. (before just support X standard res. of 75 and 100, now
  4021. support MS 96&amp;120 and Mac 72).</li>
  4022. <li>Oops, Apple now documents that the bdat and bloc
  4023. tables should have version number 0x20000. But when I
  4024. last looked it said 0x10000 and that didn't work.</li>
  4025. <li>Put the docs in their own rpm file.</li>
  4026. </ul>
  4027. </li>
  4028. <li>7-Feb-2002
  4029. <ul>
  4030. <li>I think I've figured out how Apple does asian bitmaps
  4031. now. They don't use NFNTs at all (or they do, but those
  4032. NFNT are tiny stubs with no real data in them). All the
  4033. data are in the sfnt. I should produce them properly
  4034. now.<br />
  4035. -- Except I don't.</li>
  4036. <li>I've also added the ability to create bitmap only
  4037. sfnts for the mac.<br />
  4038. -- Which also isn't recognized by the mac.</li>
  4039. <li>Made it possible for scripts to generate bitmaps
  4040. without generating an outline font</li>
  4041. <li>Fixed some problems loading bitmaps from ttf
  4042. files.</li>
  4043. <li>Fixed some problems loading bitmaps from
  4044. anything...</li>
  4045. <li>Allowed importation of eps files from the font view
  4046. (to the extent that I can parse eps files, that is)</li>
  4047. <li>Oops, scripting didn't support importation of pcf
  4048. files.</li>
  4049. </ul>
  4050. </li>
  4051. <li>5-Feb-2002
  4052. <ul>
  4053. <li>Sometimes popup windows (tool tips) would show up
  4054. with nothing in them. That should be fixed now.</li>
  4055. <li>Added icons for pcf files</li>
  4056. <li>Started work on 32 bit unicode.</li>
  4057. <li>Oops. Scripting handled the calligraphic pen angle
  4058. incorrectly.</li>
  4059. <li>Put something into the about box.</li>
  4060. </ul>
  4061. </li>
  4062. <li>4-Feb-2002
  4063. <ul>
  4064. <li>Oops. FontForge was misusing the type1 "seac" command
  4065. in some cases. I had not realized that the character
  4066. being built needed to have the same width as the base
  4067. (non-accent) character. This has been fixed.</li>
  4068. <li>When using the charinfo dlg to change the name of a
  4069. char, and that name was in use, and you cancelled the dlg
  4070. after being warned about it then FontForge would crash
  4071. (it would muck up memory).</li>
  4072. <li>FontForge wasn't always calling subroutines (in
  4073. postscript) when a character was in a subr.</li>
  4074. <li>FontForge will now read in X11 pcf font files (they
  4075. can be compressed, if so FontForge will decompress them
  4076. first).</li>
  4077. <li>Bug in wildcard processing for file chooser
  4078. window.</li>
  4079. </ul>
  4080. </li>
  4081. <li>1-Feb-2002
  4082. <ul>
  4083. <li>Nifty! SUSE ships some greek (bitmap) fonts with
  4084. iso8859-1 encodings rather than iso8859-7. FontForge is
  4085. now alert and when it sees a bitmap font with foundary
  4086. "greek" and encoding "iso8859-1" it will pretend it has
  4087. encoding "iso8859-7".</li>
  4088. <li>FontForge got confused by some fonts produced by
  4089. type1fix.pl. Should be fixed.</li>
  4090. <li>Build Composite Characters will now check the user
  4091. defined ligature string to see what characters to use to
  4092. build a ligature.</li>
  4093. </ul>
  4094. </li>
  4095. <li>31-Jan-2002
  4096. <ul>
  4097. <li>Conversion tables between JIS0201 (Katakana) and
  4098. Unicode were wrong. KANOU Hiroki provided correct
  4099. ones.</li>
  4100. </ul>
  4101. </li>
  4102. <li>30-Jan-2002
  4103. <ul>
  4104. <li>Oops. I'd left diagonal stems enabled in ttf
  4105. generation. Caused problems. Disabled now.</li>
  4106. <li>More work on accented characters.</li>
  4107. </ul>
  4108. </li>
  4109. <li>29-Jan-2002
  4110. <ul>
  4111. <li>Sped up background image drawing (finally)</li>
  4112. </ul>
  4113. </li>
  4114. <li>28-Jan-2002
  4115. <ul>
  4116. <li>Added
  4117. <ul>
  4118. <li>Strtol</li>
  4119. <li>Strskipint</li>
  4120. <li>AskUser</li>
  4121. <li>Error</li>
  4122. </ul>
  4123. </li>
  4124. <li>Added a menu of commonly used scripts which the user
  4125. can specify with the preference dlg.</li>
  4126. </ul>
  4127. </li>
  4128. <li>25-Jan-2002
  4129. <ul>
  4130. <li>Oops. Generate command in scripting language only
  4131. generated pfb fonts</li>
  4132. <li>FontForge would get confused if it loaded a font from
  4133. a script when running with windows. Eventually it would
  4134. crash, but perhaps not until you exited.</li>
  4135. <li>Added
  4136. <ul>
  4137. <li>$italicangle</li>
  4138. <li>$cidfontname, $cidfamilyname, $cidfullname</li>
  4139. <li>$weight, $copyright</li>
  4140. <li>$cidweight, $cidcopyright</li>
  4141. <li>SetItalicAngle</li>
  4142. </ul>
  4143. </li>
  4144. <li>Removed $cidname (replaced with $cidfontname)</li>
  4145. <li>Added a Call... button to the execute script dlg to
  4146. allow you to insert a call to a script file easily</li>
  4147. </ul>
  4148. </li>
  4149. <li>24-Jan-2002
  4150. <ul>
  4151. <li>Added a way to scale dlgs in different
  4152. languages.</li>
  4153. </ul>
  4154. </li>
  4155. <li>23-Jan-2002
  4156. <ul>
  4157. <li>Fixed a crash in merge (caused by selecting all
  4158. points on a path and merging it (to remove the
  4159. path))</li>
  4160. <li>Improved positioning of ogonek and cedilla accents in
  4161. Build Accented Character</li>
  4162. </ul>
  4163. </li>
  4164. <li>22-Jan-2002
  4165. <ul>
  4166. <li>Added:
  4167. <ul>
  4168. <li>SetCharCnt</li>
  4169. <li>SetCharName</li>
  4170. <li>SetUnicodeValue</li>
  4171. <li>CIDChangeSubFont</li>
  4172. <li>SetFontNames</li>
  4173. <li>CIDSetFontNames</li>
  4174. <li>$curcid, $nextcid, $firstcid, $cidname</li>
  4175. </ul>
  4176. </li>
  4177. <li>Cleaned up ligature handling in char info dlg</li>
  4178. <li>Cleaned up array freeing in scripting.</li>
  4179. <li>Fixed a crash in FontInfo introduced yesterday</li>
  4180. </ul>
  4181. </li>
  4182. <li>21-Jan-2002
  4183. <ul>
  4184. <li>Import will now allow you to import background images
  4185. from the font view<br />
  4186. (and the default setting of "Background" for "pk" files
  4187. has been set to true)</li>
  4188. <li>Added a scripting command to access
  4189. <ul>
  4190. <li>Import</li>
  4191. <li>strlen</li>
  4192. <li>strstr</li>
  4193. <li>strcasecmp</li>
  4194. <li>strsub</li>
  4195. <li>arrays</li>
  4196. <li>access to the postscript names of the font</li>
  4197. <li>access to information about individual
  4198. characters</li>
  4199. </ul>
  4200. </li>
  4201. <li>Cleaned up some display oddities in the
  4202. fontview.</li>
  4203. <li>Added a Set Width command to the bitmap view IF there
  4204. is no outline font.</li>
  4205. <li>Added a menu item to invoke a script</li>
  4206. <li>Added a "Comment" field to FontInfo. This does not
  4207. correspond to any postscript or truetype entity. It is to
  4208. be used for a changelog within the sfd file (or something
  4209. similar).</li>
  4210. </ul>
  4211. </li>
  4212. <li>19-Jan-2002
  4213. <ul>
  4214. <li>Initial version of <a href=
  4215. "scripting.html">scripting</a>.</li>
  4216. <li>Optimizer caused rounding errors which caused test
  4217. for divide by zero to fail leading to errors in Simplify
  4218. and Merge commands.</li>
  4219. <li>bdf fonts with an encoding which did not itself
  4220. include "-1" (or similar) failed to get the implied "-0"
  4221. added.</li>
  4222. </ul>
  4223. </li>
  4224. <li>17-Jan-2002
  4225. <ul>
  4226. <li>FontForge used to crash (sometimes anyway) if a list
  4227. popup were active when a window was destroyed.</li>
  4228. <li>TextFields within tabsets (like Font Info) responded
  4229. to some events twice.</li>
  4230. <li>Bug in the new TTF hinting routines could cause a
  4231. crash (and did cause glyph programs which were
  4232. erroneous)</li>
  4233. <li>Crash caused by long names in /etc/passwd when
  4234. creating a new font</li>
  4235. <li>Redid fontname handling in Font Info dlg to allow URW
  4236. names to pass through unscathed
  4237. <ul>
  4238. <li>Recognize "Regu" as meaning "Regular"</li>
  4239. <li>Only updates the fullname (human readable name)
  4240. if it were previously in sync</li>
  4241. <li>Recognize "-" as starting the modifiers rather
  4242. than trying to find the end of the family name</li>
  4243. <li>If you don't change the family or the modifiers
  4244. then fontforge will now leave the fontname
  4245. untouched</li>
  4246. </ul>
  4247. </li>
  4248. </ul>
  4249. </li>
  4250. <li>14 Jan 2002
  4251. <ul>
  4252. <li>The 9 Jan metrics view fix caused crashes when
  4253. changing the last character displayed.</li>
  4254. <li>The outline view now will display points at extrema
  4255. in a different color from other points if you want
  4256. that.</li>
  4257. <li>Added a command to the font view to clear out the
  4258. backgrounds of all selected characters.</li>
  4259. <li>Fixed one more image freeing problem (see
  4260. 29-Dec-2001)
  4261. <hr />
  4262. </li>
  4263. <li>bdf fixes of 9&amp;11 Jan did not work on bdf files
  4264. with character encodings of "-1"</li>
  4265. <li>Fixed several bugs with ttf bitmap tables.</li>
  4266. <li>Added a mechanism for specifying a font inside a
  4267. truetype collection from the command line:<br />
  4268. <code>&nbsp; &nbsp; $ fontforge
  4269. "gulim.ttc(GulimChe)"</code><br />
  4270. will load the GulimChe font within the collection
  4271. file.</li>
  4272. </ul>
  4273. </li>
  4274. <li>12 Jan 2002
  4275. <ul>
  4276. <li>Russian ui had an unexpected space in it which
  4277. confused makenomenh. Have fixed both (makenomenh &amp;
  4278. nomen.ru)</li>
  4279. <li>Last fix to Merge made most merges return straight
  4280. lines</li>
  4281. <li>Added an elide command which allows the slopes of the
  4282. endpoints to change</li>
  4283. <li>Releasing the control or super key when in one of the
  4284. palettes did not update the tool cursor.</li>
  4285. <li>The point info dlg now comes up beside (rather than
  4286. on top of) the selected point.</li>
  4287. </ul>
  4288. </li>
  4289. <li>11 Jan 2002
  4290. <ul>
  4291. <li>bdf "fix" of 9 Jan. lost the encoding of the
  4292. font.</li>
  4293. <li>FontForge source included "ushort" in a couple of
  4294. places. Linux must define this but some systems don't. It
  4295. has been changed to uint16 which I define.</li>
  4296. <li>Worked around some imaging bugs of the X server under
  4297. cygwin (FontForge seems to work under cygwin now)</li>
  4298. <li>Using the arrow keys to scroll only worked if
  4299. something were selected. should always work now.</li>
  4300. <li>The fontview now contains an indication of which
  4301. characters have backgrounds</li>
  4302. <li>Minor improvements to merge when given an impossible
  4303. problem.</li>
  4304. </ul>
  4305. </li>
  4306. <li>9 Jan 2002
  4307. <ul>
  4308. <li>destroy window fix on 2 Jan was not enough, it popped
  4309. up again. Hope I've killed it this time</li>
  4310. <li>FontForge had trouble reading bdf fonts that
  4311. <ul>
  4312. <li>did not have standard X font names
  4313. (-vendor-family-weight-italic-...)</li>
  4314. <li>had the same name used for different
  4315. characters</li>
  4316. </ul>
  4317. </li>
  4318. <li>The metrics view got confused by characters with
  4319. negative lbearings.</li>
  4320. <li>Added some Japanese (Kanji) text samples.</li>
  4321. </ul>
  4322. </li>
  4323. <li>8 Jan 2002
  4324. <ul>
  4325. <li>Fixed a bug in gdf output</li>
  4326. </ul>
  4327. </li>
  4328. <li>7 Jan 2002
  4329. <ul>
  4330. <li>Added a traditional chinese sample</li>
  4331. <li>In the metrics view, the kerning offset was not
  4332. rescaled when the size of the window changed.</li>
  4333. <li>Added a preference item to control the amount by
  4334. which the arrow keys move selected points</li>
  4335. <li>Changed the behavior of the grid layer so that now
  4336. points will snap to any spline in the grid layer, not
  4337. just horizontal and vertical splines</li>
  4338. <li>Added a preference item to control this snap
  4339. distance.</li>
  4340. <li>Added a couple new outline display sizes to the
  4341. fontview</li>
  4342. <li>Use the "super" modifer to simulate a mouses middle
  4343. button. If the super key (the one with a windows flag on
  4344. it on pc keyboards) is depressed then any mouse click
  4345. will be treated as if it were mouse button 2 that was
  4346. used.</li>
  4347. <li>Minor improvements in truetype hinting</li>
  4348. </ul>
  4349. </li>
  4350. <li>4 Jan 2002
  4351. <ul>
  4352. <li>if a dfont (or other mac resource file) contains
  4353. multiple truetype fonts, fontforge will let you pick one
  4354. (before it would read in the first and ignore the
  4355. others)</li>
  4356. <li>The tools palette now shows the mouse bindings.</li>
  4357. <li>Next/Prev control points are drawn in different
  4358. colors now, and those colors are reflected in the point
  4359. get info dlg.</li>
  4360. <li>Merge and Simplify will now retain the slope of curve
  4361. points.</li>
  4362. <li>Simplify will no longer remove points at the extrema
  4363. of their curves (PostScript fonts are supposed to have
  4364. points at the extrema)</li>
  4365. <li>New command in Element menu to <a href=
  4366. "elementmenu.html#Add-Extrema">add points at extrema</a>
  4367. to a spline or set of splines.</li>
  4368. <li>Next/Prev Point commands will shift the screen so the
  4369. newly selected point is visible.</li>
  4370. <li>Metrics View now allows for anti aliased character
  4371. display.</li>
  4372. <li>Metrics View View menu was broken and was missing
  4373. half its entries.</li>
  4374. <li>Revert Font would leave fontforge in a state where
  4375. some commands would cause a crash. Should be fixed
  4376. now.</li>
  4377. <li>TextFields did not scroll properly with the arrow
  4378. keys.</li>
  4379. <li>The outline and bitmap views may be scrolled with the
  4380. arrow keys by holding down either the control or meta
  4381. key.</li>
  4382. <li>When reading a ttf file with an encoding fontforge
  4383. doesn't recognize which has some glyphs which are refered
  4384. to from multiple code points, then fontforge used to
  4385. crash.</li>
  4386. <li>Support Menu key on windows keyboard</li>
  4387. <li>Use the Windows "flag" key as a modifier to indicate
  4388. mouse button 2 (so if that key is depressed, and a mouse
  4389. button is pressed/released pretend it was button2)</li>
  4390. </ul>
  4391. </li>
  4392. <li>2 Jan 2002
  4393. <ul>
  4394. <li>Copy From has been made global and sticky (each font
  4395. used to have a separate value and it got lost on exit.
  4396. Now there is one global value and it is saved in the
  4397. prefs file).</li>
  4398. <li>Copy From now allows you to control whether a
  4399. character's name should be copied along with the glyph
  4400. data (only in font view).</li>
  4401. <li>View-&gt;Fill should now show the current
  4402. setting.</li>
  4403. <li>If there were background images in a glyph then
  4404. changing the Show/Hide rulers made the display wrong</li>
  4405. <li>In the Outline view, the character's popup box would
  4406. appear if the mouse were over the menubar. Werner thought
  4407. that inappropriate.</li>
  4408. <li>If import bitmaps needed to expand the number of
  4409. characters in a font (to provide slots for all the
  4410. bitmaps) it would fail to do so properly. Resulting in a
  4411. crash.</li>
  4412. <li>Hmm. There appears to be a race condition inside the
  4413. XServer on my machine and if I map a window but destroy
  4414. it before I read the MapNotify (or possibly Expose) event
  4415. on the queue, then the server will calmly crash. This can
  4416. happen if a progress indicator is ended just after we
  4417. decide to display it. I've tried to work around it, but
  4418. there may still be holes.</li>
  4419. <li>Added an "About..." menu entry to display the splash
  4420. screen again</li>
  4421. <li>Gleep! type1 cid font generation had a couple of
  4422. problems</li>
  4423. <li>Print Sample is now available for cid fonts.</li>
  4424. <li>View-AntiAlias didn't work (characters were always
  4425. displayed as antialiased)</li>
  4426. <li>Menus made more responsive to key presses.</li>
  4427. <li>The Zoom In and Out commands are now centered around
  4428. the selection (if there is one, if not they continue to
  4429. use center of the window)</li>
  4430. <li>Changed the order of entries in the Point Info dlg so
  4431. that Prev is above Next</li>
  4432. <li>The Escape key can be used to deselect</li>
  4433. <li>New copyright notices.</li>
  4434. </ul>
  4435. </li>
  4436. <li>29-Dec-2001
  4437. <ul>
  4438. <li>TextFields had numerous display problems. Should have
  4439. fewer now.</li>
  4440. <li>The 15 Dec image crash fix was not complete, turns
  4441. out there were two memory problems (well, two so
  4442. far)</li>
  4443. <li>Some dialogs could show up half off the right edge of
  4444. the screen. Should not do so now.</li>
  4445. <li>Added a few more language samples for printing.</li>
  4446. <li>Bidi display didn't work when there were lots of
  4447. combining letters around</li>
  4448. <li>Bidi printing didn't work when there was more than
  4449. one line of right to left text</li>
  4450. <li>Typing control characters to the fontview will no
  4451. longer move to that character.
  4452. <ul>
  4453. <li>Typing [Return] opens selected characters</li>
  4454. <li>Typing [Tab] moves to next character with
  4455. something in it.</li>
  4456. </ul>
  4457. </li>
  4458. <li>Depressing the right mouse button invokes a popup
  4459. menu in the fontview now.</li>
  4460. <li>Trying to move a control point with the mouse while
  4461. simultaneously moving the point itself with the arrow
  4462. keys used to cause a crash</li>
  4463. <li>Selecting a bdf font which was in a bad format as a
  4464. background caused a crash.</li>
  4465. </ul>
  4466. </li>
  4467. <li>19-Dec-2001
  4468. <ul>
  4469. <li>The german ui file should be in better german</li>
  4470. <li>fontforge would not notice that an iso10646 bdf file
  4471. was unicode</li>
  4472. <li>Support for conversion to and from some 2 byte
  4473. encodings (LocalCharset preference item)</li>
  4474. <li>sfd files store the font's encoding as a string
  4475. rather than a number now so if we add more standard
  4476. encodings things won't get screwed up as they were when
  4477. we added johab.</li>
  4478. </ul>
  4479. </li>
  4480. <li>18-Dec-2001
  4481. <ul>
  4482. <li><span class="c1"><strong>TrueType hints were
  4483. terrible</strong></span>. I fixed one huge bug. There are
  4484. still problems with diagonals and the results are not as
  4485. nice as Fontographer's, but they are better.</li>
  4486. <li>Some more greek fixes.</li>
  4487. <li>Metrics window did not handle the transition from a
  4488. left -&gt; right view to a right-&gt;left one properly
  4489. (mostly this means if you had a blank metrics view and
  4490. you put a hebrew/arabic character into it then that
  4491. character was displayed left to right).</li>
  4492. <li>The transform dialog in the fontview now has a
  4493. checkbox which allows you to control whether you want the
  4494. background transformed in sync with the foreground.</li>
  4495. </ul>
  4496. </li>
  4497. <li>17-Dec-2001
  4498. <ul>
  4499. <li>Fixed another bug with cid fonts, this one when
  4500. attempting to create such a font in the absence of cidmap
  4501. files</li>
  4502. <li>Fixed a bug when outputting otf cid files (bug
  4503. appeared when I added vertical metrics)</li>
  4504. <li>When loading a cid font FontForge could get caught up
  4505. in an semi-infinite loop asking for cidmap files. Should
  4506. be fixed now.</li>
  4507. <li>Finally got rid of the annoying warning about
  4508. tempnam() when linking.</li>
  4509. </ul>
  4510. </li>
  4511. <li>16-Dec-2001
  4512. <ul>
  4513. <li>Scrollbars didn't always update in big
  4514. textfields</li>
  4515. <li>Missed the hot key for unlink reference in the font
  4516. view.</li>
  4517. <li>Fixed crash when clearing empty character cells</li>
  4518. <li>More greek accent fixes</li>
  4519. <li>changed character popups slightly.</li>
  4520. <li>Added another problem to find problems. Will now
  4521. check for flipped references (=&gt;counter-clockwise
  4522. paths most of the time)</li>
  4523. <li>Interesting. The EuroFont uses the endchar opcode in
  4524. way that both the type1 and type2 docs claim to be
  4525. illegal (it is not the last thing in the subroutine, it
  4526. is followed by a return). Since EuroFont is from adobe, I
  4527. presume the docs are wrong, so I ignore this error now.
  4528. (The Adobe people insist that the docs are right, just
  4529. misleading. That the endchar is the last thing in the
  4530. subr because nothing after it gets executed. Hmm, I
  4531. continue to be misled)</li>
  4532. <li>FontForge will be better able to figure out where
  4533. hints should be active when it reads in a postscript
  4534. font.</li>
  4535. <li>Autohint will no longer find some erroneous
  4536. hints.</li>
  4537. <li>Autohint will now find the serifs in Nimbus
  4538. Roman</li>
  4539. </ul>
  4540. </li>
  4541. <li>15-Dec-2001
  4542. <ul>
  4543. <li>Copying a background image caused a crash at some
  4544. indeterminate future time</li>
  4545. <li>Made the Help browser configurable</li>
  4546. <li>Changed greek accent processing so that it uses more
  4547. of the greek accents. For reasons known best to
  4548. themselves, unicode tends to map greek varia to grave,
  4549. oxia to acute, etc.</li>
  4550. <li>More work to make sure the screen fonts are
  4551. readable</li>
  4552. <li>tabbing into a text field selects all of it.</li>
  4553. <li>autotrace 2.8 has changed its argument conventions.
  4554. new versions of fontforge will no longer work with
  4555. autotrace2.7.</li>
  4556. <li>If a menu doesn't fit in its window there is now a
  4557. way to get at the menu items which are offscreen</li>
  4558. <li>Cleaned up the panose (fontinfo) window</li>
  4559. <li>Added names to the private use area of unicode for
  4560. greek small caps (starting at 0xf500)</li>
  4561. <li>Fixed a couple of autohint problems</li>
  4562. <li>Manual hint addition might refuse to add a hint if it
  4563. didn't like it. It should now realize that the user is in
  4564. charge...</li>
  4565. </ul>
  4566. </li>
  4567. <li>14-Dec-2001
  4568. <ul>
  4569. <li>Oops Edward Lee points out that I was missing some
  4570. colons in my eps file generation.</li>
  4571. <li>Hot key added for Unlink Reference</li>
  4572. <li>Werner found two more bugs when reading in cid keyed
  4573. fonts without a corresponding cidmap file.</li>
  4574. </ul>
  4575. </li>
  4576. <li>11-Dec-2001
  4577. <ul>
  4578. <li>Fixed a crash if there were no .cidmap files and
  4579. FontForge was not installed in a directory named
  4580. bin.</li>
  4581. <li>Cleaned up the distribution a bit per Werner's
  4582. requests</li>
  4583. <li>Added a ScreenWidthCentimeters resource</li>
  4584. <li>FontForge will no longer ask the X (Font) Server to
  4585. scale bitmap fonts. It will only used unscaled bitmaps or
  4586. outline fonts.</li>
  4587. </ul>
  4588. </li>
  4589. <li>10-Dec-2001
  4590. <ul>
  4591. <li>Fixed a crash when adding (manually) a minimum
  4592. distance hint to the width.</li>
  4593. <li>Fixed a bug in the configure script which caused it
  4594. to fail on solaris</li>
  4595. </ul>
  4596. </li>
  4597. <li>9-Dec-2001
  4598. <ul>
  4599. <li>Added proper names for Hangul Syllables</li>
  4600. <li>The Greek fixup wasn't working as it should
  4601. (sometimes would generate two characters named "Delta" in
  4602. pfb files). Should be fixed. Should also be controllable
  4603. by Preference item (ie. you can turn it off if you want
  4604. to)</li>
  4605. <li>The metrics view did not display changes</li>
  4606. <li>The metrics view's cursor sometimes got stuck in the
  4607. wrong shape</li>
  4608. </ul>
  4609. </li>
  4610. <li>3-Dec-2001
  4611. <ul>
  4612. <li>Merge Kern Info dlg crashed if you cancelled it.</li>
  4613. <li>The encoding tables in the cmap are supposed to be
  4614. ordered by platform and mine were not.</li>
  4615. <li>FontForge would crash when writing out very large
  4616. copyright notices
  4617. <ul>
  4618. <li>I lifted the 2000 character restriction on
  4619. copyright strings.</li>
  4620. </ul>
  4621. </li>
  4622. <li>If there were more than 2 lines of tabs in a TabSet
  4623. then clicking on a tab would often cause the wrong pane
  4624. to appear.</li>
  4625. <li>Cleaned up Font Info a bit so it looks better with
  4626. the Russian translations.</li>
  4627. <li>Fixed a memory leak when generating a truetype font
  4628. with an encoding other than unicode.</li>
  4629. <li>Fixed a crash when generating a truetype font which
  4630. referenced characters with encodings bigger than
  4631. 65535.</li>
  4632. <li>Added a patch from Ulrich, FontForge now reads class
  4633. based kerning from the GPOS table.</li>
  4634. </ul>
  4635. </li>
  4636. <li>1-Dec-2001
  4637. <ul>
  4638. <li>Figured out the format of mac .dfont files</li>
  4639. <li>The mac Command (Apple, Cloverleaf) modifier key is
  4640. now treated as if it were the Control key (So users may
  4641. exit FontForge with Command-Q as they expect).</li>
  4642. <li>Another bug reading in flex hints from OTF. Fixed by
  4643. Ulrich Klauer.</li>
  4644. <li>FontForge had problems with drawing images when there
  4645. was an endian mismatch between the X server and the
  4646. machine running fontforge.</li>
  4647. </ul>
  4648. </li>
  4649. <li>27-Nov-2001
  4650. <ul>
  4651. <li>Build Accented Character failed to update bitmaps in
  4652. CID keyed fonts</li>
  4653. <li>Build Accented Character will generate rotated
  4654. characters when appropriate for CID keyed fonts
  4655. <ul>
  4656. <li>If a character's name is "vertcid_&lt;cid&gt;"
  4657. where &lt;cid&gt; should be replaced by a number,
  4658. then that character will be replaced by a rotated
  4659. version of &lt;cid&gt;</li>
  4660. <li>If a character's name is "vertuni&lt;uni&gt;"
  4661. where &lt;uni&gt; should be replaced by a 4 hex-digit
  4662. number, then that character will be replaced by a
  4663. rotated version of the unicode character
  4664. &lt;uni&gt;.</li>
  4665. </ul>
  4666. </li>
  4667. <li>When saving a font with rotated characters FontForge
  4668. will now generate a vrt2 feature in the GSUB table (this
  4669. lets the font's users find out about the rotated
  4670. glyphs.</li>
  4671. <li>Before this FontForge would only read entries in the
  4672. 'name' table which were in unicode (or macroman).
  4673. FontForge is a bit more general now and will read the
  4674. other encodings it knows about.</li>
  4675. <li>Oops. Another screw up reading in open type.</li>
  4676. <li>If the character at encoding 0 was not .notdef then
  4677. FontForge would omit it when generating a
  4678. postscript/opentype font.</li>
  4679. </ul>
  4680. </li>
  4681. <li>26-Nov-2001
  4682. <ul>
  4683. <li>Adobe has upgraded their cid version for traditional
  4684. chinese, so I generated a new cidmap to reflect that.
  4685. I've also cleaned up most of the others.</li>
  4686. <li>Initial version of vertical metric support.
  4687. <ul>
  4688. <li>(only in true/open type fonts)</li>
  4689. <li>Added ability to set the vertical advance of each
  4690. character</li>
  4691. <li>Added ability to set the vertical origin (as an
  4692. offset from the origin in the design coordinate
  4693. system (which happens to be the origin for horizontal
  4694. metrics)).</li>
  4695. <li>Added ability to set the line gap (er, column
  4696. gap?)</li>
  4697. <li>What else do I need?</li>
  4698. </ul>
  4699. </li>
  4700. </ul>
  4701. </li>
  4702. <li>24-Nov-2001
  4703. <ul>
  4704. <li>Oops. Urich Klauer found a bug in my parsing of
  4705. ttf/otf tables (introduced by the linegap change on 8
  4706. Nov) and sent a patch.</li>
  4707. <li>FontForge was erroneously complaining that all ttf
  4708. composite glyphs were too big (when reading them in,
  4709. introduced 15 Nov).</li>
  4710. <li>FontForge stored StdHW and StdVW in the wrong format
  4711. when reading opentype fonts and any .pfa/b fonts
  4712. generated from that db caused ghostview problems.</li>
  4713. </ul>
  4714. </li>
  4715. <li>23-Nov-2001
  4716. <ul>
  4717. <li>Fixed a potential crash from popups in the
  4718. fontview.</li>
  4719. <li>Fixed three crashes in remove overlap (there are more
  4720. problems)</li>
  4721. <li>Added support for reading/writing mixed 8/16 bit
  4722. encodings. (used in some CJK fonts)</li>
  4723. <li>Added support for big5, johab (johab is untested,
  4724. big5 minimally)</li>
  4725. <li>Improved treatment of ttf encodings we don't
  4726. understand.</li>
  4727. <li>Added a command to move to the next defined character
  4728. (useful in CJK encodings with great holes in the middle.
  4729. Unicode too I suppose)</li>
  4730. <li>Added a resource (<a href=
  4731. "xres.html">fontforge.FontView.FontFamily</a>) to control
  4732. the font for the character labels that appear above every
  4733. user defined character.</li>
  4734. <li>FontForge now supports multi-line copyright notices
  4735. (must be less that 2000 ascii characters though).</li>
  4736. </ul>
  4737. </li>
  4738. <li>17-Nov-2001
  4739. <ul>
  4740. <li>Changed the configure script to deal with Mac OS/X
  4741. properly (I hope)</li>
  4742. </ul>
  4743. </li>
  4744. <li>15-Nov-2001
  4745. <ul>
  4746. <li>FontForge had a bug when loading some ttc files which
  4747. caused it to crash.</li>
  4748. <li>FontForge wasn't prepared for the erroneous truetype
  4749. found in wcl-02.ttf, this caused a crash. FontForge
  4750. should do better now.</li>
  4751. <li>FontForge's scrollbars didn't work very well. Should
  4752. be much improved now.</li>
  4753. <li>FontForge used to generate an entire antialiased
  4754. bitmap font to display in the fontview window. Now it
  4755. only generates the images when it needs them. This speeds
  4756. up the loading of large fonts and reduces their memory
  4757. requirements.</li>
  4758. </ul>
  4759. </li>
  4760. <li>12-Nov-2001
  4761. <ul>
  4762. <li>Some nearly horizontal (but non-linear) splines could
  4763. not be selected.</li>
  4764. <li>Changed the point info dlg so that users could set
  4765. points back to have default control points.</li>
  4766. <li>There was a pathway whereby points could be marked as
  4767. having default control points even when they didn't. That
  4768. one is plugged.</li>
  4769. <li>The chinese font, kaui contains some interesting bugs
  4770. which we've had to work around:
  4771. <ul>
  4772. <li>Glyph 257 contains a contour consisting of one
  4773. off-curve point.</li>
  4774. <li>The encoding cmap refers to non-existent
  4775. glyphs</li>
  4776. <li>The fpgm attempts to move points around (it isn't
  4777. allowed to do that according to the docs)</li>
  4778. </ul>
  4779. </li>
  4780. </ul>
  4781. </li>
  4782. <li>11-Nov-2001
  4783. <ul>
  4784. <li>Added support for macintosh resource fonts (by
  4785. reading them from and writing them to macbinary wrapped
  4786. files)</li>
  4787. <li>Fixed a bug in metricsview where pasting with more
  4788. than one character caused a crash.</li>
  4789. </ul>
  4790. </li>
  4791. <li>8-Nov-2001
  4792. <ul>
  4793. <li>FontForge will now save ligature information in the
  4794. GSUB table when creating an opentype font.</li>
  4795. <li>When double clicking on a previously unused
  4796. character, FontForge would not set the default ligature
  4797. properly.</li>
  4798. <li>FontForge would crash if you merged a font containing
  4799. ligature information into another one (or diagonal stems
  4800. or minimum distances).</li>
  4801. <li>When opening some bdf files, fontforge would display
  4802. nothing until you resized the window.</li>
  4803. <li>Added the ability to set the TTF linegap fields.
  4804. There are two of them (one in OS/2 and one in hhea). I
  4805. don't understand the distinction between them, so I set
  4806. both to the same value.</li>
  4807. <li>When merging fonts, characters which did not fit in
  4808. the current encoding would be placed immediately after
  4809. the last character with something in it. The intent was
  4810. that they should go to an unused slot outside of the
  4811. encoding rather than within. This has been fixed.</li>
  4812. <li>I've added a preference item allowing you to
  4813. configure the separation between the base character and
  4814. the accent in the Build Accented Character command. I've
  4815. also changed it so that if the character is close to the
  4816. x-height or the cap height, the accent is positioned as
  4817. if the character were at the x-height (or cap height),
  4818. this means the accents will be at a consistent level
  4819. rather than slightly ragged.</li>
  4820. <li>I moved the Make First command to the Point
  4821. menu.</li>
  4822. <li>Added a command to copy the splines in the foreground
  4823. layer into the background layer.</li>
  4824. </ul>
  4825. </li>
  4826. <li>2-Nov-2001
  4827. <ul>
  4828. <li>FontForge would not notice certain disk errors when
  4829. generating truetype fonts. It should do better now.</li>
  4830. <li>FontForge could crash when generating postscript from
  4831. a unicode font that did not contain all the greek
  4832. letters.</li>
  4833. <li>Fixed a display bug in the metrics view.</li>
  4834. <li>FontForge should not be able to read in an opentype
  4835. GPOS table and extract kerning information from it.</li>
  4836. <li>FontForge will now put kerning info into the GPOS
  4837. table when saving an opentype font. TrueType fonts will
  4838. still put kerning info into the kern table.</li>
  4839. </ul>
  4840. </li>
  4841. <li>31-Oct-2001
  4842. <ul>
  4843. <li>Added a command to remove width MDs &amp; changed ttf
  4844. generation to check if there were any width MDs before
  4845. setting the "metrics depend on pointsize" flag in the
  4846. head table.</li>
  4847. <li>Improved (I hope) placement of palettes under default
  4848. gnome.</li>
  4849. <li>There was a bug in my otf read in of 'hflex1'
  4850. instructions which warped some otf fonts badly.</li>
  4851. </ul>
  4852. </li>
  4853. <li>29-Oct-2001
  4854. <ul>
  4855. <li>Change type1 encoding vectors so that they start with
  4856. a for loop setting everything to notdef. older versions
  4857. of dvipdfm assume it's there</li>
  4858. <li>Added two new concepts to hinting which only apply to
  4859. truetype:
  4860. <ul>
  4861. <li>You can specify that a certain point should be
  4862. rounded to the grid in x or y<br />
  4863. (note: points on hints don't need this, they'll
  4864. always be rounded)</li>
  4865. <li>You can specify that the x or y distance between
  4866. two points should never vanish (this is called
  4867. Minimum Distance)<br />
  4868. (note: each hint implies one of these going from one
  4869. side of the hint to the other, also there is an
  4870. implied one of these between any two non-overlapping
  4871. hints)<br />
  4872. You can also specify that the distance between a
  4873. point and the width should never vanish. This means
  4874. that there will always be at least one pixel between
  4875. that point and the advance width of the
  4876. character.</li>
  4877. </ul>
  4878. </li>
  4879. <li>I removed the serif checker from the ttf instruction
  4880. generator and moved it to the autohinter (with some
  4881. changes of course) and it now generates minimum
  4882. distances.</li>
  4883. <li>I added a minimum distance between the last stem of a
  4884. character and the width.</li>
  4885. <li>I added a user interface to display and control
  4886. these</li>
  4887. <li>I realized I was misinterpreting the ttf docs (again)
  4888. and that IUP worked better than I thought, and so I
  4889. removed my own interpolation code (thank you freetype! it
  4890. is so good to see what the instructions do.)</li>
  4891. <li>Cleaned up some rather technical issues in the
  4892. truetype instruction generation occasioned by
  4893. non-overlapping and non-intersecting hints.</li>
  4894. <li>FontForge will now read (but not produce) '.gsf'
  4895. files. These are yet another postscript format, like a
  4896. pfa but without the eexec encoding. Ghostscript uses them
  4897. (others may, I think Wadalab did...).</li>
  4898. <li>Oops. In encodings containing characters with no
  4899. defined postscript unicode names, then the name generated
  4900. for an unused character was wrong.</li>
  4901. <li>Oops. FontForge thought all user defined encodings
  4902. were two byte encodings and produced a warning message
  4903. for them when generating type1 fonts.</li>
  4904. <li>Added a force encoding flag to the Font Info dlg.
  4905. This is for those cases where FontForge reads in a font
  4906. but can't figure out what the proper encoding is, then
  4907. doing a force encoding will simply rename all the
  4908. characters to match what they should be in the chosen
  4909. encoding.</li>
  4910. <li>Oops, neither afm nor bdf files were correctly
  4911. normalized for fonts whose em size wasn't 1000.</li>
  4912. <li>Improved bdf "CHARSET_COLLECTIONS" output.</li>
  4913. <li>Added a command to make two lines parallel</li>
  4914. </ul>
  4915. </li>
  4916. <li>21-Oct-2001
  4917. <ul>
  4918. <li>FontForge could crash when autohinting a diagonal
  4919. hint.</li>
  4920. </ul>
  4921. </li>
  4922. <li>20-Oct-2001
  4923. <ul>
  4924. <li>FontForge generated awful instructions (hints) for
  4925. truetype characters. I've fixed some of the more
  4926. egregious problems (I hope).<br />
  4927. In particular:
  4928. <ul>
  4929. <li>Diagonal hints were completely broken</li>
  4930. <li>Overlapping hints didn't work either</li>
  4931. <li>Normal hints with more than one point on them
  4932. sometimes had the second (third, fourth...) point
  4933. moved by the wrong amount.</li>
  4934. <li>Points that weren't on any hints were often not
  4935. interpolated properly.</li>
  4936. <li>The serif code picked up on things which weren't
  4937. serifs and tried to hint them as though they
  4938. were.</li>
  4939. </ul>
  4940. </li>
  4941. <li>I've written a <a href=
  4942. "http://mensis.sf.net/">tool</a> which will allow you to
  4943. look at what the instructions are and what they do.</li>
  4944. <li>TTF spline approximation (cubic-&gt;quadratic) should
  4945. be twice as fast.</li>
  4946. <li>Clearing/Cutting a character with references from the
  4947. font view corrupted FontForge's internal state. If this
  4948. were followed by a reduction in the number of characters
  4949. in the font (Element-&gt;Font Info-&gt;Encoding) a crash
  4950. could occur.</li>
  4951. <li>Clearing/Cutting a character with dependents from the
  4952. font view now gives the user the option of instanciating
  4953. the character in all its dependents.</li>
  4954. </ul>
  4955. </li>
  4956. <li>11-Oct-2001
  4957. <ul>
  4958. <li>Hmm. Apple has some very strange things to say about
  4959. how offsets and scaling factors overlap in compound ttf
  4960. glyphs. It is not well enough described (at least when it
  4961. applies to rotations) for me to implement it. Microsoft
  4962. doesn't do this. Great. OpenType gives a pair of bits to
  4963. control this behavior (bit 11 set do it apple's way, bit
  4964. 12 set do it MS way, neither set flip a coin and guess,
  4965. both set die in horrible agony). But still no description
  4966. of exactly what Apple does. So I've changed my ttf output
  4967. routine always to set bit 12 in the composite flags. And
  4968. the read in does something if it gets the apple bit.
  4969. Probably not the right thing though.</li>
  4970. <li>Fixed a potential problem clipping splines in the
  4971. outline character display.</li>
  4972. <li>Added a warning when attempting to save a font with a
  4973. two byte encoding into a format that only supports one
  4974. byte encodings (ie. unicode to pfb)</li>
  4975. <li>FontForge crashed when loading a bare bdf with more
  4976. than 256 characters</li>
  4977. <li>FontForge used out of date versions of config.guess
  4978. and config.sub. These should be updated now.</li>
  4979. </ul>
  4980. </li>
  4981. <li>3-Oct-2001
  4982. <ul>
  4983. <li>Added support for saving bitmaps into ttf files. I
  4984. don't know that I've got it right. Windows Me ignores the
  4985. bitmaps I put in. Windows may ignore all bitmaps, or I
  4986. may have done something wrong... There are so few files
  4987. to test bitmaps on though...</li>
  4988. <li>Some older systems have problems taking the cubed
  4989. root of 0. This can pop up in the Cubic Solution code now
  4990. (when doing simplify for example). There should be a
  4991. work-around in place now.</li>
  4992. <li>On monospaced fonts FontForge generated a .notdef
  4993. character whose width was the em-square rather than the
  4994. size of the rest of the font.</li>
  4995. </ul>
  4996. </li>
  4997. <li>1-Oct-2001
  4998. <ul>
  4999. <li>makefile wouldn't build ui files if "." wasn't in
  5000. PATH environment variable. Should be fixed.</li>
  5001. <li>Holding down the Shift key when invoking
  5002. Element-&gt;AutoTrace will cause it to prompt for command
  5003. line arguments to the autotrace program (you have to
  5004. figure these arguments out yourself).</li>
  5005. </ul>
  5006. </li>
  5007. <li>30-Sept-2001/1-Oct-2001
  5008. <ul>
  5009. <li>Improved importing background bitmap fonts (scaling
  5010. factor set more accurately, pk characters whose bitmap
  5011. width was a factor of 8 had problems).</li>
  5012. <li>Import width from background bitmap fonts if the
  5013. outline character is empty.</li>
  5014. <li>Merge Fonts was disabled except under bizarre
  5015. circumstances, should be fixed.</li>
  5016. <li>Makefiles should create the *.ui files now.</li>
  5017. <li>Mac encoding table should include the Euro character
  5018. now (I was using an old version which had the currency
  5019. symbol instead).</li>
  5020. </ul>
  5021. </li>
  5022. <li>24-Sept-2001
  5023. <ul>
  5024. <li><a href="Problems-MacOSX.html">Mac OS/X port</a> done
  5025. (or at least a semi-working version has been
  5026. produced)</li>
  5027. <li>Localization didn't work if there was no preference
  5028. file.
  5029. <hr />
  5030. </li>
  5031. <li>Can now read metafont pk files as bitmap fonts
  5032. (Warning: No encoding on these files, you've got to guess
  5033. at the encoding before loading them).</li>
  5034. <li>Can now read kerning information from TeX .tfm files
  5035. (Again, there's no encoding in these guys, I just assume
  5036. the font's encoding matches the tfm)</li>
  5037. </ul>
  5038. </li>
  5039. <li>22-Sept-2001
  5040. <ul>
  5041. <li>Can now read bitmap fonts out of a truetype EBDT (or
  5042. bdat) table</li>
  5043. <li>Can import a bitmap and put it into the background of
  5044. a font.</li>
  5045. <li>FontForge would sometimes get character widths wrong
  5046. when reading a ttc file.</li>
  5047. </ul>
  5048. </li>
  5049. <li>19-Sept-2001
  5050. <ul>
  5051. <li>Major rewrite of Remove Overlap.</li>
  5052. <li>Fixed potential crash in autohint</li>
  5053. <li>I now find the intersection of a (cubic) spline and a
  5054. line by the cubic algorithm rather than by
  5055. iteration.</li>
  5056. </ul>
  5057. </li>
  5058. <li>15-Sept-2001
  5059. <ul>
  5060. <li>Fixed more remove overlap/merge/simplify problems
  5061. related to having many points at the same location.</li>
  5062. <li>Fixed a bug in Point Info.</li>
  5063. </ul>
  5064. </li>
  5065. <li>14-Sept-2001
  5066. <ul>
  5067. <li>Fixed a couple more memory problems (caused by the
  5068. chunk allocation), one in remove overlap, one in
  5069. autotrace</li>
  5070. <li>I'm told that yesterday's executable upload didn't
  5071. work. Hope today's does better</li>
  5072. </ul>
  5073. </li>
  5074. <li>13-Sept-2001
  5075. <ul>
  5076. <li>Fixed a crash when joining two paths</li>
  5077. <li>More tweaking of search path for ui files.</li>
  5078. </ul>
  5079. </li>
  5080. <li>11-Sept-2001
  5081. <ul>
  5082. <li>more configuration fixes</li>
  5083. <li>Fixed many simplify bugs</li>
  5084. <li>otf output would crash if given an open path.
  5085. Fixed</li>
  5086. </ul>
  5087. </li>
  5088. <li>8-Sept-2001
  5089. <ul>
  5090. <li>Font View Paste has changed slightly. If the copy
  5091. buffer contains more than one character, and the
  5092. selection is exactly one character, then the selection
  5093. will be changed so that it will exactly fit the copy
  5094. buffer.</li>
  5095. <li>Also Font View Copy will copy the hints of the
  5096. character.</li>
  5097. <li>Fixed a bug with reading CID keyed Type1 fonts</li>
  5098. <li>cleaned up some compilation problems on older systems
  5099. (I hope)</li>
  5100. <li>Inserted Olaf's bug fix in gresource.c</li>
  5101. <li>Cleaned up behavior on zero-length splines</li>
  5102. </ul>
  5103. </li>
  5104. <li>5-Sept-2001
  5105. <ul>
  5106. <li>Ug. yesterday's install changes weren't complete. I
  5107. forgot to remove the old files from /usr/local/bin so
  5108. fontforge used out of data translation tables and things
  5109. looked confused for non-English users. Also libgunicode
  5110. had an old version of some header files so there were
  5111. compilation problems if this was tar x'ed last (the other
  5112. packages had the correct headers).</li>
  5113. <li>Also I posted a bad libgdraw source.</li>
  5114. <li>And got the dates wrong.</li>
  5115. <li>Added a tiny bit of German to the ui (hope it's
  5116. right)</li>
  5117. </ul>
  5118. </li>
  5119. <li>4-Sept-2001 (but posted as 5-Sept-2001)
  5120. <ul>
  5121. <li>Menubar should be redrawn properly after a resize
  5122. now.</li>
  5123. <li>File chooser should be smarter about retaining
  5124. filenames after changing directories.</li>
  5125. <li>Various fixes to support URW's odd habit of
  5126. abbreviating everything to 4 characters (ie. recognize
  5127. "obli" for "oblique", and "medi" for "medium")</li>
  5128. <li>Fixed a crash bug in postscript generation when
  5129. character 0 was deemed worth outputting</li>
  5130. <li>Tweaked XHeight calculation to look for
  5131. greek/cyrillic "x"</li>
  5132. <li>Changed install process to put user-interface files
  5133. into /usr/share/fontforge instead of into the bin
  5134. directory.</li>
  5135. </ul>
  5136. </li>
  5137. <li>1-Sept-2001
  5138. <ul>
  5139. <li>Small fixes to (my implementation of) Adobe Standard
  5140. Encoding.</li>
  5141. <li>Small tweaks to get things to compile on solaris
  5142. again.</li>
  5143. </ul>
  5144. </li>
  5145. <li>31-August-2001
  5146. <ul>
  5147. <li>If you dragged on a new spline, and then translated
  5148. one or both of its end-points the spline reverted to its
  5149. default configuration</li>
  5150. <li>TTF files encoded in Wansung/SJIS will be read into a
  5151. font encoded with either KSC5601 or JIS208.</li>
  5152. </ul>
  5153. </li>
  5154. <li>30-August-2001
  5155. <ul>
  5156. <li>Fixed some bugs in otf output:
  5157. <ul>
  5158. <li>hintmasks were being output incorrectly, omitting
  5159. bytes of data. This could cause horrendous errors. If
  5160. FontForge read in one of these fonts it would often
  5161. report "stack underflow".</li>
  5162. <li>Another hintmask problem caused characters to be
  5163. offset from where they should be.</li>
  5164. <li>Placing a hintmask between multiple [rhv]lineto s
  5165. caused us to skip a line segment</li>
  5166. <li>cleaned up generation of subroutines (used to be
  5167. extraneous rmovetos)</li>
  5168. <li>If the user gave bad input to certain Private
  5169. values (BlueValues for instance), FontForge could go
  5170. into an infinite loop.</li>
  5171. </ul>
  5172. </li>
  5173. <li>Non-CID otf fonts did not get their encodings
  5174. read</li>
  5175. <li>Improved parsing of hints in a type1 font with hint
  5176. substitution</li>
  5177. <li>Fixed a crash bug in Inserting a font (or a blank
  5178. font) into a CID font</li>
  5179. <li>Generate font dialog would sometimes default to
  5180. producing a CID keyed font when it was not
  5181. appropriate.</li>
  5182. <li>I got the ulCodePageRange bits wrong of the CJK
  5183. codepages (which meant that windows thought the wrong
  5184. characters were in the font)</li>
  5185. <li>I generated a bad cmap (ttf encoding) table for CID
  5186. keyed otf fonts.</li>
  5187. <li>If a TTF/OTF font is encoded with KSC5601 or JIS208
  5188. then I will give it a Wansung / SJIS encoding in the cmap
  5189. (if a unicode encoding is desired then reencode as
  5190. unicode).</li>
  5191. <li>Found format for afm files of CID fonts. Can now
  5192. produce such for CID font output.</li>
  5193. <li>Improved reference handling in type1s. If a reference
  5194. doesn't fit into a "seac" then try to use subroutines.
  5195. Subroutines are possible if:
  5196. <ul>
  5197. <li>None of the references in the character use hint
  5198. substitution (or flex hints)<br />
  5199. &nbsp; &nbsp; &nbsp; - or -</li>
  5200. <li>Only one of the references uses hint substitution
  5201. and it isn't translated (not moved)</li>
  5202. </ul>
  5203. </li>
  5204. <li>Improved reference handling in type2s (opentype).
  5205. Allow a reference to a character with hint substitutions
  5206. to go into a subroutine if none of the other referenced
  5207. characters use any hints at all, and the character with
  5208. hint substitutions is not translated.</li>
  5209. <li>Get Info was broken inside outline characters</li>
  5210. <li>Made an attempt to speed up handling of larger fonts.
  5211. Only noticeable difference I've seen is that it speeds up
  5212. freeing the font.</li>
  5213. <li>Added a dialog to show what characters refer to the
  5214. current character</li>
  5215. <li>Made a feeble attempt to sort out the confusion
  5216. engendered by adobe's naming conventions for greek
  5217. letters.
  5218. <ul>
  5219. <li>if a font contains either the of the characters
  5220. U+00B5 or U+03BC then when saving the font FontForge
  5221. ensures that characters with the names: "mu",
  5222. "uni00B5" and "uni03BC" are all present. Similarly
  5223. for Delta, uni0394 uni2206 and Omega, uni03A9
  5224. uni2126</li>
  5225. </ul>
  5226. </li>
  5227. <li>Added support for command line arguments which begin
  5228. with "--".</li>
  5229. <li>Added -usage and -help arguments</li>
  5230. <li>Added -recover={none,auto,clean} to give you control
  5231. over the autorecovery process.
  5232. <ul>
  5233. <li>-recover=none means that the current run will not
  5234. perform auto recovery but will leave things so that
  5235. the next run will do so. (Note: If you change a font
  5236. that will be recovered later, the results are
  5237. indeterminate).</li>
  5238. <li>-recover=auto default behavior</li>
  5239. <li>-recover=clean cleans out the autorecovery
  5240. directory</li>
  5241. </ul>
  5242. </li>
  5243. <li>extension guessing would do the wrong thing if we
  5244. actually wanted to open a font with no extension.</li>
  5245. </ul>
  5246. </li>
  5247. <li>8-August-2001
  5248. <ul>
  5249. <li>Some minor fixes to gchardlg.c</li>
  5250. <li>Try to upgrade the CJK translation tables to Unicode
  5251. 3</li>
  5252. <li>Improve processing of ttc files (I can actually read
  5253. one no)</li>
  5254. <li>chooser icon for cid-keyed fonts</li>
  5255. </ul>
  5256. </li>
  5257. <li>6-August-2001
  5258. <ul>
  5259. <li>KSC5601-1987 was still wrong.</li>
  5260. <li>Fixed a crash in FontInfo on CID fonts.</li>
  5261. </ul>
  5262. </li>
  5263. <li>4-August-2001
  5264. <ul>
  5265. <li>Eek. FontInfo-&gt;Panose,TTF Values never got stored
  5266. into the font.</li>
  5267. <li>Also added access to Version, and UniqueID</li>
  5268. <li>Was given a TTf font with no fontname. This caused a
  5269. crash. FontForge now assigns a fontname if the font
  5270. doesn't provide one.</li>
  5271. <li>Added support (well ability to read) for SJIS, Big5
  5272. and Wansung TTF encodings (platform=3,
  5273. specific=2,3,5)</li>
  5274. <li>After playing with large asian fonts I am now making
  5275. (minimal) attempts to conserve memory and have changed
  5276. all my doubles to floats (it's configurable of course,
  5277. but default is float).</li>
  5278. <li>Fixed a number of bugs in open type output</li>
  5279. <li>Was using out of date Korean-&gt;Unicode conversion.
  5280. Should be fixed now.</li>
  5281. <li>Initial support for <a href="cidmenu.html">CID keyed
  5282. fonts</a>.</li>
  5283. </ul>
  5284. </li>
  5285. <li>26-July-2001
  5286. <ul>
  5287. <li>Added a constrain points command to align a
  5288. collection of points, or to space points evenly on a
  5289. line.</li>
  5290. </ul>
  5291. </li>
  5292. <li>25-July-2001
  5293. <ul>
  5294. <li>Fixed a rare crash from closing the outline (or
  5295. bitmap) view</li>
  5296. <li>Added a new problem to find problems</li>
  5297. <li>Fixed some small bugs in find problems</li>
  5298. <li>Oops. TrueType names came out in the wrong
  5299. endianness.</li>
  5300. </ul>
  5301. </li>
  5302. <li>24-July-2001
  5303. <ul>
  5304. <li>Although the family name accepted spaces, it then
  5305. silently removed them. No longer. (I hope)</li>
  5306. <li>FontForge is now more careful when you attempt to
  5307. clear a character from the font view which has dependents
  5308. (at least one of which is not being cleared itself). It
  5309. will warn you and allow you not to clear that
  5310. character.</li>
  5311. <li>FontForge is also more careful when you attempt to
  5312. paste a reference to a character that does not exist in
  5313. the current font. Before it silently ignored it. Now it
  5314. will warn you and give you the option of pasting the
  5315. outlines of the original character being refered to (if
  5316. it can find that character).</li>
  5317. <li>Fixed an uninitialized variable in print that could
  5318. cause things to go into an infinite loop.</li>
  5319. <li>Fixed a rounding error problem in ttf generation that
  5320. could cause an infinite loop.</li>
  5321. <li>Small bitmap fonts will be magnified in the font
  5322. view</li>
  5323. <li>Expand Stroke didn't work on counter-clockwise
  5324. triangles (presumably other shapes, but I didn't check).
  5325. It also would randomly leave paths counter-clockwise when
  5326. they should have been clockwise.</li>
  5327. <li>Finally!<br />
  5328. Often when joining two paths (or closing one path) the
  5329. point would jump when you released the mouse. I finally
  5330. figured out why.</li>
  5331. </ul>
  5332. </li>
  5333. <li>22-July-2001
  5334. <ul>
  5335. <li>wrote a unicode printf which is now used by most of
  5336. the error routines. Should be no visible difference to
  5337. users.</li>
  5338. <li>cleaned up the truetype names aspect of the font info
  5339. dlg.</li>
  5340. <li>Added a Translate Styles button to the above aspect
  5341. if the string is Style and the language is American
  5342. English. (Sorry about the linguistic chauvinism)</li>
  5343. <li>Allowed spaces in the PostScript family name
  5344. again</li>
  5345. <li>Fixed a bug where the "lpr" radio button would
  5346. sometimes be disabled.</li>
  5347. <li>Various other small improvements to "Print".</li>
  5348. <li>The "Clockwise" detector failed on some paths. I've
  5349. rewritten it, it should work better now.</li>
  5350. <li>The clockwise detector in find problems also needed
  5351. to be rewritten.</li>
  5352. <li>Added a Find Problems detector for almost
  5353. horizontal/vertical control points.</li>
  5354. <li>Some improvements to metafont (well, a few characters
  5355. look better anyway, I hope it's an improvement). It still
  5356. doesn't work of course.</li>
  5357. </ul>
  5358. </li>
  5359. <li>17-July-2001
  5360. <ul>
  5361. <li>Using almost any stringized error routine would munch
  5362. memory. Many inexplicable errors resulted. I hope it is
  5363. now fixed and that FontForge is stable again.</li>
  5364. <li>Valek's improvements to Find Problems</li>
  5365. <li>Valek's russian version of "A quick brown
  5366. fox..."</li>
  5367. <li>use textarea gadget for Font's copyright notice.</li>
  5368. </ul>
  5369. </li>
  5370. <li>16-July-2001
  5371. <ul>
  5372. <li>FontForge did not do a very good job of guessing at
  5373. where hints should be active when they were supplied by
  5374. the user. Should do better now.</li>
  5375. <li>More tuneups for autohint.</li>
  5376. <li>Added a command to the outline view to allow you to
  5377. set the "First Point" of each spline set. This is
  5378. important for Interpolate font.</li>
  5379. <li>Fixed a bug in Font Reencoding having to do with
  5380. references.</li>
  5381. <li>Added direction detection to Find Problems (to make
  5382. sure outer paths are clockwise)</li>
  5383. <li>Cleared selections between explanations on Find
  5384. Problems</li>
  5385. <li>Gave some indication of how near horizontal/vertical
  5386. lines are wrong in find problems</li>
  5387. <li>Fixed a crash in MetaFont</li>
  5388. <li>Added a progress indicator to MetaFont</li>
  5389. <li>Added some more to the print sample text (bulgarian,
  5390. macedonian, welsh, czech, lithuanian, polish,
  5391. slovene)</li>
  5392. <li>Stringized some more files</li>
  5393. </ul>
  5394. </li>
  5395. <li>15-July-2001
  5396. <ul>
  5397. <li>FontForge should now be able to read truetype
  5398. collection files and do something reasonable --<br />
  5399. At least in theory. I don't have any truetype collection
  5400. files to test on.</li>
  5401. <li>Oh dear. The rasterizer was looking at vertical hints
  5402. when it should have looked at horizontal ones, looking at
  5403. no hints when it should have looked at vertical ones. The
  5404. result was that vertical edges weren't found.</li>
  5405. <li>FontForge had problems reading in lone bdf fonts with
  5406. strange encodings.</li>
  5407. <li>Cleaned up print behavior slightly on systems without
  5408. ghostview</li>
  5409. <li>Find Problems would not always stop immediately after
  5410. pressing the stop button.</li>
  5411. <li>more files stringized</li>
  5412. </ul>
  5413. </li>
  5414. <li>11-July-2001
  5415. <ul>
  5416. <li>Eek! Memory problem in metrics view (writing beyond
  5417. what was allocated). Fixed now.</li>
  5418. <li>There is scrollbar in the metricsview again. This
  5419. time it actually does something.</li>
  5420. </ul>
  5421. </li>
  5422. <li>10-July-2001
  5423. <ul>
  5424. <li>Did significant improvement to arabic ligature
  5425. creation (at least it's done right to left now and the
  5426. proper forms will be picked).</li>
  5427. <li>Improved the character icons of Anti-Aliased
  5428. fonts.</li>
  5429. <li>Oops. FontInfo would mistakenly complain about
  5430. modifiers like "-Bold". Fixed.</li>
  5431. <li>There's the start of a <a href=
  5432. "MetaFont.html">command to change the weight of a
  5433. font</a>. It doesn't work very well yet. It probably
  5434. never will work perfectly, but I hope it may eventually
  5435. be useful.</li>
  5436. </ul>
  5437. </li>
  5438. <li>7-July-2001
  5439. <ul>
  5440. <li>Fixed a crash when referring to a character whose
  5441. encoding was bigger than 65535</li>
  5442. <li>Rewrote the <a href="fontinfo.html">Font Info</a>
  5443. dlg.
  5444. <ul>
  5445. <li>Made the dialog controlled by tabs instead of
  5446. trying to show everything at once.</li>
  5447. <li>Merged the private info dlg into it</li>
  5448. <li>Provided access to some ttf settings which were
  5449. previously hidden</li>
  5450. <li>Provided access to the ttf name table (which
  5451. allows you to give the font and its styles different
  5452. names on different languages. So CaslonItalic could
  5453. be CaslonItalique in French and CaslonKursive in
  5454. German.</li>
  5455. </ul>
  5456. </li>
  5457. </ul>
  5458. </li>
  5459. <li>30-June-2001
  5460. <ul>
  5461. <li>Fixed another crash from putting strings in
  5462. resources.</li>
  5463. <li>Added a snap-to feature on horizontal/vertical lines
  5464. in the grid (guide) layer.</li>
  5465. <li>Missing a few files in the distribution of the
  5466. 28th.</li>
  5467. </ul>
  5468. </li>
  5469. <li>28-June-2001
  5470. <ul>
  5471. <li>Oops. Now all empty characters are nameless, not just
  5472. controls.</li>
  5473. <li>Many improvements to <a href="problems.html">find
  5474. problems</a>.</li>
  5475. <li>Added some new shortcuts to the menus.</li>
  5476. </ul>
  5477. </li>
  5478. <li>27-June-2001
  5479. <ul>
  5480. <li>When generating truetype (or opentype) fonts,
  5481. FontForge failed to set the ulCodePageRange for encodings
  5482. other than latin1/latin2. Should do a better job
  5483. now.</li>
  5484. <li>Fixed a crash introduced by decompress.</li>
  5485. <li>Fixed a crash when trying to merge two paths (by
  5486. moving them with the mouse) when the stationary "path"
  5487. consisted of exactly one point.</li>
  5488. <li>Sometimes control characters would be named "uni0001"
  5489. (etc.) rather than ".notdef". Appropriate, but
  5490. inconsistent. They should now always be called ".notdef"
  5491. (unless explicitly renamed).</li>
  5492. </ul>
  5493. </li>
  5494. <li>24-June-2001
  5495. <ul>
  5496. <li>Change configure script to work on solaris</li>
  5497. </ul>
  5498. </li>
  5499. <li>23-June-2001
  5500. <ul>
  5501. <li>Make giofile.c compile on solaris</li>
  5502. <li>Fix crash in autohint</li>
  5503. <li>Decompress compressed font files automagically before
  5504. loading them</li>
  5505. <li>Update russian version.</li>
  5506. </ul>
  5507. </li>
  5508. <li>21-June-2001
  5509. <ul>
  5510. <li>Copy Width did not work from the font view</li>
  5511. <li>made the info display in the outline view more
  5512. legible if the locale used "," as decimal point.</li>
  5513. <li>One more attempt to get palettes right. They would
  5514. disappear if you went to a non-outline view window and
  5515. then returned to that same window.</li>
  5516. <li>Some useful information will now be displayed in the
  5517. outline view as you add points to a path.</li>
  5518. <li>And during rectangle, ellipse, polygon and star
  5519. generation.</li>
  5520. <li>Build Composite Char will now create the characters
  5521. 0x2000-0x2015 (spaces and rules) if you ask it to.</li>
  5522. <li>Fixed several bugs caused by the resource string
  5523. changed.
  5524. <ul>
  5525. <li>This one showed up in font info when removing
  5526. characters.</li>
  5527. <li>And this on adding an encoding (to font
  5528. info).</li>
  5529. <li>Any simple request for a string got two OK
  5530. buttons (ie. no Cancel)</li>
  5531. </ul>
  5532. </li>
  5533. <li>Added some more strings.</li>
  5534. <li>Cleaned up the hint translation code to work with the
  5535. new (ie. hint substitution, diagonal)</li>
  5536. <li>Improved UI for metrics view as per Valik's
  5537. suggestions
  5538. <ul>
  5539. <li>Before it would wait until you depressed the
  5540. mouse before changing the cursor, now it changes the
  5541. cursor as you move.</li>
  5542. <li>Better cursors (separate cursors for kerning,
  5543. setting rbearing (== width), setting lbearing)</li>
  5544. <li>Selected character is drawn in a different
  5545. color.</li>
  5546. </ul>
  5547. </li>
  5548. <li>Implement ghost/edge hints. (Oops)</li>
  5549. </ul>
  5550. </li>
  5551. <li>19-June-2001
  5552. <ul>
  5553. <li>Initial version of russian menus</li>
  5554. <li>Recently AutoHint would remove control points from
  5555. splines which traced out a line (ie. if the control
  5556. points were on the line segment between the two end
  5557. points). AutoHint shouldn't muck with things like that.
  5558. And anyway it got it wrong in several cases.</li>
  5559. <li>The simplify command will now remove collinear
  5560. control points from a spline. And if you hold down the
  5561. shift key when invoking the menu the simplify command
  5562. will only do this (and will change its name to
  5563. cleanup).</li>
  5564. </ul>
  5565. </li>
  5566. <li>18-June-2001
  5567. <ul>
  5568. <li>Oops. FontForge looked in the current directory, not
  5569. the executable's directory for the ui files. Should be
  5570. looking in the executable's dir.</li>
  5571. <li>Oops. The "font has changed" dialog caused a
  5572. crash.</li>
  5573. <li>The simplify command will remove control points if
  5574. the spline traces out a line.</li>
  5575. <li>Cleaned up diagonal hints</li>
  5576. <li>Made a change to menus which might fix Valek's menu
  5577. crash. Or might not.</li>
  5578. <li>Added some more strings to the ui files (yesterday
  5579. files can't be used any more)</li>
  5580. <li>Cleaned up some problems with the metrics view.</li>
  5581. </ul>
  5582. </li>
  5583. <li>17-June-2001
  5584. <ul>
  5585. <li>Added a minimal help menu</li>
  5586. <li>If the Hint menu was invoked when there were not
  5587. exactly two points selected, then fontforge would crash.
  5588. Fixed</li>
  5589. <li>Created a superstructure to allow localization of the
  5590. UI. Created a small (incomplete, probably wrong in many
  5591. places) french ui.</li>
  5592. </ul>
  5593. </li>
  5594. <li>13-June-2001
  5595. <ul>
  5596. <li>Palettes would vanish when the first outline
  5597. character view was closed. That should be fixed.</li>
  5598. <li>Palettes should (I hope) do a better job of tracking
  5599. windows.</li>
  5600. <li>Fixed another clipping problem</li>
  5601. <li>Added support for diagonal stems (for truetype
  5602. instructioning. Not supported by postscript hints)
  5603. <ul>
  5604. <li>AutoHint finds them</li>
  5605. <li>There's a Clear DStem command, and an Add
  5606. DStem</li>
  5607. <li>Review Hints does not display them (they can't be
  5608. described the same way as H and V stems).</li>
  5609. </ul>
  5610. </li>
  5611. <li>Changed the background color to be dark green so it
  5612. will stand out against a filled character</li>
  5613. <li>Previously if FontForge were given a corrupted font
  5614. with no font name it would crash. That should be
  5615. fixed.</li>
  5616. </ul>
  5617. </li>
  5618. <li>11-June-2001
  5619. <ul>
  5620. <li>Added ability to create a pfm file (for ATM under
  5621. windows)</li>
  5622. <li>Extended Font Info to allow you to set the FullName
  5623. (the human readable font name) from FontInfo</li>
  5624. <li>Two bugs with hint substitution code:
  5625. <ol>
  5626. <li>It would occasionally generate one subr
  5627. containing overlapping hints</li>
  5628. <li>It would create a Subrs array much bigger than
  5629. needed. For some reason xfs had conniptions over the
  5630. blank (but unused) entries</li>
  5631. </ol>
  5632. </li>
  5633. </ul>
  5634. </li>
  5635. <li>6-June-2001
  5636. <ul>
  5637. <li>Cleaned up Exit, close and fontinfo commands to avoid
  5638. possible race conditions.</li>
  5639. </ul>
  5640. </li>
  5641. <li>5-June-2001
  5642. <ul>
  5643. <li>Added a command to look for common problems</li>
  5644. <li>Fixed a crash caused by removing character slots from
  5645. a font (using Number of Characters in Font Info)</li>
  5646. <li>Fixed a crash caused by reading in a ttf file where
  5647. the kerning info specified a non-existent glyph</li>
  5648. <li>Fixed a crash caused by reading in a pf* file where
  5649. the encoding was specified in a slightly different format
  5650. from the one we expect</li>
  5651. <li>Palettes should be controllable again.</li>
  5652. <li>Menu shortcuts should be available from palettes</li>
  5653. </ul>
  5654. </li>
  5655. <li>12-May-2001
  5656. <ul>
  5657. <li>That was a stupid idea (yesterday's). I've backed it
  5658. out. Instead I've done what Val asked for -- all windows
  5659. share common palettes.</li>
  5660. </ul>
  5661. </li>
  5662. <li>11-May-2001
  5663. <ul>
  5664. <li>Made a preference item so that palettes could live
  5665. within the outline view. It's sort of a temporary hack
  5666. until I get palettes working (if ever) so it isn't really
  5667. well integrated with things...</li>
  5668. </ul>
  5669. </li>
  5670. <li>10-May-2001
  5671. <ul>
  5672. <li>Fixed a crash bug which occurred when doing
  5673. Transformations with the origin set to Center of
  5674. Selection (default) in a character with an unclosed
  5675. path.</li>
  5676. <li>Fixed a similar crash when generating
  5677. postscript.</li>
  5678. <li>And another when updating control points.</li>
  5679. <li>Added much to printing, should be done for now.</li>
  5680. <li>Valrk Filippov suggested that things should be
  5681. constrainable to angles other than horizontal, vertical
  5682. and 45. In particular constraining to the ItalicAngle of
  5683. an Italic/Oblique font is very useful. So we do that now.
  5684. Thanks Val!</li>
  5685. </ul>
  5686. </li>
  5687. <li>7 May 2001
  5688. <ul>
  5689. <li>Fixed more locale problems (I hope)</li>
  5690. <li>Info line should show the location of a point moved
  5691. with the arrows.</li>
  5692. <li>Added Next/Prev Point commands</li>
  5693. <li>Added a Print to file command that displays the
  5694. entire font, or fills a page with the current character.
  5695. More options to follow.</li>
  5696. <li>Fixed a bug in seac output</li>
  5697. <li>Fixed an introduced crash bug in hint output</li>
  5698. <li>Fixed a crash bug caused by increasing the number of
  5699. characters allowed in the font with FontInfo.</li>
  5700. </ul>
  5701. </li>
  5702. <li>6 May 2001
  5703. <ul>
  5704. <li>Redid <a href="hinting.html">hinting</a> to support
  5705. hint substitution and counter hinting in PostScript
  5706. (&amp; opentype)
  5707. <ul>
  5708. <li>Hints now have an extent in both dimensions,
  5709. indicating over what parts of a character they should
  5710. be active.</li>
  5711. <li>Dotted lines are used to show the extent of a
  5712. hint in the primary dimension</li>
  5713. <li>I draw horizontal hints and vertical hints in
  5714. different colors now, otherwise it was too confusing
  5715. guessing which was which.</li>
  5716. <li>If a hint conflicts with another its dotted lines
  5717. are shown in cyan (rather than light blue/green)</li>
  5718. <li>When the Review hints dlg is active the current
  5719. hint is shown in dark blue/green.</li>
  5720. <li>The Review hints dlg shows whether a hint
  5721. overlaps (conflicts with) another.</li>
  5722. <li>Auto Hinting will generate a list of all
  5723. horizontal and vertical stems, and then use some
  5724. heuristics to remove some of the more annoying and
  5725. less useful stems from the Hint list. If you don't
  5726. want this automatic pruning then holding the Shift
  5727. key down when you invoke AutoHint from the menu will
  5728. leave you with the full stem list.</li>
  5729. <li>Minor changes to truetype output to deal with the
  5730. new hint list.</li>
  5731. <li>Major changes to PostScript output to deal with
  5732. counters and hint substitution</li>
  5733. <li><span class="c1"><strong>No longer saves Type1
  5734. charstrings when loading a type1
  5735. font</strong></span></li>
  5736. </ul>
  5737. </li>
  5738. <li>The icon for outline character windows was
  5739. <em>still</em> wrong for anti-alias fonts if there were
  5740. no bitmap fonts installed. Sigh.</li>
  5741. <li>Added a Correct Direction command to the font
  5742. view.</li>
  5743. <li>Fixed many bugs with Correct Direction</li>
  5744. <li>Improved accent placement when we have serifs (I
  5745. hope), don't want to center on top serif of "i" for
  5746. example.</li>
  5747. <li>Slight improvements when pasting bitmaps.</li>
  5748. <li>Oops. 0x2d should be "hyphen" in the Adobe Standard
  5749. Encoding rather than "minus" as I had it.</li>
  5750. </ul>
  5751. </li>
  5752. <li>3 May 2001
  5753. <ul>
  5754. <li>Opps. Generating postscript could crash if there were
  5755. many blank characters.</li>
  5756. <li><span class="c1"><strong>This is the last version
  5757. which will allow you to make small modifications to fonts
  5758. while retaining the original hint
  5759. substitution</strong></span></li>
  5760. </ul>
  5761. </li>
  5762. <li>28 Apr 2001
  5763. <ul>
  5764. <li>Transform from the font view will (for some
  5765. transformations and if <a href="editmenu.html#From">Copy
  5766. From</a> is set to All Fonts) transform the bitmap
  5767. associated bitmap characters as well as the outline
  5768. characters.</li>
  5769. <li>Cleaned up Build Accented character so that it
  5770. behaves consistently between font/outline views, works
  5771. with Copy From. The two different aspects of the command
  5772. (Accented vs. Composite) are now controlled by whether
  5773. the Shift key is down when the menu is invoked.</li>
  5774. <li>Some more locale tweaking for reading in/writing out
  5775. postscript.</li>
  5776. <li>The Preference encoding for new fonts didn't work if
  5777. set to a user defined encoding. Should be fixed now.</li>
  5778. </ul>
  5779. </li>
  5780. <li>27 Apr 2001
  5781. <ul>
  5782. <li>Tangent points should display a little better
  5783. now.</li>
  5784. <li>If a font is a 94x94 CJK font then the LanguageGroup
  5785. field of the Private dictionary will be set to 1.</li>
  5786. <li>Fixed a recently introduced crash bug that happens on
  5787. non-unicode fonts with accented characters.</li>
  5788. <li>If a character contained a reference and that
  5789. character could not be converted into a seac then there
  5790. would be no hints for the reference. That should be fixed
  5791. now.</li>
  5792. <li>Accented bitmaps should be positioned better
  5793. now.</li>
  5794. <li>Added a couple of progress indicators to font level
  5795. operations (transform, paste, etc.)</li>
  5796. <li>Expand stroke didn't work from the font view.</li>
  5797. </ul>
  5798. </li>
  5799. <li>23 Apr 2001
  5800. <ul>
  5801. <li>Fixed a clipping problem</li>
  5802. <li>Redid a change from yesterday. It should now work for
  5803. the stuff that used to work (as well as for what I fixed
  5804. yesterday)</li>
  5805. <li>(moved to <a href="http://sourceforge.net"><img src=
  5806. "http://sourceforge.net/sflogo.php?group_id=25752&amp;type=1"
  5807. width="88" height="31" border="0" alt=
  5808. "SourceForge Logo" /></a>)</li>
  5809. </ul>
  5810. </li>
  5811. <li>22 Apr 2001
  5812. <ul>
  5813. <li>Added code to allow users to select more than one
  5814. bitmap font at a time to be imported into an sfd.</li>
  5815. <li>Cleaned up opening a bdf file.</li>
  5816. <li>Fixed various crash bugs dealing with missing bitmap
  5817. characters where there were outline characters.</li>
  5818. <li>Fixed various problems with building greek accented
  5819. characters (Unicode 3's decompositions are no longer
  5820. helpful)</li>
  5821. <li>Added some support for <a href=
  5822. "http://partners.adobe.com/asn/tech/type/type/corporateuse.txt">
  5823. Adobe's documented corporate use</a> characters (Small
  5824. Caps, Old Style numbers...)</li>
  5825. <li>Cleaned up the outline character's icon (got broken
  5826. when I added anti-aliasing)</li>
  5827. <li>em space character kept vanishing. Fixed that.</li>
  5828. <li>Fixed many other small bugs.</li>
  5829. </ul>
  5830. </li>
  5831. <li>20 Apr 2001
  5832. <ul>
  5833. <li>Addition improvements to the handling of format0
  5834. (1byte) encodings</li>
  5835. <li>Put a Symbol encoding into the FontInfo encoding
  5836. list.</li>
  5837. <li>Oops. Ligature's had their semi-colons in the wrong
  5838. place in afm files.</li>
  5839. </ul>
  5840. </li>
  5841. <li>19 Apr 2001
  5842. <ul>
  5843. <li>Yesterday's builds were transferred as ASCII not
  5844. BINARY and are totally useless.</li>
  5845. <li>Added a macintosh encoding to ttf output</li>
  5846. <li>Slight improvement to ttf output (I hope)</li>
  5847. </ul>
  5848. </li>
  5849. <li>18 Apr 2001
  5850. <ul>
  5851. <li>Crash when reading a ttf font fixed (introduced by
  5852. ligature code).</li>
  5853. <li>Crash when generating almost any postscript Type1
  5854. font (recently introduced)</li>
  5855. <li>Added code to read ligature information from the
  5856. TTF/OTF GSUB table.</li>
  5857. <li>List buttons near the bottom of the screen would
  5858. popup their list in inappropriate places.</li>
  5859. <li>Fixed two bugs in cubic-&gt;quadratic spline
  5860. conversion.</li>
  5861. <li>Added support for TrueType Symbol encodings</li>
  5862. </ul>
  5863. </li>
  5864. <li>17 Apr 2001
  5865. <ul>
  5866. <li>Menus would go into an infinite loop if you:
  5867. depressed the mouse on the menu bar (and pulled down a
  5868. menu) and then moved the mouse so that it was above the
  5869. menubar when the menu was below it. Should be fixed.</li>
  5870. </ul>
  5871. </li>
  5872. <li>12 Apr 2001
  5873. <ul>
  5874. <li>Added a submenu of recent files and a pull down list
  5875. in the open dlg.</li>
  5876. <li>Added stuff to put ligature info into an afm file
  5877. (But not the GSUB table of ttf/otf)</li>
  5878. </ul>
  5879. </li>
  5880. <li>10 Apr 2001
  5881. <ul>
  5882. <li>Fixed a crash bug when making an encoding from a font
  5883. with a non-unicode character in it.</li>
  5884. <li>Reencoding a font got confused if the new encoding
  5885. contained more than one instance of the same glyph
  5886. (common example is to have both 0x20 and 0xA0 point to
  5887. space) or if it contained a non-unicode character. This
  5888. should be fixed now.</li>
  5889. <li>Fixed a couple of problems with reading otf
  5890. files</li>
  5891. <li>Added ability to save an Open Type font</li>
  5892. <li>Added a "Round to Int" command</li>
  5893. <li>.sfd files contain decimal points. This means they
  5894. are locale specific. Changed the input routines so that
  5895. it would accept either "." or "," as a decimal
  5896. point.</li>
  5897. </ul>
  5898. </li>
  5899. <li>2 Apr 2001
  5900. <ul>
  5901. <li>FontForge provides some support for XUIDs</li>
  5902. <li>FontForge now has a button in the font info dialog
  5903. which may be able to guess the italic angle for the
  5904. font.</li>
  5905. <li>AutoWidth/Kern didn't work well when the font was
  5906. missing "A"</li>
  5907. <li>AutoWidth/Kern didn't work well when the font was
  5908. italic/oblique</li>
  5909. <li>Build Accented Character didn't work too well when
  5910. the font was italic/oblique</li>
  5911. <li>Previously opening a Type1 font failed to read
  5912. /OtherSubrs correctly</li>
  5913. <li>Oops. In the Open Font Dialog, typing a wildcard
  5914. changed the default button to [New] rather than [Filter].
  5915. And pressing on [Filter] caused a crash.</li>
  5916. <li>Added ability to open an Open Type font (PostScript
  5917. Type2 in a TrueType wrapper)</li>
  5918. </ul>
  5919. </li>
  5920. <li>29 Mar 2001
  5921. <ul>
  5922. <li>It is now possible to edit bdf fonts directly
  5923. (without first creating a dummy postscript font to
  5924. contain them)</li>
  5925. <li>Fixed crash bug under kde</li>
  5926. </ul>
  5927. </li>
  5928. <li>28 Mar 2001
  5929. <ul>
  5930. <li>Made it possible to for the user to new
  5931. encodings</li>
  5932. <li>(added TeX base encoding)</li>
  5933. <li>slight improvements to the palette code</li>
  5934. </ul>
  5935. </li>
  5936. <li>26 Mar 2001
  5937. <ul>
  5938. <li>Fixed a clipping problem in the Metricsview</li>
  5939. <li>Fixed various other display problems in Metrics</li>
  5940. <li>Fixed various display problems in the fontview</li>
  5941. <li>Added "Remove All Kern Pairs" menu item</li>
  5942. <li>Fixed Auto Kern yet again</li>
  5943. <li>Added a preference item to control the foundry name
  5944. for generated bdf fonts.</li>
  5945. </ul>
  5946. </li>
  5947. <li>25 Mar 2001
  5948. <ul>
  5949. <li>Oops. Fixed a typo in auto-kerning code. It should
  5950. work now...</li>
  5951. <li>From the outline view, exporting to a bmp file allows
  5952. you to save an anti-aliased character as well as a
  5953. bitmap.</li>
  5954. <li>The Generate Fonts command allows you to save
  5955. anti-aliased greymap fonts. The format they are saved in
  5956. was invented by me an hour ago so it's totally useless
  5957. (it's exactly the same as bdf except there's one extra
  5958. header "BITSPERPIXEL" which may be 1, 2, 4 or 8 (1 would
  5959. be the same as bdf), and the number of pixels packed into
  5960. a byte is 8/BITSPERPIXEL (so 8, 4, 2 or 1
  5961. respectively).</li>
  5962. <li>If you selected "No Outline font" in the Generate
  5963. fonts dialog, it would generate a postscript font anyway.
  5964. This has been fixed.</li>
  5965. </ul>
  5966. </li>
  5967. <li>24 Mar 2001
  5968. <ul>
  5969. <li>AutoKerning now lets you specify the number of
  5970. kerning pairs the font may have.</li>
  5971. <li>I'm told that ttf fonts can only have 2048 kerning
  5972. pairs, so if a font has more, the ttf generator will only
  5973. save the 2048 ones with the biggest (absolute) kerning
  5974. offset.</li>
  5975. <li>Fixed a bug in autowidth (would make some characters
  5976. far too wide).</li>
  5977. <li>Fixed a bug in autokern which caused it to kern
  5978. things too closely together. This also reduced the number
  5979. of kern pairs generated.</li>
  5980. <li>Fixed a crash when loading a truetype font (if a
  5981. glyph's start point and end point were both off-curve
  5982. points then the point between them was interpolated
  5983. incorrectly).</li>
  5984. <li>FontForge should now work with XFree 4.0.* before it
  5985. would crash after putting up the splash screen.</li>
  5986. </ul>
  5987. </li>
  5988. <li>21 Mar 2001
  5989. <ul>
  5990. <li>Fixed yet another remove overlap bug.</li>
  5991. </ul>
  5992. </li>
  5993. <li>12 Mar 2001
  5994. <ul>
  5995. <li>a number of small improvements</li>
  5996. <li>fixed a crash bug (occurred when holding down the alt
  5997. key, using the pointer tool, and no reference was
  5998. selected)</li>
  5999. </ul>
  6000. </li>
  6001. <li>9 Mar 2001
  6002. <ul>
  6003. <li>Fixed a small bug in the hinting of glyph 0 (the
  6004. unknown character)</li>
  6005. <li>Added "rulers" to the character outline view</li>
  6006. <li>Expanded the abilities of the postscript
  6007. importer</li>
  6008. <li>Fixed yet another clipping bug.</li>
  6009. <li>Fixed a problem displaying tangent points when the
  6010. control point was less than 1 unit away</li>
  6011. <li>Provides an interface to the autotrace program to
  6012. autotrace background images</li>
  6013. <li>Fixed a crash when drawing large images.</li>
  6014. <li>Fixed a problem with detecting clockwise paths.</li>
  6015. <li>Fixed a bug with reading in Type3 fonts</li>
  6016. </ul>
  6017. </li>
  6018. <li>5 Mar 2001
  6019. <ul>
  6020. <li>Minimal truetype instructing (hinting) is now in
  6021. place.
  6022. <table cellpadding="2" border="1">
  6023. <tr>
  6024. <td>
  6025. <p class="c4"><img src="HI.nohints.png" width=
  6026. "44" height="28" /><br />
  6027. no hints</p>
  6028. </td>
  6029. <td>
  6030. <p class="c4"><img src="HI.hints.png" width="44"
  6031. height="28" /><br />
  6032. hints</p>
  6033. </td>
  6034. </tr>
  6035. </table>
  6036. </li>
  6037. <li>This includes applying instructions to all points
  6038. that lie on the Hints generated for PostScript, a certain
  6039. amount of extra effort to detect serifs, and application
  6040. of the PostScript BlueValues to the TrueType cvt.</li>
  6041. <li>AutoHint has been improved for some characters
  6042. again.</li>
  6043. </ul>
  6044. </li>
  6045. <li>4 Mar 2001
  6046. <ul>
  6047. <li>When Get Info is applied to a single selected
  6048. reference character the dialog now has a button which
  6049. will bring up a window displaying the character refered
  6050. to.</li>
  6051. <li>The Font View now displays info on the current
  6052. character</li>
  6053. <li>Selecting by dragging out a rectangle in the
  6054. character outline view would sometimes miss points. I
  6055. think that's fixed.</li>
  6056. <li>Doing a multi-character copy in the fontview would
  6057. remove non-existent characters from the copy set. They
  6058. are no longer removed.</li>
  6059. <li>Build Accented character would always use a dotlessi
  6060. when building an character based on an "i". This behavior
  6061. is only correct if the accent added is above the letter.
  6062. Adding an ogonek for example should retain the dot. This
  6063. is now fixed. (In theory the same problem could occur for
  6064. j, but I don't think there are any cases where it
  6065. does).</li>
  6066. <li>When generating a type1 font FontForge will detect
  6067. whether Flex hints can be used and use them if
  6068. appropriate.</li>
  6069. <li>There was a bug in the routine that read in flex
  6070. hints. It would leave behind 6 extra points not on any
  6071. path in most characters with a flex hint. These points
  6072. were not harmful, but they should not have been
  6073. there.</li>
  6074. <li>I found some cases where autohint picked the wrong
  6075. hints. I cleaned them up. I hope I haven't broken
  6076. others...</li>
  6077. <li>Fixed another clipping problem.</li>
  6078. <li>(Various experiments with instructing truetype have
  6079. yielded no display improvement)</li>
  6080. </ul>
  6081. </li>
  6082. <li>25 Feb 2001
  6083. <ul>
  6084. <li>FontForge no longer crashes on high-end systems where
  6085. the default visual has a smaller depth than the maximum
  6086. the screen supports.</li>
  6087. <li>FontForge no longer crashes on systems with no bitmap
  6088. unicode fonts installed.</li>
  6089. <li>When FontForge reads in a Type1 font it will preserve
  6090. the original character strings (the type1 strings that
  6091. define the glyph shape) and will write them out again
  6092. when you save the font. If you modify a character (even
  6093. something innocuous like setting the width) the string
  6094. for that character will be lost. This means that any
  6095. characters you do not modify will retain flex hints and
  6096. hint substitution. (the Subrs and OtherSubrs arrays are
  6097. also preserved).</li>
  6098. <li>There is now a way to edit the entries in the Private
  6099. dictionary (well most of them. No way to edit the Subrs
  6100. entry). The program will guess at good values for some
  6101. entries (like StdHW or BlueValues). If there is no
  6102. BlueValues entry present when a type1 font is generated
  6103. then the program will guess at good values (and will also
  6104. guess at values for OtherBlues), otherwise it will use
  6105. the one supplied. Similarly for StdHW and StdVW (if StdHW
  6106. is absent then the program will guess at SnapStemH too,
  6107. similarly for SnapStemV). If UniqueID is present in the
  6108. Private dictionary then that value will be used in the
  6109. font dictionary, if no UniqueID is present then the
  6110. program will generate a random number in the allowed
  6111. range.
  6112. <hr />
  6113. </li>
  6114. <li>Removed a number of warnings from the code</li>
  6115. <li>Made arrow keys functional in the fontview</li>
  6116. <li>Changed type0 unicode generation so that if the font
  6117. does not contain U+2700-U+27FF the printer's own
  6118. ZapfDingbats (if present) will be mapped there.</li>
  6119. <li>Added Adobe Standard to the Font Info Encoding
  6120. list.</li>
  6121. </ul>
  6122. </li>
  6123. <li>20 Feb 2001
  6124. <ul>
  6125. <li>Fixed some problems in saving both Type1s and
  6126. TrueType fonts.</li>
  6127. <li>Added clipping code to the outline character view.
  6128. (Before at magnifications around 100 or so we'd run into
  6129. overflow problems)</li>
  6130. <li>Added progress widget to font generation (and font
  6131. database saving)</li>
  6132. </ul>
  6133. </li>
  6134. <li>13 Feb 2001
  6135. <ul>
  6136. <li>Fixed some problems with the configure script
  6137. (handles libraries now)</li>
  6138. <li>Added a progress widget to show how things are going
  6139. on long operations (currently only font opens)</li>
  6140. <li>Fixed numerous small annoyances</li>
  6141. <li>Fixed a crash I introduced into build accented
  6142. characters.</li>
  6143. <li>Fixed a couple of bugs in truetype generation</li>
  6144. </ul>
  6145. </li>
  6146. <li>11 Feb 2001
  6147. <ul>
  6148. <li>Added a configure script</li>
  6149. <li>Rearranged (simplified) the directory structure</li>
  6150. <li>Improved the build accented character function</li>
  6151. <li>(similar improvements to display of unicode text (in
  6152. text fields, etc.) with composing characters)</li>
  6153. <li>BiDi text was previously confused by composed
  6154. characters and would put them on the wrong letter.
  6155. Fixed.</li>
  6156. </ul>
  6157. </li>
  6158. <li>9 Feb 2001
  6159. <ul>
  6160. <li>Tweaked some include files so fontforge might compile
  6161. under Irix</li>
  6162. <li>Added anti-aliasing code to the font view.</li>
  6163. <li>Fixed bugs where server has 24bit depth but 32bit
  6164. pixel size</li>
  6165. <li>Added a resource which turn palettes off (so they
  6166. stop trying to steal focus and stop trying to track the
  6167. main window)</li>
  6168. </ul>
  6169. </li>
  6170. <li>7 Feb 2001
  6171. <ul>
  6172. <li>Some improvement in processing of postscript names in
  6173. true type fonts (will make truetype output marginally
  6174. smaller in most cases)</li>
  6175. <li>Fixed a bug with popup menus.</li>
  6176. <li>Holding down the meta key allows you to drag (rather
  6177. than resize) references which fill the bounding box.</li>
  6178. <li>Improved saving of both postscript and truetype fonts
  6179. when there are composite characters referring to other
  6180. composites.</li>
  6181. <li>Fixed bug in file chooser where typing into the
  6182. listbox (to select a file) made it think (sometimes) that
  6183. it had a directory.</li>
  6184. <li>Fixed bug in Goto Char code where it would refuse to
  6185. go to a character's location (sometimes) if the character
  6186. had not been created yet.</li>
  6187. <li>Improved drawing of palettes on indexed displays</li>
  6188. <li>Improved accent processing in build accented
  6189. characters</li>
  6190. </ul>
  6191. </li>
  6192. <li>26 Jan 2001
  6193. <ul>
  6194. <li>Fixed a bug that kept the file chooser (the open file
  6195. dlg, etc.) from browsing the root directory.</li>
  6196. <li>Realized that libgif is just a symbolic link to
  6197. libungif. Made the readgif routine use either one</li>
  6198. <li>A typo in writepng caused it to require libpng at
  6199. link time, this has been fixed, it should now only need
  6200. libpng if someone actually loads a png file.</li>
  6201. </ul>
  6202. </li>
  6203. <li>21 Jan 2001
  6204. <ul>
  6205. <li>Added a preference dlg. Not much in it as yet.</li>
  6206. <li>fixed a number of bugs
  6207. <ul>
  6208. <li>Timers sometimes failed to go off -&gt; splash
  6209. screen might not vanish, popups might not pop,
  6210. autosave might not happen...</li>
  6211. <li>Vertical lines might cause divide by 0 errors on
  6212. some systems when reading in a font</li>
  6213. <li>Some fonts were thought not to have characters
  6214. they actually had.</li>
  6215. <li>94x94 fonts were encoded as 92x94 (losing 188
  6216. characters)</li>
  6217. <li>Fixed problems with kuten decoding</li>
  6218. <li>Fixed various crashes involving selecting and
  6219. deselecting non-existent characters</li>
  6220. </ul>
  6221. </li>
  6222. </ul>
  6223. </li>
  6224. <li>9 Jan 2001
  6225. <ul>
  6226. <li>Added Tom Harvey's man page to the distribution
  6227. (Thanks Tom!)</li>
  6228. <li>Fixed a bug where radio buttons, etc. sometimes got
  6229. left highlit</li>
  6230. <li>Added an interpreter for (some) postscript type 3
  6231. fonts</li>
  6232. <li>made libgdraw and friends into one shared
  6233. library</li>
  6234. </ul>
  6235. </li>
  6236. <li>6 Jan 2001
  6237. <ul>
  6238. <li>More distribution bug fixes</li>
  6239. <li>Fixed bugs in Overlap &amp; AutoWidth</li>
  6240. <li>Added new command to Metrics menu (Thirds in
  6241. Width)</li>
  6242. </ul>
  6243. </li>
  6244. <li>4 Jan 2001
  6245. <ul>
  6246. <li>Fixed a distribution bug</li>
  6247. <li>Fixed some problems with build accented
  6248. character</li>
  6249. </ul>
  6250. </li>
  6251. <li>2 Jan 2001
  6252. <ul>
  6253. <li>Many small improvements and bug fixes.</li>
  6254. <li>More remove overlap corrections</li>
  6255. </ul>
  6256. </li>
  6257. <li>21 Dec 2000
  6258. <ul>
  6259. <li>I think I'm reading xfig splines properly now. The
  6260. conversion to postscript still leaves something to be
  6261. desired, but it's as good as I'm likely to make it.</li>
  6262. </ul>
  6263. </li>
  6264. <li>20 Dec 2000
  6265. <ul>
  6266. <li>Generate Fonts can produce TrueType</li>
  6267. </ul>
  6268. </li>
  6269. <li>17 Dec 2000
  6270. <ul>
  6271. <li>TrueType reader now gets (horizontal) kerning
  6272. info</li>
  6273. <li>Added code that automagically preserves changes if
  6274. the program should crash (but does not save on the source
  6275. file unless you ask it to).</li>
  6276. <li>Added a Revert File command.</li>
  6277. </ul>
  6278. </li>
  6279. <li>16 Dec 2000
  6280. <ul>
  6281. <li>FontForge will now read in a TrueType font
  6282. <ul>
  6283. <li>(it doesn't read hints from the font)</li>
  6284. <li>(it doesn't read bitmaps from the font)</li>
  6285. </ul>
  6286. </li>
  6287. </ul>
  6288. </li>
  6289. <li>14 Dec 2000
  6290. <ul>
  6291. <li>Got FontForge to build on a netbsd alpha box</li>
  6292. <li>Added Auto Width &amp; Auto Kern commands</li>
  6293. <li>If you do a translation which is of the entire
  6294. outline character and is only in the x-direction, then
  6295. all the character's hints will be translated too, and if
  6296. the character is a letter then in any characters which
  6297. depend on this one, the other things in the character
  6298. will also be translated.</li>
  6299. </ul>
  6300. </li>
  6301. <li>12 Dec 2000
  6302. <ul>
  6303. <li>Added a skew command to the bitmap view</li>
  6304. <li>Added Interpolate Fonts</li>
  6305. </ul>
  6306. </li>
  6307. <li>11 Dec 2000
  6308. <ul>
  6309. <li>fixed more remove overlap bugs (don't know of any
  6310. left)</li>
  6311. <li>Added Merge Font command</li>
  6312. </ul>
  6313. </li>
  6314. <li>10 Dec 2000
  6315. <ul>
  6316. <li>fixed many small bugs with constrained movements</li>
  6317. <li>fixed many autohinting bugs</li>
  6318. <li>Fixed some remove overlap bugs</li>
  6319. <li>Added backup files when saving sfd files</li>
  6320. </ul>
  6321. </li>
  6322. <li>5 Dec 2000
  6323. <ul>
  6324. <li>Added a command that automagically builds an accented
  6325. (or general composite) character. (<a href=
  6326. "elementmenu.html#Accented">see below</a>)</li>
  6327. <li>Added support for various CJK encodings (JIS 208, JIS
  6328. 212, old KSC 5601, GB 2302, all 94x94)</li>
  6329. <li>Implemented a fairly poor importer/exporter of xfig
  6330. files. (I don't know how to convert XSplines to Bézier
  6331. Splines reasonably).</li>
  6332. <li>Implemented a metrics window, added support for
  6333. kerning (kern info only lives in the afm file, not in the
  6334. font itself)</li>
  6335. <li>Metrics window will also display text from bitmap
  6336. fonts (but you mayn't change a bitmap's metrics)</li>
  6337. <li>Reexamined palette code with transient windows. It
  6338. seems to work on kde now.</li>
  6339. <li>Fixed blinking cursor on 8&amp;16 bit-depth
  6340. displays</li>
  6341. </ul>
  6342. </li>
  6343. <li>1 Dec 2000
  6344. <ul>
  6345. <li>Generate &amp; save bitmaps</li>
  6346. <li>Bitmap editor (added a couple of tools like flipping
  6347. and corner turning, circle drawing, etc. that aren't in
  6348. fontographer)</li>
  6349. <li>fontview can display a bitmap, if it does then double
  6350. clicking on a char will display the bitmap</li>
  6351. <li>Changing the width of a character (in outline view)
  6352. will automatically change the width of all bitmaps of
  6353. that character. Also if the character is a letter and
  6354. there are accented characters which refer to it and the
  6355. accented characters have the same with that the letter
  6356. used to have, then the accented characters (and their
  6357. bitmaps) will also have their width updated.</li>
  6358. <li>Can import and export bitmap images into bitmap
  6359. window</li>
  6360. <li>Can import a bdf file</li>
  6361. <li>Can copy and paste in the fontview (bitmaps can be
  6362. affected as well as outlines)</li>
  6363. </ul>
  6364. </li>
  6365. <li>28 Nov 2000
  6366. <ul>
  6367. <li>Improved star tool</li>
  6368. <li>Added various metrics menu items</li>
  6369. <li>Added a simplify command</li>
  6370. <li>fixed bugs in the merge command</li>
  6371. <li>Made font view functional, can apply to many outline
  6372. characters at once
  6373. <ul>
  6374. <li>transform</li>
  6375. <li>expand stroke</li>
  6376. <li>remove overlap</li>
  6377. <li>simplify</li>
  6378. <li>metrics items above</li>
  6379. <li>Char Info</li>
  6380. </ul>
  6381. </li>
  6382. </ul>
  6383. </li>
  6384. <li>19 Nov 2000
  6385. <ul>
  6386. <li>Added Calligraphic expand stroke</li>
  6387. <li>Added Get Info</li>
  6388. <li>Added Correct Path Direction</li>
  6389. <li>Added Remove Overlap (probably very buggy)</li>
  6390. <li>Enhanced support for Unicode, added type0 font
  6391. output.</li>
  6392. <li>Added type3 output (not compressed type 3, can't open
  6393. a type3 or type0)</li>
  6394. <li>Sped up background image drawing.</li>
  6395. <li>Implemented drag-resize of images and referenced
  6396. characters</li>
  6397. <li>Added Rectangle, Ellipse, Polygon and Star
  6398. tools.</li>
  6399. </ul>
  6400. </li>
  6401. <li>14 Nov 2000
  6402. <ul>
  6403. <li>Added expand stroke</li>
  6404. <li>Paths stored in .sfd files are now closed (bug
  6405. fix)</li>
  6406. </ul>
  6407. </li>
  6408. <li>13 Nov 2000
  6409. <ul>
  6410. <li>Added the equivalent of a .fog file (Spline Font
  6411. Database, sfd files)</li>
  6412. <li>Implemented transform tools</li>
  6413. <li>continued fixing palettes</li>
  6414. </ul>
  6415. </li>
  6416. <li>11 Nov 2000
  6417. <ul>
  6418. <li>Imports and exports simple eps files for
  6419. characters</li>
  6420. <li>Transform allows you to pick origin</li>
  6421. <li>Bunch of menu items for manual hinting added. (I hope
  6422. I'm done with hints now... at least till I look at
  6423. truetype)</li>
  6424. <li>Clockwise now agrees with Fontographer (and everyone
  6425. else)</li>
  6426. <li>Added "pen" , and a knife tools</li>
  6427. <li>(Added many other tools pictures, but they aren't
  6428. implemented yet)</li>
  6429. <li>Fixed many palette problems. (including kde's not
  6430. doing menu shortcuts)</li>
  6431. <li>Put in menu items to show/hide palettes</li>
  6432. </ul>
  6433. </li>
  6434. <li>9 Nov 2000
  6435. <ul>
  6436. <li>It can now calculate hints, font wide stem hints and
  6437. character specific hints.</li>
  6438. <li>Transform should do rotations right now.</li>
  6439. <li>Metamorphosis file format bug should be fixed</li>
  6440. </ul>
  6441. </li>
  6442. </ul>
  6443. <p>FontForge (as PfaEdit) was initially made available (on the
  6444. web) on 7 Nov 2000, and moved to sourceforge 21 Apr 2001. I
  6445. started coding it in approximately Sept of 2000.</p>
  6446. </div>
  6447. </body>
  6448. </html>