modules/freetype2/ChangeLog

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

michael@0 1 2014-03-06 Werner Lemberg <wl@gnu.org>
michael@0 2
michael@0 3 * Version 2.5.3 released.
michael@0 4 =========================
michael@0 5
michael@0 6
michael@0 7 Tag sources with `VER-2-5-3'.
michael@0 8
michael@0 9 * docs/VERSION.DLL: Update documentation and bump version number to
michael@0 10 2.5.3.
michael@0 11
michael@0 12 * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
michael@0 13 builds/windows/vc2005/index.html,
michael@0 14 builds/windows/vc2008/freetype.vcproj,
michael@0 15 builds/windows/vc2008/index.html,
michael@0 16 builds/windows/vc2010/freetype.vcxproj,
michael@0 17 builds/windows/vc2010/index.html,
michael@0 18 builds/windows/visualc/freetype.dsp,
michael@0 19 builds/windows/visualc/freetype.vcproj,
michael@0 20 builds/windows/visualc/index.html,
michael@0 21 builds/windows/visualce/freetype.dsp,
michael@0 22 builds/windows/visualce/freetype.vcproj,
michael@0 23 builds/windows/visualce/index.html,
michael@0 24 builds/wince/vc2005-ce/freetype.vcproj,
michael@0 25 builds/wince/vc2005-ce/index.html,
michael@0 26 builds/wince/vc2008-ce/freetype.vcproj,
michael@0 27 builds/wince/vc2008-ce/index.html: s/2.5.2/2.5.3/, s/252/253/.
michael@0 28
michael@0 29 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
michael@0 30
michael@0 31 * builds/unix/configure.raw (version_info): Set to 17:2:11.
michael@0 32 * CMakeLists.txt (VERSION_PATCH): Set to 3.
michael@0 33 * docs/CHANGES: Updated.
michael@0 34
michael@0 35 2014-03-06 Werner Lemberg <wl@gnu.org>
michael@0 36
michael@0 37 Fixes for compilation with C++.
michael@0 38
michael@0 39 * src/autofit/hbshim.c (scripts): Change type to `hb_script_t'.
michael@0 40 (af_get_coverage): Updated.
michael@0 41 (COVERAGE): Add cast.
michael@0 42
michael@0 43 2014-03-06 Sean McBride <sean@rogue-research.com>
michael@0 44
michael@0 45 Remove more clang analyzer warnings.
michael@0 46
michael@0 47 * src/bdf/bdflib.c (_bdf_readstream), src/truetype/ttgload.c
michael@0 48 (TT_Load_Glyph): Remove dead stores.
michael@0 49
michael@0 50 2014-03-05 Werner Lemberg <wl@gnu.org>
michael@0 51
michael@0 52 * builds/unix/configure.raw: Simplify.
michael@0 53
michael@0 54 2014-03-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
michael@0 55
michael@0 56 Fix a bug in configure in library dependency setting
michael@0 57 Reported in https://bugs.freedesktop.org/show_bug.cgi?id=75652.
michael@0 58
michael@0 59 * builds/unix/configure.raw: Use `x"${xxx}" != xno' style.
michael@0 60
michael@0 61 2014-03-04 Werner Lemberg <wl@gnu.org>
michael@0 62
michael@0 63 Minor fix for `make devel'.
michael@0 64
michael@0 65 * builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Don't use
michael@0 66 pkg-config for bzip2 since not all GNU/Linux distributions have
michael@0 67 `bzip2.pc' (and the header file `bzlib.h' is located in /usr/include
michael@0 68 normally).
michael@0 69
michael@0 70 2014-03-04 Sean McBride <sean@rogue-research.com>
michael@0 71
michael@0 72 Fix several clang static analyzer dead store warnings.
michael@0 73
michael@0 74 * src/autofit/afhints.c (af_glyph_hints_reload,
michael@0 75 af_glyph_hints_align_weak_points): Remove unnecessary assignments.
michael@0 76
michael@0 77 * src/bdf/bdflib.c (bdf_font_load): Ditto.
michael@0 78
michael@0 79 * src/pshinter/pshalgo.c (psh_glyph_compute_extrema,
michael@0 80 psh_glyph_interpolate_other_points): Ditto.
michael@0 81
michael@0 82 * src/type1/t1load.c (T1_Set_MM_Blend): Ditto.
michael@0 83
michael@0 84 2014-03-03 Werner Lemberg <wl@gnu.org>
michael@0 85
michael@0 86 Rewrite library option handling in `configure'.
michael@0 87
michael@0 88 o Introduce `auto' value for `--with-XXX' library options; this is
michael@0 89 now the default.
michael@0 90
michael@0 91 o First use `pkg-config' for library detection, then fall back to
michael@0 92 other tests.
michael@0 93
michael@0 94 * builds/unix/configure.raw (--with-zlib, --with-bzip2, --with-png,
michael@0 95 --with-harfbuzz): Rewrite.
michael@0 96 Use new `xxx_reqpriv', `xxx_libpriv', and `xxx_libstaticconf'
michael@0 97 variables to collect data for `freetype2.pc' and `freetype-config'.
michael@0 98 (FT2_EXTRA_LIBS): Renamed to ...
michael@0 99 (ft2_extra_libs): This since it gets no longer substituted.
michael@0 100 (REQUIRES_PRIVATE, LIBS_PRIVATE, LIBS_CONFIG, LIBSSTATIC_CONFIG):
michael@0 101 New output variables, replacing `XXX_PKG' and `LIBXXX'.
michael@0 102 Add notice at the end of `configure' showing the library
michael@0 103 configuration.
michael@0 104
michael@0 105 * builds/unix/freetype-config.in (--static): New command line
michael@0 106 option.
michael@0 107 (libs): Updated.
michael@0 108 (staticlibs): New variable, to be used if `--static' is given.
michael@0 109 * builds/doc/freetype-config.1: Document `--static'.
michael@0 110
michael@0 111 * builds/unix/freetype2.in, builds/unix/unix-def.in: Updated.
michael@0 112
michael@0 113 2014-03-01 Werner Lemberg <wl@gnu.org>
michael@0 114
michael@0 115 Avoid `long long' warnings with older gcc compilers.
michael@0 116 Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
michael@0 117
michael@0 118 * builds/unix/configure.raw: Don't use gcc's `-pedantic' flag for
michael@0 119 versions < 4.6. This is especially needed for Max OS X since this
michael@0 120 OS runs a gcc variant (or emulation) based on version 4.2.1.
michael@0 121
michael@0 122 2014-03-01 Werner Lemberg <wl@gnu.org>
michael@0 123
michael@0 124 * docs/INSTALL.CROSS: Revised and updated.
michael@0 125
michael@0 126 2014-03-01 Werner Lemberg <wl@gnu.org>
michael@0 127
michael@0 128 Make `make clean' remove `freetype2.pc'.
michael@0 129
michael@0 130 This is a generated file at build time, not configure time.
michael@0 131
michael@0 132 * builds/unix/unix-def.in (DISTCLEAN): Move `freetype2.pc' to ...
michael@0 133 (CLEAN): This variable.
michael@0 134
michael@0 135 2014-03-01 Werner Lemberg <wl@gnu.org>
michael@0 136
michael@0 137 Use pkg-config for detecting libpng and libbz2 also.
michael@0 138
michael@0 139 * builds/unix/configure.raw (HAVE_PKG): New variable.
michael@0 140 Search for libbz2 using `pkg-config'; s/BZ2/BZIP2/.
michael@0 141 Search for libpng using `pkg-config'.
michael@0 142 Fix definition of `LIBHARFBUZZ' variable.
michael@0 143 * builds/unix/freetype-config.in ($libs): Updated.
michael@0 144 * builds/unix/freetype2.in: Add `URL' field.
michael@0 145 Update `Requires.private' and `Libs.private'.
michael@0 146 * builds/unix/unix-def.in: Updated.
michael@0 147
michael@0 148 2014-03-01 Werner Lemberg <wl@gnu.org>
michael@0 149
michael@0 150 Add configure support for HarfBuzz.
michael@0 151
michael@0 152 * builds/unix/pkg.m4: New file.
michael@0 153 * builds/unix/configure.raw: Search for libharfbuzz using
michael@0 154 `pkg-config'.
michael@0 155 Add `--without-harfbuzz' option.
michael@0 156 * builds/unix/freetype-config.in, builds/unix/freetype2.in,
michael@0 157 builds/unix/unix-def.in (freetype-config, freetype2.pc): Handle
michael@0 158 HarfBuzz.
michael@0 159
michael@0 160 * docs/INSTALL.UNIX: Document interdependency of Freetype with
michael@0 161 HarfBuzz.
michael@0 162
michael@0 163 2014-02-28 Alexei Podtelezhnikov <apodtele@gmail.com>
michael@0 164
michael@0 165 [cff] Math simplifications.
michael@0 166
michael@0 167 * src/cf2blues.c (cf2_blues_init): Use `FT_MulDiv'.
michael@0 168 * src/cf2ft.c (cf2_getScaleAndHintFlag): Use simple division.
michael@0 169
michael@0 170 2014-02-28 Dave Arnold <darnold@adobe.com>
michael@0 171
michael@0 172 [cff] Fix Savannah bug #41697, part 2.
michael@0 173
michael@0 174 * src/cff/cf2ft.c (cf2_initLocalRegionBuffer,
michael@0 175 cf2_initGlobalRegionBuffer): It is possible for a charstring to call
michael@0 176 a subroutine if no subroutines exist. This is an error but should
michael@0 177 not trigger an assert. Split the assert to account for this.
michael@0 178
michael@0 179 2014-02-28 Dave Arnold <darnold@adobe.com>
michael@0 180
michael@0 181 [cff] Fix Savannah bug #41697, part 1.
michael@0 182
michael@0 183 * src/cff/cf2hints.c (cf2_hintmap_build): Return when `hintMask' is
michael@0 184 invalid. In this case, it is not safe to use the length of
michael@0 185 `hStemHintArray'; the exception has already been recorded in
michael@0 186 `hintMask'.
michael@0 187
michael@0 188 2014-02-26 Werner Lemberg <wl@gnu.org>
michael@0 189
michael@0 190 [sfnt] Fix Savannah bug #41696.
michael@0 191
michael@0 192 * src/sfnt/ttcmap.c (tt_cmap0_validate, tt_cmap2_validate,
michael@0 193 tt_cmap4_validate, tt_cmap14_validate): Fix limit tests.
michael@0 194
michael@0 195 2014-02-26 Werner Lemberg <wl@gnu.org>
michael@0 196
michael@0 197 [winfnt] Fix Savannah bug #41694.
michael@0 198
michael@0 199 * src/winfonts/winfnt.c (FNT_Load_Glyph): Check glyph offset.
michael@0 200
michael@0 201 2014-02-26 Werner Lemberg <wl@gnu.org>
michael@0 202
michael@0 203 [cff] Fix Savannah bug #41693.
michael@0 204
michael@0 205 * src/cff/cffload.c (CFF_Load_FD_Select): Reject empty array.
michael@0 206
michael@0 207 2014-02-26 Werner Lemberg <wl@gnu.org>
michael@0 208
michael@0 209 [bdf] Fix Savannah bug #41692.
michael@0 210
michael@0 211 bdflib puts data from the input stream into a buffer in chunks of
michael@0 212 1024 bytes. The data itself gets then parsed line by line, simply
michael@0 213 increasing the current pointer into the buffer; if the search for
michael@0 214 the final newline character exceeds the buffer size, more data gets
michael@0 215 read.
michael@0 216
michael@0 217 However, in case the current line's end is very near to the buffer
michael@0 218 end, and the keyword to compare with is longer than the current
michael@0 219 line's length, an out-of-bounds read might happen since `memcmp'
michael@0 220 doesn't stop properly at the string end.
michael@0 221
michael@0 222 * src/bdf/bdflib.c: s/ft_memcmp/ft_strncmp/ to make comparisons
michael@0 223 stop at string ends.
michael@0 224
michael@0 225 2014-02-17 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
michael@0 226
michael@0 227 [autofit] Fix `make multi' compilation.
michael@0 228
michael@0 229 * src/autofit/hbshim.c: Include `afglobal.h' and `aftypes.h'.
michael@0 230
michael@0 231 2014-02-19 Werner Lemberg <wl@gnu.org>
michael@0 232 Simon Bünzli <zeniko@gmail.com>
michael@0 233
michael@0 234 Fix Savannah bug #32902.
michael@0 235
michael@0 236 Patch taken from
michael@0 237
michael@0 238 https://code.google.com/p/sumatrapdf/source/browse/trunk/ext/_patches/freetype2.patch?spec=svn8620&r=8620#87
michael@0 239
michael@0 240 with slight modifications.
michael@0 241
michael@0 242 * src/type1/t1parse.c (T1_Get_Private_Dict): Add heuristic test to
michael@0 243 handle fonts that incorrectly use \r at the beginning of an eexec
michael@0 244 block.
michael@0 245
michael@0 246 2014-02-19 Simon Bünzli <zeniko@gmail.com>
michael@0 247
michael@0 248 Fix Savannah bug #41590.
michael@0 249
michael@0 250 * src/type1/t1load.c (parse_encoding): Protect against invalid
michael@0 251 number.
michael@0 252
michael@0 253 2014-02-12 Dave Arnold <darnold@adobe.com>
michael@0 254
michael@0 255 [cff] Optimize by using `FT_MulDiv'.
michael@0 256 Suggested by Alexei.
michael@0 257
michael@0 258 * src/cff/cf2font.c (cf2_computeDarkening): Do it.
michael@0 259
michael@0 260 2014-02-12 Werner Lemberg <wl@gnu.org>
michael@0 261
michael@0 262 Fix Savannah bug #41465.
michael@0 263
michael@0 264 * builds/unix/unix-def.in (CLEAN): Add `freetype-config'.
michael@0 265 (DISTCLEAN): Remove `freetype-config'.
michael@0 266
michael@0 267 2014-02-08 Sean McBride <sean@rogue-research.com>
michael@0 268
michael@0 269 Fix clang static analyzer and compiler warnings.
michael@0 270
michael@0 271 * src/autofit/afhints.c (af_glyph_hints_align_weak_points),
michael@0 272 src/autofit/afloader (af_loader_load_g) <FT_GLYPH_FORMAT_COMPOSITE>,
michael@0 273 src/base/ftcalc.c (FT_MSB), src/base/ftoutln.c
michael@0 274 (FT_Outline_Decompose), src/bdf/bdfdrivr.c (bdf_interpret_style),
michael@0 275 src/cff/cffparse.c (cff_parse_integer), src/cid/cidparse.c
michael@0 276 (cid_parser_new), src/pfr/pfrload.c (pfr_phy_font_load),
michael@0 277 src/raster/ftraster.c (Decompose_Curve), src/sfnt/sfdriver.c
michael@0 278 (sfnt_get_ps_name), src/sfnt/ttcmap.c (tt_cmap12_next,
michael@0 279 tt_cmap13_next), src/smooth/ftgrays.c (gray_hline): Remove dead
michael@0 280 code.
michael@0 281
michael@0 282 * src/autofit/afmodule.c (af_property_get_face_globals,
michael@0 283 af_property_set, af_property_get), src/base/ftbitmap.c
michael@0 284 (ft_gray_for_premultiplied_srgb_bgra): Make functions static.
michael@0 285
michael@0 286 * src/base/ftobjs.c (ft_remove_renderer): Protect against
michael@0 287 library == NULL.
michael@0 288 (ft_property_do): Make function static.
michael@0 289
michael@0 290 * src/base/ftrfork.c: Include `ftbase.h'.
michael@0 291
michael@0 292 * src/sfnt/ttsbit.c (tt_face_load_sbix_image)
michael@0 293 [!FT_CONFIG_OPTION_USE_PNG], src/type1/t1gload.c
michael@0 294 (T1_Compute_Max_Advance): Avoid compiler warning.
michael@0 295
michael@0 296 * src/truetype/ttinterp.c (TT_New_Context): Reduce scope of
michael@0 297 variable.
michael@0 298
michael@0 299 2014-02-08 Werner Lemberg <wl@gnu.org>
michael@0 300
michael@0 301 Fix Windows build directories.
michael@0 302
michael@0 303 The build target is now `windows' instead of `win32'.
michael@0 304
michael@0 305 Problem reported by Nickolas George <darknova.clan@gmail.com>.
michael@0 306
michael@0 307 * builds/modules.mk: Don't use `win32' and `win16' (!) but
michael@0 308 `windows'.
michael@0 309
michael@0 310 * builds/windows/detect.mk, builds/windows/win32-def.mk:
michael@0 311 s/win32/windows/.
michael@0 312
michael@0 313 2014-02-08 Eugen Sawin <esawin@mozilla.com>
michael@0 314
michael@0 315 Fix Savannah bug #41507.
michael@0 316
michael@0 317 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap)
michael@0 318 [!FT_CONFIG_OPTION_USE_PNG] <17, 17, 19>: Fix error handling.
michael@0 319
michael@0 320 2014-02-08 Dave Arnold <darnold@adobe.com>
michael@0 321
michael@0 322 [cff] Fix minor performance bug.
michael@0 323
michael@0 324 * src/cff/cf2font.c (cf2_font_setup): Darkening amount and blue zone
michael@0 325 calculations are now cached and not recomputed on each glyph.
michael@0 326
michael@0 327 2014-02-05 Werner Lemberg <wl@gnu.org>
michael@0 328
michael@0 329 Fix problems with perl 5.8.8 as distributed with current MinGW.
michael@0 330
michael@0 331 * src/tools/afblue.pl: Work-around for Perl bug #63402.
michael@0 332 (string_re): Avoid `possessive quantifiers', which have been
michael@0 333 introduced in Perl version 5.10.
michael@0 334
michael@0 335 2014-02-04 Werner Lemberg <wl@gnu.org>
michael@0 336
michael@0 337 Fix compilation with MinGW.
michael@0 338
michael@0 339 Right now, compilation out of the box with latest MinGW is broken
michael@0 340 due to bugs in header files of mingwrt 4.0.3 in strict ANSI mode,
michael@0 341 cf.
michael@0 342
michael@0 343 https://sourceforge.net/p/mingw/bugs/2024/
michael@0 344 https://sourceforge.net/p/mingw/bugs/2046/
michael@0 345
michael@0 346 * builds/unix/configure.raw: Don't set `-ansi' flag for MinGW.
michael@0 347
michael@0 348 2014-02-04 Werner Lemberg <wl@gnu.org>
michael@0 349
michael@0 350 [autofit] Minor fix.
michael@0 351
michael@0 352 * src/autofit/afcjk.c (af_cjk_metrics_init_widths),
michael@0 353 src/autofit/aflatin.c (af_latin_metrics_init_widths): Fix handling
michael@0 354 of alternative standard characters.
michael@0 355 This also fixes a compilation warning in non-debug mode.
michael@0 356
michael@0 357 2014-02-03 Werner Lemberg <wl@gnu.org>
michael@0 358
michael@0 359 [cff] Fix Savannah bug #41363.
michael@0 360
michael@0 361 * src/cff/cf2ft.c (cf2_checkTransform): Convert assertion into
michael@0 362 parameter check.
michael@0 363 (cf2_decoder_parse_charstrings): Call `cf2_checkTransform' only if
michael@0 364 we are scaling the outline.
michael@0 365 (cf2_getPpemY): Remove problematic assertion.
michael@0 366
michael@0 367 2014-01-26 Werner Lemberg <wl@gnu.org>
michael@0 368
michael@0 369 [autofit] Introduce two more slots for standard characters.
michael@0 370
michael@0 371 This is useful for OpenType features like `c2sc' (caps to small
michael@0 372 caps) that don't have lowercase letters by definition, or other
michael@0 373 features that mainly operate on numerals.
michael@0 374
michael@0 375 * src/autofit/afscript.h: Add more standard characters.
michael@0 376
michael@0 377 * src/autofit/aftypes.h: Update use of `SCRIPT' macro.
michael@0 378 (AF_ScriptClassRec): Add members to hold two more standard
michael@0 379 characters.
michael@0 380 (AF_DEFINE_SCRIPT_CLASS): Updated.
michael@0 381
michael@0 382 * src/autofit/afglobal.c, src/autofit/afglobal.h,
michael@0 383 * src/autofit/afpic.c, src/autofit/afranges.h, src/autofit/hbshim.c:
michael@0 384 Update use of `SCRIPT' macro.
michael@0 385
michael@0 386 * src/autofit/afcjk.c (af_cjk_metrics_init_widths),
michael@0 387 src/autofit/aflatin.c (af_latin_metrics_init_widths): Scan two more
michael@0 388 standard characters.
michael@0 389
michael@0 390 2014-01-24 Werner Lemberg <wl@gnu.org>
michael@0 391
michael@0 392 Fix Savannah bug #41320.
michael@0 393
michael@0 394 * src/autofit/aflatin.c (af_latin_metrics_init_blues)
michael@0 395 <AF_LATIN_IS_LONG_BLUE>: Avoid negative index of `last'.
michael@0 396
michael@0 397 2014-01-23 Werner Lemberg <wl@gnu.org>
michael@0 398
michael@0 399 Fix Savannah bug #41310.
michael@0 400
michael@0 401 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap) <glyph_format==5>:
michael@0 402 Don't check metrics, which this format doesn't have.
michael@0 403 This is another correction to the commit from 2013-11-21.
michael@0 404
michael@0 405 2014-01-23 Werner Lemberg <wl@gnu.org>
michael@0 406
michael@0 407 Fix Savannah bug #41309.
michael@0 408
michael@0 409 * src/type1/t1load.c (t1_parse_font_matrix): Properly handle result
michael@0 410 of `T1_ToFixedArray'.
michael@0 411
michael@0 412 * src/cid/cidload.c (cid_parse_font_matrix): Synchronize with
michael@0 413 `t1_parse_font_matrix'.
michael@0 414
michael@0 415 * src/type42/t42parse.c (t42_parse_font_matrix): Synchronize with
michael@0 416 `t1_parse_font_matrix'.
michael@0 417 (t42_parse_encoding): Synchronize with `t1_parse_encoding'.
michael@0 418
michael@0 419 * src/psaux/psobjs.c (ps_parser_load_field) <T1_FIELD_TYPE_BBOX>,
michael@0 420 <T1_FIELD_TYPE_MMOX>: Properly handle result of `ps_tofixedarray'.
michael@0 421
michael@0 422 2014-01-22 Werner Lemberg <wl@gnu.org>
michael@0 423
michael@0 424 * src/autofit/hbshim.c (af_get_coverage): Fix memory leaks.
michael@0 425
michael@0 426 2014-01-16 Werner Lemberg <wl@gnu.org>
michael@0 427
michael@0 428 [autofit] Improve tracing of style coverages.
michael@0 429
michael@0 430 * include/internal/fttrace.h: Add `afglobal' for tracing style
michael@0 431 coverages.
michael@0 432
michael@0 433 * src/autofit/afglobal.c: Include FT_INTERNAL_DEBUG_H.
michael@0 434 (FT_COMPONENT): Define.
michael@0 435 (af_face_globals_compute_style_coverage): Trace `gstyles' array
michael@0 436 data.
michael@0 437
michael@0 438 2014-01-09 Werner Lemberg <wl@gnu.org>
michael@0 439
michael@0 440 Fix Savannah bug #41158.
michael@0 441
michael@0 442 * builds/unix/install.mk (install): Create man page directory.
michael@0 443
michael@0 444 2014-01-08 Chongyu Zhu <lembacon@gmail.com>
michael@0 445
michael@0 446 [arm] Fix Savannah bug #41138, part 2.
michael@0 447
michael@0 448 * builds/unix/ftconfig.in (FT_MulFix_arm), include/config/ftconfig.h
michael@0 449 (FT_MulFix_arm), src/truetype/ttinterp.c (TT_MulFix14_arm): Fix
michael@0 450 preprocessor conditionals for `add.w'.
michael@0 451
michael@0 452 2014-01-08 Werner Lemberg <wl@gnu.org>
michael@0 453
michael@0 454 [autofit] Fix Savannah bug #41138, part 1.
michael@0 455
michael@0 456 * src/tools/afblue.pl <Handling #endif>: Produce correct auxiliary
michael@0 457 enumeration names for generated `#else'.
michael@0 458
michael@0 459 * src/autofit/afblue.h: Regenerated.
michael@0 460
michael@0 461 2014-01-06 Werner Lemberg <wl@gnu.org>
michael@0 462
michael@0 463 Add manual page for `freetype-config'.
michael@0 464 Contributed by Nis Martensen <nis.martensen@web.de>.
michael@0 465
michael@0 466 * docs/freetype-config.1: New file.
michael@0 467
michael@0 468 * builds/unix/unix-def.in (mandir): Define.
michael@0 469 * builds/unix/install.mk (install, uninstall): Handle manpage.
michael@0 470
michael@0 471 2014-01-05 Werner Lemberg <wl@gnu.org>
michael@0 472
michael@0 473 [autofit] Minor fixes for `afblue.pl'.
michael@0 474
michael@0 475 * src/tools/afblue.pl (aux_name): Don't use `reverse'.
michael@0 476 <Handling #endif>: Use proper indentation for generated `#else'.
michael@0 477
michael@0 478 * src/autofit/afblue.h: Regenerated.
michael@0 479
michael@0 480 2014-01-04 Werner Lemberg <wl@gnu.org>
michael@0 481
michael@0 482 [autofit] Fix Indic scripts.
michael@0 483
michael@0 484 Split the single, incorrect Indic entry into separate scripts so
michael@0 485 that the covered ranges are the same: Bengali, Devanagari, Gujarati,
michael@0 486 Gurmukhi, Kannada, Limbu, Malayalam, Oriya, Sinhala, Sundanese,
michael@0 487 Syloti Nagri, Tamil, Telugu, and Tibetan. At the same time, remove
michael@0 488 entries for Meetai Mayak and Sharada – the Unicode ranges were
michael@0 489 incorrect (and nobody has complained about that), fonts are scarce
michael@0 490 for those scripts, and the Indic auto-hinter support is rudimentary
michael@0 491 anyways.
michael@0 492
michael@0 493 * src/autofit/afscript.h: Updated, using AF_CONFIG_OPTION_INDIC and
michael@0 494 AF_CONFIG_OPTION_CJK.
michael@0 495
michael@0 496 * src/autofit/afstyles.h (STYLE_DEFAULT_INDIC): New auxiliary macro.
michael@0 497 Use it, together with AF_CONFIG_OPTION_INDIC and
michael@0 498 AF_CONFIG_OPTION_CJK, to update.
michael@0 499
michael@0 500 * src/autofit/afranges.c [AF_CONFIG_OPTION_INDIC]: Updated.
michael@0 501 [!AF_CONFIG_OPTION_INDIC, !AF_CONFIG_OPTION_CJK]: Removed.
michael@0 502 Sort entries by tags.
michael@0 503
michael@0 504 2014-01-03 Werner Lemberg <wl@gnu.org>
michael@0 505
michael@0 506 [autofit] Thinko.
michael@0 507
michael@0 508 * src/autofit/hbshim.c (af_get_char_index): Similar to
michael@0 509 `af_get_coverage', reject glyphs which are not substituted.
michael@0 510
michael@0 511 2014-01-03 Werner Lemberg <wl@gnu.org>
michael@0 512
michael@0 513 [autofit] Fix handling of default coverages.
michael@0 514
michael@0 515 With this commit, the implementation of coverage handling is
michael@0 516 completed.
michael@0 517
michael@0 518 * src/autofit/hbshim.c (af_get_coverage): Exit early if nothing to
michael@0 519 do.
michael@0 520 Reject coverages which don't contain appropriate glyphs for blue
michael@0 521 zones.
michael@0 522
michael@0 523 2014-01-03 Werner Lemberg <wl@gnu.org>
michael@0 524
michael@0 525 [autofit] Fix handling of default coverages.
michael@0 526
michael@0 527 * src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
michael@0 528 First handle non-default coverages, then the default coverage of the
michael@0 529 default script, and finally the other default coverages.
michael@0 530
michael@0 531 2014-01-03 Werner Lemberg <wl@gnu.org>
michael@0 532
michael@0 533 [autofit] Fix scaling of HarfBuzz shaping.
michael@0 534
michael@0 535 * src/autofit/hbshim.c (af_get_char_index): Scale to units per EM.
michael@0 536
michael@0 537 2014-01-03 Werner Lemberg <wl@gnu.org>
michael@0 538
michael@0 539 [autofit] Better ftgrid support.
michael@0 540
michael@0 541 * src/autofit/afhints.c (af_glyph_hints_get_segment_offset): Add
michael@0 542 parameters `is_blue' and `blue_offset'.
michael@0 543
michael@0 544 2014-01-01 Werner Lemberg <wl@gnu.org>
michael@0 545
michael@0 546 [autofit] Remove some styles.
michael@0 547
michael@0 548 * src/autofit/afcover.h: Remove coverages for alternative fractions,
michael@0 549 denominators, numerators, and fractions.
michael@0 550
michael@0 551 * src/autofit/afstyles.h (META_STYLE_LATIN): Updated.
michael@0 552
michael@0 553 2014-01-01 Werner Lemberg <wl@gnu.org>
michael@0 554
michael@0 555 [autofit] Add more styles.
michael@0 556
michael@0 557 * src/autofit/afstyles.h (STYLE_LATIN, META_STYLE_LATIN): New
michael@0 558 auxiliary macros; use them to define styles for Cyrillic, Greek, and
michael@0 559 Latin.
michael@0 560
michael@0 561 * src/autofit/afcover.h: Remove coverage for oldstyle figures.
michael@0 562 Since those digits are used in combination with ordinary letters, it
michael@0 563 makes no sense to handle them separately.
michael@0 564
michael@0 565 * src/autofit/afglobal.c (af_face_globals_get_metrics): Don't limit
michael@0 566 `options' parameter to 4 bits.
michael@0 567
michael@0 568 2014-01-01 Werner Lemberg <wl@gnu.org>
michael@0 569
michael@0 570 [autofit] Fix style assignments to glyphs.
michael@0 571
michael@0 572 * src/autofit/hbshim.c (af_get_coverage)
michael@0 573 [FT_CONFIG_OPTION_USE_HARFBUZZ]: Scan GPOS coverage of features also
michael@0 574 so that we can skip glyphs that have both GSUB and GPOS data.
michael@0 575
michael@0 576 2014-01-01 Werner Lemberg <wl@gnu.org>
michael@0 577
michael@0 578 * src/autofit/hbshim.c: s/{lookups,glyphs}/gsub_{lookups,glyphs}/.
michael@0 579
michael@0 580 2014-01-01 Werner Lemberg <wl@gnu.org>
michael@0 581
michael@0 582 [autofit] Implement and use `af_get_char_index' with HarfBuzz.
michael@0 583
michael@0 584 * src/autofit/hbshim.c (COVERAGE) [FT_CONFIG_OPTION_USE_HARFBUZZ]:
michael@0 585 Redefine to construct HarfBuzz features.
michael@0 586 (af_get_char_index) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Rewritten.
michael@0 587
michael@0 588 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Use
michael@0 589 `y_offset' to adjust `best_y'.
michael@0 590
michael@0 591 2013-12-31 Werner Lemberg <wl@gnu.org>
michael@0 592
michael@0 593 [autofit] s/AF_STYLE_...._DEFAULT/AF_STYLE_...._DFLT/i.
michael@0 594
michael@0 595 2013-12-31 Werner Lemberg <wl@gnu.org>
michael@0 596
michael@0 597 [autofit] Fix interface of `af_get_char_index'.
michael@0 598
michael@0 599 * src/autofit/hbshim.c (af_get_char_index): Return error value.
michael@0 600 Add argument for y offset (to be used in a yet-to-come patch).
michael@0 601
michael@0 602 * src/autofit/hbshim.h, src/autofit/afcjk.c,
michael@0 603 src/autofit/aflatin.c: Updated.
michael@0 604
michael@0 605 2013-12-30 Werner Lemberg <wl@gnu.org>
michael@0 606
michael@0 607 [autofit] Don't combine multiple features into one set.
michael@0 608
michael@0 609 Combining them, as originally envisioned, would lead to much more
michael@0 610 complicated code, as investigations have shown meanwhile. The major
michael@0 611 drawback is that we run out of available style slots much earlier.
michael@0 612 However, this is only a theoretical issue since we don't support a
michael@0 613 large number of scripts currently.
michael@0 614
michael@0 615 * src/autofit/afcover.h: Replace `COVERAGE_{1,2,3}' macros with
michael@0 616 a single-element `COVERAGE' macro, sort the elements by the feature
michael@0 617 tags, and add entry for `ruby'.
michael@0 618
michael@0 619 * src/autofit/aftypes.h: Updated.
michael@0 620 * src/autofit/hbshim.c: Updated.
michael@0 621
michael@0 622 2013-12-28 Werner Lemberg <wl@gnu.org>
michael@0 623
michael@0 624 [autofit] Code shuffling to reduce use of cpp macros.
michael@0 625
michael@0 626 * src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
michael@0 627 Call `af_get_coverage' unconditionally.
michael@0 628
michael@0 629 * src/autofit/autofit.c: Include `hbshim.c' unconditionally.
michael@0 630
michael@0 631 * src/autofit/hbshim.c (af_get_coverage)
michael@0 632 [!FT_CONFIG_OPTION_USE_HARFBUZZ]: Provide dummy function.
michael@0 633
michael@0 634 * src/autofit/hbshim.h: Provide function declarations
michael@0 635 unconditionally.
michael@0 636
michael@0 637 2013-12-28 Werner Lemberg <wl@gnu.org>
michael@0 638
michael@0 639 [autofit] Add wrapper function for `FT_Get_Char_Index'.
michael@0 640
michael@0 641 Yet-to-come changes will provide HarfBuzz functionality for the new
michael@0 642 function.
michael@0 643
michael@0 644 * src/autofit/hbshim.c (af_get_char_index): New function.
michael@0 645 * src/autofit/hbshim.h: Updated.
michael@0 646
michael@0 647 * src/autofit/afcjk.c (af_cjk_metrics_init_widths,
michael@0 648 af_cjk_metrics_init_blues, af_cjk_metrics_check_digits): Updated.
michael@0 649
michael@0 650 * src/autofit/aflatin.c (af_latin_metrics_init_widths,
michael@0 651 af_latin_metrics_init_blues, af_latin_metrics_check_digits):
michael@0 652 Updated.
michael@0 653
michael@0 654 2013-12-28 Werner Lemberg <wl@gnu.org>
michael@0 655
michael@0 656 [autofit] Use `global' HarfBuzz font object.
michael@0 657
michael@0 658 We now use `hb_font' instead of `hb_face' since yet-to-come changes
michael@0 659 need this.
michael@0 660
michael@0 661 * src/autofit/afglobal.h: Include `hbshim.h'.
michael@0 662 (AF_FaceGlobalsRec) [FT_CONFIG_OPTION_USE_HARFBUZZ]: New member
michael@0 663 `hb_font'.
michael@0 664
michael@0 665 * src/autofit/afglobal.c (af_face_globals_new)
michael@0 666 [FT_CONFIG_OPTION_USE_HARFBUZZ]: Create `hb_font'.
michael@0 667 (af_face_globals_free) [FT_CONFIG_OPTION_USE_HARFBUZZ]: Destroy
michael@0 668 `hb_font'.
michael@0 669
michael@0 670 * src/autofit/hbshim.h: Include HarfBuzz headers.
michael@0 671
michael@0 672 * src/autofit/hbshim.c: Include `hbshim.h' instead of HarfBuzz
michael@0 673 headers.
michael@0 674 (af_get_coverage): Updated.
michael@0 675
michael@0 676 2013-12-27 Werner Lemberg <wl@gnu.org>
michael@0 677
michael@0 678 [autofit] Handle `DFLT' OpenType script for coverages.
michael@0 679
michael@0 680 * include/ftautoh.h: Document new `default-script' property.
michael@0 681
michael@0 682 * src/autofit/hbshim.c (af_get_coverage): Use `AF_FaceGlobals' for
michael@0 683 type of first parameter.
michael@0 684 (script_tags): Add one more element.
michael@0 685 (af_get_coverage): Adjust `script_tags' to handle `DFLT' script tag.
michael@0 686
michael@0 687 * src/autofit/hbshim.h: Updated.
michael@0 688
michael@0 689 * src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
michael@0 690 Updated.
michael@0 691
michael@0 692 * src/autofit/afglobal.h (AF_SCRIPT_DEFAULT): New macro.
michael@0 693
michael@0 694 * src/autofit/afmodule.h (AF_ModuleRec): New `default_script'
michael@0 695 member.
michael@0 696
michael@0 697 * src/autofit/afmodule.c (af_property_set, af_property_get): Handle
michael@0 698 `default-script' property.
michael@0 699 (af_autofitter_init): Updated.
michael@0 700
michael@0 701 2013-12-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
michael@0 702
michael@0 703 [ftrfork] Fix the face order difference between POSIX and Carbon.
michael@0 704
michael@0 705 The fragmented resources in Suitcase and .dfont should be reordered
michael@0 706 when `POST' resource for Type1 is being restored, but reordering of
michael@0 707 sfnt resources induces the different face order. Now the ordering
michael@0 708 is restricted to `POST' resource only, to prevent the different
michael@0 709 order issue (e.g. the face index in the fontconfig cache generated
michael@0 710 with Carbon framework is incompatible with that by FreeType 2
michael@0 711 without Carbon framework.) Found by Khaled Hosny and Hin-Tak Leung.
michael@0 712
michael@0 713 http://lists.gnu.org/archive/html/freetype-devel/2013-02/msg00035.html
michael@0 714 http://lists.gnu.org/archive/html/freetype-devel/2013-12/msg00027.html
michael@0 715
michael@0 716 * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Add a switch
michael@0 717 `sort_by_res_id' to control the fragmented resource ordering.
michael@0 718 * include/internal/ftrfork.h: Declare new switch.
michael@0 719 * src/base/ftobjs.c (IsMacResource): Enable the sorting for `POST'
michael@0 720 resource, and disable the sorting for `sfnt' resource.
michael@0 721
michael@0 722 2013-12-25 Werner Lemberg <wl@gnu.org>
michael@0 723
michael@0 724 Fix Savannah bug #40997.
michael@0 725
michael@0 726 * src/bdf/bdfdrivr.c (BDF_Face_Init): Only use OR operator to
michael@0 727 adjust face flags since FT_FACE_FLAG_EXTERNAL_STREAM might already
michael@0 728 be set.
michael@0 729 * src/cff/cffobjs.c (cff_face_init): Ditto.
michael@0 730 * src/cid/cidobjs.c (cid_face_init): Ditto.
michael@0 731 * src/pcf/pcfread.c (pcf_load_font): Ditto.
michael@0 732 * src/pfr/pfrobjs.c (pfr_face_init): Ditto.
michael@0 733 * src/type1/t1objs.c (T1_Face_Init): Ditto.
michael@0 734 * src/type42/t42objs.c (T42_Face_Init): Ditto.
michael@0 735 * src/winfonts/winfnt.c (FNT_Face_Init): Ditto.
michael@0 736
michael@0 737 2013-12-21 Werner Lemberg <wl@gnu.org>
michael@0 738
michael@0 739 [autofit] Introduce `coverages'.
michael@0 740
michael@0 741 Coverages are the interface to the HarfBuzz library to acces
michael@0 742 OpenType features for handling glyphs not addressable by the cmap.
michael@0 743
michael@0 744 Right now, compilation of HarfBuzz is only added to the development
michael@0 745 build. A solution for standard build mode will be delayed until
michael@0 746 HarfBuzz gets split into two libraries to avoid mutual dependencies
michael@0 747 between FreeType and HarfBuzz.
michael@0 748
michael@0 749 Note that this is only a first step in handling coverages, basically
michael@0 750 providing the framework only. Code for handling selected OpenType
michael@0 751 features (this is, actually using the data in `afcover.h') will
michael@0 752 follow.
michael@0 753
michael@0 754 * devel/ftoption.h, include/config/ftoption.h
michael@0 755 (FT_CONFIG_OPTION_USE_HARFBUZZ): New macro.
michael@0 756
michael@0 757 * src/autofit/hbshim.c, src/autofit/hbshim.h, src/autofit/afcover.h:
michael@0 758 New files.
michael@0 759
michael@0 760 * src/autofit/afscript.h: Add HarfBuzz script name tags.
michael@0 761
michael@0 762 * src/autofit/afstyles.h: Add default coverage enumeration values.
michael@0 763
michael@0 764 * src/autofit/aftypes.h: Update use of `SCRIPT' and `STYLE' macros.
michael@0 765 (AF_Coverage): New enumeration (generated by `afcover.h').
michael@0 766 (AF_StyleClassRec): New member `coverage'.
michael@0 767 (AF_DEFINE_STYLE_CLASS): Updated.
michael@0 768
michael@0 769 * include/internal/fttrace.h: Add `afharfbuzz' for tracing coverage
michael@0 770 data.
michael@0 771
michael@0 772 * src/autofit/afglobal.h: Update use of `SCRIPT' and `STYLE' macros.
michael@0 773 (AF_SCRIPT_FALLBACK): Renamed to ...
michael@0 774 (AF_STYLE_FALLBACK): ... this.
michael@0 775
michael@0 776 * src/autofit/afglobal.c: Include `hbshim.c'.
michael@0 777 Update use of `SCRIPT' and `STYLE' macros.
michael@0 778 (af_face_globals_compute_style_coverage)
michael@0 779 [FT_CONFIG_OPTION_USE_HARFBUZZ]: Call `af_get_coverage'.
michael@0 780 Update.
michael@0 781
michael@0 782 * src/autofit/afmodule.h (AF_ModuleRec):
michael@0 783 s/fallback_script/fallback_style/.
michael@0 784
michael@0 785 * src/autofit/afmodule.c (af_property_set): Adapt handling of
michael@0 786 `fallback-script' property to set a fallback style.
michael@0 787 (af_property_get, af_autofitter_init): Updated.
michael@0 788
michael@0 789 * src/autofit/afpic.c: Update use of `SCRIPT' and `STYLE' macros.
michael@0 790
michael@0 791 * src/autofit/afranges.h: Update use of `SCRIPT' macro.
michael@0 792
michael@0 793 * src/autofit/autofit.c [FT_CONFIG_OPTION_USE_HARFBUZZ]: Include
michael@0 794 `hbshim.c'.
michael@0 795
michael@0 796 * src/autofit/rules.mk (AUTOF_DRV_SRC): Add `hbshim.c'.
michael@0 797 (AUTOF_DRV_H): Add `afcover.h'.
michael@0 798
michael@0 799 * builds/freetype.mk (INCLUDE_FLAGS) [DEVEL_DIR]: Use pkg-config for
michael@0 800 all libraries needed by FreeType.
michael@0 801
michael@0 802 2013-12-21 Werner Lemberg <wl@gnu.org>
michael@0 803
michael@0 804 Fix Savannah bug #40975 (sort of).
michael@0 805
michael@0 806 * src/truetype/ttinterp.c (Ins_IP): Fix sign typo to make FreeType
michael@0 807 behave the same as the Windows TrueType engine for the invalid case.
michael@0 808
michael@0 809 2013-12-21 Werner Lemberg <wl@gnu.org>
michael@0 810
michael@0 811 [autofit] Make PIC mode work actually.
michael@0 812
michael@0 813 * src/autofit/afpic.h (AFModulePIC): Fix array sizes to fit the
michael@0 814 enumeration values automatically generated by including `afscript.h'
michael@0 815 and friends.
michael@0 816
michael@0 817 * src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
michael@0 818
michael@0 819 2013-12-21 Werner Lemberg <wl@gnu.org>
michael@0 820
michael@0 821 Fix PIC linking.
michael@0 822
michael@0 823 * include/internal/ftrfork.h (CONST_FT_RFORK_RULE_ARRAY_BEGIN): Fix
michael@0 824 generated function name.
michael@0 825
michael@0 826 * src/base/basepic.c (FT_Init_Table_raccess_guess_table): Rename
michael@0 827 to ...
michael@0 828 (FT_Init_Table_ft_raccess_guess_table): ... this so that the
michael@0 829 function name correctly corresponds to what the macro framework
michael@0 830 expects.
michael@0 831
michael@0 832 * src/psnames/rules.mk (PSNAMES_DRV_SRC_S): Use correct file name so
michael@0 833 that PIC functions are compiled also.
michael@0 834
michael@0 835 2013-12-21 Werner Lemberg <wl@gnu.org>
michael@0 836
michael@0 837 [base] Add missing dependencies to Makefile.
michael@0 838
michael@0 839 * src/base/rules.mk (BASE_SRC): Add `basepic.c' and `ftpic.c'.
michael@0 840 (BASE_H): Add `basepic.h'.
michael@0 841
michael@0 842 2013-12-20 Werner Lemberg <wl@gnu.org>
michael@0 843
michael@0 844 [autofit] Fix PIC compilation.
michael@0 845
michael@0 846 * src/autofit/afcjk.c (af_cjk_metrics_init_widths),
michael@0 847 src/autofit/aflatin.c (af_latin_metrics_init_widths)
michael@0 848 [FT_CONFIG_OPTION_PIC]: Declare `globals'.
michael@0 849
michael@0 850 * src/autofit/afglobal.c: Always call AF_DEFINE_SCRIPT_CLASS, and
michael@0 851 AF_DEFINE_STYLE_CLASS.
michael@0 852
michael@0 853 * src/autofit/afpic.c: Include `afglobal.h'.
michael@0 854 (autofit_module_class_pic_init): Typo.
michael@0 855
michael@0 856 * src/autofit/aftypes.h (AF_DEFINE_SCRIPT_CLASS,
michael@0 857 AF_DEFINE_STYLE_CLASS): Don't use the same identifier for macro
michael@0 858 parameter and structure member.
michael@0 859
michael@0 860 2013-12-20 Werner Lemberg <wl@gnu.org>
michael@0 861
michael@0 862 [autofit] Introduce `styles'.
michael@0 863
michael@0 864 This is the new top-level structure for handling glyph input data;
michael@0 865 scripts are now defined separately.
michael@0 866
michael@0 867 * src/autofit/aftypes.h (SCRIPT): Updated.
michael@0 868 (AF_ScriptClassRec): Move `blue_stringset' and `writing_system'
michael@0 869 members to ...
michael@0 870 (AF_Style_ClassRec): ... this new structure.
michael@0 871 (AF_Style): New enumeration.
michael@0 872 (AF_StyleMetricsRec): Replace `script' enumeration with
michael@0 873 `style_class' pointer.
michael@0 874 (AF_DEFINE_SCRIPT_CLASS, AF_DECLARE_SCRIPT_CLASS): Updated.
michael@0 875 (AF_DEFINE_STYLE_CLASS, AF_DECLARE_STYLE_CLASS): New macros.
michael@0 876
michael@0 877 * src/autofit/afstyles.h: New file, using data from `afscript.h'.
michael@0 878 * src/autofit/afscript.h: Updated.
michael@0 879
michael@0 880 * src/autofit/afcjk.c (af_cjk_metrics_init_widths,
michael@0 881 af_cjk_metrics_init_blues, af_cjk_hint_edges): Updated.
michael@0 882
michael@0 883 * src/autofit/afglobal.c (SCRIPT): Updated.
michael@0 884 (STYLE): Redefine macro to load `afstyles.h'.
michael@0 885 (af_script_names) [FT_DEBUG_LEVEL_TRACE]: Replace with...
michael@0 886 (af_style_names): ... this array.
michael@0 887 (af_face_globals_compute_script_coverage): Renamed to...
michael@0 888 (af_face_globals_compute_style_coverage): ... this.
michael@0 889 Updated.
michael@0 890 (af_face_globals_new, af_face_globals_free,
michael@0 891 af_face_globals_get_metrics): Updated.
michael@0 892
michael@0 893 * src/autofit/afglobal.h (SCRIPT): Updated.
michael@0 894 (STYLE): Redefine macro to load `afstyles.h'.
michael@0 895 (AF_SCRIPT_FALLBACK): Update definition. This will get more
michael@0 896 refinements with later on.
michael@0 897 (AF_SCRIPT_UNASSIGNED): Replace with...
michael@0 898 (AF_STYLE_UNASSIGNED): ... this macro.
michael@0 899 (AF_FaceGlobalsRec): Updated.
michael@0 900
michael@0 901 * src/autofit/aflatin.c (af_latin_metrics_init_widths,
michael@0 902 af_latin_metrics_init_blues, af_latin_metrics_scale_dim,
michael@0 903 af_latin_hint_edges): Updated.
michael@0 904
michael@0 905 * src/autofit/aflatin2.c (af_latin2_metrics_init_widths): Updated.
michael@0 906 (af_ltn2_uniranges): Removed.
michael@0 907
michael@0 908 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
michael@0 909 Updated.
michael@0 910
michael@0 911 * src/autofit/afpic.c (autofit_module_class_pic_init): Updated.
michael@0 912 * src/autofit/afpic.h (AF_STYLE_CLASSES_GET): New macro.
michael@0 913 (AFModulePIC): Add `af_style_classes' and `af_style_classes_rec'
michael@0 914 members.
michael@0 915
michael@0 916 * src/autofit/afranges.h: Updated.
michael@0 917
michael@0 918 * src/autofit/rules.mk (AUTOF_DRV_H): Add `afstyles.h'.
michael@0 919
michael@0 920 2013-12-19 Werner Lemberg <wl@gnu.org>
michael@0 921
michael@0 922 [autofit] Factor scripts and uniranges out of writing system files.
michael@0 923
michael@0 924 * src/autofit/afranges.c, src/autofit/afranges.h: New files.
michael@0 925
michael@0 926 * src/autofit/afscript.h: Extend `SCRIPT' macro with more
michael@0 927 parameters, taking data from the writing system files.
michael@0 928
michael@0 929 * src/autofit/aftypes.h: Updated.
michael@0 930
michael@0 931 * src/autofit/afglobal.c: Include `afranges.h'.
michael@0 932 Load `afscript.h' to call AF_DEFINE_SCRIPT_CLASS.
michael@0 933 * src/autofit/afglobal.c: Include `afranges.h'.
michael@0 934 Load `afscript.h' to call AF_DECLARE_SCRIPT_CLASS.
michael@0 935
michael@0 936 * src/autofit/afcjk.c, src/autofit/afcjk.h: Updated.
michael@0 937 * src/autofit/afdummy.c, src/autofit/afdummy.h: Updated.
michael@0 938 * src/autofit/afindic.c, src/autofit/afindic.h: Updated.
michael@0 939 * src/autofit/aflatin.c, src/autofit/aflatin.h: Updated.
michael@0 940 * src/autofit/aflatn2.c, src/autofit/aflatn2.h: Updated.
michael@0 941
michael@0 942 * src/autofit/afpic.c: Updated.
michael@0 943
michael@0 944 * src/autofir/autofit.c: Include `afranges.c'.
michael@0 945 * src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afranges.c'.
michael@0 946
michael@0 947 2013-12-18 Werner Lemberg <wl@gnu.org>
michael@0 948
michael@0 949 [autofit] More code orthogonality.
michael@0 950
michael@0 951 * src/autofit/aftypes.h (AF_StyleMetrics): Replace `script_class'
michael@0 952 pointer to an `AF_ScriptClass' structure with `script' index of type
michael@0 953 `AF_Script'.
michael@0 954 Move some code around.
michael@0 955
michael@0 956 * src/autofit/afcjk.c: Include `afpic.h'.
michael@0 957 (af_cjk_metrics_init_widths, af_cjk_metrics_init_blues,
michael@0 958 af_cjk_hint_edges): Updated.
michael@0 959
michael@0 960 * src/autofit/aflatin.c: Include `afpic.h'.
michael@0 961 (af_latin_metrics_init_widths, af_latin_metrics_init_blues,
michael@0 962 af_latin_metrics_scale_dim, af_latin_hint_edges): Updated.
michael@0 963
michael@0 964 * src/autofit/afglobal.c (af_face_globals_get_metrics): Updated.
michael@0 965
michael@0 966 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
michael@0 967 Updated.
michael@0 968
michael@0 969 2013-12-18 Werner Lemberg <wl@gnu.org>
michael@0 970
michael@0 971 [autofit] s/ScriptMetrics/StyleMetrics/.
michael@0 972
michael@0 973 2013-12-18 Werner Lemberg <wl@gnu.org>
michael@0 974
michael@0 975 [autofit] s/script_{metrics,hints}/style_{metrics,hints}/
michael@0 976
michael@0 977 2013-12-18 Werner Lemberg <wl@gnu.org>
michael@0 978
michael@0 979 [autofit] s/gscripts/gstyles/.
michael@0 980
michael@0 981 2013-12-18 Werner Lemberg <wl@gnu.org>
michael@0 982
michael@0 983 [autofit] s/glyph_scripts/glyph_styles/.
michael@0 984
michael@0 985 This is the first commit of a series to create a new top-level
michael@0 986 structure (a `style') for handling scripts, writing_systems, and
michael@0 987 soon-to-be-added coverages.
michael@0 988
michael@0 989 2013-12-17 Werner Lemberg <wl@gnu.org>
michael@0 990
michael@0 991 [autofit] s/AF_Script_/AF_WritingSystem_/ where appropriate.
michael@0 992
michael@0 993 2013-12-11 Infinality <infinality@infinality.net>
michael@0 994
michael@0 995 [truetype] Simplify logic of rendering modes.
michael@0 996
michael@0 997 This patch unifies the subpixel and non-subpixel cases.
michael@0 998
michael@0 999 * src/truetype/ttinterp.h (TT_ExecContextRec): Remove
michael@0 1000 `grayscale_hinting'; all code should refer to `grayscale' instead.
michael@0 1001 Remove unused `native_hinting' member.
michael@0 1002 Rename `subpixel_hinting' member to `subpixel.
michael@0 1003
michael@0 1004 * src/truetype/ttgload.c (TT_LOADER_SET_PP): Updated.
michael@0 1005 (tt_loader_init): Updated.
michael@0 1006
michael@0 1007 * src/truetype/ttinterp.c (Ins_GETINFO): Simplify.
michael@0 1008 Updated.
michael@0 1009
michael@0 1010 2013-12-11 Werner Lemberg <wl@gnu.org>
michael@0 1011
michael@0 1012 [documentation] Add section how to include FreeType header files.
michael@0 1013 Problem reported by David Kastrup <dak@gnu.org>.
michael@0 1014
michael@0 1015 Surprisingly, a description how to do that was completely missing in
michael@0 1016 the API reference.
michael@0 1017
michael@0 1018 * include/freetype.h, include/ftchapters.h: New documentation
michael@0 1019 section `header_inclusion'.
michael@0 1020
michael@0 1021 2013-12-10 Werner Lemberg <wl@gnu.org>
michael@0 1022
michael@0 1023 [autofit] s/DFLT/NONE/, s/dflt/none/.
michael@0 1024
michael@0 1025 2013-12-10 Werner Lemberg <wl@gnu.org>
michael@0 1026
michael@0 1027 [autofit] s/AF_SCRIPT_NONE/AF_SCRIPT_UNASSIGNED/.
michael@0 1028
michael@0 1029 2013-12-10 Werner Lemberg <wl@gnu.org>
michael@0 1030
michael@0 1031 [truetype] Fix scaling of vertical phantom points.
michael@0 1032
michael@0 1033 * src/truetype/ttgload.c (load_truetype_glyph): Scale pp3.x and
michael@0 1034 pp4.x also.
michael@0 1035
michael@0 1036 2013-12-10 Werner Lemberg <wl@gnu.org>
michael@0 1037
michael@0 1038 [truetype] Fix positioning of composite glyphs.
michael@0 1039 Problem reported by Nigel Tao <nigeltao@golang.org>.
michael@0 1040
michael@0 1041 * src/truetype/ttgload.c (TT_Hint_Glyph): Remove code that shifts
michael@0 1042 the glyph (component) by a fractional value computed from the LSB
michael@0 1043 phantom point. This is wrong, since the horizontal phantom points
michael@0 1044 get rounded horizontally later on.
michael@0 1045
michael@0 1046 2013-12-08 Werner Lemberg <wl@gnu.org>
michael@0 1047
michael@0 1048 * Version 2.5.2 released.
michael@0 1049 =========================
michael@0 1050
michael@0 1051
michael@0 1052 Tag sources with `VER-2-5-2'.
michael@0 1053
michael@0 1054 * docs/VERSION.DLL: Update documentation and bump version number to
michael@0 1055 2.5.2.
michael@0 1056
michael@0 1057 * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
michael@0 1058 builds/windows/vc2005/index.html,
michael@0 1059 builds/windows/vc2008/freetype.vcproj,
michael@0 1060 builds/windows/vc2008/index.html,
michael@0 1061 builds/windows/vc2010/freetype.vcxproj,
michael@0 1062 builds/windows/vc2010/index.html,
michael@0 1063 builds/windows/visualc/freetype.dsp,
michael@0 1064 builds/windows/visualc/freetype.vcproj,
michael@0 1065 builds/windows/visualc/index.html,
michael@0 1066 builds/windows/visualce/freetype.dsp,
michael@0 1067 builds/windows/visualce/freetype.vcproj,
michael@0 1068 builds/windows/visualce/index.html,
michael@0 1069 builds/wince/vc2005-ce/freetype.vcproj,
michael@0 1070 builds/wince/vc2005-ce/index.html,
michael@0 1071 builds/wince/vc2008-ce/freetype.vcproj,
michael@0 1072 builds/wince/vc2008-ce/index.html: s/2.5.1/2.5.2/, s/251/252/.
michael@0 1073
michael@0 1074 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
michael@0 1075
michael@0 1076 * builds/unix/configure.raw (version_info): Set to 17:1:11.
michael@0 1077 * CMakeLists.txt (VERSION_PATCH): Set to 2.
michael@0 1078 * docs/CHANGES: Updated.
michael@0 1079
michael@0 1080 2013-12-07 Werner Lemberg <wl@gnu.org>
michael@0 1081
michael@0 1082 [truetype] Next round in phantom point handling.
michael@0 1083
michael@0 1084 Greg Hitchcock provided very interesting insights into the
michael@0 1085 complicated history of the horizontal positions of the TSB and BSB
michael@0 1086 phantom points.
michael@0 1087
michael@0 1088 * src/truetype/ttgload.c (TT_LOADER_SET_PP)
michael@0 1089 [TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Use `subpixel_hinting' and
michael@0 1090 `grayscale_hinting' flags as conditionals for the x position of TSB
michael@0 1091 and BSB.
michael@0 1092
michael@0 1093 2013-12-05 Werner Lemberg <wl@gnu.org>
michael@0 1094
michael@0 1095 * builds/freetype.mk (FT_CC): Removed. Unused.
michael@0 1096
michael@0 1097 2013-12-04 Werner Lemberg <wl@gnu.org>
michael@0 1098
michael@0 1099 [sfnt] Fix handling of embedded bitmap strikes.
michael@0 1100
michael@0 1101 This corrects the commit from 2013-11-21. Problem reported by
michael@0 1102 Andrey Panov <panov@canopus.iacp.dvo.ru>.
michael@0 1103
michael@0 1104 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Fix logic to
michael@0 1105 detect excessive bytes for bit-aligned bitmaps.
michael@0 1106
michael@0 1107 2013-12-03 Werner Lemberg <wl@gnu.org>
michael@0 1108
michael@0 1109 [truetype] Remove dead code.
michael@0 1110
michael@0 1111 Reported by Nigel Tao <nigeltao@golang.org>.
michael@0 1112
michael@0 1113 * include/internal/tttypes.h (TT_LoaderRec): Remove unused
michael@0 1114 `preserve_pps' field.
michael@0 1115 * src/truetype/ttgload.c (TT_Hint_Glyph): Updated.
michael@0 1116
michael@0 1117 2013-12-03 Werner Lemberg <wl@gnu.org>
michael@0 1118
michael@0 1119 [truetype] Fix phantom point handling.
michael@0 1120
michael@0 1121 This is a further improvement to the changes from 2013-11-06.
michael@0 1122
michael@0 1123 * src/truetype/ttgload.c (TT_Hint_Glyph): Horizontal phantom points
michael@0 1124 are rounded horizontally, vertical ones are rounded vertically.
michael@0 1125 (TT_LOADER_SET_PP): The horizontal position of vertical phantom
michael@0 1126 points in pre-ClearType mode is zero, as shown in the OpenType
michael@0 1127 specification.
michael@0 1128
michael@0 1129 2013-12-02 Werner Lemberg <wl@gnu.org>
michael@0 1130
michael@0 1131 [truetype] Fix change from 2013-11-20.
michael@0 1132
michael@0 1133 Problem reported by Akira Kakuto <kakuto@fuk.kindai.ac.jp>.
michael@0 1134
michael@0 1135 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Protect call to
michael@0 1136 `Update_Max' with both a TT_USE_BYTECODE_INTERPRETER guard and a
michael@0 1137 `IS_HINTED' clause.
michael@0 1138 Also remove redundant check using `maxSizeOfInstructions' – in
michael@0 1139 simple glyphs, the bytecode data comes before the outline data, and
michael@0 1140 a validity test for this is already present.
michael@0 1141
michael@0 1142 2013-11-27 Werner Lemberg <wl@gnu.org>
michael@0 1143
michael@0 1144 [autofit] Fix use of dumping functions in `ftgrid' demo program.
michael@0 1145
michael@0 1146 * src/autofit/afhints.c (AF_DUMP) [FT_DEBUG_AUTOFIT]: New macro.
michael@0 1147 (af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
michael@0 1148 af_glyph_hints_dump_edges) [FT_DEBUG_AUTOFIT]: Add parameter to
michael@0 1149 handle output to stdout.
michael@0 1150 Use AF_DUMP.
michael@0 1151 (af_glyph_hints_dump_points, af_glyph_hints_dump_segments,
michael@0 1152 af_glyph_hints_dump_edges) [!FT_DEBUG_AUTOFIT]: Removed.
michael@0 1153
michael@0 1154 2013-11-25 Werner Lemberg <wl@gnu.org>
michael@0 1155
michael@0 1156 * Version 2.5.1 released.
michael@0 1157 =========================
michael@0 1158
michael@0 1159
michael@0 1160 Tag sources with `VER-2-5-1'.
michael@0 1161
michael@0 1162 * docs/VERSION.DLL: Update documentation and bump version number to
michael@0 1163 2.5.1.
michael@0 1164
michael@0 1165 * README, Jamfile (RefDoc), builds/windows/vc2005/freetype.vcproj,
michael@0 1166 builds/windows/vc2005/index.html,
michael@0 1167 builds/windows/vc2008/freetype.vcproj,
michael@0 1168 builds/windows/vc2008/index.html,
michael@0 1169 builds/windows/vc2010/freetype.vcxproj,
michael@0 1170 builds/windows/vc2010/index.html,
michael@0 1171 builds/windows/visualc/freetype.dsp,
michael@0 1172 builds/windows/visualc/freetype.vcproj,
michael@0 1173 builds/windows/visualc/index.html,
michael@0 1174 builds/windows/visualce/freetype.dsp,
michael@0 1175 builds/windows/visualce/freetype.vcproj,
michael@0 1176 builds/windows/visualce/index.html,
michael@0 1177 builds/wince/vc2005-ce/freetype.vcproj,
michael@0 1178 builds/wince/vc2005-ce/index.html,
michael@0 1179 builds/wince/vc2008-ce/freetype.vcproj,
michael@0 1180 builds/wince/vc2008-ce/index.html: s/2.5.0/2.5.1/, s/250/251/.
michael@0 1181
michael@0 1182 * include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
michael@0 1183
michael@0 1184 * builds/unix/configure.raw (version_info): Set to 17:0:11.
michael@0 1185 * CMakeLists.txt (VERSION_PATCH): Set to 1.
michael@0 1186 * docs/CHANGES, docs/release: Updated.
michael@0 1187
michael@0 1188 2013-11-23 Werner Lemberg <wl@gnu.org>
michael@0 1189
michael@0 1190 [truetype]: Add tricky font names `hkscsiic.ttf' and `iicore.ttf'.
michael@0 1191
michael@0 1192 * src/truetype/ttobjs.c (TRICK_NAMES_MAX_CHARACTERS,
michael@0 1193 TRICK_NAMES_COUNT): Updated.
michael@0 1194 (trick_names): Add family name for the two fonts.
michael@0 1195
michael@0 1196 2013-11-23 Werner Lemberg <wl@gnu.org>
michael@0 1197
michael@0 1198 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Typo.
michael@0 1199
michael@0 1200 2013-11-21 Werner Lemberg <wl@gnu.org>
michael@0 1201
michael@0 1202 [sfnt] Typo.
michael@0 1203
michael@0 1204 Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
michael@0 1205
michael@0 1206 * src/sfnt/sfobjs.c (sfnt_load_face): Return correct `bsize->width'
michael@0 1207 value if the font lacks an `OS/2' table.
michael@0 1208
michael@0 1209 2013-11-21 Werner Lemberg <wl@gnu.org>
michael@0 1210
michael@0 1211 [sfnt] Improve handling of buggy embedded bitmap strikes.
michael@0 1212
michael@0 1213 We are now able to successfully load `AppleMyoungJo.ttf'.
michael@0 1214 Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>.
michael@0 1215
michael@0 1216 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_bitmap): Don't trust glyph
michael@0 1217 format.
michael@0 1218
michael@0 1219 2013-11-20 Werner Lemberg <wl@gnu.org>
michael@0 1220
michael@0 1221 [truetype] Don't trust `maxp's `maxSizeOfInstructions'.
michael@0 1222
michael@0 1223 Problem reported by Hin-Tak Leung <htl10@users.sourceforge.net>; see
michael@0 1224
michael@0 1225 http://lists.nongnu.org/archive/html/freetype-devel/2013-08/msg00005.html
michael@0 1226
michael@0 1227 for details.
michael@0 1228
michael@0 1229 * src/base/ftobjs.c (FT_Load_Glyph): Check size of `fpgm' and `prep'
michael@0 1230 tables also for setting `autohint'.
michael@0 1231
michael@0 1232 * src/truetype/ttgload.c (TT_Load_Simple_Glyph): Use code from
michael@0 1233 `TT_Process_Composite_Glyph' for handling unreliable values of
michael@0 1234 `maxSizeOfInstructions'.
michael@0 1235
michael@0 1236 2013-11-16 Werner Lemberg <wl@gnu.org>
michael@0 1237
michael@0 1238 [sfnt] Fix `OS/2' table version 5 support.
michael@0 1239
michael@0 1240 We now follow the `official' announcement from Microsoft (on the
michael@0 1241 OpenType mailing list, which unfortunately hasn't a public archive).
michael@0 1242
michael@0 1243 * include/freetype/tttables.h (TT_OS2):
michael@0 1244 s/usLowerPointSize/usLowerOpticalPointSize/,
michael@0 1245 s/usUpperPointSize/usUpperOpticalPointSize/.
michael@0 1246
michael@0 1247 * src/sfnt/ttload.c (tt_face_load_os2): Update, and set correct
michael@0 1248 default values.
michael@0 1249
michael@0 1250 2013-11-13 Werner Lemberg <wl@gnu.org>
michael@0 1251
michael@0 1252 * builds/unix/ft2unix.h: Remove. No longer necessary.
michael@0 1253
michael@0 1254 * builds/unix/install.mk (install): Updated.
michael@0 1255
michael@0 1256 2013-11-13 Werner Lemberg <wl@gnu.org>
michael@0 1257
michael@0 1258 Simplify header file hierarchy.
michael@0 1259
michael@0 1260 This large patch changes the header file directory layout from
michael@0 1261 `include/freetype/...' to `include/...', effectively removing one
michael@0 1262 level. Since the file `ft2build.h' is also located in `include'
michael@0 1263 (and it stays there even after installation), all FreeType header
michael@0 1264 files are now in a single directory.
michael@0 1265
michael@0 1266 Applications that use (a) `freetype-config' or FreeType's
michael@0 1267 `pkg-config' file to get the include directory for the compiler, and
michael@0 1268 (b) the documented way for header inclusion like
michael@0 1269
michael@0 1270 #include <ft2build.h>
michael@0 1271 #include FT_FREETYPE_H
michael@0 1272 ...
michael@0 1273
michael@0 1274 don't need any change to the source code.
michael@0 1275
michael@0 1276 * include/freetype/*: Move up to...
michael@0 1277 * include/*: ... this directory.
michael@0 1278
michael@0 1279 * builds/amiga/include/freetype/*: Move up to...
michael@0 1280 * builds/amiga/include/*: ... this directory.
michael@0 1281
michael@0 1282 */*: Essentially do `s@/freetype/@/@' where appropriate.
michael@0 1283
michael@0 1284 * CMakeList.txt: Simplify.
michael@0 1285 * builds/unix/freetype-config.in, builds/unix/freetype2.in: For
michael@0 1286 `--cflags', return a single directory.
michael@0 1287 * builds/unix/install.mk (install): No longer try to remove `cache'
michael@0 1288 and `internal' subdirectories; instead, remove the `freetype'
michael@0 1289 subdirectory.
michael@0 1290
michael@0 1291 2013-11-12 Werner Lemberg <wl@gnu.org>
michael@0 1292
michael@0 1293 [truetype] Fix last `truetype' commit.
michael@0 1294
michael@0 1295 * src/truetype/ttgload.c (tt_get_metrics): Preserve stream position.
michael@0 1296 Return error value.
michael@0 1297 (load_truetype_glyph): Updated.
michael@0 1298
michael@0 1299 2013-11-10 Werner Lemberg <wl@gnu.org>
michael@0 1300
michael@0 1301 * docs/CMAKE: New dummy file.
michael@0 1302
michael@0 1303 2013-11-08 Dave Arnold <darnold@adobe.com>
michael@0 1304
michael@0 1305 [cff] Fix for hints that touch.
michael@0 1306
michael@0 1307 * src/cff/cf2hints.c (cf2_hintmap_insertHint): Fix condition for
michael@0 1308 finding index value of insertion point.
michael@0 1309
michael@0 1310 2013-11-06 Werner Lemberg <wl@gnu.org>
michael@0 1311
michael@0 1312 [truetype] Fix handling of phantom points in composite glyphs.
michael@0 1313 Problem reported by Nigel Tao <nigeltao@golang.org>.
michael@0 1314
michael@0 1315 This is a follow-up commit to the previous one.
michael@0 1316
michael@0 1317 * src/truetype/ttgload.c (load_truetype_glyph): Call
michael@0 1318 `tt_get_metrics' after loading the glyph header.
michael@0 1319
michael@0 1320 2013-11-06 Werner Lemberg <wl@gnu.org>
michael@0 1321
michael@0 1322 [truetype] Improve emulation of vertical metrics.
michael@0 1323
michael@0 1324 This commit also improves the start values of vertical phantom
michael@0 1325 points. Kudos to Greg Hitchcock for help.
michael@0 1326
michael@0 1327 * src/truetype/ttgload.c (TT_Get_VMetrics): Add parameter to pass
michael@0 1328 `yMax' value. Replace code with fixed Microsoft definition.
michael@0 1329 (tt_get_metrics): Updated.
michael@0 1330 (TT_LOADER_SET_PP): Add explanation how to initialize phantom
michael@0 1331 points, taken from both the OpenType specification and private
michael@0 1332 communication with Greg (which will eventually be added to the
michael@0 1333 standard).
michael@0 1334 Fix horizontal position of `pp3' and `pp4'.
michael@0 1335
michael@0 1336 * src/truetype/ttgload.h: Updated.
michael@0 1337
michael@0 1338 * src/truetype/ttdriver.c (tt_get_advances): Updated.
michael@0 1339
michael@0 1340 * docs/CHANGES: Updated.
michael@0 1341
michael@0 1342 2013-11-05 Werner Lemberg <wl@gnu.org>
michael@0 1343
michael@0 1344 * builds/windows/vc2010/freetype.vcxproj: s/v110/v100/.
michael@0 1345 PlatformToolSet version 110 is for VC2012.
michael@0 1346
michael@0 1347 Problem reported (with solution) by Dave Arnold <darnold@adobe.com>.
michael@0 1348
michael@0 1349 2013-11-05 Werner Lemberg <wl@gnu.org>
michael@0 1350
michael@0 1351 [truetype] Correctly reset point tags for glyph components.
michael@0 1352 Problem reported by Nigel Tao <nigeltao@golang.org>.
michael@0 1353
michael@0 1354 * src/truetype/ttgload.c (TT_Process_Composite_Glyph): Fix loop.
michael@0 1355
michael@0 1356 2013-11-02 Werner Lemberg <wl@gnu.org>
michael@0 1357
michael@0 1358 [truetype] Fix GETINFO opcode handling of subpixel hinting bits.
michael@0 1359
michael@0 1360 * src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
michael@0 1361 get info on subpixel hinting.
michael@0 1362
michael@0 1363 * docs/CHANGES: Updated.
michael@0 1364
michael@0 1365 2013-11-02 Werner Lemberg <wl@gnu.org>
michael@0 1366
michael@0 1367 Fix Savannah bug #40451.
michael@0 1368
michael@0 1369 Simply apply the patch from the bug report.
michael@0 1370
michael@0 1371 * builds/unix/ftconfig.in, builds/vms/ftconfig.h,
michael@0 1372 include/freetype/config/ftconfig.h: The used #pragma directives only
michael@0 1373 work with gcc versions 4.6 and higher.
michael@0 1374
michael@0 1375 2013-11-01 Werner Lemberg <wl@gnu.org>
michael@0 1376
michael@0 1377 * docs/CHANGES: Updated.
michael@0 1378
michael@0 1379 2013-11-01 Werner Lemberg <wl@gnu.org>
michael@0 1380
michael@0 1381 [truetype] Minor code refactoring.
michael@0 1382
michael@0 1383 Two benefits: The allocated FDEF (and IDEF) array gets slightly
michael@0 1384 smaller, and the `ttdebug' demo program has access to function
michael@0 1385 numbers without additional costs.
michael@0 1386
michael@0 1387 Fortunately, no changes to FontForge are necessary – this is the
michael@0 1388 only external TrueType debugger I know of, but others may exist and
michael@0 1389 should check the code accordingly.
michael@0 1390
michael@0 1391 * src/truetype/ttinterp.h (TT_CallRec): Replace `Cur_Restart' and
michael@0 1392 `Cur_End' with a pointer to the corresponding `TT_DefRecord'
michael@0 1393 structure.
michael@0 1394
michael@0 1395 * src/truetype/ttinterp.c (DO_JROT, DO_JMPR, DO_JROF, Ins_ENDF,
michael@0 1396 Ins_CALL, Ins_LOOPCALL, Ins_UNKNOWN, TT_RunIns <Invalid_Opcode>):
michael@0 1397 Updated.
michael@0 1398
michael@0 1399 2013-10-27 Werner Lemberg <wl@gnu.org>
michael@0 1400
michael@0 1401 [sfnt] Implement support for `OS/2' table version 5.
michael@0 1402
michael@0 1403 See
michael@0 1404
michael@0 1405 http://typedrawers.com/discussion/470/new-microsoft-size-specific-design-selection-mechanism
michael@0 1406
michael@0 1407 for the announcement.
michael@0 1408
michael@0 1409 * include/freetype/tttables.h (TT_OS2): Add fields
michael@0 1410 `usLowerPointSize' and `usUpperPointSize'. Since FreeType returns
michael@0 1411 this structure only as a pointer through `FT_Get_Sfnt_Table', there
michael@0 1412 shouldn't be any ABI problems.
michael@0 1413
michael@0 1414 * src/sfnt/ttload.c (tt_face_load_os2): Implement it.
michael@0 1415
michael@0 1416 * docs/CHANGES: Updated.
michael@0 1417
michael@0 1418 2013-10-24 Werner Lemberg <wl@gnu.org>
michael@0 1419
michael@0 1420 * README.git, docs/CHANGES, docs/INSTALL: Updated.
michael@0 1421
michael@0 1422 2013-10-24 John Cary <cary@txcorp.com>
michael@0 1423
michael@0 1424 Provide cmake support.
michael@0 1425
michael@0 1426 * CMakeLists.txt: New file.
michael@0 1427
michael@0 1428 2013-10-23 Kenneth Miller <kennethadammiller@yahoo.com>
michael@0 1429 Werner Lemberg <wl@gnu.org>
michael@0 1430
michael@0 1431 Provide support for x64 builds in Visual C++ project files.
michael@0 1432
michael@0 1433 * src/builds/win32: Renamed to...
michael@0 1434 * src/builds/windows: This.
michael@0 1435
michael@0 1436 * src/builds/windows/vc2010/*: Updated to handle x64 target.
michael@0 1437
michael@0 1438 * src/builds/windows/*.mk, docs/INSTALL.GNU: s/win32/windows/ where
michael@0 1439 appropriate.
michael@0 1440
michael@0 1441 2013-10-22 Werner Lemberg <wl@gnu.org>
michael@0 1442
michael@0 1443 * src/base/md5.c, src/base/md5.h: Updated to recent version.
michael@0 1444
michael@0 1445 * src/base/ftobjs.c: Updated; `md5.c' no longer uses `free'.
michael@0 1446
michael@0 1447 The canonical URL to get updates for this file is
michael@0 1448
michael@0 1449 http://cvsweb.openwall.com/cgi/cvsweb.cgi/Owl/packages/popa3d/popa3d/md5/
michael@0 1450
michael@0 1451 as the author told me in private communication.
michael@0 1452
michael@0 1453 2013-10-19 Werner Lemberg <wl@gnu.org>
michael@0 1454
michael@0 1455 [autofit] s/SMALL_TOP/X_HEIGHT/.
michael@0 1456
michael@0 1457 * src/autofit/afblue.dat: Updated.
michael@0 1458
michael@0 1459 * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
michael@0 1460
michael@0 1461 * src/autofit/aflatin.c, src/autofit/aflatin.h,
michael@0 1462 src/autofit/atlatin2.c: Updated.
michael@0 1463
michael@0 1464 2013-10-19 Werner Lemberg <wl@gnu.org>
michael@0 1465
michael@0 1466 * src/autofit/afblue.dat: s/MINOR/DESCENDER/.
michael@0 1467
michael@0 1468 * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
michael@0 1469
michael@0 1470 2013-10-16 Werner Lemberg <wl@gnu.org>
michael@0 1471
michael@0 1472 [autofit] Add description strings to script entries.
michael@0 1473
michael@0 1474 Currently, this is unused.
michael@0 1475
michael@0 1476 * src/autofit/afscript.h: Do it.
michael@0 1477 * src/autofit/afglobal.c, src/autofit/afpic.c,
michael@0 1478 src/autofit/aftypes.h: Updated.
michael@0 1479
michael@0 1480 2013-10-16 Werner Lemberg <wl@gnu.org>
michael@0 1481
michael@0 1482 [autofit] Improve tracing message for extra light flag.
michael@0 1483
michael@0 1484 * src/autofit/aflatin.c (af_latin_metrics_scale_dim): Do it.
michael@0 1485
michael@0 1486 2013-10-15 Chongyu Zhu <lembacon@gmail.com>
michael@0 1487
michael@0 1488 [arm] Fix thumb2 inline assembly under LLVM.
michael@0 1489
michael@0 1490 When using `ADD' with an immediate operand, the instruction is
michael@0 1491 actually `ADD Rd, Rn, #<imm12>', that is, the maximum of the
michael@0 1492 immediate operand cannot exceed 4095. It will fail to compile with
michael@0 1493 LLVM.
michael@0 1494
michael@0 1495 However, in GCC, due to some legacy compatibility considerations,
michael@0 1496 `ADD.W' will be automatically emitted when the immediate operand is
michael@0 1497 larger than 4095.
michael@0 1498
michael@0 1499 * builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
michael@0 1500 (FT_MulFix_arm) [__GNUC__]: Support clang compiler.
michael@0 1501
michael@0 1502 * src/truetype/ttinterp.c (TT_MulFix14_arm) [__GNUC__]: Ditto.
michael@0 1503
michael@0 1504 2013-10-12 Werner Lemberg <wl@gnu.org>
michael@0 1505
michael@0 1506 [autofit] Improve tracing of `latin' hinter.
michael@0 1507
michael@0 1508 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Report blue
michael@0 1509 zone types.
michael@0 1510 (af_latin_metrics_scale_dim): Report scaling changes due to x height
michael@0 1511 alignment.
michael@0 1512 Report scaled stroke width and blue zone values.
michael@0 1513
michael@0 1514 2013-10-03 Dave Arnold <darnold@adobe.com>
michael@0 1515
michael@0 1516 * src/cff/cf2font.c (cf2_computeDarkening): Avoid division by zero.
michael@0 1517
michael@0 1518 Note that the old code avoided using a region of the piecewise
michael@0 1519 linear function where the slope was zero. The recovery was to use a
michael@0 1520 different section of the function, which produced a different,
michael@0 1521 incorrect amount of darkening.
michael@0 1522
michael@0 1523 2013-10-02 Darrell Bellert <darrell.bellert@hl.konicaminolta.us>
michael@0 1524
michael@0 1525 * src/sfnt/ttload.c (tt_face_load_pclt): Fix `pclt_fields'.
michael@0 1526
michael@0 1527 2013-10-02 Dave Arnold <darnold@adobe.com>
michael@0 1528
michael@0 1529 * src/cff/cf2font.c (cf2_computeDarkening): Initialize darkenAmount.
michael@0 1530
michael@0 1531 This line was lost in commit 89ca1fd6 (from 2013-06-25). The effect
michael@0 1532 is to use a previous darkening amount when producing an unhinted,
michael@0 1533 unscaled outline. This can cause autohint samples in ftgrid and
michael@0 1534 ftview to be based on darkened CFF outlines instead of unhinted,
michael@0 1535 undarkened ones.
michael@0 1536
michael@0 1537 2013-09-29 Dave Arnold <darnold@adobe.com>
michael@0 1538
michael@0 1539 Fix Savannah bug #39295.
michael@0 1540
michael@0 1541 The bug was caused by switching to the initial hintmap (the one in
michael@0 1542 effect when `moveto' executes) just before drawing the final element
michael@0 1543 in the charstring. This ensured that the path was closed (in both
michael@0 1544 Character Space and Device Space). But if the final element was a
michael@0 1545 curve and if the final hintmap was different enough from the initial
michael@0 1546 one, then the curve was visibly distorted.
michael@0 1547
michael@0 1548 The first part of the fix is to draw the final curve using the final
michael@0 1549 hintmap as specified by the charstring. This corrects the
michael@0 1550 distortion but does not ensure closing in Device Space. It may
michael@0 1551 require the rasterizer to automatically generate an extra closing
michael@0 1552 line. Depending on the hintmap differences, this line could be from
michael@0 1553 zero to a couple pixels in length.
michael@0 1554
michael@0 1555 The second part of the fix covers the case where the charstring
michael@0 1556 subpath is closed with an explicit line. We now modify that line's
michael@0 1557 end point to avoid the distortion.
michael@0 1558
michael@0 1559 Some glyphs in the bug report font (TexGyreHeros-Regular) that show
michael@0 1560 the change are:
michael@0 1561
michael@0 1562 25ppem S (98)
michael@0 1563 24ppem eight (52)
michael@0 1564 25.5ppem p (85)
michael@0 1565
michael@0 1566 Curves at the *end* of a subpath are no longer distorted. However,
michael@0 1567 some of these glyphs have bad hint substitutions in the middle of a
michael@0 1568 subpath, and these are not affected.
michael@0 1569
michael@0 1570 The patch has been tested with a set of 106 fonts that shipped with
michael@0 1571 Adobe Creative Suite 4, together with 756 Open Source CFF fonts from
michael@0 1572 Google Fonts. There are 1.5 million glyphs, of which some 20k are
michael@0 1573 changed with the fix. A sampling of a few hundred of these changes
michael@0 1574 have been examined more closely, and the changes look good (or at
michael@0 1575 least acceptable).
michael@0 1576
michael@0 1577 * src/cff/cf2hints.h (CF2_GlyphPathRec): New element `pathIsClosing'
michael@0 1578 to indicate that we synthesize a closepath line.
michael@0 1579
michael@0 1580 * src/cff/cf2hints.c (cf2_glyphpath_init): Updated.
michael@0 1581 (cf2_glyphpath_pushPrevElem): If closing, use first hint map (for
michael@0 1582 `lineto' operator) and adjust hint zone.
michael@0 1583 For synthesized closing lines, use end point in first hint zone.
michael@0 1584 (cf2_glyphpath_lineTo): Take care of synthesized closing lines. In
michael@0 1585 particular, shift the detection of zero-length lines from character
michael@0 1586 space to device space.
michael@0 1587 (cf2_glyphpath_closeOpenPath): Remove assertion.
michael@0 1588 Updated.
michael@0 1589
michael@0 1590 2013-09-25 Werner Lemberg <wl@gnu.org>
michael@0 1591
michael@0 1592 * src/autofit/aflatin.c (af_{grek,cyrl}_uniranges): Fix arrays.
michael@0 1593
michael@0 1594 2013-09-25 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
michael@0 1595
michael@0 1596 [bdf, pcf] Refuse non-zero face_index.
michael@0 1597
michael@0 1598 Suggested by Akira Tagoh, see
michael@0 1599
michael@0 1600 http://lists.gnu.org/archive/html/freetype/2013-09/msg00030.html
michael@0 1601
michael@0 1602 * src/bdf/bdfdrivr.c (BDF_Face_Init): Return `Invalid_Argument'
michael@0 1603 error if the font could be opened but non-zero `face_index' is
michael@0 1604 given.
michael@0 1605 * src/pcf/pcfdrivr.c (PCF_Face_Init): Ditto.
michael@0 1606
michael@0 1607 * src/type42/t42objs.c (T42_Face_Init): Remove unrequired FT_UNUSED
michael@0 1608 macro for `face_index' because it is validated later.
michael@0 1609
michael@0 1610 2013-09-23 Werner Lemberg <wl@gnu.org>
michael@0 1611
michael@0 1612 Fix Savannah bug #40090.
michael@0 1613
michael@0 1614 * src/autofit/afcjk.c (af_cjk_metrics_scale): Revert commit
michael@0 1615 306f8c5d (from 2013-08-25) affecting this function.
michael@0 1616
michael@0 1617 2013-09-22 Werner Lemberg <wl@gnu.org>
michael@0 1618
michael@0 1619 [autofit] Disunify Cyrillic and Greek handling from Latin.
michael@0 1620
michael@0 1621 * src/autofit/afscript.h: Add Cyrillic and Greek.
michael@0 1622
michael@0 1623 * src/autofit/afblue.dat (AF_BLUE_STRINGSET_GREK,
michael@0 1624 AF_BLUE_STRINGSET_CYRL): Add blue zones for Greek and Cyrillic.
michael@0 1625 (AF_BLUE_STRINGSET_LATN): Fix typo.
michael@0 1626 * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
michael@0 1627
michael@0 1628 * src/autofit/aflatin.c (af_grek_uniranges, af_cyrl_uniranges): New
michael@0 1629 arrays.
michael@0 1630 (af_grek_script_class, af_cyrl_script_class): New scripts.
michael@0 1631 * src/autofit/aflatin.h: Updated.
michael@0 1632
michael@0 1633 2013-09-20 Werner Lemberg <wl@gnu.org>
michael@0 1634
michael@0 1635 * docs/CHANGES: Updated.
michael@0 1636
michael@0 1637 2013-09-20 Behdad Esfahbod <behdad@behdad.org>
michael@0 1638
michael@0 1639 Fix vertical size of emboldened glyphs.
michael@0 1640
michael@0 1641 Cf. https://bugzilla.gnome.org/show_bug.cgi?id=686709
michael@0 1642
michael@0 1643 * src/base/ftsynth.c (FT_GlyphSlot_Embolden): Adjust `horiBearingY'
michael@0 1644 also.
michael@0 1645
michael@0 1646 2013-09-11 Alexei Podtelezhnikov <apodtele@gmail.com>
michael@0 1647
michael@0 1648 * include/freetype/ftoutln.h: Correct FT_Outline_Get_Orientation
michael@0 1649 algorithm description.
michael@0 1650
michael@0 1651 2013-09-11 Werner Lemberg <wl@gnu.org>
michael@0 1652
michael@0 1653 [autofit] Improve Hebrew rendering.
michael@0 1654
michael@0 1655 This change introduces a new blue zone property
michael@0 1656 `AF_BLUE_PROPERTY_LATIN_LONG' to make the auto-hinter ignore short
michael@0 1657 top segments.
michael@0 1658
michael@0 1659 * src/autofit/afblue.dat: Fix Hebrew blue strings.
michael@0 1660 Use AF_BLUE_PROPERTY_LATIN_LONG for AF_BLUE_STRING_HEBREW_TOP.
michael@0 1661
michael@0 1662 * src/autofit/afblue.hin (AF_BLUE_PROPERTY_LATIN_LONG): New macro.
michael@0 1663
michael@0 1664 * src/autofit/afblue.c, src/autofit/afblue.h: Updated.
michael@0 1665
michael@0 1666 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Handle
michael@0 1667 `AF_LATIN_IS_LONG_BLUE'.
michael@0 1668
michael@0 1669 * src/autofit/aflatin.h (AF_LATIN_IS_LONG_BLUE): New macro.
michael@0 1670
michael@0 1671 2013-08-28 Behdad Esfahbod <behdad@google.com>
michael@0 1672
michael@0 1673 [sfnt] Fix frame access while reading WOFF table directory.
michael@0 1674
michael@0 1675 * src/sfnt/sfobjs.c (woff_open_font): Using single memory frame
michael@0 1676 while reading the directory entries for the whole loop.
michael@0 1677
michael@0 1678 2013-08-29 Werner Lemberg <wl@gnu.org>
michael@0 1679 Behdad Esfahbod <behdad@google.com>
michael@0 1680
michael@0 1681 Implement support for WOFF containers.
michael@0 1682
michael@0 1683 We simply synthesize a SFNT from the WOFF, create a memory stream
michael@0 1684 for the new data, and load the SFNT as usual.
michael@0 1685
michael@0 1686 Does NOT add any API to access WOFF metadata or private blocks.
michael@0 1687
michael@0 1688 * include/freetype/internal/tttypes.h (WOFF_HeaderRec,
michael@0 1689 WOFF_TableRec): New structures.
michael@0 1690
michael@0 1691 * include/freetype/tttags.h (TTAG_wOFF): New macro.
michael@0 1692
michael@0 1693 * src/base/ftobjs.c (FT_Open_Face): Set `stream' after calling
michael@0 1694 `open_face'.
michael@0 1695
michael@0 1696 * src/sfnt/sfobjs.c [FT_CONFIG_OPTION_SYSTEM_ZLIB]: Include
michael@0 1697 `FT_GZIP_H'.
michael@0 1698 (WRITE_BYTE, WRITE_USHORT, WRITE_ULONG): New temporary macros for
michael@0 1699 writing to a stream.
michael@0 1700 (sfnt_stream_close, compare_offsets, woff_open_font): New functions.
michael@0 1701 (sfnt_open_font): Handle `TTAG_wOFF'.
michael@0 1702 (sfnt_init_face): Set `stream' after calling `sfnt_open_font'.
michael@0 1703
michael@0 1704 * src/truetype/ttobjs.c (tt_face_init): Set `stream' after calling
michael@0 1705 `sfnt->init_face'.
michael@0 1706
michael@0 1707 * src/base/ftobjs.c (open_face): Use a pointer to FT_Stream as an
michael@0 1708 argument so that a changed stream survives.
michael@0 1709 Update callers.
michael@0 1710
michael@0 1711 2013-08-28 Werner Lemberg <wl@gnu.org>
michael@0 1712
michael@0 1713 [gzip] New function `FT_Gzip_Uncompress'.
michael@0 1714
michael@0 1715 This is modeled after zlib's `uncompress' function. We need this
michael@0 1716 for WOFF support.
michael@0 1717
michael@0 1718 * include/freetype/ftgzip.h, src/gzip/ftgzip.c (FT_Gzip_Uncompress):
michael@0 1719 New function.
michael@0 1720
michael@0 1721 * src/gzip/rules.mk: Rewrite to better reflect dependencies.
michael@0 1722
michael@0 1723 2013-08-28 Werner Lemberg <wl@gnu.org>
michael@0 1724
michael@0 1725 [autofit] Fix `make multi' compilation.
michael@0 1726
michael@0 1727 * src/autofit/afblue.cin, src/autofit/afblue.c: Don't include
michael@0 1728 `afblue.h' but `aftypes.h'.
michael@0 1729 * src/autofit/afcjk.c: Don't include `aftypes.h' but `afglobal.h'.
michael@0 1730
michael@0 1731 2013-08-28 Werner Lemberg <wl@gnu.org>
michael@0 1732
michael@0 1733 [autofit] Fix C++ compilation.
michael@0 1734
michael@0 1735 * src/autofit/afglobal.c (af_face_globals_get_metrics),
michael@0 1736 src/autofit/afdummy.c (af_dflt_script_class), src/autofit/afindic.c
michael@0 1737 (af_deva_script_class): Use proper casts.
michael@0 1738
michael@0 1739 2013-08-27 Behdad Esfahbod <behdad@google.com>
michael@0 1740
michael@0 1741 * src/sfnt/ttload.c (tt_face_load_font_dir): Fix sign typos.
michael@0 1742
michael@0 1743 2013-08-27 Behdad Esfahbod <behdad@google.com>
michael@0 1744
michael@0 1745 FT_Open_Face: Improve external stream handling.
michael@0 1746
michael@0 1747 If the font's `clazz->init_face' function wants to swap to new
michael@0 1748 stream, handling of whether original stream was external could
michael@0 1749 result to either memory leak or double free. Mark externality into
michael@0 1750 face flags before calling `init_face' such that the clazz can handle
michael@0 1751 external streams properly.
michael@0 1752
michael@0 1753 * src/base/ftobjs.c (FT_Open_Face): Move code to set
michael@0 1754 FT_FACE_FLAG_EXTERNAL_STREAM to...
michael@0 1755 (open_face): This function.
michael@0 1756
michael@0 1757 2013-08-27 Werner Lemberg <wl@gnu.org>
michael@0 1758
michael@0 1759 Remove `FT_SqrtFixed' function.
michael@0 1760
michael@0 1761 It's no longer used.
michael@0 1762
michael@0 1763 * include/freetype/internal/ftcalc.h, src/base/ftcalc.c: Do it.
michael@0 1764
michael@0 1765 2013-08-27 Werner Lemberg <wl@gnu.org>
michael@0 1766
michael@0 1767 [autofit] While tracing, report script names instead of ID values.
michael@0 1768
michael@0 1769 * src/autofit/afglobal.c (af_script_names) [FT_DEBUG_LEVEL_TRACE]:
michael@0 1770 New array.
michael@0 1771 * src/autofit/afglobal.h: Updated.
michael@0 1772
michael@0 1773 * src/autofit/afcjk.c (af_cjk_metrics_init_widths,
michael@0 1774 af_cjk_hint_edges): Use `af_script_names'.
michael@0 1775 * src/autofit/aflatin.c (af_latin_metrics_init_widths,
michael@0 1776 af_latin_hint_edges): Ditto.
michael@0 1777
michael@0 1778 2013-08-26 Werner Lemberg <wl@gnu.org>
michael@0 1779
michael@0 1780 [autofit] Report used script while hinting a glyph.
michael@0 1781
michael@0 1782 * src/autofit/afcjk.c (af_cjk_hint_edges), src/autofit/aflatin.c
michael@0 1783 (af_latin_hint_edges): Implement it.
michael@0 1784
michael@0 1785 2013-08-26 Werner Lemberg <wl@gnu.org>
michael@0 1786
michael@0 1787 [autofit] Add support for Hebrew script.
michael@0 1788
michael@0 1789 * src/autofit/afblue.dat: Add blue strings for Hebrew.
michael@0 1790 * src/autofit/afblue.c, src/autofit/afblue.h: Regenerated.
michael@0 1791
michael@0 1792 * src/autofit/aflatin.c (af_hebr_uniranges): New array.
michael@0 1793 (af_hebr_script_class): New script.
michael@0 1794 * src/autofit/aflatin.h, src/autofit/afscript.h: Updated.
michael@0 1795
michael@0 1796 2013-08-26 Werner Lemberg <wl@gnu.org>
michael@0 1797
michael@0 1798 [autofit] Improve tracing messages.
michael@0 1799
michael@0 1800 * src/autofit/afcjk.c (af_cjk_metrics_init_widths): Mention script
michael@0 1801 ID in tracing message.
michael@0 1802 (af_cjk_metrics_init_blues): Initialize `axis' outside of the inner
michael@0 1803 loop.
michael@0 1804 Improve tracing messages.
michael@0 1805 (af_cjk_hint_edges) [FT_DEBUG_LEVEL_TRACE]: New variable
michael@0 1806 `num_actions' to count hinting actions.
michael@0 1807 Improve tracing messages.
michael@0 1808
michael@0 1809 * src/autofit/aflatin.c (af_latin_metrics_init_widths): Mention
michael@0 1810 script ID in tracing message.
michael@0 1811 (af_latin_metrics_init_blues, af_latin_hint_edges): Improve tracing
michael@0 1812 messages.
michael@0 1813
michael@0 1814 2013-08-26 Werner Lemberg <wl@gnu.org>
michael@0 1815
michael@0 1816 Better tracing of loaded glyphs.
michael@0 1817
michael@0 1818 Previously, the loading of a glyph was traced at level 4, if at all.
michael@0 1819 With this change, all font loading routines emit a tracing message
michael@0 1820 at level 1, making it easier to select tracing output (for example
michael@0 1821 using F2_DEBUG="any:1 afhints:7 aflatin:7").
michael@0 1822
michael@0 1823 * src/bdf/bdfdrivr.c (BDF_Glyph_Load): Add tracing message.
michael@0 1824 * src/cff/cffdrivr.c (cff_glyph_load): Ditto.
michael@0 1825 * src/cff/cffgload.c (cff_decoder_prepare): Improve tracing
michael@0 1826 messages.
michael@0 1827 * src/cid/cidgload.c (cid_load_glyph): Use level 1 for tracing
michael@0 1828 message.
michael@0 1829 * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Ditto.
michael@0 1830 * src/pfr/pfrobjs.c (pfr_slot_load): Add tracing message.
michael@0 1831 * src/truetype/ttgload.c (TT_Load_Glyph): Ditto.
michael@0 1832 * src/type1/t1gload.c (T1_Load_Glyph): Ditto.
michael@0 1833 * src/type42/t42objs.c (T42_GlyphSlot_Load): Ditto.
michael@0 1834 * src/winfonts/winfnt.c (FNT_Load_Glyph): Ditto.
michael@0 1835
michael@0 1836 2013-08-26 Werner Lemberg <wl@gnu.org>
michael@0 1837
michael@0 1838 [autofit] Fix script selection.
michael@0 1839
michael@0 1840 * src/autofit/afglobal.c (af_face_globals_get_metrics): Use
michael@0 1841 `AF_SCRIPT_DFLT', not value 0.
michael@0 1842 Simplify code.
michael@0 1843
michael@0 1844 * src/autofit/afscript.h: Sort by script name.
michael@0 1845
michael@0 1846 2013-08-26 Werner Lemberg <wl@gnu.org>
michael@0 1847
michael@0 1848 [autofit] Make `dummy' hinter work as expected.
michael@0 1849
michael@0 1850 * src/autofit/afdummy.c (af_dummy_hints_init): Properly set scaling
michael@0 1851 information.
michael@0 1852 (af_dummy_hints_apply): Scale the glyphs.
michael@0 1853
michael@0 1854 2013-08-25 Werner Lemberg <wl@gnu.org>
michael@0 1855
michael@0 1856 [autofit] Make `cjk' module use blue stringsets.
michael@0 1857
michael@0 1858 * src/autofit/afcjk.c (AF_CJK_MAX_TEST_CHARACTERS): Removed.
michael@0 1859 (af_cjk_hani_blue_chars): Removed.
michael@0 1860 (AF_CJK_BLUE_TYPE_*): Removed.
michael@0 1861 (af_cjk_metrics_init_blues): Replace AF_CJK_MAX_TEST_CHARACTERS with
michael@0 1862 AF_BLUE_STRING_MAX_LEN.
michael@0 1863 Change loops to use offsets (in file `afblue.h') into the new arrays
michael@0 1864 `af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
michael@0 1865 Instead of three dimensions (as used in the old blue string array)
michael@0 1866 we now use properties to do the same, saving one loop nesting level.
michael@0 1867
michael@0 1868 * src/autofit/afcjk.h: Remove old enumeration values superseded by
michael@0 1869 the new data in `afblue.h'.
michael@0 1870 (AF_CJK_IS_TOP_BLUE, AF_CJK_IS_HORIZ_BLUE, AF_CJK_IS_FILLED_BLUE,
michael@0 1871 AF_CJK_IS_RIGHT_BLUE): New macros, to be used in
michael@0 1872 `af_cjk_metrics_init_blues'.
michael@0 1873 (AF_CJK_BLUE_IS_RIGHT): Remove this now redundant enum value.
michael@0 1874 (AF_CJK_BLUE_IS_TOP): Renamed to...
michael@0 1875 (AF_CJK_BLUE_TOP): This.
michael@0 1876 (AF_CJK_MAX_BLUES): Remove.
michael@0 1877 (AF_CJKAxisRec): Updated.
michael@0 1878
michael@0 1879 2013-08-25 Werner Lemberg <wl@gnu.org>
michael@0 1880
michael@0 1881 [autofit] Typo.
michael@0 1882
michael@0 1883 * src/autofit/afblue.hin, src/autofit/afblue.c (GET_UTF8_CHAR): Use
michael@0 1884 cast.
michael@0 1885
michael@0 1886 2013-08-25 Werner Lemberg <wl@gnu.org>
michael@0 1887
michael@0 1888 [autofit] Synchronize `cjk' with `latin' module (and vice versa).
michael@0 1889
michael@0 1890 * src/autofit/afcjk.c (af_cjk_metrics_init_widths): Add tracing
michael@0 1891 messages.
michael@0 1892 (af_cjk_metrics_init_blues): Don't pass blue string array as
michael@0 1893 argument but use the global array directly.
michael@0 1894 Use `outline' directly.
michael@0 1895 Update and add tracing messages.
michael@0 1896 (af_cjk_metrics_init): Simplify code.
michael@0 1897 (af_cjk_metrics_scale_dim): Improve tracing message.
michael@0 1898 (af_cjk_metrics_scale): Synchronize.
michael@0 1899
michael@0 1900 * src/autofit/aflatin.c (af_latin_metrics_init_widths,
michael@0 1901 af_latin_metrics_init_blues): Improve and add tracing messages.
michael@0 1902
michael@0 1903 2013-08-25 Werner Lemberg <wl@gnu.org>
michael@0 1904
michael@0 1905 [autofit] Make `latin' module use blue stringsets.
michael@0 1906
michael@0 1907 * src/autofit/aflatin.c (AF_LATIN_MAX_TEST_CHARACTERS): Removed.
michael@0 1908 (af_latin_blue_chars): Removed.
michael@0 1909 (af_latin_metrics_init_blues): Replace AF_LATIN_MAX_TEST_CHARACTERS
michael@0 1910 with AF_BLUE_STRING_MAX_LEN.
michael@0 1911 Change loops to use offsets (in file `afblue.h') into the new arrays
michael@0 1912 `af_blue_stringsets' and `af_blue_strings' (in file `afblue.c').
michael@0 1913 Use `AF_LATIN_IS_SMALL_TOP_BLUE' macro.
michael@0 1914
michael@0 1915 * src/autofit/aflatin.h: Remove old enumeration values superseded by
michael@0 1916 the new data in `afblue.h'.
michael@0 1917 (AF_LATIN_IS_TOP_BLUE): Updated definition.
michael@0 1918 (AF_LATIN_IS_SMALL_TOP_BLUE): New macro.
michael@0 1919 (AF_LATIN_MAX_BLUES): Remove.
michael@0 1920 (AF_LatinAxisRec): Updated.
michael@0 1921
michael@0 1922 2013-08-25 Werner Lemberg <wl@gnu.org>
michael@0 1923
michael@0 1924 [autofit] Add blue stringsets.
michael@0 1925
michael@0 1926 * src/autofit/aftypes.h: Include `afblue.h'.
michael@0 1927 (AF_ScriptClassRec): Add `blue_stringset' field.
michael@0 1928 (AF_DEFINE_SCRIPT_CLASS): Updated.
michael@0 1929
michael@0 1930 * src/autofit/autofit.c: Include `afblue.c'.
michael@0 1931
michael@0 1932 * src/autofit/afcjk.c (af_hani_script_class), src/autofit/afdummy.c
michael@0 1933 (af_dflt_script_class), src/autofit/afindic.c
michael@0 1934 (af_deva_script_class), src/autofit/aflatin.c
michael@0 1935 (af_latn_script_class), src/autofit/aflatin2.c
michael@0 1936 (af_ltn2_script_class): Updated.
michael@0 1937
michael@0 1938 * src/autofit/rules.mk (AUTOF_DRV_SRC): Add `afblue.c'.
michael@0 1939
michael@0 1940 2013-08-25 Werner Lemberg <wl@gnu.org>
michael@0 1941
michael@0 1942 [autofit] Introduce data file for blue strings.
michael@0 1943
michael@0 1944 The idea is to have a central file which gets processed by a Perl
michael@0 1945 script to create proper `.c' and `.h' files using templates. There
michael@0 1946 are two other reasons to do that:
michael@0 1947
michael@0 1948 . The data file should be easily readable. We use UTF-8 encoding
michael@0 1949 which then gets converted to single bytes.
michael@0 1950
michael@0 1951 . Since the number of supported scripts will increase soon, the
michael@0 1952 current usage of blue string arrays is a waste of space. Using
michael@0 1953 the Perl script it is possible to imitate jagged arrays,
michael@0 1954 defining enumeration constants as offsets into the arrays.
michael@0 1955
michael@0 1956 This commit only adds files without changing any functionality.
michael@0 1957
michael@0 1958 * src/autofit/afblue.dat: New data file.
michael@0 1959 * src/tools/afblue.pl: New Perl script for processing `afblue.dat'.
michael@0 1960
michael@0 1961 * src/autofit/afblue.cin, src/autofit/afblue.hin: New template files
michael@0 1962 for...
michael@0 1963 * src/autofit/afblue.c, src/autofit/afblue.c: New source files.
michael@0 1964 To avoid a dependency on Perl, we add them too.
michael@0 1965
michael@0 1966 2013-08-19 Alexei Podtelezhnikov <apodtele@gmail.com>
michael@0 1967
michael@0 1968 [base] Enable new algorithm for `BBox_Cubic_Check'.
michael@0 1969
michael@0 1970 * src/base/ftbbox.c: Enable new BBox_Cubic_Check algorithm, remove
michael@0 1971 the old one.
michael@0 1972 Improve comments.
michael@0 1973
michael@0 1974 2013-08-18 Werner Lemberg <wl@gnu.org>
michael@0 1975
michael@0 1976 * builds/unix/unix-def.in (freetype2.pc): Don't set executable bit.
michael@0 1977
michael@0 1978 2013-08-18 Werner Lemberg <wl@gnu.org>
michael@0 1979
michael@0 1980 Fix Savannah bug #39804.
michael@0 1981
michael@0 1982 * builds/unix/configure.raw (LIBPNG): Define and export.
michael@0 1983 * builds/unix/freetype-config.in, builds/unix/freetype2.in: Handle
michael@0 1984 libpng.
michael@0 1985
michael@0 1986 2013-08-17 Alexei Podtelezhnikov <apodtele@gmail.com>
michael@0 1987
michael@0 1988 [base] Clean up BBox_Conic_Check.
michael@0 1989
michael@0 1990 * src/base/ftbbox.c (BBox_Conic_Check): Remove redundant checks for
michael@0 1991 extremum at the segment ends, which are already within the bbox.
michael@0 1992 Slightly modify calculations.
michael@0 1993
michael@0 1994 2013-08-15 Alexei Podtelezhnikov <apodtele@gmail.com>
michael@0 1995
michael@0 1996 [base] Finish experimental (disabled) BBox_Cubic_Check implementation.
michael@0 1997
michael@0 1998 * src/base/ftbbox.c (BBox_Cubic_Check): Scale arguments to improve
michael@0 1999 accuracy and avoid overflows.
michael@0 2000
michael@0 2001 2013-08-13 Alexei Podtelezhnikov <apodtele@gmail.com>
michael@0 2002
michael@0 2003 [base] Refactor experimental (disabled) BBox_Cubic_Check.
michael@0 2004
michael@0 2005 * src/base/ftbbox.c (BBox_Cubic_Check): Implement the minimum search
michael@0 2006 as the mirror image of the maximum search implemented here...
michael@0 2007 (update_max): New function.
michael@0 2008
michael@0 2009 2013-08-06 John Tytgat <John.Tytgat@esko.com>
michael@0 2010
michael@0 2011 Fix Savannah bug #39702.
michael@0 2012
michael@0 2013 * src/cff/cffload.c (cff_index_get_pointers): Check for `cur_offset
michael@0 2014 != 0'; this stronger test is mandated by the CFF specification.
michael@0 2015 Fix test for INDEX structures which have one or more empty entries
michael@0 2016 at the end.
michael@0 2017
michael@0 2018 2013-08-05 Werner Lemberg <wl@gnu.org>
michael@0 2019
michael@0 2020 Fix gcc pragmas, part 2.
michael@0 2021
michael@0 2022 * src/truetype/ttinterp.c (TT_MulFix14_long_long,
michael@0 2023 TT_DotFix14_long_long): `#pragma gcc diagnostic {push,pop}' has been
michael@0 2024 introduced with gcc version 4.6.
michael@0 2025
michael@0 2026 2013-08-05 Werner Lemberg <wl@gnu.org>
michael@0 2027
michael@0 2028 Fix gcc pragmas.
michael@0 2029
michael@0 2030 * src/truetype/ttinterp.c (TT_MulFix14_long_long,
michael@0 2031 TT_DotFix14_long_long): Older gcc versions don't accept diagnostic
michael@0 2032 pragmas within a function body.
michael@0 2033
michael@0 2034 2013-08-05 Werner Lemberg <wl@gnu.org>
michael@0 2035
michael@0 2036 Fix Savannah bug #39700.
michael@0 2037
michael@0 2038 * builds/unix/ftconfig.h: Synchronize with
michael@0 2039 `include/freetype/config/ftconfig.h'.
michael@0 2040
michael@0 2041 * builds/vms/ftconfig.h: Ditto.
michael@0 2042 Make the differences to the master `ftconfig.h' file as small as
michael@0 2043 possible for easier maintainance.
michael@0 2044
michael@0 2045 2013-08-05 Werner Lemberg <wl@gnu.org>
michael@0 2046
michael@0 2047 [autofit] Improve handling of `near' points.
michael@0 2048
michael@0 2049 Points which are very near to each other are now marked as such.
michael@0 2050 The `weak' flag is then computed by using the `in' vector of the
michael@0 2051 first and the `out' vector of the last point of a group of near
michael@0 2052 points.
michael@0 2053
michael@0 2054 For example, this fixes the rendering of glyph `Oslash' in
michael@0 2055 `Roboto-Thin.ttf'.
michael@0 2056
michael@0 2057 * src/autofit/afhints.h (AF_Flags): New value `AF_FLAGS_NEAR'.
michael@0 2058
michael@0 2059 * src/autofit/afhints.c (af_glyph_hints_reload): Introduce
michael@0 2060 the heuristic value `near_limit' to decide whether the current point
michael@0 2061 is near to the previous one, then set `AF_FLAG_NEAR' accordingly.
michael@0 2062 Store good `in' vector (of last non-near point) in
michael@0 2063 `last_good_in_{x,y}' and use it as an argument to
michael@0 2064 `ft_corner_is_flat' if necessary.
michael@0 2065
michael@0 2066 2013-08-02 Werner Lemberg <wl@gnu.org>
michael@0 2067
michael@0 2068 * include/freetype/ftcffdrv.h: Improve documentation.
michael@0 2069 This is based on blog entries from David Lemon and Dave Arnold (both
michael@0 2070 from Adobe) with kind permission. Dave also helped in
michael@0 2071 proof-reading.
michael@0 2072
michael@0 2073 2013-08-02 Werner Lemberg <wl@gnu.org>
michael@0 2074
michael@0 2075 [autofit] Move declaration of scripts into separate file.
michael@0 2076
michael@0 2077 This has the benefit that we don't need to duplicate the data at
michael@0 2078 different places.
michael@0 2079
michael@0 2080 * src/autofit/afscript.h: New file.
michael@0 2081
michael@0 2082 * src/autofit/aftypes.h (AF_Script): Include `afscript.h' to define
michael@0 2083 the enumeration values.
michael@0 2084
michael@0 2085 * src/autofit/afglobal.c: Include `afscript.h' to get the script
michael@0 2086 specific header files.
michael@0 2087 (af_script_classes): Include `afscript.h' to fill this array.
michael@0 2088
michael@0 2089 * src/autofit/afpic.c: Include `afscript.h' to get the script
michael@0 2090 specific header files.
michael@0 2091 (autofit_module_class_pic_init): Include `afscript.h' for
michael@0 2092 initialization.
michael@0 2093 * src/autofit/afpic.h (AF_SCRIPT_CLASSES_COUNT,
michael@0 2094 AF_SCRIPT_CLASSES_REC_COUNT): Removed. Use `AF_SCRIPT_MAX' instead.
michael@0 2095
michael@0 2096 * src/autofit/rules.mk (AUTOF_DRV_H): Updated.
michael@0 2097
michael@0 2098 2013-08-02 Werner Lemberg <wl@gnu.org>
michael@0 2099
michael@0 2100 [autofit] Move declaration of writing systems into separate file.
michael@0 2101
michael@0 2102 This has the benefit that we don't need to duplicate the data at
michael@0 2103 different places.
michael@0 2104
michael@0 2105 * src/autofit/afwrtsys.h: New file.
michael@0 2106
michael@0 2107 * src/autofit/aftypes.h (AF_WritingSystem): Include `afwrtsys.h' to
michael@0 2108 define the enumeration values.
michael@0 2109
michael@0 2110 * src/autofit/afglobal.c: Include `afwrtsys.h' to get the writing
michael@0 2111 system specific header files.
michael@0 2112 Include `afpic.h'.
michael@0 2113 (af_writing_system_classes): Include `afwrtsys.h' to fill this
michael@0 2114 array.
michael@0 2115
michael@0 2116 * src/autofit/afpic.c: Include `afwrtsys.h' to get the writing
michael@0 2117 system specific header files.
michael@0 2118 (autofit_module_class_pic_init): Include `afwrtsys.h' for
michael@0 2119 initialization.
michael@0 2120 * src/autofit/afpic.h (AF_WRITING_SYSTEM_CLASSES_COUNT,
michael@0 2121 AF_WRITING_SYSTEM_CLASSES_REC_COUNT): Removed. Use
michael@0 2122 `AF_WRITING_SYSTEM_MAX' instead.
michael@0 2123
michael@0 2124 2013-08-02 Werner Lemberg <wl@gnu.org>
michael@0 2125
michael@0 2126 [sfnt] Fix compilation with g++.
michael@0 2127
michael@0 2128 * src/sfnt/pngshim.c (error_callback, read_data_from_FT_stream): Use
michael@0 2129 cast.
michael@0 2130 (Load_SBit_Png): Pacify compiler.
michael@0 2131
michael@0 2132 2013-08-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
michael@0 2133 Werner Lemberg <wl@gnu.org>
michael@0 2134
michael@0 2135 [autofit] Fix `make multi'.
michael@0 2136
michael@0 2137 * include/freetype/config/ftconfig.h (FT_LOCAL_ARRAY,
michael@0 2138 FT_LOCAL_ARRAY_DEF): New macros.
michael@0 2139
michael@0 2140 * src/autofit/afglobal.c (af_writing_system_classes,
michael@0 2141 af_script_classes): Use FT_LOCAL_ARRAY_DEF.
michael@0 2142 * src/autofit/afglobal.h: Declare `af_writing_system_classes' and
michael@0 2143 `af_script_classes'.
michael@0 2144 * src/autofit/afloader.c: Include `afpic.h'.
michael@0 2145
michael@0 2146 2013-08-01 Werner Lemberg <wl@gnu.org>
michael@0 2147
michael@0 2148 Another round of cppcheck nitpicks.
michael@0 2149
michael@0 2150 The call was (from the top-level of the FreeType tree):
michael@0 2151
michael@0 2152 cppcheck --force \
michael@0 2153 --enable=all \
michael@0 2154 -I /usr/include \
michael@0 2155 -I /usr/local/include \
michael@0 2156 -I /usr/lib/gcc/i586-suse-linux/4.7/include \
michael@0 2157 -I include \
michael@0 2158 -I include/freetype \
michael@0 2159 -I include/freetype/config \
michael@0 2160 -I include/freetype/internal \
michael@0 2161 -DFT2_BUILD_LIBRARY \
michael@0 2162 . &> cppcheck.log
michael@0 2163
michael@0 2164 using cppcheck git commit f7e93f99.
michael@0 2165
michael@0 2166 Note that cppcheck still can't handle `#include FOO' (with `FOO' a
michael@0 2167 macro).
michael@0 2168
michael@0 2169 */* Improve variable scopes.
michael@0 2170 */* Remove redundant initializations which get overwritten.
michael@0 2171
michael@0 2172 * src/gxvalid/*: Comment out redundant code or guard it with
michael@0 2173 FT_DEBUG_LEVEL_TRACE.
michael@0 2174
michael@0 2175 2013-07-30 Werner Lemberg <wl@gnu.org>
michael@0 2176
michael@0 2177 [autofit] Introduce `writing systems'.
michael@0 2178
michael@0 2179 This patch adds a new top level to the auto-hinter's script class
michael@0 2180 hierarchy. It defines `writing systems' which can contain multiple
michael@0 2181 scripts.
michael@0 2182
michael@0 2183 For example, the `latin' writing system (in file `aflatin.c') is
michael@0 2184 able to support scripts like Latin, Cyrillic, Armenian, etc., which
michael@0 2185 can be handled similarly.
michael@0 2186
michael@0 2187 Scripts are now named using four-letter OpenType tags.
michael@0 2188
michael@0 2189 * src/autofit/aftypes.h (AF_ScriptClassRec): Move relevant members
michael@0 2190 to...
michael@0 2191 (AF_WritingSystemClassRec): This new structure. It holds pointers
michael@0 2192 to functions which can be shared among related scripts.
michael@0 2193 (AF_WritingSystem): New enumeration.
michael@0 2194 (AF_Script): Revised values using four-letter tags.
michael@0 2195 (AF_DEFINE_WRITING_SYSTEM_CLASS): New macro.
michael@0 2196 (AF_DEFINE_SCRIPT_CLASS): Updated.
michael@0 2197
michael@0 2198 * src/autofit/afglobal.c (af_writing_system_classes): New global,
michael@0 2199 constant array.
michael@0 2200 (af_script_classes): Updated.
michael@0 2201 (af_face_globals_free): Updated.
michael@0 2202 Remove assertion.
michael@0 2203 (af_face_globals_get_metrics): Updated.
michael@0 2204
michael@0 2205 * src/autofit/afglobal.h (AF_SCRIPT_FALLBACK)
michael@0 2206 [!AF_CONFIG_OPTION_CJK]: Handle this case.
michael@0 2207
michael@0 2208 * src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
michael@0 2209 Updated.
michael@0 2210
michael@0 2211 * src/autofit/afpic.c (autofit_module_class_pic_init): Updated;
michael@0 2212 initialize structures for both writing systems and scripts.
michael@0 2213 * src/autofit/afpic.h: Updated.
michael@0 2214 (AF_WRITING_SYSTEM_CLASSES_GET): New macro.
michael@0 2215
michael@0 2216 * src/autofit/afcjk.c (af_cjk_writing_system_class): New writing
michael@0 2217 system.
michael@0 2218 (af_cjk_uniranges): Renamed to...
michael@0 2219 (af_hani_uniranges): This.
michael@0 2220 (af_cjk_script_class): Reduced and renamed to...
michael@0 2221 (af_hani_script_class): This.
michael@0 2222 * src/autofit/afcjk.h: Updated.
michael@0 2223
michael@0 2224 * src/autofit/afdummy.c (af_dummy_writing_system_class): New writing
michael@0 2225 system.
michael@0 2226 (af_dummy_script_class): Reduced and renamed to...
michael@0 2227 (af_dflt_script_class): This.
michael@0 2228 * src/autofit/afdummy.h: Updated.
michael@0 2229
michael@0 2230 * src/autofit/afindic.c (af_indic_writing_system_class): New writing
michael@0 2231 system.
michael@0 2232 (af_indic_uniranges): Renamed to...
michael@0 2233 (af_deva_uniranges): This.
michael@0 2234 (af_indic_script_class): Reduced and renamed to...
michael@0 2235 (af_deva_script_class): This.
michael@0 2236 * src/autofit/afcjk.h: Updated.
michael@0 2237
michael@0 2238 * src/autofit/aflatin.c (af_latin_writing_system_class): New writing
michael@0 2239 system.
michael@0 2240 (af_latin_uniranges): Renamed to...
michael@0 2241 (af_latn_uniranges): This.
michael@0 2242 (af_latin_script_class): Reduced and renamed to...
michael@0 2243 (af_latn_script_class): This.
michael@0 2244 * src/autofit/aflatin.h: Updated.
michael@0 2245
michael@0 2246 * src/autofit/aflatin2.c (af_latin2_writing_system_class): New
michael@0 2247 writing system.
michael@0 2248 (af_latin2_uniranges): Renamed to...
michael@0 2249 (af_ltn2_uniranges): This.
michael@0 2250 Synchronize ranges with `latin'.
michael@0 2251 (af_latin2_script_class): Reduced and renamed to...
michael@0 2252 (af_ltn2_script_class): This.
michael@0 2253 * src/autofit/aflatin2.h: Updated.
michael@0 2254
michael@0 2255 2013-07-30 Werner Lemberg <wl@gnu.org>
michael@0 2256
michael@0 2257 [autofit] Variable renaming.
michael@0 2258
michael@0 2259 * src/autofit/aftypes.h (AF_ScriptMetricsRec):
michael@0 2260 s/clazz/script_class/.
michael@0 2261 Update all users.
michael@0 2262
michael@0 2263 2013-07-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
michael@0 2264
michael@0 2265 Ignore libpng-config under cross-building configuration,
michael@0 2266 because it will return the flags for the hosting environment.
michael@0 2267
michael@0 2268 * builds/unix/configure.raw: Ignore libpng-config when
michael@0 2269 `cross_compiling' == yes.
michael@0 2270
michael@0 2271 2013-07-30 Behdad Esfahbod <behdad@google.com>
michael@0 2272
michael@0 2273 Prevent division by zero by a transparent color.
michael@0 2274
michael@0 2275 * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra):
michael@0 2276 Return 0 immediately, when alpha channel is zero.
michael@0 2277
michael@0 2278 2013-07-25 Behdad Esfahbod <behdad@google.com>
michael@0 2279
michael@0 2280 Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR.
michael@0 2281
michael@0 2282 Also disambiguate Google's color bitmap tables.
michael@0 2283
michael@0 2284 * include/freetype/freetype.h (FT_FACE_FLAG_COLOR, FT_HAS_COLOR):
michael@0 2285 New macros.
michael@0 2286
michael@0 2287 * include/freetype/internal/tttypes.h (TT_SbitTableType): Add
michael@0 2288 TT_SBIT_TABLE_TYPE_CBLC.
michael@0 2289
michael@0 2290 * src/sfnt/sfobjs.c (sfnt_load_face): Handle FT_FACE_FLAG_COLOR.
michael@0 2291
michael@0 2292 * src/sfnt/ttsbit.c (tt_face_load_sbit,
michael@0 2293 tt_face_load_strike_metrics, tt_face_load_sbit_image): Handle
michael@0 2294 TT_SBIT_TABLE_TYPE_CBLC.
michael@0 2295
michael@0 2296 2013-07-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
michael@0 2297
michael@0 2298 [sfnt] Fix for `make multi' target.
michael@0 2299
michael@0 2300 * src/sfnt/pngshim.c (Load_SBit_Png): Use FT_LOCAL_DEF().
michael@0 2301
michael@0 2302 2013-07-20 Werner Lemberg <wl@gnu.org>
michael@0 2303
michael@0 2304 * docs/INSTALL.GNU: Updated.
michael@0 2305
michael@0 2306 2013-07-20 Behdad Esfahbod <behdad@google.com>
michael@0 2307
michael@0 2308 [sfnt] Fix `sbix' table version handling.
michael@0 2309
michael@0 2310 * src/sfnt/ttsbit.c (tt_face_load_sbit) [TT_SBIT_TABLE_TYPE_SBIX]:
michael@0 2311 USHORT version numbers are to be considered as `minor'.
michael@0 2312
michael@0 2313 2013-07-19 Werner Lemberg <wl@gnu.org>
michael@0 2314
michael@0 2315 [autofit] Fix segment classification for blue zones.
michael@0 2316
michael@0 2317 The old code (essentially unchanged since the very beginning)
michael@0 2318 incorrectly handled this configuration
michael@0 2319
michael@0 2320 x -o- x
michael@0 2321 / \
michael@0 2322 / \
michael@0 2323 / \
michael@0 2324 o o
michael@0 2325
michael@0 2326 as flat and this
michael@0 2327
michael@0 2328 o o
michael@0 2329 / /
michael@0 2330 x| x|
michael@0 2331 | |
michael@0 2332 o---------------o
michael@0 2333
michael@0 2334 as round. (`o' and `x' are on and off points, respectively).
michael@0 2335
michael@0 2336 This is a major change which should improve the rendering results
michael@0 2337 enormously for many TrueType fonts, especially in the range approx.
michael@0 2338 20-40ppem, fixing the appearance of many overshoots.
michael@0 2339
michael@0 2340 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Look at the
michael@0 2341 first and last points of the segment, not the points right before
michael@0 2342 and after.
michael@0 2343
michael@0 2344 2013-07-19 Behdad Esfahbod <behdad@google.com>
michael@0 2345
michael@0 2346 [sfnt] `sbix' fix-ups.
michael@0 2347
michael@0 2348 * src/sfnt/sfobjs.c (sfnt_load_face): Apple's `sbix' color bitmaps
michael@0 2349 are rendered scaled and then the `glyf' outline rendered on top. We
michael@0 2350 don't support that yet, so just ignore the `glyf' outline and
michael@0 2351 advertise it as a bitmap-only font.
michael@0 2352
michael@0 2353 * src/sfnt/ttsbit.c (tt_face_load_strike_metrics)
michael@0 2354 [TT_SBIT_TABLE_TYPE_SBIX]: Return metrics in 26.6 units.
michael@0 2355 (tt_face_load_sbix_image): Typo.
michael@0 2356
michael@0 2357 2013-07-18 Behdad Esfahbod <behdad@google.com>
michael@0 2358
michael@0 2359 [sfnt] Add support for Apple's `sbix' color bitmap table.
michael@0 2360
michael@0 2361 * include/freetype/internal/tttypes.h (TT_SBit_MetricsRec): Widen
michael@0 2362 fields to FT_Short and FT_UShort, respectively.
michael@0 2363 (TT_SBitTableType): New enumeration.
michael@0 2364 (TT_FaceRec): Add `sbit_table_type' field.
michael@0 2365
michael@0 2366 * include/freetype/tttags.h (TTAG_sbix): New macro.
michael@0 2367
michael@0 2368 * src/sfnt/pngshim.c (Load_SBit_Png): Pass a more generic
michael@0 2369 FT_GlyphSlot argument instead FT_Bitmap.
michael@0 2370 Add flag to control map and metrics handling.
michael@0 2371 Update all users.
michael@0 2372
michael@0 2373 * src/sfnt/ttsbit.c: Include `ttmtx.h'.
michael@0 2374 (tt_face_load_eblc): Renamed to...
michael@0 2375 (tt_face_load_sbit): This.
michael@0 2376 Handlic `sbix' bitmaps.
michael@0 2377 (tt_face_free_eblc): Renamed to...
michael@0 2378 (tt_face_load_sbit): This.
michael@0 2379 Updated.
michael@0 2380 (tt_face_load_strike_metrics): Handle `sbix' bitmaps.
michael@0 2381 (tt_face_load_sbix_image): New function.
michael@0 2382 (tt_sbit_decoder_alloc_bitmap, tt_sbit_decoder_load_image,
michael@0 2383 tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
michael@0 2384 tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
michael@0 2385 tt_sbit_decoder_load_image, tt_sbit_decoder_load_bitmap): Don't pass
michael@0 2386 and handle load flags.
michael@0 2387 (tt_sbit_decoder_load_bitmap) [!FT_CONFIG_OPTION_USE_PNG]: Better
michael@0 2388 handle formats 17-19.
michael@0 2389 Move color to grayscale conversion to...
michael@0 2390 (tt_face_load_sbit_image): Here.
michael@0 2391 Handle `sbix' bitmaps.
michael@0 2392
michael@0 2393 * src/sfnt/pngshim.h: Updated.
michael@0 2394 * src/sfnt/ttsbit.h: Updated.
michael@0 2395 * src/sfnt/sfdriver.c: Updated.
michael@0 2396
michael@0 2397 2013-07-18 Werner Lemberg <wl@gnu.org>
michael@0 2398
michael@0 2399 [sfnt] Ignore invalid magic number in `head' or `bhed'.
michael@0 2400
michael@0 2401 Other font engines seem to ignore it also. Problem reported by
michael@0 2402 Hin-Tak Leung <htl10@users.sourceforge.net>.
michael@0 2403
michael@0 2404 * src/sfnt/ttload.c (check_table_dir): Don't abort but warn only if
michael@0 2405 we have an invalid magic number.
michael@0 2406
michael@0 2407 2013-07-16 Werner Lemberg <wl@gnu.org>
michael@0 2408
michael@0 2409 [smooth] Fix segfault caused by previous commit.
michael@0 2410
michael@0 2411 * src/smooth/ftgrays.c (gray_set_cell): Always compute
michael@0 2412 `ras.invalid'.
michael@0 2413
michael@0 2414 2013-07-16 David Turner <digit@google.com>
michael@0 2415
michael@0 2416 [smooth] Improve performance.
michael@0 2417
michael@0 2418 Provide a work-around for an ARM-specific performance bug in GCC.
michael@0 2419 This speeds up the rasterizer by more than 5%.
michael@0 2420
michael@0 2421 Also slightly optimize `set_gray_cell' and `gray_record_cell' (which
michael@0 2422 also improves performance on other platforms by a tiny bit (<1%).
michael@0 2423
michael@0 2424 * src/smooth/ftgrays.c (FT_DIV_MOD): New macro.
michael@0 2425 Use it where appropriate.
michael@0 2426
michael@0 2427 (gray_record_cell, gray_set_cell, gray_move_to,
michael@0 2428 gray_convert_glyph_inner): Streamline condition handling.
michael@0 2429
michael@0 2430 2013-07-16 David Turner <digit@google.com>
michael@0 2431
michael@0 2432 [truetype] Add assembler code for TT_MulFix14 and TT_DotFix14.
michael@0 2433
michael@0 2434 This patch provides slightly optimized versions for ARM, x86, and
michael@0 2435 x86_64 CPUs if built with GCC.
michael@0 2436
michael@0 2437 Also remove some dead code.
michael@0 2438
michael@0 2439 * src/truetype/ttinterp.c (TT_MulFix14_arm, TT_MulFix14_long_long,
michael@0 2440 TT_DotFix14_long_long): New functions.
michael@0 2441
michael@0 2442 2013-07-16 David Turner <digit@google.com>
michael@0 2443
michael@0 2444 Optimize FT_MulFix for x86_64 GCC builds.
michael@0 2445
michael@0 2446 This patch provides an optimized `FT_MulFix' implementation for
michael@0 2447 x86_64 machines when FreeType is built with GCC, or compatible
michael@0 2448 compilers like Clang.
michael@0 2449
michael@0 2450 Example:
michael@0 2451 bin/ftbench -p -t 5 -s 14 -f 0008 Arial.ttf
michael@0 2452
michael@0 2453 Before:
michael@0 2454
michael@0 2455 Load 4.863 us/op
michael@0 2456 Load_Advances (Normal) 4.816 us/op
michael@0 2457 Load_Advances (Fast) 0.028 us/op
michael@0 2458 Render 2.753 us/op
michael@0 2459 Get_Glyph 0.463 us/op
michael@0 2460 Get_CBox 0.077 us/op
michael@0 2461 Get_Char_Index 0.023 us/op
michael@0 2462 Iterate CMap 13.898 us/op
michael@0 2463 New_Face 12.368 us/op
michael@0 2464 Embolden 0.028 us/op
michael@0 2465 Get_BBox 0.302 us/op
michael@0 2466
michael@0 2467 After:
michael@0 2468
michael@0 2469 Load 4.617 us/op
michael@0 2470 Load_Advances (Normal) 4.645 us/op
michael@0 2471 Load_Advances (Fast) 0.027 us/op
michael@0 2472 Render 2.789 us/op
michael@0 2473 Get_Glyph 0.460 us/op
michael@0 2474 Get_CBox 0.077 us/op
michael@0 2475 Get_Char_Index 0.024 us/op
michael@0 2476 Iterate CMap 13.403 us/op
michael@0 2477 New_Face 12.278 us/op
michael@0 2478 Embolden 0.028 us/op
michael@0 2479 Get_BBox 0.301 us/op
michael@0 2480
michael@0 2481 * builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
michael@0 2482 (FT_MulFix_x86_64): New function.
michael@0 2483
michael@0 2484 2013-07-16 David Turner <digit@google.com>
michael@0 2485
michael@0 2486 Speed up ARMv7 support.
michael@0 2487
michael@0 2488 When building for ARMv7 with thumb2 instructions, the optimized
michael@0 2489 `FT_MulFix_arm' assembly routine was not being used.
michael@0 2490
michael@0 2491 The reason for this is in the `ftconfig.h' header, namely:
michael@0 2492
michael@0 2493 - The assembly routine uses the `smull' instruction which is not
michael@0 2494 available when generating Thumb-1 machine code. It is available
michael@0 2495 in Thumb-2 mode, though.
michael@0 2496
michael@0 2497 - The header was written a long time ago before Thumb-2 became
michael@0 2498 widely popular (e.g. with Android). So it simply doesn't use the
michael@0 2499 assembly routine if the `__thumb__' built-in macro is defined.
michael@0 2500
michael@0 2501 - When compiling in Thumb-2 mode, the compiler will define both
michael@0 2502 `__thumb__' and `__thumb2__'.
michael@0 2503
michael@0 2504 By checking for `(__thumb2__ || !__thumb__)', we ensure that the
michael@0 2505 assembly routine is only avoided when generating Thumb-1 code.
michael@0 2506
michael@0 2507 Given that this is performance-sensitive function, this improves
michael@0 2508 `ftbench' as follows on a Galaxy Nexus:
michael@0 2509
michael@0 2510 Before (us/op) After (us/op)
michael@0 2511
michael@0 2512 - loading Arial.ttf glyphs at 14 ppem [1]
michael@0 2513
michael@0 2514 Load 34.285 33.098
michael@0 2515
michael@0 2516 - same operation with the light auto-hinter [2]
michael@0 2517
michael@0 2518 Load 31.317 29.590
michael@0 2519
michael@0 2520 - same operation without hinting [3]
michael@0 2521
michael@0 2522 Load 6.143 5.376
michael@0 2523
michael@0 2524 - loading Arial.ttf advances at 14 ppem [4]
michael@0 2525
michael@0 2526 Load_Advances (normal) 34.216 33.016
michael@0 2527 Load_Advances (fast) 0.176 0.176
michael@0 2528
michael@0 2529 [1] ftbench -t 5 -p -s 14 -b a -f 0008 Arial.ttf
michael@0 2530 [2] ftbench -t 5 -p -s 14 -b a -r 1 -f 0028 Arial.ttf
michael@0 2531 [3] ftbench -t 5 -p -s 14 -b a -f 000a Arial.ttf
michael@0 2532 [4] ftbench -t 5 -p -s 14 -b b -f 0008 Arial.ttf
michael@0 2533
michael@0 2534 * builds/unix/ftconfig.in, include/freetype/config/ftconfig.h
michael@0 2535 (FT_MULFIX_ASSEMBLER): Fix handling for ARMv7.
michael@0 2536
michael@0 2537 2013-06-28 Werner Lemberg <wl@gnu.org>
michael@0 2538
michael@0 2539 * docs/CHANGES: Updated.
michael@0 2540
michael@0 2541 2013-06-27 Werner Lemberg <wl@gnu.org>
michael@0 2542
michael@0 2543 * src/winfonts/winfnt.c (FNT_Load_Glyph): Fix bitmap width guard.
michael@0 2544
michael@0 2545 2013-06-25 Werner Lemberg <wl@gnu.org>
michael@0 2546
michael@0 2547 [cff] Add darkening limit to `darkening-parameters'.
michael@0 2548
michael@0 2549 * src/cff/cffdrivr.c (cff_property_set): Add check.
michael@0 2550
michael@0 2551 2013-06-25 Werner Lemberg <wl@gnu.org>
michael@0 2552
michael@0 2553 [cff] Add `darkening-parameters' property.
michael@0 2554
michael@0 2555 * include/freetype/ftcffdrv.h: Document it.
michael@0 2556
michael@0 2557 * src/cff/cffdrivr.c (cff_property_set, cff_property_get): Handle
michael@0 2558 `darkening-parameters' property.
michael@0 2559
michael@0 2560 * src/cff/cf2font.h (CF2_FontRec): Add `darkenParams' array.
michael@0 2561
michael@0 2562 * src/cff/cf2font.c (cf2_computeDarkening): Add `darkenParams'
michael@0 2563 argument and use it.
michael@0 2564 Update all callers.
michael@0 2565
michael@0 2566 * src/cff/cf2ft.c (cf2_decoder_parse_charstrings): Copy
michael@0 2567 `darken_params' values.
michael@0 2568
michael@0 2569 * src/cff/cffobjs.h (CFF_DriverRec): Add `darken_params' array.
michael@0 2570
michael@0 2571 * src/cff/cffobjs.c (cff_driver_init): Set default values for
michael@0 2572 `darken_params'.
michael@0 2573
michael@0 2574 2013-06-25 Werner Lemberg <wl@gnu.org>
michael@0 2575
michael@0 2576 [docmaker] Code shuffling.
michael@0 2577
michael@0 2578 * src/tools/docmaker/tohtml.py (re_url): Move regexp...
michael@0 2579 * src/tools/docmaker/sources.py: ... to this file.
michael@0 2580
michael@0 2581 2013-06-25 Werner Lemberg <wl@gnu.org>
michael@0 2582
michael@0 2583 [docmaker] Remove unused functions.
michael@0 2584
michael@0 2585 * src/tools/docmaker/content.py (DocMarkup.get_start,
michael@0 2586 DocBlock.get_markup_name): Removed.
michael@0 2587 * src/tools/docmaker/tohtml.py (html_quote0, dump_html_code,
michael@0 2588 HtmlFormatter.make_html_words): Removed.
michael@0 2589
michael@0 2590 2013-06-25 Werner Lemberg <wl@gnu.org>
michael@0 2591
michael@0 2592 * builds/freetype.mk (dll): Remove target.
michael@0 2593
michael@0 2594 Problem reported by Jörg Günnewig <joerg.guennewig@googlemail.com>.
michael@0 2595
michael@0 2596 2013-06-25 Werner Lemberg <wl@gnu.org>
michael@0 2597
michael@0 2598 [docmaker] Recognise URLs.
michael@0 2599
michael@0 2600 * src/tools/docmaker/tohtml.py (re_url): New regular expression.
michael@0 2601 (make_html_para): Use it.
michael@0 2602
michael@0 2603 2013-06-19 Werner Lemberg <wl@gnu.org>
michael@0 2604
michael@0 2605 * Version 2.5.0.1 released.
michael@0 2606 ===========================
michael@0 2607
michael@0 2608
michael@0 2609 Tag sources with `VER-2-5-0-1'.
michael@0 2610
michael@0 2611 * include/freetype/config/ftoption.h: Undefine
michael@0 2612 CFF_CONFIG_OPTION_OLD_ENGINE.
michael@0 2613 * devel/ftoption.h: Define CFF_CONFIG_OPTION_OLD_ENGINE.
michael@0 2614
michael@0 2615 2013-06-19 Werner Lemberg <wl@gnu.org>
michael@0 2616
michael@0 2617 * builds/unix/install.mk (install): Don't create `cache' directory.
michael@0 2618
michael@0 2619 Found by Peter Breitenlohner <peb@mppmu.mpg.de>.
michael@0 2620
michael@0 2621 2013-06-19 Werner Lemberg <wl@gnu.org>
michael@0 2622
michael@0 2623 * Version 2.5.0 released.
michael@0 2624 =========================
michael@0 2625
michael@0 2626
michael@0 2627 Tag sources with `VER-2-5-0'.
michael@0 2628
michael@0 2629 * docs/VERSION.DLL: Update documentation and bump version number to
michael@0 2630 2.5.0.
michael@0 2631
michael@0 2632 * README, Jamfile (RefDoc),
michael@0 2633 builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
michael@0 2634 builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
michael@0 2635 builds/win32/vc2010/freetype.vcxproj, builds/win32/vc2010/index.html,
michael@0 2636 builds/win32/visualc/freetype.dsp,
michael@0 2637 builds/win32/visualc/freetype.vcproj,
michael@0 2638 builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
michael@0 2639 builds/win32/visualce/freetype.vcproj,
michael@0 2640 builds/win32/visualce/index.html,
michael@0 2641 builds/wince/vc2005-ce/freetype.vcproj,
michael@0 2642 builds/wince/vc2005-ce/index.html,
michael@0 2643 builds/wince/vc2008-ce/freetype.vcproj,
michael@0 2644 builds/wince/vc2008-ce/index.html: s/2.4.12/2.5.0/, s/2412/250/.
michael@0 2645
michael@0 2646 * include/freetype/freetype.h (FREETYPE_MINOR): Set to 5.
michael@0 2647 (FREETYPE_PATCH): Set to 0.
michael@0 2648
michael@0 2649 * builds/unix/configure.raw (version_info): Set to 16:2:10.
michael@0 2650
michael@0 2651 * src/base/ftobjs.c (FT_Open_Face): Pacify compiler.
michael@0 2652 * src/truetype/ttinterp.c (Ins_MSIRP, Ins_MIRP): Ditto.
michael@0 2653
michael@0 2654 2013-06-18 Werner Lemberg <wl@gnu.org>
michael@0 2655
michael@0 2656 Fix Savannah bug #39269.
michael@0 2657
michael@0 2658 * src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Free memory in
michael@0 2659 case of reacollocation failures.
michael@0 2660
michael@0 2661 2013-06-18 Andrew Church <achurch+savannah@achurch.org>
michael@0 2662
michael@0 2663 Fix Savannah bug #39266.
michael@0 2664
michael@0 2665 If memory allocations fail at certain points while opening a font,
michael@0 2666 FreeType can either crash due to a NULL dereference or leak memory.
michael@0 2667
michael@0 2668 * include/freetype/internal/ftobjs.c (FT_Face_InternalRec,
michael@0 2669 FT_LibraryRec): Make `refcount' a signed integer. If, for example,
michael@0 2670 FT_Open_Face() fails in a memory allocation before the face's
michael@0 2671 reference count is set to 1, a subsequent `FT_Done_Library' call
michael@0 2672 would otherwise loop over `FT_Done_Face' 2^32 times before freeing
michael@0 2673 the face.
michael@0 2674
michael@0 2675 * src/base/ftobjs.c (open_face): Initialize `stream' and friends
michael@0 2676 earlier.
michael@0 2677 (FT_Open_Face) <Fail>: Behave correctly if `node' is NULL.
michael@0 2678 (FT_Destroy_Module) <Fail>: Check that `renderer_clazz' is valid.
michael@0 2679
michael@0 2680 2013-06-14 Werner Lemberg <wl@gnu.org>
michael@0 2681
michael@0 2682 * src/smooth/ftgrays.c One final pragma to silence 64-bit MSVC.
michael@0 2683
michael@0 2684 2013-06-06 Dave Arnold <darnold@adobe.com>
michael@0 2685 Werner Lemberg <wl@gnu.org>
michael@0 2686
michael@0 2687 [cff] Add code to Adobe's engine to handle ppem > 2000.
michael@0 2688
michael@0 2689 * src/cff/cffgload.c (cff_slot_load): If we get
michael@0 2690 FT_Err_Glyph_Too_Big, retry unhinted and scale up later on.
michael@0 2691
michael@0 2692 2013-06-12 Werner Lemberg <wl@gnu.org>
michael@0 2693
michael@0 2694 Another try on pragmas.
michael@0 2695
michael@0 2696 * include/freetype/internal/ftdebug.h: Move pragmas to...
michael@0 2697 * include/freetype/internal/internal.h: ... this file since it gets
michael@0 2698 included by all source files.
michael@0 2699 * include/freetype/internal/ftserv.h: Remove pragma which has no
michael@0 2700 effect.
michael@0 2701
michael@0 2702 2013-06-12 Werner Lemberg <wl@gnu.org>
michael@0 2703
michael@0 2704 * include/freetype/internal/ftdebug.h: Disable MSVC warning C4127.
michael@0 2705
michael@0 2706 This partially undoes commit 3f6e0e0c.
michael@0 2707
michael@0 2708 2013-06-12 Werner Lemberg <wl@gnu.org>
michael@0 2709
michael@0 2710 More compiler warning fixes.
michael@0 2711
michael@0 2712 */*: Use cast to `FT_Bool' (or `Bool') where appropriate.
michael@0 2713
michael@0 2714 2013-06-10 Werner Lemberg <wl@gnu.org>
michael@0 2715
michael@0 2716 [truetype] Improve handling of broken sbit advance widths.
michael@0 2717
michael@0 2718 * src/truetype/ttgload.c (TT_Load_Glyph): Use the glyph's (scaled)
michael@0 2719 `linearHoriAdvance' if the sbit's `horiAdvance' value is zero.
michael@0 2720
michael@0 2721 Cf. font `Fixedsys Excelsior' v3.01 (FSEX300.ttf), glyph A, 16ppem.
michael@0 2722
michael@0 2723 2013-06-10 Werner Lemberg <wl@gnu.org>
michael@0 2724
michael@0 2725 [sfnt] Improve embedded bitmap tracing.
michael@0 2726
michael@0 2727 * src/base/ftobjs.c (FT_Request_Size): Move trace message regarding
michael@0 2728 bitmap strike match to...
michael@0 2729 (FT_Match_Size): This function.
michael@0 2730
michael@0 2731 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_metrics,
michael@0 2732 tt_sbit_decoder_load_byte_aligned, tt_sbit_decoder_load_bit_aligned,
michael@0 2733 tt_sbit_decoder_load_compound, tt_sbit_decoder_load_png,
michael@0 2734 tt_sbit_decoder_load_image): Decorate with tracing messages.
michael@0 2735
michael@0 2736 2013-06-10 Werner Lemberg <wl@gnu.org>
michael@0 2737
michael@0 2738 Fix Savannah bug #39160.
michael@0 2739
michael@0 2740 * src/truetype/ttinterp.c (Ins_SDPVTL): Set projection vector too
michael@0 2741 for the degenerate case.
michael@0 2742
michael@0 2743 2013-06-09 David Turner <digit@google.com>
michael@0 2744
michael@0 2745 * src/cache/ftcmanag.c (FTC_Manager_Reset): Add missing cache flush.
michael@0 2746
michael@0 2747 This code, present since eight(!) years in the unused `CACHE'
michael@0 2748 branch, has been forgotten to apply to the master branch. It's
michael@0 2749 really amazing that noone has ever complained since
michael@0 2750 `FTC_Manager_Reset' is pretty useless without flushing the cache.
michael@0 2751
michael@0 2752 2013-06-07 Werner Lemberg <wl@gnu.org>
michael@0 2753
michael@0 2754 Add and improve pragmas for MSVC compiler.
michael@0 2755
michael@0 2756 * include/freetype/internal/ftdebug.h: Remove pragmas.
michael@0 2757 * include/freetype/internal/ftserv.h: Use push and pop for pragmas.
michael@0 2758 * include/freetype/internal/ftvalid.h: Handle warning C4324.
michael@0 2759 * src/base/ftobjs.c: Use push and pop for pragmas.
michael@0 2760 * src/gzip/ftgzip.c: Handle warning C4244.
michael@0 2761
michael@0 2762 2013-06-07 Werner Lemberg <wl@gnu.org>
michael@0 2763
michael@0 2764 [cff] s/cf2_getGlyphWidth/cf2_getGlyphOutline/.
michael@0 2765
michael@0 2766 * src/cff/cf2font.c, src/cff/cf2font.h, src/cff/cf2ft.c: Do it.
michael@0 2767
michael@0 2768 2013-06-06 Dave Arnold <darnold@adobe.com>
michael@0 2769
michael@0 2770 [cff] Add early exit feature for width-only calls.
michael@0 2771
michael@0 2772 This is for `FT_Get_Advance'.
michael@0 2773
michael@0 2774 There are 7 places where the spec says the width can be defined:
michael@0 2775
michael@0 2776 hstem/hstemhm
michael@0 2777 vstem/vstemhm
michael@0 2778 cntrmask/hintmask
michael@0 2779 hmoveto
michael@0 2780 vmoveto
michael@0 2781 rmoveto
michael@0 2782 endchar
michael@0 2783
michael@0 2784 * src/cff/cf2intrp.c (cf2_doStems): Exit early for width-only calls,
michael@0 2785 if possible.
michael@0 2786
michael@0 2787 (cf2_interpT2CharString) <cf2_cmdHSTEM>, <cf2_cmdVSTEM>,
michael@0 2788 <cf2_cmdVMOVETO>, <cf2_cmdENDCHAR>, <cf2_cmdHINTMASK>,
michael@0 2789 <cf2_cmdRMOVETO>, <cf2_cmdHMOVETO>: Exit early for width-only calls.
michael@0 2790
michael@0 2791 2013-06-06 Werner Lemberg <wl@gnu.org>
michael@0 2792
michael@0 2793 Next round of compiler fixes.
michael@0 2794
michael@0 2795 * builds/win32/ftdebug.c, builds/wince/ftdebug.c (ft_debug_init):
michael@0 2796 Add proper cast.
michael@0 2797
michael@0 2798 * include/freetype/internal/ftserv.h (FT_SERVICE_UNAVAILABLE): Fix
michael@0 2799 cast.
michael@0 2800 * include/freetype/internal/ftstream.h: Decorate stream and frame
michael@0 2801 macros with `FT_Long' and `FT_ULong' as appropriate.
michael@0 2802
michael@0 2803 * src/base/ftrfork.c (raccess_guess_darwin_hfsplus,
michael@0 2804 raccess_guess_darwin_newvfs): Use cast.
michael@0 2805
michael@0 2806 * src/bdf/bdflib.c (_bdf_set_default_spacing): Use cast.
michael@0 2807
michael@0 2808 * src/cache/ftcmanag.c (FTC_Manager_Check): Fix cast.
michael@0 2809 * src/cache/ftcmanag.h (FTC_ManagerRec): Ditto.
michael@0 2810
michael@0 2811 * src/cff/cf2arrst.c (cf2_arrstack_setNum_Elements): Use cast.
michael@0 2812 * src/cff/cf2ft.c (cf2_freeSeacComponent): Ditto.
michael@0 2813 * src/cff/cffobjs.c (remove_subset_prefix, remove_style): Ditto.
michael@0 2814
michael@0 2815 * src/cid/cidparse.c (cid_parser_new): Use cast.
michael@0 2816
michael@0 2817 * src/pcf/pcfdrivr.c (PCF_Glyph_Load): Use cast.
michael@0 2818
michael@0 2819 * src/psaux/psobjs.c (reallocate_t1_table): Fix argument type.
michael@0 2820
michael@0 2821 * src/raster/ftraster.c (ft_black_reset): Use cast.
michael@0 2822
michael@0 2823 * src/truetype/ttgxvar.c (FT_Stream_FTell): Use cast.
michael@0 2824 (ALL_POINTS): Fix cast.
michael@0 2825
michael@0 2826 * src/type1/t1driver.c (t1_ps_get_font_value): Add casts.
michael@0 2827 * src/type1/t1parse.c (T1_Get_Private_Dict): Add cast.
michael@0 2828
michael@0 2829 2013-06-05 Dave Arnold <darnold@adobe.com>
michael@0 2830
michael@0 2831 Fix more MSVC Win32 compiler warnings.
michael@0 2832
michael@0 2833 * src/base/ftobjs.c: Fix typo in MS pragma.
michael@0 2834
michael@0 2835 * src/base/bdflib.c (_bdf_set_default_spacing, _bdf_add_property):
michael@0 2836 `lineno' is only used in debug mode.
michael@0 2837
michael@0 2838 * src/cff/cf2ft.c (cf2_builder_moveTo): `params' is only used in
michael@0 2839 debug mode.
michael@0 2840
michael@0 2841 2013-06-05 Werner Lemberg <wl@gnu.org>
michael@0 2842
michael@0 2843 Fix compiler warnings.
michael@0 2844
michael@0 2845 * include/freetype/internal/ftmemory.h: Decorate memory allocation
michael@0 2846 macros with `FT_Long' where appropriate.
michael@0 2847 Remove duplicate of FT_MEM_QRENEW_ARRAY definition.
michael@0 2848
michael@0 2849 * src/base/ftbitmap.c (ft_gray_for_premultiplied_srgb_bgra): Use
michael@0 2850 cast.
michael@0 2851
michael@0 2852 * src/base/ftobjs.c: Add warning disabling pragma for MSVC while
michael@0 2853 including `md5.c'.
michael@0 2854
michael@0 2855 * src/cff/cf2intrp.c (cf2_interpT2CharString) <cf2_cmdESC>: Add
michael@0 2856 cast.
michael@0 2857
michael@0 2858 * src/sfnt/ttsbit.c (tt_sbit_decoder_load_compound): Fix casts.
michael@0 2859 (tt_sbit_decoder_load_bitmap): Beautification.
michael@0 2860
michael@0 2861 * src/smooth/ftsmooth.c (ft_smooth_render_generic): Initialize
michael@0 2862 variables (earlier).
michael@0 2863
michael@0 2864 * src/truetype/ttgload.c (TT_Process_Simple_Glyph): Pacify compiler.
michael@0 2865
michael@0 2866 * src/truetype/ttgxvar.c (TT_Get_MM_Var): Use unsigned constants
michael@0 2867 where appropriate.
michael@0 2868
michael@0 2869 * src/type1/t1load.c (T1_Get_MM_Var): Ditto.
michael@0 2870
michael@0 2871 2013-06-04 Werner Lemberg <wl@gnu.org>
michael@0 2872
michael@0 2873 * src/cff/cf2font.c (cf2_getGlyphWidth): Initialize `advWidth'.
michael@0 2874
michael@0 2875 Problem reported by Ingmar Sittl <ingmar.sittl@elektrobit.com>.
michael@0 2876
michael@0 2877 2013-06-04 Werner Lemberg <wl@gnu.org>
michael@0 2878
michael@0 2879 Apply fixes for cppcheck nitpicks.
michael@0 2880
michael@0 2881 http://cppcheck.sourceforge.net/
michael@0 2882
michael@0 2883 The call was (from the top-level of the FreeType tree):
michael@0 2884
michael@0 2885 cppcheck --force \
michael@0 2886 --enable=all \
michael@0 2887 -I include \
michael@0 2888 -I include/freetype/ \
michael@0 2889 -I include/freetype/config/ \
michael@0 2890 -I include/freetype/internal/ \
michael@0 2891 . &> cppcheck.log
michael@0 2892
michael@0 2893 Note that the current version heavily chokes on FreeType, delivering
michael@0 2894 many wrong results. I will report those issues to the cppcheck team
michael@0 2895 so that a newer version gives improved results hopefully.
michael@0 2896
michael@0 2897 */* Improve variable scopes.
michael@0 2898 */* Remove redundant initializations which get overwritten.
michael@0 2899
michael@0 2900 * src/base/ftmac.c, builds/mac/ftmac.c (count_faces_scalable):
michael@0 2901 Remove unused variable.
michael@0 2902
michael@0 2903 * src/base/ftdbgmem.c (ft_mem_table_destroy): `table' can't be zero.
michael@0 2904
michael@0 2905 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt1_entry_validate):
michael@0 2906 Remove functionless code.
michael@0 2907
michael@0 2908 * src/tools/ftrandom.c (main): Fix memory leak.
michael@0 2909
michael@0 2910 2013-06-03 Werner Lemberg <wl@gnu.org>
michael@0 2911
michael@0 2912 Add CFF_CONFIG_OPTION_OLD_ENGINE configuration option.
michael@0 2913
michael@0 2914 This controls whether the old FreeType CFF engine gets compiled into
michael@0 2915 FreeType. It is now disabled by default.
michael@0 2916
michael@0 2917 * devel/ftoption.h, include/freetype/config/ftoption.h
michael@0 2918 (CFF_CONFIG_OPTION_OLD_ENGINE): New macro.
michael@0 2919
michael@0 2920 * src/cff/cffdrivr.c (cff_property_set), src/cff/cffgload.c
michael@0 2921 (CFF_Operator, cff_argument_counts, cff_builder_add_point,
michael@0 2922 cff_operator_seac, cff_decoder_parse_charstrings, cff_slot_load),
michael@0 2923 src/cff/cffgload.h, src/cff/cffobjs.c (cff_driver_init): Use
michael@0 2924 CFF_CONFIG_OPTION_OLD_ENGINE to guard the affected code.
michael@0 2925
michael@0 2926 * docs/CHANGES: Updated.
michael@0 2927
michael@0 2928 2013-06-02 Werner Lemberg <wl@gnu.org>
michael@0 2929
michael@0 2930 Fix PNG library handling.
michael@0 2931
michael@0 2932 * builds/unix/configure.raw: Don't use LIBPNG_LIBS but
michael@0 2933 LIBPNG_LDFLAGS.
michael@0 2934
michael@0 2935 2013-05-23 Behdad Esfahbod <behdad@google.com>
michael@0 2936
michael@0 2937 Add support for color embedded bitmaps (eg. color emoji).
michael@0 2938
michael@0 2939 A new load flag, FT_LOAD_COLOR, makes FreeType load color
michael@0 2940 embedded-bitmaps, following this draft specification
michael@0 2941
michael@0 2942 https://color-emoji.googlecode.com/git/specification/v1.html
michael@0 2943
michael@0 2944 which defines two new SFNT tables, `CBDT' and `CBLC' (named and
michael@0 2945 modeled after `EBDT' and `EBLC', respectively). The color bitmaps
michael@0 2946 are stored in the new FT_PIXEL_MODE_BGRA format to represent BGRA
michael@0 2947 pre-multiplied sRGB images. If PNG support is available, PNG color
michael@0 2948 images as defined in the same proposed specification are supported
michael@0 2949 also.
michael@0 2950
michael@0 2951 Note that color bitmaps are converted to grayscale if client didn't
michael@0 2952 ask for color.
michael@0 2953
michael@0 2954 * builds/unix/configure.raw: Search for libpng.
michael@0 2955 Add `--without-png' option.
michael@0 2956
michael@0 2957 * devel/ftoption.h, include/freetype/config/ftoption.h
michael@0 2958 (FT_CONFIG_OPTION_USE_PNG): New macro.
michael@0 2959
michael@0 2960 * include/freetype/freetype.h (FT_LOAD_COLOR): New load flag.
michael@0 2961
michael@0 2962 * include/freetype/ftimage.h (FT_Pixel_Mode): Add
michael@0 2963 `FT_PIXEL_MODE_BGRA'.
michael@0 2964
michael@0 2965 * include/freetype/tttags.h (TTAG_CBDT, TTAG_CBLC): New tags.
michael@0 2966
michael@0 2967 * src/base/ftbitmap.c (FT_Bitmap_Embolden): Updated.
michael@0 2968 (ft_gray_for_premultiplied_srgb_bgra): New function.
michael@0 2969 (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_BGRA.
michael@0 2970
michael@0 2971 * src/sfnt/pngshim.c, src/sfnt/pngshim.h: New files.
michael@0 2972
michael@0 2973 * src/sfnt/sfnt.c: Include `pngshim.c'.
michael@0 2974
michael@0 2975 * src/sfnt/ttsbit.c: Include FT_BITMAP_H and `pngshim.h'
michael@0 2976 (tt_face_load_eblc): Load `CBLC'.
michael@0 2977 (tt_sbit_decoder_init): Load `CBDT'.
michael@0 2978 (tt_sbit_decoder_alloc_bitmap): Pass load flags to select between
michael@0 2979 color and grayscale bitmaps.
michael@0 2980 Set `num_grays'. This is used by `ftview' to choose the blending
michael@0 2981 algorithm.
michael@0 2982 (tt_sbit_decoder_load_byte_aligned,
michael@0 2983 tt_sbit_decoder_load_bit_aligned, tt_sbit_decoder_load_compound,
michael@0 2984 tt_sbit_decoder_load_image): Pass load flag.
michael@0 2985 s/write/pwrite/.
michael@0 2986 Don't call `tt_sbit_decoder_alloc_bitmap'.
michael@0 2987 Updated.
michael@0 2988 (tt_sbit_decoder_load_png) [FT_CONFIG_OPTION_USE_PNG]: New function.
michael@0 2989 (tt_sbit_decoder_load_bitmap): Pass load flag.
michael@0 2990 Handle new glyph formats 17, 18, and 19.
michael@0 2991 Call `tt_sbit_decoder_alloc_bitmap'.
michael@0 2992 Flatten color bitmaps if necessary.
michael@0 2993 (tt_face_load_sbit_image): Updated.
michael@0 2994
michael@0 2995 * src/sfnt/rules.mk (SFNT_DRV_SRC): Add `pngshim.c'.
michael@0 2996
michael@0 2997 * docs/CHANGES: Updated.
michael@0 2998
michael@0 2999 2013-05-24 Guenter <info@gknw.net>
michael@0 3000
michael@0 3001 Apply Savannah patch #8055.
michael@0 3002
michael@0 3003 Make `apinames' create an import file for NetWare.
michael@0 3004
michael@0 3005 * src/tools/apinames.c (PROGRAM_VERSION): Set to 0.2.
michael@0 3006 (OutputFormat): Add `OUTPUT_NETWARE_IMP'.
michael@0 3007 (names_dump): Handle it.
michael@0 3008 (usage): Updated.
michael@0 3009 (main): Handle new command line flag `-wN'.
michael@0 3010
michael@0 3011 2013-05-23 Behdad Esfahbod <behdad@behdad.org>
michael@0 3012
michael@0 3013 Compilation fix.
michael@0 3014
michael@0 3015 * src/truetype/ttinterp.c (TT_RunIns)
michael@0 3016 [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]: Make it work.
michael@0 3017
michael@0 3018 2013-05-22 Infinality <infinality@infinality.net>
michael@0 3019
michael@0 3020 [truetype] Formatting and an additional subpixel tweak.
michael@0 3021
michael@0 3022 * src/truetype/ttinterp.c (Ins_SHPIX): Formatting fix.
michael@0 3023 * src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules):
michael@0 3024 Revert previous modification for Verdana clones.
michael@0 3025
michael@0 3026 2013-05-22 Infinality <infinality@infinality.net>
michael@0 3027
michael@0 3028 [truetype] Adjust subpixel zp2 moves and tweak rules.
michael@0 3029
michael@0 3030 These modifications fix thin diagonal stems in some legacy fonts.
michael@0 3031
michael@0 3032 * src/truetype/ttinterp.c (Direct_Move_X): Remove unused macro.
michael@0 3033 (Move_Zp2_Point): Don't always disable x moves for subpixel rendering.
michael@0 3034 (Ins_SHP): Disable x moves here for subpixel rendering.
michael@0 3035 (Ins_SHPIX): Only disable x moves in compatibility mode.
michael@0 3036 Split out zp2 move reversals and reorder conditional respectively.
michael@0 3037
michael@0 3038 * src/truetype/ttsubpix.c (SKIP_NONPIXEL_Y_MOVES_Rules): Fix oversight.
michael@0 3039 Only adjust Verdana clones for 17 ppem.
michael@0 3040 (SKIP_NONPIXEL_Y_MOVES_Rules_Exceptions): Add Courier New.
michael@0 3041 (ALWAYS_SKIP_DELTAP_Rules): Found additional cases for Arial `s'.
michael@0 3042
michael@0 3043 2013-05-20 Infinality <infinality@infinality.net>
michael@0 3044
michael@0 3045 [truetype] Simplify and improve subpixel function detection.
michael@0 3046
michael@0 3047 Some small enhancements have allowed the removal of many macros and
michael@0 3048 the simplification of existing rules in `ttsubpix.c'.
michael@0 3049
michael@0 3050 * src/truetype/ttsubpix.h (SPH_TWEAK_ALLOW_X_DMOVEX,
michael@0 3051 SPH_TWEAK_ALLOW_X_MOVE_ZP2,
michael@0 3052 SPH_TWEAK_DELTAP_SKIP_EXAGGERATED_VALUES,
michael@0 3053 SPH_TWEAK_SKIP_INLINE_DELTAS, SPH_TWEAK_MIRP_CVT_ZERO): Removed.
michael@0 3054 (SPH_TWEAK_SKIP_NONPIXEL_Y_MOVES_DELTAP): New rule macro.
michael@0 3055
michael@0 3056 * src/truetype/ttsubpix.c: Updated affected rules.
michael@0 3057
michael@0 3058 * src/truetype/ttinterp.c (Direct_Move_X): Updated.
michael@0 3059 (INS_FDEF): Add additional function detection.
michael@0 3060 (INS_ENDF): Set runtime flag.
michael@0 3061 (Ins_CALL): Skip the call under certain conditions.
michael@0 3062 Remove bad code.
michael@0 3063 (Ins_LOOPCALL): Skip the call under certain conditions.
michael@0 3064 Remove bad code.
michael@0 3065 (Move_Zp2_Point): Updated.
michael@0 3066 (Ins_SHPIX): Updated.
michael@0 3067 Skip the move under some situations.
michael@0 3068 (Ins_MIAP): Improve conditions.
michael@0 3069 (Ins_MIRP): Updated.
michael@0 3070 (Ins_DELTAP): Skip move under certain conditions.
michael@0 3071 Simplify conditions.
michael@0 3072 (TT_RunIns): Updated.
michael@0 3073 Add code to handle new function detection.
michael@0 3074 Trace messages.
michael@0 3075
michael@0 3076 2013-05-17 Werner Lemberg <wl@gnu.org>
michael@0 3077
michael@0 3078 Update more FT_Err_XXX macros using FT_ERR and FT_THROW;
michael@0 3079
michael@0 3080 * builds/amiga/src/base/ftsystem.c, builds/mac/ftmac.c,
michael@0 3081 builds/unix/ftsystem.c, builds/vms/ftsystem.c: Do it.
michael@0 3082
michael@0 3083 2013-05-15 Werner Lemberg <wl@gnu.org>
michael@0 3084
michael@0 3085 [truetype] Add `interpreter-version' property.
michael@0 3086
michael@0 3087 This makes the option TT_CONFIG_OPTION_SUBPIXEL_HINTING controllable
michael@0 3088 at runtime.
michael@0 3089
michael@0 3090 * include/freetype/ftttdrv.h: New file.
michael@0 3091
michael@0 3092 * include/freetype/config/ftheader.h (FT_TRUETYPE_DRIVER_H): New
michael@0 3093 macro.
michael@0 3094
michael@0 3095 * src/truetype/ttdriver.c: Include FT_TRUETYPE_DRIVER_H.
michael@0 3096 (tt_property_set, tt_property_get): Fill templates.
michael@0 3097
michael@0 3098 * src/truetype/ttobjs.h (TT_DriverRec): Add `interpreter_version'
michael@0 3099 member.
michael@0 3100 Remove unused `extension_component' member.
michael@0 3101
michael@0 3102 * src/truetype/ttgload.c: Include FT_TRUETYPE_DRIVER_H.
michael@0 3103 (tt_get_metrics, TT_Hint_Glyph, TT_Process_Simple_Glyph,
michael@0 3104 compute_glyph_metrics, tt_loader_init): Use `interpreter_version'.
michael@0 3105
michael@0 3106 * src/truetype/ttinterp.c: Include FT_TRUETYPE_DRIVER_H.
michael@0 3107 (SUBPIXEL_HINTING): New macro to check `interpreter_version' flag.
michael@0 3108 Update all affected functions to use it.
michael@0 3109 Use TT_INTERPRETER_VERSION_XXX where appropriate.
michael@0 3110
michael@0 3111 * src/truetype/ttobjs.c: Include FT_TRUETYPE_DRIVER_H.
michael@0 3112 (tt_driver_init): Initialize `interpreter_version'.
michael@0 3113
michael@0 3114 * src/truetype/ttsubpix.c: Include FT_TRUETYPE_DRIVER_H.
michael@0 3115 Use TT_INTERPRETER_VERSION_XXX where appropriate.
michael@0 3116
michael@0 3117 2013-05-13 Werner Lemberg <wl@gnu.org>
michael@0 3118
michael@0 3119 [truetype] Avoid empty source file.
michael@0 3120
michael@0 3121 * src/truetype/ttsubpix.c [!TT_CONFIG_OPTION_SUBPIXEL_HINTING]:
michael@0 3122 Provide dummy typedef.
michael@0 3123
michael@0 3124 2013-05-13 Werner Lemberg <wl@gnu.org>
michael@0 3125
michael@0 3126 * src/cff/cf2font.c (cf2_getGlyphWidth): Fix uninitialized variable.
michael@0 3127
michael@0 3128 Fix suggested by Vaibhav Nagarnaik <vnagarnaik@gmail.com>.
michael@0 3129
michael@0 3130 2013-05-13 Brian Nixon <bnixon@yahoo.com>
michael@0 3131
michael@0 3132 Fix Savannah bug #38970.
michael@0 3133
michael@0 3134 * src/base/ftdebug.c, builds/win32/ftdebug.c,
michael@0 3135 builds/wince/ftdebug.c, builds/amiga/src/base/ftdebug.c
michael@0 3136 (ft_debug_init): Don't read past the environment variable FT2_DEBUG.
michael@0 3137
michael@0 3138 2013-05-12 Werner Lemberg <wl@gnu.org>
michael@0 3139
michael@0 3140 [truetype] Add framework for TrueType properties.
michael@0 3141
michael@0 3142 * src/truetype/ttdrivr.c: Include FT_SERVICE_PROPERTIES_H.
michael@0 3143 (tt_property_set, tt_property_get): New functions, still empty.
michael@0 3144 Define `tt_service_properties' service.
michael@0 3145 Update `tt_services'.
michael@0 3146
michael@0 3147 * src/truetype/ttpic.h: Include FT_SERVICE_PROPERTIES_H.
michael@0 3148 (TT_SERVICE_PROPERTIES_GET): New macro.
michael@0 3149 (TTModulePIC): Add `tt_service_properties'.
michael@0 3150
michael@0 3151 2013-05-12 Werner Lemberg <wl@gnu.org>
michael@0 3152
michael@0 3153 Fix Savannah bug #38967.
michael@0 3154
michael@0 3155 * src/base/ftcalc.c (FT_DivFix) [FT_LONG64]: Fix cast.
michael@0 3156
michael@0 3157 2013-05-12 Werner Lemberg <wl@gnu.org>
michael@0 3158
michael@0 3159 Introduce unsigned 64bit type (if available).
michael@0 3160
michael@0 3161 * include/freetype/config/ftconfig.h: Define FT_UINT64 if available.
michael@0 3162 [FT_LONG64]: Provide FT_UInt64.
michael@0 3163
michael@0 3164 * builds/unix/ftconfig.in: Synchronized.
michael@0 3165
michael@0 3166 2013-05-12 Werner Lemberg <wl@gnu.org>
michael@0 3167
michael@0 3168 Fix Savannah bug #38968.
michael@0 3169
michael@0 3170 * include/freetype/ftmodapi.h: Add `FT_EXPORT' to
michael@0 3171 FT_Property_{Set,Get}.
michael@0 3172 * src/base/ftobjs.c: Add `FT_EXPORT_DEF' to
michael@0 3173 FT_Property_{Set,Get}.
michael@0 3174
michael@0 3175 2013-05-10 Werner Lemberg <wl@gnu.org>
michael@0 3176
michael@0 3177 [sfnt] Clean up bitmap code.
michael@0 3178
michael@0 3179 * src/sfnt/ttsbit.c: Deleted.
michael@0 3180 * src/sfnt/ttsbit0.c: Renamed to `ttsbit.c'.
michael@0 3181 * rules.mk (SFNT_DRV_H): Updated.
michael@0 3182
michael@0 3183 2013-05-10 Werner Lemberg <wl@gnu.org>
michael@0 3184
michael@0 3185 */* [FT_CONFIG_OPTION_OLD_INTERNALS]: Remove macro and guarded code.
michael@0 3186
michael@0 3187 ----------------------------------------------------------------------------
michael@0 3188
michael@0 3189 Copyright 2013-2014 by
michael@0 3190 David Turner, Robert Wilhelm, and Werner Lemberg.
michael@0 3191
michael@0 3192 This file is part of the FreeType project, and may only be used, modified,
michael@0 3193 and distributed under the terms of the FreeType project license,
michael@0 3194 LICENSE.TXT. By continuing to use, modify, or distribute this file you
michael@0 3195 indicate that you have read the license and understand and accept it
michael@0 3196 fully.
michael@0 3197
michael@0 3198
michael@0 3199 Local Variables:
michael@0 3200 version-control: never
michael@0 3201 coding: utf-8
michael@0 3202 End:

mercurial