/src/freetype/ChangeLog

https://bitbucket.org/cabalistic/ogredeps/ · #! · 4076 lines · 2728 code · 1348 blank · 0 comment · 0 complexity · 832c811345055c094e0e0cab5134e60b MD5 · raw file

Large files are truncated click here to view the full file

  1. 2012-03-08 Werner Lemberg <wl@gnu.org>
  2. * Version 2.4.9 released.
  3. =========================
  4. Tag sources with `VER-2-4-9'.
  5. * docs/CHANGES: Updated.
  6. * docs/VERSION.DLL: Update documentation and bump version number to
  7. 2.4.9.
  8. * README, Jamfile (RefDoc),
  9. builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  10. builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  11. builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  12. builds/win32/visualc/freetype.dsp,
  13. builds/win32/visualc/freetype.vcproj,
  14. builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  15. builds/win32/visualce/freetype.vcproj,
  16. builds/win32/visualce/index.html,
  17. builds/wince/vc2005-ce/freetype.vcproj,
  18. builds/wince/vc2005-ce/index.html,
  19. builds/wince/vc2008-ce/freetype.vcproj,
  20. builds/wince/vc2008-ce/index.html: s/2.4.8/2.4.9/, s/248/249/.
  21. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 9.
  22. * builds/unix/configure.raw (version_info): Set to 14:1:8.
  23. 2012-03-08 Werner Lemberg <wl@gnu.org>
  24. [bdf] Add missing overflow check.
  25. * src/bdf/bdflib.c (_bdf_parse_glyphs) <BITMAP>: Add threshold for
  26. `glyph->bpr'.
  27. 2012-03-07 Vinnie Falco <vinnie.falco@gmail.com>
  28. Prepare source code for amalgamation.
  29. * src\autofit\aferrors.h, src\bdf\bdferror.h, src\bzip2\ftbzip2.c,
  30. src\cache\ftcerror.h, src\cff\cfferrs.h, src\cid\ciderrs.h,
  31. src\gxvalid\gxverror.h, src\gzip\ftgzip.c, src\lzw\ftlzw.c,
  32. src\otvalid\otverror.h, src\pcf\pcferror.h, src\pfr\pfrerror.h,
  33. src\psaux\psauxerr.h, src\pshinter\pshnterr.h,
  34. src\psnames\psnamerr.h, src\raster\rasterrs.h, src\sfnt\sferrors.h,
  35. src\smooth\ftsmerrs.h, src\truetype\tterrors.h,
  36. src\type1\t1errors.h, src\type42\t42error.h, src\winfonts\fnterrs.h:
  37. Add #undef FT_ERR_PREFIX before #define FT_ERR_PREFIX.
  38. 2012-03-03 Werner Lemberg <wl@gnu.org>
  39. Fix Savannah bug #35660.
  40. For some divisions, we use casts to 32bit entities. Always guard
  41. against division by zero with these casts also.
  42. * src/base/ftcalc.c (ft_div64by32): Remove redundant cast.
  43. (FT_MulDiv, FT_MulDiv_No_Round): Add 32bit cast.
  44. (FT_DivFix): Add 32bit cast (this omission triggered the bug).
  45. 2012-03-03 Werner Lemberg <wl@gnu.org>
  46. [psaux] Fix handling of track kerning.
  47. * src/psaux/afmparse.c (afm_parse_track_kern): Don't inverse sign
  48. for `min_kern'. It is indeed quite common that track kerning
  49. *increases* spacing for very small sizes.
  50. 2012-03-02 Werner Lemberg <wl@gnu.org>
  51. [truetype] Fix Savannah bug #35689.
  52. * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check first outline
  53. point.
  54. 2012-03-01 Werner Lemberg <wl@gnu.org>
  55. [bdf] Fix Savannah bug #35656.
  56. * src/bdf/bdflib.c (_bdf_parse_glyphs) <_BDF_BITMAP>: Check validity
  57. of nibble characters instead of accessing `a2i' array.
  58. 2012-03-01 Werner Lemberg <wl@gnu.org>
  59. [winfonts] Fix Savannah bug #35659.
  60. * src/winfonts/winfnt.c (FNT_Face_Init): Check number of glyphs.
  61. 2012-03-01 Werner Lemberg <wl@gnu.org>
  62. [bdf] Fix Savannah bug #35658.
  63. * src/bdf/bdflib.c (_bdf_list_split): Initialize `field' elements
  64. properly.
  65. 2012-03-01 Werner Lemberg <wl@gnu.org>
  66. [psaux] Fix Savannah bug #35657.
  67. If in function `skip_spaces' the routine `skip_comment' comes to the
  68. end of buffer, `cur' is still increased by one, so we need to check
  69. for `p >= limit' and not `p == limit'.
  70. * src/psaux/psconv.c (PS_Conv_Strtol, PS_Conv_ToFixed,
  71. PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Fix boundary checking.
  72. 2012-03-01 Werner Lemberg <wl@gnu.org>
  73. [truetype] Fix Savannah bug #35646.
  74. * src/truetype/ttinterp.c (Ins_MIRP): Typo, present since ages. The
  75. code is now in sync with the other operators (e.g. MSIRP) which
  76. modify twilight points.
  77. 2012-03-01 Werner Lemberg <wl@gnu.org>
  78. [bdf] Fix Savannah bug #35643.
  79. * src/bdf/bdflib.c (_bdf_list_ensure): Bring code in sync with
  80. comment before `_bdf_list_split', this is, really allocate at least
  81. five `field' elements.
  82. 2012-03-01 Werner Lemberg <wl@gnu.org>
  83. [bdf] Fix Savannah bug #35641.
  84. * src/bdf/bdflib.c (_bdf_parse_glyphs) <DWIDTH, BBX>: Abort if
  85. _BDF_ENCODING isn't set. We need this because access to the `glyph'
  86. variable might be undefined otherwise.
  87. 2012-03-01 Werner Lemberg <wl@gnu.org>
  88. [truetype] Fix Savannah bug #35640.
  89. * src/truetype/ttinterp.c (SkipCode, TT_RunIns): Fix boundary check
  90. for NPUSHB and NPUSHW instructions.
  91. 2012-02-29 Werner Lemberg <wl@gnu.org>
  92. [truetype] Fix Savannah bug #35601.
  93. * src/truetype/ttinterp.c (Ins_SHZ): Use number of points instead of
  94. last point for loop.
  95. Also remove redundant boundary check.
  96. 2012-02-29 Werner Lemberg <wl@gnu.org>
  97. [truetype] Remove redundant check.
  98. * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
  99. second check for ordered contour start points.
  100. 2012-02-29 Werner Lemberg <wl@gnu.org>
  101. [truetype] Make SHC instruction behave similar to MS rasterizer.
  102. * src/truetype/ttinterp.c (Ins_SHC): Handle virtual contour in
  103. twilight zone.
  104. 2012-02-29 Alexei Podtelezhnikov <apodtele@gmail.com>
  105. Avoid modulo operators against a power-of-two denominator.
  106. * src/afcjk.c (af_hint_normal_stem), src/base/ftoutln.c
  107. (ft_contour_has), src/cff/cffgload.c (cff_decoder_parse_charstrings)
  108. <cff_op_vvcurveto, cff_op_hhcurveto, cff_op_hvcurveto>,
  109. src/gxvalid/gxvcommn.c (GXV_32BIT_ALIGNMENT_VALIDATE),
  110. src/gxvalid/gxvfeat.c (gxv_feat_setting_validate): Replace `%' with
  111. `&' operator.
  112. 2012-02-29 Werner Lemberg <wl@gnu.org>
  113. [autofit] Don't synchronize digit widths for light rendering mode.
  114. We don't hint horizontally in this mode.
  115. * src/autofit/afloader.c (af_loader_load_g) <Hint_Metrics>:
  116. Implement it.
  117. 2012-02-26 Alexei Podtelezhnikov <apodtele@gmail.com>
  118. [type42] Minor code optimization (again).
  119. * src/type42/t42parse.c (t42_parse_sfnts): Simplify previous change.
  120. 2012-02-26 Mateusz Jurczyk <mjurczyk@google.com>
  121. Werner Lemberg <wl@gnu.org>
  122. [smooth] Fix Savannah bug #35604.
  123. * src/smooth/ftsmooth.c (ft_smooth_render_generic): Use `FT_Pos'
  124. instead of `FT_UInt' for some variables and update comparisons
  125. accordingly. A detailed analysis can be found in the bug report.
  126. 2012-02-26 Alexei Podtelezhnikov <apodtele@gmail.com>
  127. [type42] Minor code optimization.
  128. * src/type42/t42parse.c (t42_parse_sfnts): Use bitmask instead of
  129. modulo operator.
  130. 2012-02-26 Werner Lemberg <wl@gnu.org>
  131. * docs/CHANGES: Updated.
  132. 2012-02-26 Werner Lemberg <wl@gnu.org>
  133. [type1] Fix Savannah bug #35608.
  134. * src/type1/t1parse.c (T1_Get_Private_Dict): Reject too short
  135. dictionaries.
  136. 2012-02-26 Werner Lemberg <wl@gnu.org>
  137. [bdf] Support `ENCODING -1 <n>' format.
  138. * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Implement it.
  139. 2012-02-26 Werner Lemberg <wl@gnu.org>
  140. [bdf] Fix Savannah bug #35607.
  141. * src/bdf/bdflib.c (_bdf_parse_glyphs) <ENCODING>: Normalize
  142. negative encoding values.
  143. 2012-02-26 Werner Lemberg <wl@gnu.org>
  144. [type1] Fix Savannah bug #35606.
  145. * src/type1/t1load.c (parse_subrs): Add proper guards for `strncmp'.
  146. * src/psaux/psobjs.c (ps_parser_skip_PS_token): Emit error message
  147. only if cur < limit.
  148. 2012-02-25 Werner Lemberg <wl@gnu.org>
  149. [pcf] Fix Savannah bug #35603.
  150. * src/pcf/pcfread.c (pcf_get_properties): Assure final zero byte in
  151. `strings' array.
  152. 2012-02-25 Werner Lemberg <wl@gnu.org>
  153. [type42] Fix Savannah bug #35602.
  154. * src/type42/t42parse.c (t42_parse_sfnts): Check `string_size' more
  155. thoroughly.
  156. 2012-02-25 Werner Lemberg <wl@gnu.org>
  157. [bdf] Fix Savannah bugs #35599 and #35600.
  158. * src/bdf/bdflib.c (ACMSG16): New warning message.
  159. (_bdf_parse_glyphs) <_BDF_BITMAP>: Check line length.
  160. 2012-02-24 Werner Lemberg <wl@gnu.org>
  161. [bdf] Fix Savannah bugs #35597 and #35598.
  162. * src/bdf/bdflib.c (_bdf_is_atom): Fix handling of property value.
  163. 2012-02-24  Vinnie Falco <vinnie.falco@gmail.com>
  164. Prepare source code for amalgamation (6/6).
  165. * src/cff/cffdrivr.c: s/Load_Glyph/cff_glyph_load/.
  166. * src/cid/cidload.c: s/parse_font_matrix/cid_parse_font_matrix/.
  167. s/t1_init_loader/cid_init_loader/.
  168. s/t1_done_loader/cid_done_loader/.
  169. * src/pxaux/t1cmap.c: s/t1_get_glyph_name/psaux_get_glyph_name/.
  170. * src/truetype/ttdriver.c: s/Load_Glyph/tt_glyph_load/.
  171. * src/type1/t1load.c: s/parse_font_matrix/t1_parse_font_matrix/.
  172. 2012-02-24  Vinnie Falco <vinnie.falco@gmail.com>
  173. Prepare source code for amalgamation (5/6).
  174. * include/freetype/fterrors.h: Undefine FT_KEEP_ERR_PREFIX after
  175. using it.
  176. 2012-02-22  Vinnie Falco <vinnie.falco@gmail.com>
  177. Prepare source code for amalgamation (4/6).
  178. * src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine RAS_ARG,
  179. RAS_ARGS, RAS_VAR, and RAS_VARS before defining it.
  180. * src/smooth/ftgrays.c: s/TRaster/black_TRaster/,
  181. s/PRaster/black_PRaster/.
  182. * src/raster/ftraster.c: s/TRaster/gray_TRaster/,
  183. s/PRaster/gray_PRaster/.
  184. 2012-02-20  Vinnie Falco <vinnie.falco@gmail.com>
  185. Prepare source code for amalgamation (3/6).
  186. * src/smooth/ftgrays.c: s/TWorker/black_TWorker/,
  187. s/PWorker/black_PWorker/.
  188. * src/raster/ftraster.c: s/TWorker/gray_TWorker/,
  189. s/PWorker/gray_PWorker/.
  190. 2012-02-20  Vinnie Falco <vinnie.falco@gmail.com>
  191. Prepare source code for amalgamation (2/6).
  192. * src/smooth/ftgrays.c, src/raster/ftraster.c: Undefine FLOOR,
  193. CEILING, TRUNC, and SCALED before defining it.
  194. 2012-02-20  Vinnie Falco <vinnie.falco@gmail.com>
  195. Prepare source code for amalgamation (1/6).
  196. See discussion starting at
  197. http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00037.html
  198. * src/smooth/ftgrays.c: s/TBand/gray_TBand/.
  199. * src/raster/ftraster.c: s/TBand/black_TBand/.
  200. 2012-02-17 Alexei Podtelezhnikov <apodtele@gmail.com>
  201. [autofit] Fix outline flags.
  202. * src/autofit/afloader.c (af_loader_load_g): Don't reassign
  203. `outline.flags' so that this information is preserved. See
  204. discussion starting at
  205. http://lists.gnu.org/archive/html/freetype-devel/2012-02/msg00046.html
  206. 2012-02-11 Werner Lemberg <wl@gnu.org>
  207. [truetype] Fix Savannah bug #35466.
  208. Jump instructions are now bound to the current function. The MS
  209. Windows rasterizer behaves the same, as confirmed by Greg Hitchcock.
  210. * src/truetype/ttinterp.h (TT_CallRec): Add `Cur_End' element.
  211. * src/truetype/ttobjs.h (TT_DefRecord): Add `end' element.
  212. * src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF): Check upper
  213. bound of jump address.
  214. (Ins_FDEF, Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns): Updated.
  215. 2012-02-11 Werner Lemberg <wl@gnu.org>
  216. We don't use `extensions'.
  217. * include/freetype/internal/ftobjs.h (FT_DriverRec): Remove
  218. `extensions' field.
  219. 2012-02-11 Werner Lemberg <wl@gnu.org>
  220. Clean up `generic' fields.
  221. * include/freetype/internal/ftobjs.h (FT_ModuleRec, FT_LibraryRec):
  222. Remove `generic' field since users can't access it.
  223. * src/base/ftobjs.c (FT_Done_GlyphSlot): Call `generic.finalizer' as
  224. advertised in the documentation of FT_Generic.
  225. (Destroy_Module, FT_Done_Library): Updated to changes in `ftobjs.h'.
  226. 2012-02-07 Werner Lemberg <wl@gnu.org>
  227. [autofit] Harmonize function arguments.
  228. * src/autofit/afloader.c, src/autofit/afloader.h: Use `FT_Int32' for
  229. `load_flags'.
  230. 2012-02-07 Werner Lemberg <wl@gnu.org>
  231. * src/cff/cffobjs.c (cff_face_init): Remove unnecessary casts.
  232. 2012-01-17 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  233. [gxvalid] Fix Savannah bug #35286.
  234. Patch submitted by anonymous reporter.
  235. * src/gxvalid/gxvcommn.c (gxv_XStateTable_subtable_setup):
  236. gxv_set_length_by_ulong_offset() must be called with 3, not 4,
  237. the number of the subtables in the state tables; classTable,
  238. stateArray, entryTable.
  239. 2012-01-17 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  240. [raccess] Modify for PIC build.
  241. Based on the patch provided by Erik Dahlstrom <ed@opera.com>,
  242. http://lists.gnu.org/archive/html/freetype-devel/2012-01/msg00010.html
  243. Also `raccess_guess_table[]' and `raccess_rule_by_darwin_vfs()'
  244. are renamed with `ft_' suffixes.
  245. * src/base/ftbase.h: `raccess_rule_by_darwin_vfs()' is renamed
  246. to `ft_raccess_rule_by_darwin_vfs()'.
  247. * src/base/ftobjs.c: Ditto.
  248. * src/base/ftrfork.c: Declarations of FT_RFork_Rule,
  249. raccess_guess_rec, are moved to...
  250. * include/freetype/internal/ftrfork.h: Here.
  251. * include/freetype/internal/ftrfork.h:
  252. FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END} macros are defined
  253. to replace raccess_guess_table[] in both of PIC and non-PIC
  254. modes.
  255. * src/base/ftrfork.c: raccess_guess_table[] array is rewritten
  256. by FT_RFORK_RULE_ARRAY_{BEGIN,ENTRY,END}.
  257. * src/base/basepic.h (BasePIC): Add `ft_raccess_guess_table'
  258. storage. (FT_RACCESS_GUESS_TABLE_GET): New macro to retrieve
  259. the function pointer from `ft_raccess_guess_table' storage in
  260. `BasePIC' structure.
  261. * src/base/ftrfork.c (FT_Raccess_Guess): Rewritten with
  262. FT_RACCESS_GUESS_TABLE_GET.
  263. (raccess_get_rule_type_from_rule_index): Add `library' as the
  264. first argument to the function, to retrieve the storage of
  265. `ft_raccess_guess_table' from it. Also `raccess_guess_table'
  266. is replaced by FT_RACCESS_GUESS_TABLE_GET.
  267. (ft_raccess_rule_by_darwin_vfs): Ditto.
  268. 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  269. Remove trailing spaces.
  270. 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  271. Formatting PIC related sources.
  272. * src/autofit/afpic.c: Harmonize to FT2 coding conventions.
  273. * src/base/basepic.c: Ditto.
  274. * src/base/ftpic.c: Ditto.
  275. * src/cff/cffpic.c: Ditto.
  276. * src/pshinter/pshpic.c: Ditto.
  277. * src/psnames/pspic.c: Ditto.
  278. * src/raster/rastpic.c: Ditto.
  279. * src/sfnt/sfntpic.c: Ditto.
  280. * src/smooth/ftspic.c: Ditto.
  281. * src/truetype/ttpic.c: Ditto.
  282. 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  283. [autofit] Fix the inclusion of `aflatin2.h' in PIC file.
  284. * src/autofit/afpic.c: Include `aflatin2.h' when
  285. FT_OPTION_AUTOFIT2 is defined, as afglobal.c does so.
  286. Unconditionally inclusion causes declared but unimplemented
  287. warning by GCC 4.6.
  288. 2012-01-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  289. [cff] Remove redundant declarations of cff_cmap_XXX_class_rec.
  290. * src/cff/cffpic.c: The declarations of
  291. FT_Init_Class_cff_cmap_encoding_class_rec() and
  292. FT_Init_Class_cff_cmap_unicode_class_rec() are removed.
  293. They can be obtained by the inclusion of cffcmap.h.
  294. cffcmap.h invokes FT_DECLARE_CMAP_CLASS() and it declares
  295. FT_Init_Class_cff_cmap_encoding_class_rec() etc in PIC mode.
  296. 2012-01-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  297. Fix redundant declaration warning in PIC mode.
  298. Originally FT_DEFINE_{DRIVER,MODULE,RENDERER}() macros were
  299. designed to declare xxx_pic_{free,init} by themselves.
  300. Because these macros are used at the end of the module
  301. interface (e.g. ttdriver.c) and the wrapper source to build
  302. a module as a single object (e.g. truetype.c) includes
  303. the PIC file (e.g. ttpic.c) before the module interface,
  304. these macros are expanded AFTER xxx_pic_{free,init} body
  305. when the modules are built as single object.
  306. The declaration after the implementation causes the redundant
  307. declaration warnings, so the declarations are moved to module
  308. PIC headers (e.g. ttpic.h). Separating to other header files
  309. are needed for multi build.
  310. * include/freetype/internal/ftdriver.h (FT_DEFINE_DRIVER):
  311. Remove class_##_pic_free and class_##_pic_init declarations.
  312. * include/freetype/internal/ftobjs.h (FT_DEFINE_RENDERER,
  313. FT_DEFINE_MODULE): Ditto.
  314. * src/base/basepic.h: Insert a comment and fix coding style.
  315. * src/autofit/afpic.h: Declare autofit_module_class_pic_{free,
  316. init}.
  317. * src/cff/cffpic.h: Declare cff_driver_class_pic_{free,init}.
  318. * src/pshinter/pshpic.h: Declare pshinter_module_class_pic_{free,
  319. init}.
  320. * src/psnames/pspic.h: Declare psnames_module_class_pic_{free,
  321. init}.
  322. * src/raster/rastpic.h: Declare
  323. ft_raster{1,5}_renderer_class_pic_{free,init}
  324. * src/sfnt/sfntpic.h: Declare sfnt_module_class_pic_{free,init}.
  325. * src/smooth/ftspic.h: Declare
  326. ft_smooth_{,lcd_,lcdv_}renderer_class_pic_{free,init}.
  327. * src/truetype/ttpic.h: Declare tt_driver_class_pic_{free,init}.
  328. 2012-01-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  329. Make pspic.c to include module error header to fix multi build.
  330. * src/psnames/pspic.c: Include `psnamerr.h'.
  331. 2012-01-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  332. [base] Fix a dereference of uninitialized variable in PIC mode.
  333. * src/base/ftglyph.c (FT_Glyph_To_Bitmap): `glyph' must be
  334. set before derefering to obtain `library'. The initialization
  335. of `clazz', `glyph', `library' and NULL pointer check are
  336. reordered to minimize PIC conditonals.
  337. 2012-01-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  338. [base] Insert explicit cast for GCC 4.6 in PIC mode.
  339. * src/base/ftinit.c (FT_Add_Default_Modules): Under PIC
  340. configuration, FT_DEFAULT_MODULES_GET returns
  341. FT_Module_Class** pointer, GCC 4.6 warns that
  342. const FT_Module_Class* const* variable is warned as
  343. inappropriate to store it. To calm it, explicit cast is
  344. inserted. Also `library' is checked to prevent the NULL
  345. pointer dereference in FT_DEFAULT_MODULES_GET.
  346. 2012-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  347. Fix PIC build broken by d9145241fe378104ba4c12a42534549faacc92e6.
  348. Under PIC configuration, FT_{CFF,PSCMAPS,SFNT,TT}_SERVICES_GET
  349. take no arguments but derefer the variable named `library'
  350. internally.
  351. * src/cff/cffdrivr.c (cff_get_interface): Declare `library' and
  352. set it if non-NULL driver is passed.
  353. * src/truetype/ttdriver.c (tt_get_interface): Ditto.
  354. * src/sfnt/sfdriver.c (sfnt_get_interface): Declare `library'
  355. under PIC configuration, and set it if non-NULL module is given.
  356. * src/psnames/psmodule.c (psnames_get_interface): Ditto.
  357. 2012-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  358. Make PIC files include module error headers, to use the error codes
  359. with per-module prefix.
  360. * src/autofit/afpic.c: Include `aferrors.h'.
  361. * src/cff/cffpic.c: Include `cfferrs.h'.
  362. * src/pshinter/pshpic.c: Include `pshnterr.h'.
  363. * src/raster/rastpic.c: Include `rasterrs.h'.
  364. * src/sfnt/sfntpic.c: Include `sferrors.h'.
  365. * src/smooth/ftspic.c: Include `ftsmerrs.h'.
  366. * src/truetype/ttpic.c: Include `tterrors.h'.
  367. 2012-01-04 Tobias Ringström <tobias@ringis.se>
  368. [truetype] Fix IP instruction if x_ppem != y_ppem.
  369. * src/truetype/ttinterp.c (Ins_IP): Scale `orus' coordinates
  370. properly.
  371. 2012-01-02 Werner Lemberg <wl@gnu.org>
  372. Fix tracing message for `loca' table.
  373. * src/truetype/ttpload.c (tt_face_get_location): Don't emit a
  374. warning message if the last `loca' entry references an empty glyph.
  375. 2011-12-10 Werner Lemberg <wl@gnu.org>
  376. Add some variable initializations.
  377. Reported by Richard COOK <rscook@unicode.org>.
  378. * src/type1/t1driver.c (t1_ps_get_font_value): Initialize `val'.
  379. * src/smooth/ftgrays.c (gray_render_conic): Initialize `levels'
  380. earlier.
  381. 2011-12-08 Werner Lemberg <wl@gnu.org>
  382. Fix serious scaling bug in `FT_Get_Advances'.
  383. * src/base/ftadvanc.c (FT_Get_Advances): Advance values returned by
  384. `FT_Load_Glyph' must be simply multiplied by 1024.
  385. 2011-12-08 Werner Lemberg <wl@gnu.org>
  386. * src/bdf/bdflib.c (_bdf_parse_start): Drop redundant error tracing.
  387. 2011-12-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  388. [mac] Unify DARWIN_NO_CARBON with FT_MACINTOSH.
  389. Originally FT_MACINTOSH was a pure auto macro and DARWIN_NO_CARBON
  390. was a configurable macro to disable Carbon-dependent code. Because
  391. now configure script sets DARWIN_NO_CARBON by default and disables
  392. Darwin & Carbon-dependent codes, these macros can be unified.
  393. FT_MACINTOSH (undefined by default) is kept and DARWIN_NO_CARBON
  394. (defined by default) is removed, because DARWIN_NO_CARBON violates
  395. FT_XXX naming convention of public macros, and a macro configured by
  396. default is not portable for the building without configure (e.g.
  397. make devel).
  398. * builds/unix/configure.raw: Define FT_MACINTOSH if Carbon-based
  399. old Mac font support is requested and Carbon is available.
  400. * builds/unix/ftconfig.in: Undefine FT_MACINTOSH when the support
  401. for Mac OS X without Carbon (e.g. Mac OS X 10.4 for ppc64) is
  402. requested.
  403. * include/freetype/config/ftconfig.in: Ditto.
  404. * builds/vms/ftconfig.h: Ditto.
  405. * src/base/ftbase.h: Remove DARWIN_NO_CARBON.
  406. * src/base/ftbase.c: Ditto.
  407. * src/base/ftobjs.c: Ditto.
  408. * src/base/ftrfork.c: Ditto.
  409. * src/base/ftmac.c: Compile the body if FT_MACINTOSH is defined
  410. (same with TT_USE_BYTECODE_INTERPRETER in ttinterp.c).
  411. * builds/mac/ftmac.c: Ditto.
  412. * builds/mac/FreeType.m68k_cfm.make.txt: Define FT_MACINTOSH.
  413. * builds/mac/FreeType.m68k_far.make.txt: Ditto.
  414. * builds/mac/FreeType.ppc_classic.make.txt: Ditto.
  415. * builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
  416. 2011-11-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  417. Fix Savannah bug #34728 (`make devel' on Mac OS X).
  418. * builds/toplevel.mk: Check `/dev/null' to identify the Unix-
  419. like systems without `init' nor `hurd' (e.g. Mac OS X >= 10.4).
  420. * builds/unix/detect.mk: Ditto.
  421. 2011-11-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  422. [apinames] Fix the overflow of signed integer hash.
  423. * src/tools/apinames.c (names_add): Change the type of `h' from
  424. int to unsigned int, to prevent undefined behaviour in the
  425. overflow of signed integers (overflow of unsigned int is defined
  426. to be wrap around). Found by clang test suggested by Sean
  427. McBride.
  428. 2011-11-30 Werner Lemberg <wl@gnu.org>
  429. [winfonts] Remove casts.
  430. * src/winfonts/winfnt.c (winfnt_driver_class): Remove all casts and
  431. update affected functions.
  432. (FNT_Size_Select): Fix number of arguments.
  433. 2011-11-30 Werner Lemberg <wl@gnu.org>
  434. [type42] Remove casts.
  435. * src/type42/t42driver.c (t42_driver_class): Remove all casts and
  436. update affected functions.
  437. * src/type42/t42objs.c, src/type42/t42objs.h: Updated for t42driver
  438. changes.
  439. 2011-11-30 Werner Lemberg <wl@gnu.org>
  440. [type1] Remove casts.
  441. * src/type1/t1driver.c (t1_driver_class): Remove all casts and
  442. update affected functions.
  443. * src/type1/t1gload.c, src/type1/t1gload.h, src/type1/t1objs.c:
  444. Updated for t1driver changes.
  445. src/type1/t1objs.h (T1_Driver): Remove unused typedef.
  446. Updated for t1driver changes.
  447. 2011-11-27 Werner Lemberg <wl@gnu.org>
  448. [bdf] Fix Savannah bug #34896.
  449. ENCODING now covers the whole Unicode range.
  450. Note, however, that this change is quite expensive since it
  451. increases the size of three arrays by almost 400kByte in total. The
  452. right fix is to replace the logic with something smarter.
  453. Additionally, there exist very old BDFs for three-byte CCCII
  454. encoding which exceeds the range of Unicode (another reason to have
  455. a smarter logic).
  456. * src/bdf/bdf.h (bdf_font_t): Increase size of `nmod' and `umod'
  457. arrays.
  458. * src/bdf/bdflib.c (bdf_parse_t): Increase size of `have' array.
  459. 2011-11-27 Werner Lemberg <wl@gnu.org>
  460. [bdf] Improve tracing.
  461. * src/bdf/bdflib.c (DBGMSG1, DBGMSG2): New macros.
  462. (_bdf_parse_glyphs): Use them.
  463. 2011-11-26 Werner Lemberg <wl@gnu.org>
  464. Improve tracing.
  465. * src/bdf/bdfdrivr.c (BDF_Face_Done), src/pcf/pcfdrivr.c
  466. (PCF_Face_Done): Remove tracing message.
  467. * src/bdf/bdfdrivr.c (BDF_Face_Init), src/cff/cffobjs.c
  468. (cff_face_init), src/cid/cidobjs.c (cid_face_init),
  469. src/pfr/pfrobjs.c (pfr_face_init), src/sfnt/sfobjs.c
  470. (sfnt_init_face), src/truetype/ttobjs.c (tt_face_init),
  471. src/type1/t1objs.c (T1_Face_Init), src/type42/t42objs.c
  472. (T42_Face_Init), src/winfonts/winfnt.c (FNT_Face_Init): Add
  473. `greeting' message.
  474. * src/sfnt/sfobjs.c (sfnt_open_font), src/type42/t42objs.c
  475. (T42_Open_Face): Improve tracing.
  476. 2011-11-26 Werner Lemberg <wl@gnu.org>
  477. [cid] Fix error code.
  478. * src/cid/cidparse.c (cid_parser_new): Do it.
  479. 2011-11-26 Werner Lemberg <wl@gnu.org>
  480. [cff] Fix error code.
  481. * src/cff/cffload.c (cff_font_load): Do it.
  482. 2011-11-26 Werner Lemberg <wl@gnu.org>
  483. Add new error code FT_Err_Missing_Module.
  484. Previously, FreeType misleadingly returned
  485. FT_Err_Unknown_File_Format if a module was missing (or a test was
  486. missing completely).
  487. * include/freetype/fterrdef.h (FT_Err_Missing_Module): Define.
  488. * src/cff/cffobjs.c (cff_face_init), src/cff/cffdrivr.c
  489. (cff_get_glyph_name), src/cid/cidobjs.c (cid_face_init),
  490. src/sfnt/sfobjs.c (sfnt_init_face), src/truetype/ttobjs.c
  491. (tt_face_init), src/type1/t1objs.c (T1_Face_Init),
  492. src/type42/t42objs.c (T42_Face_Init, T42_Driver_Init): Updated.
  493. * src/type1/t1afm.c (T1_Read_Metrics), src/type/t1objs.c
  494. (T1_Face_Init), src/type42/t42objs.c (T42_Face_Init): Remove now
  495. redundant test for `psaux'.
  496. 2011-11-25 Werner Lemberg <wl@gnu.org>
  497. [bdf] Add more error messages.
  498. * src/bdf/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
  499. Add line number argument.
  500. Update all callers.
  501. (ERRMSG5, ERRMSG6, ERRMSG7, ERRMSG8, ERRMSG9): New macros.
  502. (_bdf_readstream, _bdf_set_default_spacing, _bdf_add_property,
  503. _bdf_parse_glyphs, _bdf_parse_start): Add error messages.
  504. 2011-11-24 Werner Lemberg <wl@gnu.org>
  505. * include/freetype/fterrors.h: Remove dead code.
  506. 2011-11-15 Werner Lemberg <wl@gnu.org>
  507. * docs/releases: Updated.
  508. 2011-11-15 Werner Lemberg <wl@gnu.org>
  509. * Version 2.4.8 released.
  510. =========================
  511. Tag sources with `VER-2-4-8'.
  512. * docs/CHANGES: Updated.
  513. * docs/VERSION.DLL: Update documentation and bump version number to
  514. 2.4.8.
  515. * README, Jamfile (RefDoc),
  516. builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  517. builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  518. builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  519. builds/win32/visualc/freetype.dsp,
  520. builds/win32/visualc/freetype.vcproj,
  521. builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  522. builds/win32/visualce/freetype.vcproj,
  523. builds/win32/visualce/index.html,
  524. builds/wince/vc2005-ce/freetype.vcproj,
  525. builds/wince/vc2005-ce/index.html,
  526. builds/wince/vc2008-ce/freetype.vcproj,
  527. builds/wince/vc2008-ce/index.html: s/2.4.7/2.4.8/, s/247/248/.
  528. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
  529. * builds/unix/configure.raw (version_info): Set to 14:0:8.
  530. 2011-11-13 Chris Liddell <chris.liddell@artifex.com>
  531. Add FT_Get_PS_Font_Value() API.
  532. This allows a Type 1 font face to be interrogated to retrieve most
  533. of the dictionary keys (keys not relevant to FreeType's Type 1
  534. interpreter are not available).
  535. * include/freetype/internal/services/svpsinfo.h
  536. (PS_GetFontValueFunc): New typedef.
  537. (PSInfo): Add `ps_get_font_value'.
  538. (FT_DEFINE_SERVICE_PSINFOREC): Updated.
  539. * include/freetype/internal/t1types.h (T1_EncodingType): Moved to...
  540. * include/freetype/t1tables.h: Here.
  541. (PS_Dict_Keys): New enumeration.
  542. (FT_Get_PS_Font_Value): New declaration.
  543. * src/base/fttype1.c (FT_Get_PS_Font_Value): New function.
  544. * src/type1/t1driver.c (t1_ps_get_font_value): This new function
  545. does the real job.
  546. (t1_service_ps_info): Add it.
  547. * src/cff/cffdrivr.c (cff_service_ps_info), src/cid/cidriver.c
  548. (cid_service_ps_info), src/type42/t42drivr.c (t42_service_ps_info):
  549. Updated.
  550. 2011-11-08 Braden Thomas <bthomas@apple.com>
  551. [cid] Various loading fixes.
  552. * src/cid/cidload.c (cid_load_keyword) <default>,
  553. (parse_font_matrix, parse_expansion_factor): Correctly check number
  554. of dictionaries.
  555. (cid_read_subrs): Protect against invalid values of `num_subrs'.
  556. Assure that the elements of the `offsets' array are ascending.
  557. 2011-11-05 Werner Lemberg <wl@gnu.org>
  558. * README: We use copyright ranges also.
  559. According to
  560. http://www.gnu.org/prep/maintain/html_node/Copyright-Notices.html
  561. this should be mentioned explicitly.
  562. 2011-10-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  563. [raccess] Supplement for previous fix.
  564. * src/base/ftbase.h (raccess_rule_by_darwin_vfs): Do not declare
  565. it on native Mac OS X.
  566. * src/base/ftrfork.c (raccess_get_rule_type_from_rule_index):
  567. Hide raccess_get_rule_type_from_rule_index() on native Mac OS X
  568. too.
  569. 2011-10-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  570. [raccess] Hide raccess_rule_by_darwin_vfs() on native Mac OS X.
  571. * src/base/ftrfork.c (raccess_rule_by_darwin_vfs): Do not
  572. compile on native Mac OS X because it is not used.
  573. 2011-10-25 Werner Lemberg <wl@gnu.org>
  574. [truetype] Fix MD instruction for twilight zone.
  575. * src/truetype/ttinterp.c (Ins_MD): Without this fix, the MD
  576. instruction applied to original coordinates of twilight points
  577. always returns zero.
  578. 2011-10-18 Werner Lemberg <wl@gnu.org>
  579. * Version 2.4.7 released.
  580. =========================
  581. Tag sources with `VER-2-4-7'.
  582. * docs/CHANGES: Updated.
  583. * docs/VERSION.DLL: Update documentation and bump version number to
  584. 2.4.7.
  585. * README, Jamfile (RefDoc),
  586. builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  587. builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  588. builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  589. builds/win32/visualc/freetype.dsp,
  590. builds/win32/visualc/freetype.vcproj,
  591. builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  592. builds/win32/visualce/freetype.vcproj,
  593. builds/win32/visualce/index.html,
  594. builds/wince/vc2005-ce/freetype.vcproj,
  595. builds/wince/vc2005-ce/index.html,
  596. builds/wince/vc2008-ce/freetype.vcproj,
  597. builds/wince/vc2008-ce/index.html: s/2.4.6/2.4.7/, s/246/247/.
  598. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
  599. * builds/unix/configure.raw (version_info): Set to 13:2:7.
  600. 2011-10-15 Kal Conley <kcconley@gmail.com>
  601. Fix handling of transformations if no renderer is present.
  602. * src/base/ftobjs.c (FT_Load_Glyph): Thinko.
  603. 2011-10-15 Kal Conley <kcconley@gmail.com>
  604. Fix conditions for autohinting.
  605. * src/base/ftobjs.c (FT_Load_Glyph): Handle
  606. FT_LOAD_IGNORE_TRANSFORM.
  607. 2011-10-07 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  608. [gxvalid] Fix a bug to detect too large offset in morx table.
  609. * src/gxvalid/gxvmorx2.c
  610. (gxv_morx_subtable_type2_ligActionIndex_validate): Fix a bug
  611. that too large positive offset cannot be detected.
  612. 2011-10-01 Braden Thomas <bthomas@apple.com>
  613. Handle some border cases.
  614. * include/freetype/config/ftstdlib.h (FT_USHORT_MAX): New macro.
  615. * src/base/ftbitmap.c (FT_Bitmap_Convert): Protect against invalid
  616. value of `target->rows'.
  617. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add check for
  618. flex start.
  619. * src/raster/ftrend1.c (ft_raster1_render): Check `width' and
  620. `height'.
  621. * src/truetype/ttgxvar.c (TT_Vary_Get_Glyph_Deltas): Protect against
  622. invalid values in `localpoints' array.
  623. 2011-10-01 Werner Lemberg <wl@gnu.org>
  624. [psnames] Handle zapfdingbats.
  625. Problem reported by Nicolas Rougier <Nicolas.Rougier@inria.fr>.
  626. * src/tools/glnames.py (adobe_glyph_list): Add data from AGL's
  627. `zapfdingbats.txt' file.
  628. * src/psnames/pstables.h: Regenerated.
  629. 2011-09-27 Simon Bünzli <zeniko@gmail.com>
  630. Fix Savannah bug #34189.
  631. * src/type1/t1load.c (T1_Open_Face): Initialize
  632. `face->len_buildchar'.
  633. 2011-09-26 Werner Lemberg <wl@gnu.org>
  634. [cff] Dump SIDs while tracing.
  635. * src/cff/cffobjs.c (cff_face_init): Do it.
  636. * src/cff/cffparse.c (cff_parser_run) [FT_DEBUG_LEVEL_TRACE]
  637. <cff_kind_string>: Identify as SID.
  638. 2011-09-17 Werner Lemberg <wl@gnu.org>
  639. Remove unused FT_ALIGNMENT macro.
  640. * builds/unix/ftconfig.in, builds/vms/ftconfig.h,
  641. include/freetype/config/ftconfig.h: Do it.
  642. 2011-09-17 Alexei Podtelezhnikov <apodtele@gmail.com>
  643. [smooth] Slightly optimize conic and cubic flatterners.
  644. * src/smooth/ftgrays.c (gray_render_conic, gray_render_cubic): Move
  645. out some code from the main loop to speed it up.
  646. 2011-09-11 Tomas Hoger <thoger@redhat.com>
  647. Slightly improve LZW_CLEAR handling.
  648. * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_CODE>:
  649. Ensure that subsequent (modulo garbage byte(s)) LZW_CLEAR codes are
  650. handled as clear codes. This also re-sets old_code and old_char to
  651. predictable values, which is a little better than using `random'
  652. ones if the code following LZW_CLEAR is invalid.
  653. 2011-09-11 Tomas Hoger <thoger@redhat.com>
  654. Add explicit LZW decompression stack size limit.
  655. Stack larger than 1<<LZW_MAX_BITS is never needed if prefix table is
  656. constructed correctly. It's even less than that, see e.g.
  657. libarchive code comment for a better size upper bound:
  658. http://code.google.com/p/libarchive/source/browse/trunk/libarchive/archive_read_support_filter_compress.c?r=3635#121
  659. This patch adds explicit stack size limit, enforced when stack is
  660. realloced.
  661. An alternative is to ensure that code < state->prefix[code - 256]
  662. when traversing prefix table. Such check is less efficient and
  663. should not be required if prefix table is constructed correctly in
  664. the first place.
  665. * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Implement it.
  666. 2011-09-11 Tomas Hoger <thoger@redhat.com>
  667. Protect against loops in the prefix table.
  668. LZW decompressor did not sufficiently check codes read from the
  669. input LZW stream. A specially-crafted or corrupted input could
  670. create a loop in the prefix table, which leads to memory usage
  671. spikes, as there's no decompression stack size limit.
  672. * src/lzw/ftzopen.c (ft_lzwstate_io) <FT_LZW_PHASE_START>: First
  673. code in valid LZW stream must be 0..255.
  674. <FT_LZW_PHASE_CODE>: In the special KwKwK case, code == free_ent,
  675. code > free_ent is invalid.
  676. 2011-09-09 Werner Lemberg <wl@gnu.org>
  677. Better tracing of metrics.
  678. * src/base/ftobjs.c (FT_Request_Size, FT_Select_Size): Decorate with
  679. FT_TRACE.
  680. 2011-09-07 Werner Lemberg <wl@gnu.org>
  681. Fix Savannah bug #33816.
  682. * src/cff/cfftypes.h (CFF_FontRecDictRec): New member
  683. `has_font_matrix'.
  684. * src/cff/cffparse.c (cff_parse_font_matrix): Set it.
  685. Update tracing output.
  686. * src/cff/cffobjs.c (cff_face_init): Use it so that the heuristics
  687. can be removed.
  688. 2011-08-30 Werner Lemberg <wl@gnu.org>
  689. Better tracing of metrics.
  690. * src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics):
  691. Decorate with FT_TRACE.
  692. 2011-08-25 Werner Lemberg <wl@gnu.org>
  693. [cff] Better tracing of the parsing process.
  694. * src/cff/cffload.c (cff_subfont_load, cff_font_load): Decorate with
  695. FT_TRACE.
  696. * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
  697. cff_parse_private_dict, cff_parse_cid_ros): Updated.
  698. (CFF_FIELD_NUM, CFF_FIELD_FIXED, CFF_FIELD_FIXED_1000,
  699. CFF_FIELD_STRING, CFF_FIELD_BOOL, CFF_FIELD_CALLBACK, CFF_FIELD,
  700. CFF_FIELD_DELTA): Add argument for ID.
  701. (cff_parser_run): Decorate with FT_TRACE.
  702. * src/cff/cffparse.h (CFF_Field_Handler) [FT_DEBUG_LEVEL_TRACE]: Add
  703. `id' member.
  704. * src/cff/cfftoken.h: Add IDs to all fields.
  705. 2011-08-16 Werner Lemberg <wl@gnu.org>
  706. Fix Savannah bug #34022.
  707. * README, docs/INSTALL: Remove references to UPGRADE.UNIX.
  708. 2011-08-15 Werner Lemberg <wl@gnu.org>
  709. Fix Savannah bug #34018.
  710. * docs/UPGRADE.UNIX: Removed. Obsolete.
  711. 2011-08-15 David Bevan <david.bevan@pb.com>
  712. Fix Savannah bug #33992.
  713. * src/base/ftstroke.c (FT_Stroker_ParseOutline): Fix border case.
  714. 2011-08-12 Werner Lemberg <wl@gnu.org
  715. [truetype] Fix degenerate case in S{P,F,DP}VTL opcodes.
  716. * src/truetype/ttinterp.c (Ins_SxVTL): Handle p1 == p2 specially.
  717. (Ins_SDPVTL): Handle v1 == v2 specially.
  718. 2011-08-09 Werner Lemberg <wl@gnu.org>
  719. Fix Savannah bug #33975.
  720. * src/cff/cffparse.c (cff_parse_font_matrix): Fix typo.
  721. 2011-07-29 Werner Lemberg <wl@gnu.org>
  722. * Version 2.4.6 released.
  723. =========================
  724. Tag sources with `VER-2-4-6'.
  725. * docs/CHANGES: Updated.
  726. * docs/VERSION.DLL: Update documentation and bump version number to
  727. 2.4.6.
  728. * README, Jamfile (RefDoc),
  729. builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  730. builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  731. builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  732. builds/win32/visualc/freetype.dsp,
  733. builds/win32/visualc/freetype.vcproj,
  734. builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  735. builds/win32/visualce/freetype.vcproj,
  736. builds/win32/visualce/index.html,
  737. builds/wince/vc2005-ce/freetype.vcproj,
  738. builds/wince/vc2005-ce/index.html,
  739. builds/wince/vc2008-ce/freetype.vcproj,
  740. builds/wince/vc2008-ce/index.html: s/2.4.5/2.4.6/, s/245/246/.
  741. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
  742. * builds/unix/configure.raw (version_info): Set to 13:1:7.
  743. 2011-07-29 Werner Lemberg <wl@gnu.org>
  744. [cff] Add some more tracing infos.
  745. * src/cff/cffparse.c (cff_parse_font_matrix, cff_parse_font_bbox,
  746. cff_parse_cid_ros): Add tracing.
  747. 2011-07-22 Dirk Müller <dmueller@suse.de>
  748. [psaux, type1] Fix null pointer dereferences.
  749. Found with font fuzzying.
  750. * src/psaux/t1decode.c (t1_decoder_parse_charstrings): Check
  751. `decoder->buildchar'.
  752. * src/type1/t1load.c (t1_load_keyword): Check `blend->num_designs'.
  753. 2011-07-20 Chris Morgan <cmorgan@cybexintl.com>
  754. Add FT_CONFIG_OPTION_DISABLE_STREAM_SUPPORT.
  755. Useful for embedded systems which don't need file stream support.
  756. * src/base/ftsystem.c, src/base/ftobjs.c (FT_Stream_New): Implement
  757. it.
  758. 2011-07-20 Elton Chung <elton328@gmail.com>
  759. * src/base/ftpatent.c (FT_Face_SetUnpatentedHinting): Fix typo.
  760. 2011-07-16 Steven Chu <steven.f.chu@gmail.com>
  761. [truetype] Fix metrics on size request for scalable fonts.
  762. * src/truetype/ttdriver.c (tt_size_request): Fix copying metrics
  763. from TT_Size to FT_Size if scalable font.
  764. See
  765. http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00049.html
  766. for some comparison images.
  767. 2011-07-14 Matthias Drochner <M.Drochner@fz-juelich.de>.
  768. [psaux] Fix potential sign extension problems.
  769. When shifting right a signed value, it is not defined by the
  770. C standard whether one gets a sign extension or not. Use a macro to
  771. do an explicit cast from a signed short (assuming that this is
  772. 16bit) to an int.
  773. * src/psaux/t1decode.c (Fix2Int): New macro.
  774. Use it where appropriate.
  775. 2011-07-14 Werner Lemberg <wl@gnu.org>
  776. * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
  777. <op_callothersubr>: Better handling of subroutine index 0.
  778. From Matthias Drochner <M.Drochner@fz-juelich.de>.
  779. 2011-07-10 Алексей Подтележников <apodtele@gmail.com>
  780. [psaux] Optimize previous commit.
  781. * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
  782. <op_callothersubr>: Move error check down to avoid testing twice for
  783. good cases.
  784. 2011-07-08 Werner Lemberg <wl@gnu.org>
  785. [psaux] Add better argument check for `callothersubr'.
  786. * src/psaux/t1decode.c (t1_decoder_parse_charstrings)
  787. <op_callothersubr>: Reject negative arguments.
  788. 2011-07-07 Werner Lemberg <wl@gnu.org>
  789. [sfnt] Try harder to find non-zero values for ascender and descender.
  790. * src/sfnt/sfobjs.c (sfnt_load_face): Consult `OS/2' table in case
  791. the `hhea' table's values are zero.
  792. 2011-07-03 Werner Lemberg <wl@gnu.org>
  793. Fix previous commit.
  794. We want to unset FT_FACE_FLAG_SCALABLE only if there are bitmap
  795. strikes in the font.
  796. * src/truetype/ttobjs.c (tt_face_init): Implement it.
  797. * docs/CHANGES: Updated.
  798. 2011-07-02 Just Fill Bugs <mozbugbox@yahoo.com.au>
  799. Fix Savannah bug #33246.
  800. * src/truetype/ttobjs.c (tt_check_single_notdef): New function.
  801. (tt_face_init): Use it to test FT_FACE_FLAG_SCALABLE.
  802. 2011-07-02 Werner Lemberg <wl@gnu.org>
  803. * docs/CHANGES: Updated.
  804. 2011-07-02 David Bevan <david.bevan@pb.com>
  805. [ftstroke] Major revision.
  806. The main problems
  807. -----------------
  808. o If FT_STROKER_LINEJOIN_BEVEL was specified, unlimited miter
  809. joins (not bevel joins) were generated. Indeed, the meanings of
  810. `miter' and `bevel' were incorrectly reversed (consistently) in
  811. both the code and comments.
  812. o The way bevel joins were constructed (whether specified
  813. explicitly, or created as a result of exceeding the miter limit)
  814. did not match what is required for stroked text in PostScript or
  815. PDF.
  816. The main fixes
  817. --------------
  818. o The behaviour of FT_STROKER_LINEJOIN_BEVEL has been corrected.
  819. o A new line join style, FT_STROKER_LINEJOIN_MITER_FIXED, has been
  820. introduced to support PostScript and PDF miter joins.
  821. o FT_STROKER_LINEJOIN_MITER_VARIABLE has been introduced as an
  822. alias for FT_STROKER_LINEJOIN_MITER.
  823. Additionally, a variety of stroking errors have been fixed. These
  824. would cause various artifacts (including points `at infinity'),
  825. especially when stroking poor quality fonts.
  826. See
  827. http://lists.gnu.org/archive/html/freetype-devel/2011-07/msg00001.html
  828. for example documents. The FreeType stroker now produces results
  829. very similar to that produced by GhostScript and Distiller for these
  830. fonts.
  831. Other problems
  832. --------------
  833. The following problems have been resolved:
  834. o Inside corners could be generated incorrectly. Intersecting the
  835. inside corner could cause a missing triangular area and other
  836. effects.
  837. The intersection point can only be used if the join is between
  838. two lines and both lines are long enough. The `optimization'
  839. condition in `ft_stroker_inside' has been corrected; this
  840. requires the line length to be passed into various functions and
  841. stored in `FT_StrokerRec'.
  842. o Incorrect cubic curves could be generated. The angle
  843. calculations in `FT_Stroker_CubicTo' have been corrected to
  844. handle the case of the curve crossing the +/-PI direction.
  845. o If the border radius was greater than the radius of curvature of
  846. a curve, then the negative sector would end up outside (not
  847. inside) the border. This situation is now recognized and the
  848. negative sector is circumnavigated in the opposite direction.
  849. (If round line joins are being used, this code is disabled
  850. because the line join will always cover the negative sector.)
  851. o When a curve is split, the arcs may not join smoothly (especially
  852. if the curve turns sharply back on itself). Changes in
  853. direction between adjacent arcs were not handled. A round
  854. corner is now added if the deviation from one arc to the next is
  855. greater than a suitable threshold.
  856. o The current direction wasn't retained if a the outline contained
  857. a zero length lineto or a curve that was determined to be
  858. `basically a point'. This could cause a spurious join to be
  859. added.
  860. o Cubics with close control points could be mishandled. All eight
  861. cases are now distinguished correctly.
  862. Other improvements
  863. ------------------
  864. o Borders for cubic curves could be too `flat'.
  865. FT_SMALL_CUBIC_THRESHOLD has been reduced a little to prevent
  866. this.
  867. o The handling and use of movable points has been simplified a
  868. little.
  869. o Various values are now computed only if the results are actually
  870. needed.
  871. o The directions of the outer and inner borders have been swapped,
  872. as recommended by Graham Asher.
  873. * src/base/ftstroke.c: Revised.
  874. * include/freetype/ftstroke.h: Updated.
  875. 2011-06-30 İsmail Dönmez <ismail@namtrac.org>
  876. * builds/toplevel.mk: We use git, not CVS, thus skip `.gitignore'.
  877. 2011-06-29 Werner Lemberg <wl@gnu.org>
  878. Fix Savannah bug #33663.
  879. * src/bdf/bdflib.c (_bdf_parse_glyphs): Handle negative values for
  880. ENCODING correctly.
  881. * docs/CHANGES: Document it.
  882. 2011-06-24 Werner Lemberg <wl@gnu.org>
  883. * Version 2.4.5 released.
  884. =========================
  885. Tag sources with `VER-2-4-5'.
  886. * docs/CHANGES: Updated.
  887. * docs/VERSION.DLL: Update documentation and bump version number to
  888. 2.4.5
  889. * README, Jamfile (RefDoc),
  890. builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
  891. builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
  892. builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
  893. builds/win32/visualc/freetype.dsp,
  894. builds/win32/visualc/freetype.vcproj,
  895. builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
  896. builds/win32/visualce/freetype.vcproj,
  897. builds/win32/visualce/index.html,
  898. builds/wince/vc2005-ce/freetype.vcproj,
  899. builds/wince/vc2005-ce/index.html,
  900. builds/wince/vc2008-ce/freetype.vcproj,
  901. builds/wince/vc2008-ce/index.html: s/2.4.4/2.4.5/, s/244/245/.
  902. * include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
  903. * builds/unix/configure.raw (version_info): Set to 13:0:7.
  904. 2011-06-20 Werner Lemberg <wl@gnu.org>
  905. * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix change
  906. from 2011-05-04.
  907. 2011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  908. [gxvalid] make the `prop' validation tracing verbose.
  909. * src/gxvalid/gxvprop.c: Add tracing messages for errors.
  910. 2011-06-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  911. [autogen.sh] Reflect environment variable LIBTOOLIZE.
  912. 2011-06-18 Werner Lemberg <wl@gnu.org>
  913. Update license documentation.
  914. * docs/GPL.TXT: Renamed to...
  915. * docs/GPLv2.TXT: This.
  916. * docs/LICENSE.TXT: Updated.
  917. 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  918. Fix g++4.6 compiler warnings in module drivers.
  919. The background is same with previous commit.
  920. * src/truetype/ttgxvar.c (ft_var_readpackedpoints):
  921. Init `points'. (TT_Vary_Get_Glyph_Deltas): Init
  922. `delta_xy'. (TT_Get_MM_Var): Init `mmvar'.
  923. * src/type1/t1load.c (T1_Get_MM_Var): Ditto.
  924. * src/cff/cffdrivr.c (cff_ps_get_font_info): Init
  925. `font_info'.
  926. * src/cff/cffload.c (cff_index_get_pointers): Init `t'.
  927. (cff_font_load): Init `sub'.
  928. * src/cff/cffobjs.c (cff_size_init): Init `internal'.
  929. (cff_face_init): Init `cff'.
  930. * src/pfr/pfrload.c (pfr_extra_item_load_stem_snaps):
  931. Init `snaps'.
  932. * src/pcf/pcfread.c (pcf_get_properties): Init `properties'.
  933. (pcf_get_bitmaps): Init `offsets'. (pcf_get_encodings):
  934. Init `tmpEncoding'.
  935. * src/sfnt/ttload.c (tt_face_load_gasp): Init `gaspranges'.
  936. * src/sfnt/ttsbit.c (Load_SBit_Image): Init `components'.
  937. * src/cache/ftcmru.c (FTC_MruList_New): Init `node'.
  938. * src/gzip/ftgzip.c (FT_Stream_OpenGzip): Init `zip' and
  939. `zip_buff'.
  940. * src/lzw/ftlzw.c (FT_Stream_OpenLZW): Init `zip'.
  941. * src/bzip2/ftbzip2.c (FT_Stream_OpenBzip2): Init `zip'.
  942. 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  943. [base] Fix g++4.6 compiler warnings in src/base/*.c.
  944. Passing uninitialized pointer to FT_NEW() families is
  945. not problematic theoretically (as far as the returned
  946. pointer is checked before writing), but g++4.6 dislikes
  947. it and warns by -Wuninitialized. Initialize them by NULL.
  948. * src/base/ftobjs.c (FT_Stream_New): Init `stream'.
  949. (new_memory_stream): Ditto.
  950. (FT_New_GlyphSlot): Init `slot'.
  951. (FT_CMap_New): Init `cmap'.
  952. (open_face_PS_from_sfnt_stream): Init `sfnt_ps'.
  953. (Mac_Read_POST_Resource): Init `pfb_data'.
  954. (Mac_Read_sfnt_Resource): Init `sfnt_data'.
  955. * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets):
  956. Init `offsets_internal' and `ref'.
  957. (raccess_guess_darwin_hfsplus): Init `newpath'.
  958. (raccess_guess_darwin_newvfs): Ditto.
  959. * src/base/ftbitmap.c (ft_bitmap_assure_buffer):
  960. Init `buffer'.
  961. * src/base/ftstroke.c (FT_Stroker_New): Init `stroker'.
  962. 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  963. [gxvalid] Cleanup.
  964. Some invalid, overrunning, unrecommended non-zero values
  965. are cared in paranoid validation mode only. There are
  966. many lines looking like:
  967. if ( valid->root->level >= FT_VALIDATE_PARANOID )
  968. FT_INVALID_xxx;
  969. To simplify them, GXV_SET_ERR_IF_PARANOID( err ) is
  970. introduced for more paranoid validation in future.
  971. * src/gxvalid/gxvcommn.h (IS_PARANOID_VALIDATION):
  972. New macro to assure valid->root->level is more or
  973. equal to FT_VALIDATE_PARANOID. (GXV_SET_ERR_IF_PARANOID):
  974. New macro to raise an error if in paranoid validation.
  975. * src/gxvalid/gxvcommn.c: Use GXV_SET_ERR_IF_PARANOID().
  976. * src/gxvalid/gxvfeat.c: Ditto.
  977. * src/gxvalid/gxvjust.c: Ditto.
  978. * src/gxvalid/gxvkern.c: Ditto.
  979. * src/gxvalid/gxvmort.c: Ditto.
  980. * src/gxvalid/gxvmort0.c: Ditto.
  981. * src/gxvalid/gxvmort1.c: Ditto.
  982. * src/gxvalid/gxvmort2.c: Ditto.
  983. * src/gxvalid/gxvmorx1.c: Ditto.
  984. * src/gxvalid/gxvmorx2.c: Ditto.
  985. 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  986. [gxvalid] Fix gcc4.6 compiler warnings in gxvtrak.c.
  987. * src/gxvalid/gxvtrak.c (gxv_trak_trackTable_validate):
  988. Check different entries pointing same traking value.
  989. (gxv_trak_validate): Remove unused variable `table_size'.
  990. 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  991. [gxvalid] Fix gcc4.6 compiler warnings in gxvmorx*.c.
  992. * src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
  993. Conditionalize unvalidated variable `subFeatureFlags'.
  994. (gxv_morx_chain_validate): Conditionalize unvalidated
  995. variable `defaultFlags'.
  996. * src/gxvalid/gxmorx0.c
  997. (gxv_morx_subtable_type0_entry_validate):
  998. Conditionalize unvalidated variables; `markFirst',
  999. `dontAdvance', `markLast', `verb'.
  1000. * src/gxvalid/gxmorx1.c
  1001. (gxv_morx_subtable_type1_entry_validate): Conditionalize
  1002. unvalidated variables; `setMark', `dontAdvance'.
  1003. * src/gxvalid/gxvmorx2.c
  1004. (gxv_morx_subtable_type2_ligActionOffset_validate):
  1005. Conditionalize unvalidated variables; `last', `store'.
  1006. Checking for overrunning offset is added.
  1007. (gxv_morx_subtable_type2_entry_validate):
  1008. Conditionalize unvalidated variables; `setComponent',
  1009. `dontAdvance', `performAction'.
  1010. (gxv_morx_subtable_type2_ligatureTable_validate):
  1011. Check if the GID for ligature does not exceed the
  1012. max GID in `maxp' table.
  1013. * src/gxvalid/gxvmort5.c
  1014. (gxv_morx_subtable_type5_InsertList_validate):
  1015. Conditionalize unvalidated loading of `insert_glyphID'
  1016. array. (gxv_morx_subtable_type5_entry_validate):
  1017. Conditionalize unvalidated variables; `setMark',
  1018. `dontAdvance', `currentIsKashidaLike',
  1019. `markedIsKashidaLike', `currentInsertBefore',
  1020. `markedInsertBefore'.
  1021. 2011-06-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
  1022. [gxvalid] Fix gcc4.6 compiler warnings in gxvmort*.c.
  1023. * src/gxvalid/gxvmort.c (gxv_mort_subtables_validate):
  1024. Conditionalize unvalidated variable `subFeatureFlags'.
  1025. (gxv_mort_chain_validate): Conditionalize unvalidated
  1026. variable `defaultFlags'.
  1027. * src/gxvalid/gxmort0.c
  1028. (gxv_mort_subtable_type0_entry_validate): Check the
  1029. conflict of the marks for the glyphs.
  1030. * src/gxvalid/gxmort1.c
  1031. (gxv_mort_subtable_type1_offset_to_subst_validate):
  1032. Local variables `min_gid', `max_gid' are replaced by
  1033. variables in the validator.
  1034. (gxv_mort_subtable_type1_entry_validate): Conditionalize
  1035. unvalidated variables; `setMark', `dontAdvance'.
  1036. (gxv_mort_subtable_type1_substTable_validate):
  1037. Validate the GID by the min/max GIDs in the validator.
  1038. * src/gxvalid/gxvmort2.c
  1039. (gxv_mort_subtable_type2_ligActionOffset_validate):
  1040. Conditionalize unvalidated variables; `last', `store'.
  1041. Checking for overrunning offset is added.
  1042. (gxv_mort_subtable_type2_ent…