5172
+ − 1
2010-02-13 Werner Lemberg <wl@gnu.org>
+ − 2
+ − 3
* Version 2.3.12 released.
+ − 4
==========================
+ − 5
+ − 6
+ − 7
Tag sources with `VER-2-3-12'.
+ − 8
+ − 9
* docs/CHANGES: Updated.
+ − 10
+ − 11
* docs/VERSION.DLL: Update documentation and bump version number to
+ − 12
2.3.12.
+ − 13
+ − 14
* README, Jamfile (RefDoc),
+ − 15
builds/win32/vc2005/freetype.vcproj, builds/win32/vc2005/index.html,
+ − 16
builds/win32/vc2008/freetype.vcproj, builds/win32/vc2008/index.html,
+ − 17
builds/win32/visualc/freetype.dsp,
+ − 18
builds/win32/visualc/freetype.vcproj,
+ − 19
builds/win32/visualc/index.html, builds/win32/visualce/freetype.dsp,
+ − 20
builds/win32/visualce/freetype.vcproj,
+ − 21
builds/win32/visualce/index.html,
+ − 22
builds/wince/vc2005-ce/freetype.vcproj,
+ − 23
builds/wince/vc2005-ce/index.html,
+ − 24
builds/wince/vc2008-ce/freetype.vcproj,
+ − 25
builds/wince/vc2008-ce/index.html: s/2.3.11/2.3.12/, s/2311/2312/.
+ − 26
+ − 27
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 12.
+ − 28
+ − 29
* builds/unix/configure.raw (version_info): Set to 10:0:4.
+ − 30
+ − 31
2010-02-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 32
+ − 33
Improve autotool version checking to work with beta releases.
+ − 34
+ − 35
* autogen.sh (check_tool_version): Improve the extraction of version
+ − 36
number from "tool --version" output. Some beta releases of
+ − 37
autotools have extra strings before version number.
+ − 38
+ − 39
2010-02-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 40
+ − 41
Fix overallocating bug in FT_Outline_New_Internal().
+ − 42
+ − 43
* src/base/ftoutln.c (FT_Outline_New_Internal): The length of
+ − 44
FT_Outline->points[] should be numPoints, not 2 * numPoints.
+ − 45
Found by Paul Messmer, see
+ − 46
http://lists.gnu.org/archive/html/freetype-devel/2010-02/msg00003.html
+ − 47
+ − 48
2010-02-10 Ken Sharp <ken.sharp@artifex.com>
+ − 49
+ − 50
Really fix Savannah bug #28678 (part 2).
+ − 51
+ − 52
Since we consider `sbw' for the horizontal direction only, we still have
+ − 53
to synthesize vertical metrics if the user wants to use the vertical
+ − 54
writing direction.
+ − 55
+ − 56
* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+ − 57
(cid_slot_load_glyph), src/type1/t1gload.c (T1_Load_Glyph):
+ − 58
Synthesize vertical metrics (only) if FT_LOAD_VERTICAL_LAYOUT is
+ − 59
set.
+ − 60
+ − 61
2010-02-10 Ken Sharp <ken.sharp@artifex.com>
+ − 62
+ − 63
Really fix Savannah bug #28678 (part 1).
+ − 64
+ − 65
After long discussion, we now consider the character width vector
+ − 66
(wx,wy) returned by the `sbw' Type 1 operator as being part of *one*
+ − 67
direction only. For example, if you are using the horizontal
+ − 68
writing direction, you get the horizontal and vertical components of
+ − 69
the advance width for this direction. Note that OpenType and CFF fonts
+ − 70
don't have such a vertical component; instead, the GPOS table can be
+ − 71
used to generate two-dimensional advance widths (but this isn't
+ − 72
handled by FreeType).
+ − 73
+ − 74
* include/freetype/ftincrem.h (FT_Incremental_MetricsRec): Add
+ − 75
`advance_v' field to hold the vertical component of the advance
+ − 76
value.
+ − 77
+ − 78
* src/truetype/ttgload.c (tt_get_metrics), src/cff/cffgload.c
+ − 79
(cff_slot_load), src/type1/t1gload.c
+ − 80
(T1_Parse_Glyph_And_Get_Char_String), src/cid/cidgload.c
+ − 81
(cid_load_glyph): Use it.
+ − 82
+ − 83
2010-02-08 Werner Lemberg <wl@gnu.org>
+ − 84
+ − 85
* devel/ftoption.h [FT_CONFIG_OPTION_PIC]: Define.
+ − 86
+ − 87
2010-02-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 88
+ − 89
Prevent NULL pointer dereference passed to FT_Module_Requester.
+ − 90
+ − 91
* src/sfnt/sfdriver.c (sfnt_get_interface): Don't use `module'.
+ − 92
* src/psnames/psmodule.c (psnames_get_interface): Ditto.
+ − 93
+ − 94
* src/cff/cffdrivr.c (cff_get_interface): Check NULL `driver'.
+ − 95
* src/truetype/ttdriver.c (tt_get_interface): Ditto.
+ − 96
+ − 97
2010-01-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 98
+ − 99
Fix memory leaks in previous patch.
+ − 100
+ − 101
* src/sfnt/sfobjs.c (sfnt_load_face): Don't overwrite the strings
+ − 102
allocated for face->root.family_name and style_name.
+ − 103
+ − 104
2010-01-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 105
+ − 106
New parameters for FT_Open_Face() to ignore preferred family names.
+ − 107
+ − 108
Preferred family names should be used for legacy systems that
+ − 109
can hold only a few faces (<= 4) for a family name. Suggested by
+ − 110
Andreas Heinrich.
+ − 111
http://lists.gnu.org/archive/html/freetype/2010-01/msg00001.html
+ − 112
+ − 113
* include/freetype/ftsnames.h (FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
+ − 114
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Define.
+ − 115
+ − 116
* src/sfnt/sfobjs.c (sfnt_load_face): Check the arguments and
+ − 117
ignore preferred family and subfamily names if requested.
+ − 118
+ − 119
2010-01-27 Ken Sharp <ken.sharp@artifex.com>
+ − 120
+ − 121
Fix Savannah bug #28678.
+ − 122
+ − 123
* src/cff/cffgload.c (cff_slot_load), src/cid/cidgload.c
+ − 124
(cid_load_glyph): Handle vertical metrics correctly.
+ − 125
+ − 126
* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String): Handle
+ − 127
vertical metrics correctly.
+ − 128
(T1_Load_Glyph): Don't synthesize vertical metrics.
+ − 129
+ − 130
2010-01-14 Werner Lemberg <wl@gnu.org>
+ − 131
+ − 132
Make FT_Set_Transform work if no renderer is available.
+ − 133
+ − 134
* src/base/ftobjs.c (FT_Load_Glyph): Apply `standard' transformation
+ − 135
if no renderer is compiled into the library.
+ − 136
+ − 137
2010-01-14 Werner Lemberg <wl@gnu.org>
+ − 138
+ − 139
Fix compilation warning.
+ − 140
+ − 141
* src/base/ftbase.h: s/LOCAL_DEF/LOCAL/.
+ − 142
* src/base/ftobjc.s: Include ftbase.h conditionally.
+ − 143
+ − 144
2010-01-11 Kwang Yul Seo <skyul@company100.net>
+ − 145
+ − 146
Provide inline assembly code for RVCT compiler.
+ − 147
This is Savannah patch #7059.
+ − 148
+ − 149
* include/freetype/config/ftconfig.h (FT_MULFIX_ASSEMBLER,
+ − 150
FT_MulFix_arm) [__CC_ARM || __ARM_CC]: Define.
+ − 151
+ − 152
2010-01-08 Ken Sharp <ken.sharp@artifex.com>
+ − 153
+ − 154
Fix Savannah bug #28521.
+ − 155
+ − 156
Issue #28226 involved a work-around for a font which used the
+ − 157
`setcurrentpoint' operator in an invalid way; this operator is only
+ − 158
supposed to be used with the result of OtherSubrs, and the font used
+ − 159
it directly. The supplied patch removed the block of code which
+ − 160
checked this usage entirely.
+ − 161
+ − 162
This turns out to be a Bad Thing. If `setcurrentpoint' is being
+ − 163
used correctly it should reset the flex flag in the decoder. If we
+ − 164
don't do this then the flag never gets reset and we omit any further
+ − 165
contours from the glyph (at least until we close the path or
+ − 166
similar).
+ − 167
+ − 168
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ − 169
<op_setcurrentpoint>: Handle `flex_state' correctly.
+ − 170
+ − 171
2010-01-05 Werner Lemberg <wl@gnu.org>
+ − 172
+ − 173
Apply reports from clang static analyzer.
+ − 174
+ − 175
* src/lzw/ftlzw.c (ft_lzw_file_init), src/base/ftstroke.c
+ − 176
(FT_Stroker_ParseOutline), src/base/ftsynth.c
+ − 177
(FT_GlyphSlot_Embolden): Remove dead code.
+ − 178
+ − 179
* src/base/ftpatent.c (_tt_check_patents_in_table): Initialize
+ − 180
`offset_i' and `length_i'.
+ − 181
+ − 182
2010-01-05 Ralph Giles <giles@ghostscript.com>
+ − 183
+ − 184
Enable the incremental font interface by default.
+ − 185
+ − 186
Ghostscript requires the incremental font interface for handling
+ − 187
some Postscript documents. It is moving to using FreeType as its
+ − 188
primary renderer; supporting this in the default build makes it
+ − 189
Ghostscript to be linked against the system FreeType when one is
+ − 190
available.
+ − 191
+ − 192
* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_INCREMENTAL):
+ − 193
Uncomment.
+ − 194
+ − 195
2010-01-05 Werner Lemberg <wl@gnu.org>
+ − 196
+ − 197
Fix Savannah bug #28395.
+ − 198
+ − 199
* src/truetype/ttdriver.c (Load_Glyph), src/type1/t1gload.c
+ − 200
(T1_Loada_Glyph): Don't check `num_glyphs' if incremental interface
+ − 201
is used.
+ − 202
+ − 203
2010-01-05 Ken Sharp <ken.sharp@artifex.com>
+ − 204
+ − 205
Make Type 1 `seac' operator work with incremental interface.
+ − 206
This fixes Savannah bug #28480.
+ − 207
+ − 208
* src/psaux/t1decode.c (t1operator_seac): Don't check `glyph_names'
+ − 209
if incremental interface is used.
+ − 210
+ − 211
2010-01-04 Ken Sharp <ken.sharp@artifex.com>
+ − 212
+ − 213
Make incremental interface work with TrueType fonts.
+ − 214
This fixes Savannah bug #28478.
+ − 215
+ − 216
* src/truetype/ttgload.c (load_truetype_glyph): Don't check
+ − 217
`glyf_offset' if incremental interface is used.
+ − 218
+ − 219
2009-12-31 Lars Abrahamsson <wonko@opera.com>
+ − 220
+ − 221
Make compilation with FT_CONFIG_OPTION_PIC work again.
+ − 222
+ − 223
* src/base/ftglyph.c (FT_Glyph_To_Bitmap) [FT_CONFIG_OPTION_PIC]:
+ − 224
Declare `library' for FT_BITMAP_GLYPH_CLASS_GET.
+ − 225
+ − 226
* src/base/ftinit.c (ft_destroy_default_module_classes,
+ − 227
ft_create_default_module_classes): Use proper casts (needed for C++
+ − 228
compilation).
+ − 229
+ − 230
* src/sfnt/ttcmap.c (tt_cmap13_class_rec): Use FT_DEFINE_TT_CMAP.
+ − 231
+ − 232
2009-12-22 Marc Kleine-Budde <mkl@pengutronix.de>
+ − 233
+ − 234
Make freetype-config aware of $SYSROOT.
+ − 235
This is Savannah patch #7040.
+ − 236
+ − 237
* builds/unix/freetype-config.in: Decorate with ${SYSROOT} where
+ − 238
appropriate.
+ − 239
+ − 240
2009-12-20 Werner Lemberg <wl@gnu.org>
+ − 241
+ − 242
Fix compiler warning.
+ − 243
Reported by Sean.
+ − 244
+ − 245
* src/base/ftdbgmem.c [!FT_DEBUG_MEMORY]: ANSI C doesn't like empty
+ − 246
source files; however, some compilers warn about an unused variable
+ − 247
declaration. This is now replaced with a typedef.
+ − 248
+ − 249
2009-12-18 Werner Lemberg <wl@gnu.org>
+ − 250
+ − 251
Fix Savannah bug #28320.
+ − 252
+ − 253
There exist corrupt, subsetted fonts (embedded in PDF files) which
+ − 254
contain a private dict that ends with an unterminated floating point
+ − 255
number (no operator following). We now ignore this error (as
+ − 256
acrobat does).
+ − 257
+ − 258
* src/cff/cffparse.c (cff_parser_run): Don't emit a syntax error for
+ − 259
unterminated floating point numbers.
+ − 260
+ − 261
2009-12-16 Werner Lemberg <wl@gnu.org>
+ − 262
+ − 263
Really fix compiler warnings.
+ − 264
Reported by Sean.
+ − 265
+ − 266
* src/truetype/ttgxvar.c (GX_PT_POINTS_ARE_WORDS,
+ − 267
GX_PT_POINT_RUN_COUNT_MASK): Convert enum values to macros.
+ − 268
+ − 269
2009-12-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 270
+ − 271
Improve configure.raw to copy some options from CFLAGS to LDFLAGS.
+ − 272
The linker of Mac OS X 10.6 is sensitive to the architecture. If
+ − 273
the architectures are specified explicitly for the C compiler, the
+ − 274
linker requires the architecture specifications too.
+ − 275
+ − 276
* builds/unix/configure.raw: Replace `-isysroot' option parser by
+ − 277
more generic argument parser.
+ − 278
+ − 279
2009-12-15 Werner Lemberg <wl@gnu.org>
+ − 280
+ − 281
Fix compiler warnings.
+ − 282
Reported by Sean.
+ − 283
+ − 284
* src/truetype/ttgxvar.c (ft_var_readpackeddeltas): Fix counter data
+ − 285
type.
+ − 286
+ − 287
2009-12-14 Ken Sharp <ken.sharp@artifex.com>
+ − 288
+ − 289
Ignore invalid `setcurrentpoint' operations in Type 1 fonts.
+ − 290
This fixes Savannah bug #28226.
+ − 291
+ − 292
At least two wild PostScript files of unknown provenance contain
+ − 293
Type 1 fonts, apparently converted from TrueType fonts in earlier
+ − 294
PDF versions of the files, which use the `setcurrentpoint' operator
+ − 295
inappropriately.
+ − 296
+ − 297
FreeType currently throws an error in this case, but Ghostscript and
+ − 298
Adobe Distiller both accept the fonts and ignore the problem. This
+ − 299
commit #ifdefs out the check so PostScript interpreters using
+ − 300
FreeType can render these files.
+ − 301
+ − 302
The specification says `setcurrentpoint' should only be used to set
+ − 303
the point after a `Subr' call, but these fonts use it to set the
+ − 304
initial point to (0,0). Unnecessarily so, as they correctly use an
+ − 305
`hsbw' operation which implicitly sets the initial point.
+ − 306
+ − 307
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ − 308
<op_setcurrentpoint>: Comment out code.
+ − 309
+ − 310
2009-12-14 Bram Tassyns <bramt@enfocus.be>
+ − 311
+ − 312
Fix parsing of /CIDFontVersion.
+ − 313
This fixes Savannah bug #28287.
+ − 314
+ − 315
* src/cid/cidtoken.h: `cid_version' in CID_FaceInfoRec (in
+ − 316
t1tables.h) is of type FT_Fixed.
+ − 317
+ − 318
2009-12-14 Werner Lemberg <wl@gnu.org>
+ − 319
+ − 320
Trace glyph index in CID module.
+ − 321
Suggested in Savannah patch #7023.
+ − 322
+ − 323
* src/cid/cidgload.c (cid_load_glyph): Add tracing message.
+ − 324
+ − 325
2009-12-03 Werner Lemberg <wl@gnu.org>
+ − 326
+ − 327
Fix compiler warnings.
+ − 328
+ − 329
* src/truetype/ttgload.c (tt_get_metrics): Put `Exit' label into the
+ − 330
proper preprocessor conditional.
+ − 331
* src/pfr/pfrobjs.c (pfr_slot_load): Pacify gcc.
+ − 332
+ − 333
2009-11-25 John Tytgat <John.Tytgat@esko.com>
+ − 334
+ − 335
Better handling of start of `eexec' section.
+ − 336
This fixes Savannah bug #28090.
+ − 337
+ − 338
* src/type1/t1parse.c (T1_Get_Private_Dict): Skip all whitespace
+ − 339
characters before start of `eexec' section.
+ − 340
+ − 341
2009-11-20 Werner Lemberg <wl@gnu.org>
+ − 342
+ − 343
Fix Savannah bug #27742.
+ − 344
+ − 345
* src/base/ftstroke.c (ft_stroker_outside): Avoid silent division by
+ − 346
zero, using a threshold for `theta'.
+ − 347
+ − 348
2009-11-20 Werner Lemberg <wl@gnu.org>
+ − 349
+ − 350
Fix Savannah bug #28036.
+ − 351
+ − 352
* src/type1/t1afm.c (t1_get_index): Fix comparison.
+ − 353
+ − 354
2009-11-16 Werner Lemberg <wl@gnu.org>
+ − 355
+ − 356
Fix compiler warnings.
+ − 357
Reported by Kevin Blenkinsopp <arqon@promode.org>.
+ − 358
+ − 359
* src/sfnt/ttload.c (check_table_dir): Use proper data type.
+ − 360
+ − 361
2009-11-15 Werner Lemberg <wl@gnu.org>
+ − 362
+ − 363
Really fix FreeDesktop bug #21197.
+ − 364
This also fixes Savannah bug #28021.
+ − 365
+ − 366
* src/autofit/aflatin.c (af_latin_metrics_check_digits),
+ − 367
src/autofit/aflatin2.c (af_latin2_metrics_check_digits): Fix loop.
+ − 368
+ − 369
2009-11-15 Werner Lemberg <wl@gnu.org>
+ − 370
+ − 371
Add tracing messages for advance values.
+ − 372
+ − 373
* src/base/ftobjs.c (FT_Load_Glyph), src/truetype/ttgload.c
+ − 374
(TT_Get_HMetrics, TT_Get_VMetrics): Do it.
+ − 375
+ − 376
2009-11-08 Werner Lemberg <wl@gnu.org>
+ − 377
+ − 378
Fix compiler warning.
+ − 379
Reported by Jeremy Manson <jeremy.manson@gmail.com>.
+ − 380
+ − 381
* src/truetype/ttgload.c (load_truetype_glyph): Initialize `error'.
+ − 382
+ − 383
2009-11-04 Werner Lemberg <wl@gnu.org>
+ − 384
+ − 385
Remove compiler warning.
+ − 386
Reported by Sean McBride <sean@rogue-research.com>.
+ − 387
+ − 388
* src/tools/apinames.c (read_header_file)<STATE_TYPE>: Use a cast to
+ − 389
`int', as specified in the printf(3) man page.
+ − 390
+ − 391
2009-11-04 Werner Lemberg <wl@gnu.org>
+ − 392
+ − 393
Fix Savannah bug #27921.
+ − 394
+ − 395
* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
+ − 396
(cid_face_init), src/type1/t1afm.c (T1_Read_Metrics),
+ − 397
src/type1/t1objs.c (T1_Face_Init): Don't use unsigned constant
+ − 398
values for rounding if the argument can be negative.
+ − 399
+ − 400
2009-11-03 Bram Tassyns <bramt@enfocus.be>
+ − 401
+ − 402
Add basic support for Type1 charstrings in CFF.
+ − 403
This fixes Savannah bug #27922.
+ − 404
+ − 405
* src/cff/cffgload.c (CFF_Operator, cff_argument_counts): Handle
+ − 406
`seac', `sbw', and `setcurrentpoint' opcodes.
+ − 407
(cff_compute_bias): Add parameter to indicate the charstring type.
+ − 408
Update all callers.
+ − 409
(cff_operator_seac): Add parameter for side bearing.
+ − 410
(cff_decoder_parse_charstrings): Updated for more Type1 support.
+ − 411
+ − 412
2009-11-03 Werner Lemberg <wl@gnu.org>
+ − 413
+ − 414
Return correct `linearHoriAdvance' value for embedded TT bitmaps too.
+ − 415
Reported by Jeremy Manson <jeremy.manson@gmail.com>.
+ − 416
+ − 417
src/truetype/ttgload.c (load_truetype_glyph): Add parameter to
+ − 418
quickly load the glyph header only.
+ − 419
Update all callers.
+ − 420
(tt_loader_init): Add parameter to quickly load the `glyf' table
+ − 421
only.
+ − 422
Update all callers.
+ − 423
(TT_Load_Glyph): Compute linear advance values for embedded bitmap
+ − 424
glyphs too.
+ − 425
+ − 426
2009-11-03 Werner Lemberg <wl@gnu.org>
+ − 427
+ − 428
Improve code readability.
+ − 429
+ − 430
* src/ttgload.c (load_truetype_glyph): Move metrics calculation
+ − 431
to...
+ − 432
(tt_get_metrics): This new function.
+ − 433
+ − 434
2009-10-26 Bram Tassyns <bramt@enfocus.be>
+ − 435
+ − 436
Fix Savannah bug #27811.
+ − 437
+ − 438
* src/truetype/ttxgvar.c (ft_var_readpackeddeltas): Fix
+ − 439
signed/unsigned mismatch.
+ − 440
+ − 441
2009-10-19 Ning Dong <flintning@163.com>
+ − 442
+ − 443
Fix handling of `get' and `put' CFF instructions.
+ − 444
+ − 445
* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_get,
+ − 446
cff_op_put>: Appendix B of Adobe Technote #5177 limits the number of
+ − 447
elements for the `get' and `put' operators to 32.
+ − 448
* src/cff/cffgload.h (CFF_MAX_TRANS_ELEMENTS): Define.
+ − 449
(CFF_Decoder): Use it for `buildchar' and remove `len_buildchar'.
+ − 450
+ − 451
2009-10-18 Werner Lemberg <wl@gnu.org>
+ − 452
+ − 453
Fix handling of `dup' CFF instruction.
+ − 454
Problem and solution reported by Ning Dong <flintning@163.com>.
+ − 455
+ − 456
* src/cff/cffgload.c (cff_decoder_parse_charstrings) <cff_op_dup>:
+ − 457
Increase `args' by 2, not 1.
+ − 458
+ − 459
2009-10-10 Werner Lemberg <wl@gnu.org>
+ − 460
+ − 461
* Version 2.3.11 released.
+ − 462
==========================
+ − 463
+ − 464
+ − 465
Tag sources with `VER-2-3-11'.
+ − 466
+ − 467
* docs/VERSION.DLL: Update documentation and bump version number to
+ − 468
2.3.11.
+ − 469
+ − 470
* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ − 471
builds/win32/visualc/freetype.dsp,
+ − 472
builds/win32/visualc/freetype.vcproj,
+ − 473
builds/win32/visualce/index.html,
+ − 474
builds/win32/visualce/freetype.dsp,
+ − 475
builds/win32/visualce/freetype.vcproj: s/2.3.10/2.3.11/, s/2310/2311/.
+ − 476
+ − 477
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 11.
+ − 478
+ − 479
* builds/unix/configure.raw (version_info): Set to 9:22:3.
+ − 480
+ − 481
2009-10-10 Werner Lemberg <wl@gnu.org>
+ − 482
+ − 483
* docs/CHANGES, docs/release: Updated.
+ − 484
+ − 485
2009-10-10 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 486
+ − 487
* src/pcf/pcfread.c (pcf_get_properties): Fix a bug in the nprops
+ − 488
truncation. Reported by Martin von Gagern and Peter Volkov.
+ − 489
https://bugs.gentoo.org/288357 and https://bugs.gentoo.org/288256
+ − 490
+ − 491
2009-10-06 Werner Lemberg <wl@gnu.org>
+ − 492
+ − 493
* Version 2.3.10 released.
+ − 494
==========================
+ − 495
+ − 496
+ − 497
Tag sources with `VER-2-3-10'.
+ − 498
+ − 499
* builds/toplevel.mk (major, minor, patch): Fix regexp to allow more
+ − 500
than a single digit.
+ − 501
(dist): We now use git.
+ − 502
+ − 503
* docs/VERSION.DLL: Update documentation and bump version number to
+ − 504
2.3.10.
+ − 505
+ − 506
* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ − 507
builds/win32/visualc/freetype.dsp,
+ − 508
builds/win32/visualc/freetype.vcproj,
+ − 509
builds/win32/visualce/index.html,
+ − 510
builds/win32/visualce/freetype.dsp,
+ − 511
builds/win32/visualce/freetype.vcproj: s/2.3.9/2.3.10/, s/239/2310/.
+ − 512
+ − 513
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 10.
+ − 514
+ − 515
* builds/unix/configure.raw (version_info): Set to 9:21:3.
+ − 516
+ − 517
2009-10-06 Werner Lemberg <wl@gnu.org>
+ − 518
+ − 519
Fix `make multi'.
+ − 520
+ − 521
* src/cache/ftccache.c, src/cache/ftcsbits.c (FT_COMPONENT): Define.
+ − 522
+ − 523
* src/sfnt/sfdriver.c: Include FT_INTERNAL_DEBUG_H.
+ − 524
+ − 525
2009-09-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 526
+ − 527
[cache] Fix Savannah bug #27441, clean up Redhat bugzilla #513582.
+ − 528
Tricky casts in FTC_{CACHE,GCACHE,MRULIST}_LOOKUP_CMP() are removed.
+ − 529
Now these functions should be called with FTC_Node or FTC_MruNode
+ − 530
variable, and the caller should cast them to appropriate pointers to
+ − 531
concrete data. These tricky casts can GCC-4.4 optimizer (-O2)
+ − 532
confused and the crashing binaries are generated.
+ − 533
+ − 534
* src/cache/ftcmru.h (FTC_MRULIST_LOOKUP_CMP): Drop tricky cast.
+ − 535
Now the 4th argument `node' of this function should be typed as
+ − 536
FTC_MruNode.
+ − 537
+ − 538
* src/cache/ftcglyph.h (FTC_GCACHE_LOOKUP_CMP): For inline
+ − 539
implementation, new temporal variable FTC_MruNode `_mrunode' to take
+ − 540
the pointer from FTC_MRULIST_LOOKUP_CMP(). For non-inline
+ − 541
implementation, tricky cast is dropped.
+ − 542
+ − 543
* src/cache/ftcmanag.c (FTC_SIZE_NODE): New macro casting
+ − 544
to FTC_SizeNode.
+ − 545
(FTC_Manager_LookupSize): Replace FTC_SizeNode `node' by FTC_MruNode
+ − 546
`mrunode', and FTC_SIZE_NODE() is inserted.
+ − 547
(FTC_FACE_NODE): New macro casting to FTC_FaceNode.
+ − 548
(FTC_Manager_LookupFace) Replace FTC_FaceNode `node' by FTC_MruNode
+ − 549
`mrunode', and FTC_FACE_NODE() is inserted.
+ − 550
+ − 551
* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Change the type of
+ − 552
`node' from FTC_INode to FTC_Node. Extra casting macro FTC_NODE()
+ − 553
is dropped.
+ − 554
(FTC_ImageCache_LookupScaler): Ditto.
+ − 555
(FTC_SBitCache_Lookup): Change the type of `node' from FTC_SNode to
+ − 556
FTC_Node. Extra casting macro FTC_NODE() is dropped. FTC_SNODE()
+ − 557
is inserted.
+ − 558
(FTC_SBitCache_LookupScaler): Ditto.
+ − 559
+ − 560
* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the type of
+ − 561
`node' from FTC_CMapNode to FTC_Node. Extra casting macro
+ − 562
FTC_NODE() is dropped, FTC_CMAP_NODE() is inserted.
+ − 563
+ − 564
2009-09-25 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 565
+ − 566
[cache, psaux, type1] Fix for multi build.
+ − 567
In multi build, some cpp functions are left as unresolved symbols.
+ − 568
+ − 569
* src/cache/ftcbasic.c: Include FT_INTERNAL_DEBUG_H for FT_TRACE1().
+ − 570
+ − 571
* src/psaux/t1decode.c: Include FT_INTERNAL_CALC_H for
+ − 572
FIXED_TO_INT().
+ − 573
* src/type1/t1gload.c: Ditto.
+ − 574
* src/type1/t1objs.c: Ditto.
+ − 575
+ − 576
2009-09-25 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 577
+ − 578
[autofit] Fix for multi build.
+ − 579
+ − 580
* src/autofit/afmodule.h: Include FT_INTERNAL_OBJECTS_H to use
+ − 581
FT_DECLARE_MODULE() macro in multi build.
+ − 582
+ − 583
* src/autofit/aflatin.c: Include <ft2build.h> to handle
+ − 584
FT_ADVANCES_H correctly in multi build.
+ − 585
+ − 586
2009-09-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 587
+ − 588
[cache] Check the face filled by FTC_Manager_LookupFace().
+ − 589
+ − 590
* src/cache/ftcbasic.c (ftc_basic_family_get_count): Return
+ − 591
immediately if FTC_Manager_LookupFace() fills face by NULL. Such
+ − 592
case can occur when the code is optimized by GCC-4.2.x.
+ − 593
+ − 594
2009-09-23 Werner Lemberg <wl@gnu.org>
+ − 595
+ − 596
* docs/CHANGES: Updated.
+ − 597
+ − 598
2009-09-12 Werner Lemberg <wl@gnu.org>
+ − 599
+ − 600
[raster] Fix 5-levels grayscale output.
+ − 601
This was broken since version 2.3.0.
+ − 602
+ − 603
* src/raster/ftraster.c (count_table): Use pre-2.3.0 values (which
+ − 604
were then computed dynamically).
+ − 605
(Vertical_Gray_Sweep_Step): Updated.
+ − 606
+ − 607
(ft_black_render): Initialize `worker->gray_lines' (problem found by
+ − 608
valgrind).
+ − 609
+ − 610
(FT_RASTER_OPTION_ANTI_ALIASING, DEBUG_RASTER): Dont' #undef, just
+ − 611
comment out.
+ − 612
+ − 613
2009-09-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 614
+ − 615
Improve configure.raw for cross build.
+ − 616
+ − 617
* builds/unix/configure.raw: Remove temporal files created by the
+ − 618
suffix checking for CC_BUILD. Set XX_ANSIFLAGS and XX_CFLAGS when
+ − 619
cross compiler is GCC. AC_PROG_CC checks whether the cross compiler
+ − 620
is GCC, its result is stored in GCC.
+ − 621
+ − 622
2009-09-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 623
+ − 624
[BDF] Modify hash API to take size_t value instead of void *.
+ − 625
+ − 626
The hash API in BDF driver is designed to be generic, it takes
+ − 627
void * typed data. But BDF driver always gives an unsigned long
+ − 628
integer (the index to a property). To reduce non-essential
+ − 629
casts from unsigned long to void* and from void* to unsigned
+ − 630
long, the hash API is changed to take size_t integer.
+ − 631
The issue of incompatible cast between unsigned long and void*
+ − 632
on LLP64 platform is reported by NightStrike from MinGW-Win64
+ − 633
project. See
+ − 634
http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+ − 635
+ − 636
* src/bdf/bdf.h: The type of hashnode->data is changed from
+ − 637
void* to size_t.
+ − 638
+ − 639
* src/bdf/bdflib.c (hash_insert): Get size_t data, instead of
+ − 640
void* data.
+ − 641
(bdf_create_property): Get the name length of new property by
+ − 642
size_t variable, with a cut-off at FT_ULONG_MAX.
+ − 643
(_bdf_set_default_spacing): Get the name length of the face by
+ − 644
size_t variable, with a cut-off at 256.
+ − 645
(bdf_get_property): Get the property id by size_t variable to
+ − 646
reduce the casts between 32-bit prop ID & hashnode->data during
+ − 647
simple copying.
+ − 648
(_bdf_add_property): Ditto.
+ − 649
(_bdf_parse_start): Calculate the index to the property array
+ − 650
by size_t variable.
+ − 651
(bdf_get_font_property): Drop a cast to unsigned long.
+ − 652
+ − 653
2009-09-10 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 654
+ − 655
[Win64] Improve the computation of random seed from stack address.
+ − 656
+ − 657
On LLP64 platform, the conversion from pointer to FT_Fixed need
+ − 658
to drop higher 32-bit. Explict casts are required. Reported by
+ − 659
NightStrike from MinGW-w64 project. See
+ − 660
http://lists.gnu.org/archive/html/freetype/2009-09/msg00000.html
+ − 661
+ − 662
* src/cff/cffgload.c: Convert the pointers to FT_Fixed explicitly.
+ − 663
+ − 664
* src/psaux/t1decode.c: Ditto.
+ − 665
+ − 666
+ − 667
2009-09-03 Werner Lemberg <wl@gnu.org>
+ − 668
+ − 669
[raster] Improvements for stand-alone mode.
+ − 670
+ − 671
* src/raster/rules.mk: Don't handle ftmisc.h. It is needed for
+ − 672
stand-alone mode only.
+ − 673
+ − 674
* src/raster/ftmisc.h (FT_MemoryRec , FT_Alloc_Func, FT_Free_Func,
+ − 675
FT_Realloc_Func): Copy declarations from ftsystem.h.
+ − 676
+ − 677
2009-09-02 Bram Tassyns <bramt@enfocus.be>
+ − 678
+ − 679
Improve vertical metrics calculation (Savannah bug #27364).
+ − 680
+ − 681
The calculation of `vertBearingX' is not defined in the OTF font
+ − 682
spec so FreeType does a `best effort' attempt. However, this value
+ − 683
is defined in the PDF and PostScript specs, and that algorithm is
+ − 684
better than the one FreeType currently uses:
+ − 685
+ − 686
FreeType: Use the middle of the bounding box as the X coordinate
+ − 687
of the vertical origin.
+ − 688
+ − 689
Adobe PDF spec: Use the middle of the horizontal advance vector as
+ − 690
the X coordinate of the vertical origin.
+ − 691
+ − 692
FreeType's algorithm goes wrong if you have a really small glyph
+ − 693
(like the full-width, circle-like dot at the end of the sentence, as
+ − 694
used in CJK scripts) with large bearings. With the FreeType
+ − 695
algorithm this dot gets centered on the baseline; with the PDF
+ − 696
algorithm it gets the correct location (in the top right). Note
+ − 697
that this is a serious issue, it's like printing the dot at the end
+ − 698
of a Roman sentence at the center of the textline instead of on the
+ − 699
baseline like it should. So i believe the PDF spec's algorithm
+ − 700
should be used in FreeType as well.
+ − 701
+ − 702
The `vertBearingY' value for such small glyphs is also very strange
+ − 703
if no `vmtx' information is present, since the height of the bbox is
+ − 704
not representable for the height of the glyph visually (the
+ − 705
whitespace up to the baseline is part of the glyph). The fix also
+ − 706
includes some code for a better estimate of `vertBearingY'.
+ − 707
+ − 708
* src/base/ftobjs.c (ft_synthesize_vertical_metrics): `vertBearingX'
+ − 709
is now calculated as described by the Adobe PDF Spec. Estimate for
+ − 710
`vertBearingY' now works better for small glyphs completely above or
+ − 711
below the baseline into account.
+ − 712
+ − 713
* src/cff/cffgload.c (cff_slot_load): `vertBearingX' is now
+ − 714
calculated as described by the Adobe PDF Spec. Vertical metrics
+ − 715
information was always ignored when FT_CONFIG_OPTION_OLD_INTERNALS
+ − 716
was not defined.
+ − 717
+ − 718
* src/truetype/ttgload.c (compute_glyph_metrics): `vertBearingX' is
+ − 719
now calculated as described by the Adobe PDF Spec.
+ − 720
+ − 721
2009-09-01 John Tytgat <John.Tytgat@esko.com>
+ − 722
+ − 723
Fix custom cmap for empty Type 1 font (Savannah bug #27294).
+ − 724
+ − 725
* include/freetype/internal/t1types.h (T1_EncodingRecRec_): Update
+ − 726
comment to reflect revised code_last meaning.
+ − 727
* src/type1/t1load.c (T1_Open_Face), src/type42/t42objs.c
+ − 728
(T42_Open_Face): Assign max_char as highest character code + 1 and
+ − 729
use this for T1_EncodingRecRec_::code_last.
+ − 730
* src/psaux/t1cmap.c (t1_cmap_custom_init): Follow revised
+ − 731
T1_EncodingRecRec_::code_last meaning.
+ − 732
+ − 733
2009-08-25 Werner Lemberg <wl@gnu.org>
+ − 734
+ − 735
Fix rendering of horizontally compressed CFFs.
+ − 736
Bug reported by Ivan Nincic <inincic@pdftron.com>.
+ − 737
+ − 738
* src/cff/cffgload.c (cff_slot_load): Thinko: Check `xx' element of
+ − 739
`font_matrix' also.
+ − 740
+ − 741
* docs/CHANGES: Updated.
+ − 742
+ − 743
2009-08-03 suyu0925@gmail.com
+ − 744
+ − 745
Don't call `ft_fseek' every time when executing `ft_fread'.
+ − 746
+ − 747
* src/base/ftstream.c (FT_Stream_Seek), src/base/ftsystem.c
+ − 748
(ft_ansi_stream_io): Implement it.
+ − 749
+ − 750
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 751
+ − 752
sfnt: Cast a charcode to 32-bit in cmap format 14 parser.
+ − 753
+ − 754
* src/sfnt/ttcmap.c (tt_cmap14_char_var_index,
+ − 755
tt_cmap14_char_var_isdefault, tt_cmap14_char_variants,
+ − 756
tt_cmap14_variant_chars): Correct mismatches from
+ − 757
FT_CMap_CharVarIndexFunc prototype, FT_ULong arguments
+ − 758
are replaced by FT_UInt32 arguments.
+ − 759
+ − 760
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 761
+ − 762
sfnt: Cast a charcode to 32-bit in cmap format 12 parser.
+ − 763
+ − 764
* src/sfnt/ttcmap.c (tt_cmap12_char_next):
+ − 765
Insert explicit cast from FT_UFast to FT_UInt32
+ − 766
for return value.
+ − 767
+ − 768
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 769
+ − 770
psaux: Fix a few casts to FT_Int32 value.
+ − 771
+ − 772
* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+ − 773
Fix a few casts setting `value' from FT_Long to FT_Int32,
+ − 774
because `value' is typed as FT_Int32 since 2009-06-22.
+ − 775
+ − 776
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 777
+ − 778
sfnt: Fix a data type mismatching with its source.
+ − 779
+ − 780
* src/sfnt/ttcmap.c (tt_cmap13_char_next): Fix the
+ − 781
type of `gindex' from FT_ULong to FT_UInt because
+ − 782
it is set by FT_UInt tt_cmap13_char_map_binary() or
+ − 783
TT_CMap13->cur_gindex.
+ − 784
+ − 785
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 786
+ − 787
sfnt: Extend a few local variables to load 32-bit values.
+ − 788
+ − 789
* src/sfnt/ttkern.c (tt_face_load_kern): Extend `count'
+ − 790
and `kern' to load 32-bit values.
+ − 791
+ − 792
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 793
+ − 794
pfr: Extend `num_aux' to take 32-bit value.
+ − 795
+ − 796
* src/pfr/pfrload.c (pfr_phy_font_load): Extend
+ − 797
`num_aux' to load 32-bit value.
+ − 798
+ − 799
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 800
+ − 801
pcf: Truncate FT_ULong `nprops' to fit to int PCF_Face->nprops.
+ − 802
+ − 803
* src/pcf/pcfread.c (pcf_get_properties): Load `nprops'
+ − 804
as FT_ULong value from PCF file, but truncate it as
+ − 805
int to fit PCF_Face->nprops. The number of truncated
+ − 806
properties is shown in the trace message.
+ − 807
+ − 808
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 809
+ − 810
gxvalid: Extend a few local variables to reduce the casts.
+ − 811
+ − 812
* src/gxvalid/gxvmorx.c (gxv_morx_subtables_validate):
+ − 813
Extend `type' and `rest' to take FT_ULong values.
+ − 814
+ − 815
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 816
+ − 817
gxvalid: Extend `settingTable' to take 32-bit offset.
+ − 818
+ − 819
* src/gxvalid/gxvfeat.c (gxv_feat_name_validate):
+ − 820
Extend `settingTable' to take 32-bit offset.
+ − 821
+ − 822
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 823
+ − 824
autofit: Cast FT_Long glyph_count to compare with FT_UInt GID.
+ − 825
+ − 826
* src/autofit/afglobal.c (af_face_globals_is_digit,
+ − 827
af_face_globals_compute_script_coverage): Cast FT_Long
+ − 828
globals->glyph_count to FT_ULong, to compare with FT_UInt
+ − 829
gindex.
+ − 830
+ − 831
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 832
+ − 833
smooth: Exclude 16-bit system in invalid pitch/height check.
+ − 834
+ − 835
* src/smooth/ftsmooth.c (ft_smooth_render_generic):
+ − 836
pitch and height are typed as FT_UInt but checked to fit
+ − 837
16-bit range, to avoid the overflows. On 16-bit system,
+ − 838
this checking inserts a conditional that never occurs.
+ − 839
+ − 840
2009-07-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 841
+ − 842
cff: Type large constants > 0x7FFF as long for 16-bit systems.
+ − 843
+ − 844
* src/cff/cffload.c (cff_charset_load): Type large
+ − 845
constants > 0x7FFF as long, because normal constants
+ − 846
are typed signed integer that is less than 0x8000 on
+ − 847
16-bit systems.
+ − 848
+ − 849
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 850
+ − 851
base: Remove an unused variable.
+ − 852
+ − 853
* src/base/ftglyph.c (FT_Glyph_To_Bitmap): Remove an
+ − 854
unused variable `library'. glyph->library is used.
+ − 855
+ − 856
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 857
+ − 858
cache: Check higher bits in flags for non ILP32 systems.
+ − 859
+ − 860
4 public functions ought to take FT_ULong flags, but take
+ − 861
FT_UInt flags. To keep binary compatibility, we drop higher
+ − 862
bits on non ILP32 platforms,
+ − 863
ILP64 systems: No drop occurs.
+ − 864
LP64 systems: Higher bits are not used.
+ − 865
16-bit systems: Drop can occur.
+ − 866
See
+ − 867
http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00065.html
+ − 868
These functions will be refined to take FT_ULong flags in
+ − 869
next bump with incompatible API change.
+ − 870
+ − 871
* src/cache/ftcbasic.c (FTC_ImageCache_Lookup):
+ − 872
Check `flags' in `type', the 2nd argument.
+ − 873
(FTC_SBitCache_Lookup): Ditto.
+ − 874
(FTC_ImageCache_LookupScaler): Check `load_flags',
+ − 875
the 3rd argument.
+ − 876
(FTC_SBitCache_LookupScaler): Ditto.
+ − 877
+ − 878
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 879
+ − 880
sfnt: Ignore invalid GIDs in glyph name lookup.
+ − 881
+ − 882
* include/freetype/internal/fttrace.h:
+ − 883
New trace module for sfdriver.c is added.
+ − 884
+ − 885
* src/sfnt/sfdriver.c (sfnt_get_name_index):
+ − 886
Restrict glyph name lookup to FT_UInt GID.
+ − 887
Genuine TrueType can hold 16-bit glyphs.
+ − 888
+ − 889
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 890
+ − 891
pcf: Fix a comparison between FT_Long and FT_ULong.
+ − 892
+ − 893
* src/pcf/pcfread.c (pcf_get_bitmaps): Return an error
+ − 894
if PCF_Face->nemetrics is negative.
+ − 895
+ − 896
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 897
+ − 898
gxvalid: Guarantee `nFeatureFlags' size up to 32-bit.
+ − 899
+ − 900
* src/gxvalid/gxvmort.c (gxv_mort_featurearray_validate):
+ − 901
Extend the 3rd argument `nFeatureFlags' to FT_ULong.
+ − 902
* src/gxvalid/gxvmort.h: Ditto.
+ − 903
+ − 904
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 905
+ − 906
sfnt: Insert explicit cast for LP64 system.
+ − 907
+ − 908
* src/sfnt/ttkern.c (tt_face_load_kern): Insert
+ − 909
cast from unsigned long to FT_UInt32.
+ − 910
+ − 911
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 912
+ − 913
gxvalid: Guarantee `just' table size upto 32-bit.
+ − 914
+ − 915
* src/gxvalid/gxvjust.c (gxv_just_validate):
+ − 916
The type of `offset' is changed from FT_UInt to
+ − 917
FT_Offset, for 16-bit platforms.
+ − 918
+ − 919
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 920
+ − 921
gxvalid: Guarantee `trak' table size upto 32-bit.
+ − 922
+ − 923
* src/gxvalid/gxvtrak.c (gxv_trak_validate):
+ − 924
The type of `offset' is changed from FT_UInt to
+ − 925
FT_Offset, for 16-bit platforms.
+ − 926
+ − 927
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 928
+ − 929
type1: Fix a data type mismatching with its source.
+ − 930
+ − 931
* include/freetype/internal/t1types.h: The type of
+ − 932
T1_Face->buildchar is matched with T1_Decorder->top.
+ − 933
+ − 934
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 935
+ − 936
pfr: Fix a data type mismatching with its source.
+ − 937
+ − 938
* src/pfr/pfrtypes.h: The type of PFR_KernItem->offset
+ − 939
is extended from FT_UInt32 to FT_Offset, because it is
+ − 940
calculated with the pointer difference, in
+ − 941
pfr_extra_item_load_kerning_pairs().
+ − 942
+ − 943
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 944
+ − 945
pfr: Fix a data type mismatching with its source.
+ − 946
+ − 947
* src/pfr/pfrtypes.h: The type of PFR_PhysFont->chars_offset
+ − 948
is extended from FT_UInt32 to FT_Offset, because it is
+ − 949
calculated with the pointer difference in pfr_phy_font_load().
+ − 950
+ − 951
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 952
+ − 953
pfr: Fix a data type mismatching with its source.
+ − 954
+ − 955
* src/pfr/pfrtypes.h: The type of PFR_PhyFont->bct_offset
+ − 956
is extended from FT_UInt32 to FT_Long, because it is
+ − 957
loaded by FT_STREAM_POS() in pfr_phy_font_load().
+ − 958
+ − 959
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 960
+ − 961
smooth: Improve the format in debug message.
+ − 962
+ − 963
* src/smooth/ftgrays.c (gray_dump_cells): Improve the
+ − 964
format specifications to dump variables.
+ − 965
+ − 966
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 967
+ − 968
sfnt: Fix a data type mismatching with its source.
+ − 969
+ − 970
* src/sfnt/sfobjs.c (sfnt_load_face): The type of
+ − 971
local `flags' is matched with FT_Face->face_flags.
+ − 972
+ − 973
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 974
+ − 975
psaux: Fix a data type mismatching with its source.
+ − 976
+ − 977
* include/freetype/internal/psaux.h: The type of
+ − 978
T1_DecorderRec.buildchar is matched with
+ − 979
T1_DecorderRec.top.
+ − 980
+ − 981
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 982
+ − 983
truetype: Extend TrueType GX packed deltas to FT_Offset.
+ − 984
+ − 985
* src/truetype/ttgxvar.c (ft_var_readpackeddeltas):
+ − 986
The type of 2nd argument `delta_cnt' is changed from
+ − 987
FT_Int to FT_Offset, because its source can be cvt
+ − 988
table size calculated from stream position.
+ − 989
+ − 990
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 991
+ − 992
truetype: Extend mmvar_len to hold size_t values.
+ − 993
+ − 994
* src/truetype/ttgxvar.h: The type of
+ − 995
GX_BlendRec.mmvar_len is changed from FT_Int to
+ − 996
FT_Offset, because TT_Get_MM_Var() calculates it
+ − 997
by sizeof() results.
+ − 998
+ − 999
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1000
+ − 1001
truetype: Check invalid function number in IDEF instruction.
+ − 1002
+ − 1003
* src/truetype/ttinterp.c (Ins_IDEF): Check
+ − 1004
if the operand fits to 8-bit opcode limitation.
+ − 1005
+ − 1006
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1007
+ − 1008
truetype: Check invalid function number in FDEF instruction.
+ − 1009
+ − 1010
* src/truetype/ttinterp.c (Ins_FDEF): Check
+ − 1011
if the operand fits 16-bit function number.
+ − 1012
+ − 1013
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1014
+ − 1015
truetype: Truncate the deltas of composite glyph at 16-bit values.
+ − 1016
+ − 1017
* src/truetype/ttgload.c (load_truetype_glyph):
+ − 1018
Insert cast from FT_Long (deltas[i].{x,y}) to
+ − 1019
FT_Int16 in the summation of deltas[] for composite
+ − 1020
glyphs. Because deltas[i] is typed as FT_Pos,
+ − 1021
its component x, y are typed as FT_Long, but
+ − 1022
their sources are always FT_Int16 when they are
+ − 1023
loaded by ft_var_readpackeddeltas(). However,
+ − 1024
the limitation about the summed deltas is unclear.
+ − 1025
+ − 1026
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1027
+ − 1028
truetype: Truncate the instructions upto 16-bit per a glyph.
+ − 1029
+ − 1030
* src/truetype/ttgload.c (TT_Hint_Glyph): Truncate
+ − 1031
the instructions upto 16-bit length per a glyph.
+ − 1032
+ − 1033
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1034
+ − 1035
truetype: Cast the numerical operands to 32-bit for LP64 systems.
+ − 1036
+ − 1037
* src/truetype/ttinterp.c (Ins_SPHIX, INS_MIAP,
+ − 1038
Ins_MIRP): Insert cast from long (args[], the
+ − 1039
operands passed to TrueType operator) to FT_Int32
+ − 1040
(the argument of TT_MulFix14()).
+ − 1041
+ − 1042
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1043
+ − 1044
truetype: Cast the project vector to 32-bit for LP64 system.
+ − 1045
+ − 1046
* src/truetype/ttinterp.c (Project, DualProject):
+ − 1047
Insert casts from FT_Pos (the arguments `dx', `dy')
+ − 1048
to FT_UInt32 (the argument to TT_DotFix14()).
+ − 1049
+ − 1050
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1051
+ − 1052
truetype: Cast the scaling params to 32-bit for LP64 system.
+ − 1053
+ − 1054
* src/truetype/ttgload.c (TT_Process_Composite_Component):
+ − 1055
Insert casts from long (return value of FT_MulFix()) to
+ − 1056
FT_Int32 (the argument to FT_SqrtFixed()).
+ − 1057
+ − 1058
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1059
+ − 1060
sfnt: Cast a character code to FT_UInt32 for LP64 system.
+ − 1061
+ − 1062
* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+ − 1063
tt_cmap14_variants, tt_cmap14_char_variants,
+ − 1064
tt_cmap14_def_char_count, tt_cmap14_get_def_chars,
+ − 1065
tt_cmap14_get_nondef_chars, tt_cmap14_variant_chars)
+ − 1066
Insert casts when FT_UInt32 variable is loaded by
+ − 1067
TT_NEXT_{UINT24|ULONG}. Because most of them are
+ − 1068
compared with FT_UInt32 values in public API, replacing
+ − 1069
FT_UFast is not recommended.
+ − 1070
+ − 1071
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1072
+ − 1073
sfnt: Cast a character code to FT_UInt32 for LP64 system.
+ − 1074
+ − 1075
* src/sfnt/ttcmap.c (tt_cmap4_init, tt_cmap4_next):
+ − 1076
Insert the casts from unsigned long constant to
+ − 1077
FT_UInt32.
+ − 1078
+ − 1079
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1080
+ − 1081
sfnt: Extend TT_BDF->strings_size to FT_ULong for huge BDF.
+ − 1082
+ − 1083
* include/freetype/internal/tttypes.h: The type
+ − 1084
of TT_BDF->string_size is extended from FT_UInt32
+ − 1085
to FT_ULong, because BDF specification does not
+ − 1086
restrict the length of string.
+ − 1087
* src/sfnt/ttbdf.c: The scratch variable `strings'
+ − 1088
to load TT_BDF->string_size is matched with
+ − 1089
TT_BDF->string_size.
+ − 1090
+ − 1091
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1092
+ − 1093
psaux: Handle the string length by FT_Offset variables.
+ − 1094
+ − 1095
* src/psaux/afmparse.c (afm_parser_next_key,
+ − 1096
afm_tokenize, afm_parse_track_kern,
+ − 1097
afm_parse_kern_pairs, afm_parse_kern_data,
+ − 1098
afm_parser_skip_section, afm_parser_parse):
+ − 1099
The length of key is handled by FT_Offset,
+ − 1100
instead of FT_UInt. Although the length of
+ − 1101
PostScript strings or name object is 16-bit,
+ − 1102
AFM_STREAM_KEY_LEN() calculates the length
+ − 1103
from the pointer difference.
+ − 1104
+ − 1105
* src/psaux/afmparse.h (afm_parser_next_key):
+ − 1106
Ditto.
+ − 1107
+ − 1108
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1109
+ − 1110
pcf: Fix some data types mismatching with their sources.
+ − 1111
+ − 1112
* src/pcf/pcfread.c (pcf_get_bitmaps): The types
+ − 1113
of `nbitmaps', `i', `sizebitmaps' are matched with
+ − 1114
the type of area FT_Bitmap.pitch * FT_Bitmap.rows.
+ − 1115
+ − 1116
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1117
+ − 1118
pcf: Handle the string length by size_t variables.
+ − 1119
+ − 1120
* src/pcf/pcfread.c (pcf_interpret_style): The types
+ − 1121
of nn, len, lengths[4] are changed to size_t, because
+ − 1122
they are loaded by (or compared with) ft_strlen().
+ − 1123
+ − 1124
* src/pcf/pcfutil.c (BitOrderInvert, TwoByteSwap,
+ − 1125
FourByteSwap): The type of the 2nd argument `nbytes'
+ − 1126
is changed to size_t, for similarity with ANSI C
+ − 1127
string functions.
+ − 1128
+ − 1129
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): The type of
+ − 1130
`bytes' is changed to FT_Offset, because it is passed
+ − 1131
to FT_ALLOC(), via ft_glyphslot_alloc_bitmap(). At
+ − 1132
least, using unsigned type is better.
+ − 1133
+ − 1134
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1135
+ − 1136
pcf: Fix some data types mismatching with their sources.
+ − 1137
+ − 1138
* src/pcf/pcfread.c (pcf_seek_to_table_type,
+ − 1139
pcf_has_table_type): The type of 3rd argument
+ − 1140
`ntables' is matched with PCF_Toc->count.
+ − 1141
+ − 1142
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1143
+ − 1144
otvalid: Truncate the glyph index to 16-bit.
+ − 1145
+ − 1146
* src/otvalid/otvalid.c (otv_validate): Checks
+ − 1147
face->num_glyphs does not exceed 16-bit limit,
+ − 1148
pass FT_UInt num_glyphs to backend functions
+ − 1149
otv_{GPOS|GSUB|GDEF|JSTF|MATH}_validate().
+ − 1150
+ − 1151
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1152
+ − 1153
cache: Insert explict casts for LP64 systems.
+ − 1154
+ − 1155
* src/cache/ftcbasic.c (FTC_ImageCache_Lookup,
+ − 1156
FTC_SBitCache_Lookup): The type of FTC_ImageType->width
+ − 1157
is FT_Int, so the cast to unsigned larger type FT_ULong
+ − 1158
is introduced for the comparisons with 0x10000L for
+ − 1159
LP64 platform.
+ − 1160
+ − 1161
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1162
+ − 1163
cache: Fix some data types mismatching with their sources.
+ − 1164
+ − 1165
* src/cache/ftccache.h: The type of return value
+ − 1166
by FTC_Node_WeightFunc function is changed to
+ − 1167
FT_Offset. The type of FTC_CacheClass->cache_size
+ − 1168
is changed to FT_Offset, too.
+ − 1169
+ − 1170
* src/cache/ftccback.h (ft_inode_weight,
+ − 1171
ftc_snode_weight): Ditto.
+ − 1172
+ − 1173
* src/cache/ftccmap.c (ftc_cmap_node_weight): Ditto.
+ − 1174
+ − 1175
* src/cache/ftcimage.c (ftc_inode_weight,
+ − 1176
FTC_INode_Weight): Ditto.
+ − 1177
+ − 1178
* src/cache/ftcsbits.c (ftc_snode_weight,
+ − 1179
FTC_SNode_Weight): Ditto.
+ − 1180
+ − 1181
* src/cache/ftcmru.h: The type of
+ − 1182
FTC_MruListClass->node_size is changed to FT_Offset,
+ − 1183
because it is passed to FT_ALLOC() to specify the
+ − 1184
size of buffer.
+ − 1185
+ − 1186
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1187
+ − 1188
XXX_cmap_encoding_char_next() return FT_UInt32 values.
+ − 1189
+ − 1190
* include/freetype/internal/services/svpscmap.h:
+ − 1191
The size of the charcode value returned by
+ − 1192
the function typed PS_Unicodes_CharNextFunc is
+ − 1193
matched with its input charcode value.
+ − 1194
+ − 1195
* src/cff/cffmap.c (cff_cmap_encoding_char_next,
+ − 1196
cff_cmap_unicode_char_next): Ditto.
+ − 1197
+ − 1198
* src/pfr/pfrmap.c (pfr_cmap_encoding_char_next):
+ − 1199
Ditto.
+ − 1200
+ − 1201
* src/psaux/t1cmap.c (t1_cmap_std_char_next,
+ − 1202
t1_cmap_custom_char_next, t1_cmap_unicode_char_next):
+ − 1203
Ditto.
+ − 1204
+ − 1205
* src/psnames/psmodule.c (ps_unicodes_char_next):
+ − 1206
Ditto.
+ − 1207
+ − 1208
* src/winfonts/winfnt.c (fnt_cmap_char_next):
+ − 1209
Ditto.
+ − 1210
+ − 1211
* src/sfnt/ttcmap.c (tt_cmap0_char_next,
+ − 1212
tt_cmap2_char_next, tt_cmap4_char_next,
+ − 1213
tt_cmap6_char_next, tt_cmap10_char_next,
+ − 1214
tt_cmap12_char_next, tt_cmap13_char_next): Ditto.
+ − 1215
(tt_cmap14_char_variants): Handle base unicode
+ − 1216
codepoint by FT_UInt32 variable to avoid overflow
+ − 1217
on 16-bit platforms.
+ − 1218
(tt_cmap14_ensure): The type of `num_results' is
+ − 1219
extend to FT_UInt32, to cover unsigned 32-bit
+ − 1220
`numVarSelectorRecords' in cmap14 table header.
+ − 1221
+ − 1222
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1223
+ − 1224
truetype: Extend TT_Face->num_locations for broken TTFs.
+ − 1225
+ − 1226
* include/freetype/internal/tttypes.h:
+ − 1227
TT_Face->num_locations are extended from FT_UInt
+ − 1228
to FT_ULong, to stand with broken huge loca table.
+ − 1229
Some people insists there are broken TTF including
+ − 1230
the glyphs over 16-bit limitation, in PRC market.
+ − 1231
* src/truetype/ttpload.c (tt_face_load_loca):
+ − 1232
Remove unrequired 16-bit truncation for FT_UInt
+ − 1233
TT_Face->num_locations.
+ − 1234
+ − 1235
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1236
+ − 1237
smooth: Fix some data types mismatching with their sources.
+ − 1238
+ − 1239
* src/smooth/ftgrays.c: The type of `TCoord' is
+ − 1240
matched to `TPos', because they are mixed in
+ − 1241
gray_set_cell(). The type of TCell->x is extended
+ − 1242
to `TPos', because gray_find_cell() sets it by
+ − 1243
TWorker.ex. The type of TCell->cover is extended
+ − 1244
to `TCoord', because gray_render_scanline() adds
+ − 1245
TCoord value to it. The type of TWork.cover is matched
+ − 1246
with TCell->cover. The types of
+ − 1247
TWork.{max_cells,num_cells} are changed to FT_PtrDist,
+ − 1248
because they are calculated from the memory addresses.
+ − 1249
The type of TWork.ycount is changed to TPos, because
+ − 1250
it is calculated from TPos variables.
+ − 1251
(gray_find_cell): The type of `x' is matched with
+ − 1252
its initial value ras.ex.
+ − 1253
(gray_render_scanline): The types of `mod', `lift'
+ − 1254
and `rem' are changed to TCoord, because their values
+ − 1255
are set with explicit casts to TCoord. When ras.area
+ − 1256
is updated by the differential values including
+ − 1257
`delta', they are explicitly cast to TArea, because
+ − 1258
the type of `delta' is not TArea but TCoord.
+ − 1259
(gray_render_line): The type of `mod' is extended
+ − 1260
from int to TCoord, because (TCoord)dy is added to mod.
+ − 1261
(gray_hline): The argument `acount' is extended to
+ − 1262
TCoord, to match with the parameters in the callers.
+ − 1263
+ − 1264
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1265
+ − 1266
cff: Fix some data types mismatching with their sources.
+ − 1267
+ − 1268
* src/cff/cffobjs.c (cff_face_init): The type of
+ − 1269
`scaling' is matched with the scaling parameter
+ − 1270
in FT_Matrix_Multiply_Scaled() and
+ − 1271
FT_Vector_Transform_Scaled().
+ − 1272
+ − 1273
* src/cff/cffparse.c (cff_parse_real): The type of
+ − 1274
`power_ten', `scaling', `exponent_add',
+ − 1275
`integer_length', `fraction_length',
+ − 1276
`new_fraction_length' and `shift' are matched with
+ − 1277
the type of `exponent' to avoid unexpected truncation.
+ − 1278
(cff_parse_fixed_scaled): The type of `scaling' is
+ − 1279
matched with the `scaling' argument to
+ − 1280
cff_parse_real().
+ − 1281
(cff_parse_fixed_dynamic): Ditto.
+ − 1282
(cff_parse_font_matrix): The type of `scaling' is
+ − 1283
matched with the `scaling' argument to
+ − 1284
cff_parse_dynamic().
+ − 1285
+ − 1286
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1287
+ − 1288
autofit: Fix some data types mismatching with their sources.
+ − 1289
+ − 1290
* src/autofit/afglobal.c: Correct the type of
+ − 1291
AF_FaceGlobalsRec.glyph_count to match with
+ − 1292
FT_Face->num_glyphs.
+ − 1293
(af_face_globals_compute_script_coverage):
+ − 1294
Insert explicit cast to compare
+ − 1295
FT_Long AF_FaceGlobalsRec.glyph_count versus
+ − 1296
FT_UInt gindex. The type of `nn' is changed
+ − 1297
to scan glyph index upto AF_FaceGlobalsRec.glyph_count.
+ − 1298
(af_face_globals_get_metrics): The type of `script_max'
+ − 1299
is changed to cover size_t value. Insert explicit cast
+ − 1300
to compare FT_Long AF_FaceGlobalsRec.glyph_count versus
+ − 1301
FT_UInt gindex.
+ − 1302
+ − 1303
* src/autofit/afhints.c (af_axis_hints_new_segment):
+ − 1304
Insert explicit cast to calculate `big_max' from
+ − 1305
integer and size_t values.
+ − 1306
(af_axis_hints_new_edge): Ditto.
+ − 1307
+ − 1308
* src/autofit/aflatin.c (af_latin_metrics_init_blues):
+ − 1309
The type of `best_y' is matched to FT_Vector.y.
+ − 1310
(af_latin_compute_stem_width): The type of `delta' is
+ − 1311
matched to `dist' and `org_dist'.
+ − 1312
+ − 1313
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1314
+ − 1315
autofit: Count the size of the memory object by ptrdiff_t.
+ − 1316
+ − 1317
* src/autofit/afcjk.c (af_cjk_hint_edges): The
+ − 1318
number of edges `n_edges' should be counted by
+ − 1319
FT_PtrDist variable instead of FT_Int.
+ − 1320
+ − 1321
* src/autofit/aflatin.c (af_latin_hint_edges):
+ − 1322
Ditto.
+ − 1323
+ − 1324
* src/autofit/aftypes.h: In AF_ScriptClassRec,
+ − 1325
the size of metric `script_metrics_size' should
+ − 1326
be counted by FT_Offset variable instead of FT_UInt.
+ − 1327
+ − 1328
* src/autofit/afhints.c
+ − 1329
(af_glyph_hints_align_strong_points): The cursors
+ − 1330
for the edges `min', `max', `mid' in the memory
+ − 1331
buffer should be typed FT_PtrDist.
+ − 1332
+ − 1333
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1334
+ − 1335
autofit: Fix for unused variable `first'.
+ − 1336
+ − 1337
* src/autofit/afhints.c (af_glyph_hints_reload): Insert
+ − 1338
FT_UNUSED() to hide the unused variable warning.
+ − 1339
+ − 1340
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1341
+ − 1342
Improve bitmap size or pixel variables for 16-bit systems.
+ − 1343
+ − 1344
* include/freetype/config/ftstdlib.h: Introduce
+ − 1345
FT_INT_MIN, to use in signed integer overflow in
+ − 1346
16-bit and 64-bit platforms.
+ − 1347
+ − 1348
* include/freetype/internal/fttrace.h: Add a tracer
+ − 1349
to ftsynth.c.
+ − 1350
+ − 1351
* src/base/ftbitmap.c (FT_Bitmap_Embolden): Check
+ − 1352
invalid strength causing integer overflow on 16-bit
+ − 1353
platform.
+ − 1354
+ − 1355
* src/base/ftcalc.c (ft_corner_orientation): Change
+ − 1356
the internal calculation from FT_Int to FT_Long, to
+ − 1357
avoid an overflow on 16-bit platforms. The caller of
+ − 1358
this function should use only the sign of result,
+ − 1359
so the cast to FT_Int is acceptable.
+ − 1360
+ − 1361
* src/base/ftsynth.c: Introduce a tracer for synth module.
+ − 1362
(FT_GlyphSlot_Embolden): Check invalid strength causing
+ − 1363
integer overflow on 16-bit platform.
+ − 1364
+ − 1365
* src/bdf/bdfdrivr.c (BDF_Face_Init): The glyph index
+ − 1366
in FT2 API is typed as FT_UInt, although BDF driver
+ − 1367
can handle unsigned long glyph index internally. To
+ − 1368
avoid integer overflow on 16-bit platform, too large
+ − 1369
glyph index should be excluded.
+ − 1370
(BDF_Glyph_Load): The glyph pitch in FT2 is typed as
+ − 1371
FT_UInt, although BDF driver can handle unsigned long
+ − 1372
glyph pitch internally. To avoid integer overflow on
+ − 1373
16-bit platform, too large glyph pitch should not be
+ − 1374
returned.
+ − 1375
+ − 1376
* src/pfr/pfrsbit.c (pfr_slot_load_bitmap): The glyph
+ − 1377
pitch in FT2 is typed as FT_UInt, although PFR font
+ − 1378
format can include huge bitmap glyph with 24-bit pitch
+ − 1379
(however, a glyph spends 16.7 pixel, it's not realistic).
+ − 1380
To avoid integer overflow on 16-bit platform, huge
+ − 1381
bitmap glyph should be excluded.
+ − 1382
+ − 1383
* src/smooth/ftgrays.c (gray_hline): As FT_Span.x is
+ − 1384
truncated to fit its type (16-bit short), FT_Span.y
+ − 1385
should be truncated to fit its type (FT_Int).
+ − 1386
+ − 1387
* src/cff/cffdrivr.c (cff_get_ros): CFF specification
+ − 1388
defines the supplement in ROS as a real number.
+ − 1389
Truncate it to fit public FT2 API.
+ − 1390
+ − 1391
* src/cff/cffparse.c (cff_parse_cid_ros): Warn the
+ − 1392
supplement if it is truncated or rounded in cff_get_ros().
+ − 1393
+ − 1394
* src/cff/cfftypes.h: Change the type of internal variable
+ − 1395
`supplement' from FT_Long to FT_ULong to fit the signedness
+ − 1396
to the type in public API.
+ − 1397
+ − 1398
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1399
+ − 1400
psaux: Prevent invalid arguments to afm_parser_read_vals().
+ − 1401
+ − 1402
* src/psaux/afmparse.c (afm_parser_read_vals): Change
+ − 1403
the type of `n' to prevent negative number how many
+ − 1404
arguments should be parsed.
+ − 1405
+ − 1406
* src/psaux/afmparse.h (afm_parser_read_vals): Ditto.
+ − 1407
+ − 1408
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1409
+ − 1410
base: Prevent some overflows on LP64 systems.
+ − 1411
+ − 1412
* src/base/ftadvance.c (FT_Get_Advances): Cast the
+ − 1413
unsigned long constant FT_LOAD_ADVANCE_ONLY to FT_UInt32
+ − 1414
for LP64 platforms.
+ − 1415
+ − 1416
* src/base/ftcalc.c (FT_Sqrt32): All internal variables
+ − 1417
are changed to FT_UInt32 from FT_ULong.
+ − 1418
(FT_MulDiv): Insert casts to FT_Int32 for LP64 platforms.
+ − 1419
This function is designed for 32-bit integer, although
+ − 1420
their arguments and return value are FT_Long.
+ − 1421
+ − 1422
* src/base/ftobjs.c (FT_Get_Char_Index): Check `charcode'
+ − 1423
is within unsigned 32-bit integer for LP64 platforms.
+ − 1424
(FT_Face_GetCharVariantIndex): Check `charcode' and
+ − 1425
`variantSelector' are within 32-bit integer for LP64
+ − 1426
platforms.
+ − 1427
(FT_Face_GetCharsOfVariant): Check `variantSelector' is
+ − 1428
within unsigned 32-bit integer for LP64 platforms.
+ − 1429
+ − 1430
* src/base/fttrigon.c (ft_trig_downscale): The FT_Fixed
+ − 1431
variable `val' and unsigned long constant FT_TRIG_SCALE
+ − 1432
are cast to FT_UInt32, when calculates FT_UInt32.
+ − 1433
(FT_Vector_Rotate): The long constant 1L is cast to
+ − 1434
FT_Int32 to calculate FT_Int32 `half'.
+ − 1435
+ − 1436
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1437
+ − 1438
cff: Cast the long variables to 32-bit for LP64 systems.
+ − 1439
+ − 1440
* src/cff/cffdrivr.c (cff_get_advances): Insert
+ − 1441
explicit cast to modify a 32-bit flag by unsigned
+ − 1442
long constant.
+ − 1443
+ − 1444
* src/cff/cffobjs.c (cff_face_init): Ditto.
+ − 1445
+ − 1446
* src/cff/cffgload.c (cff_decoder_parse_charstrings):
+ − 1447
Replace the casts to FT_Long by the casts to FT_Int32
+ − 1448
for LP64 platforms.
+ − 1449
+ − 1450
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1451
+ − 1452
pcf: Improve PCF_PropertyRec.value names on LP64 platforms.
+ − 1453
+ − 1454
* src/pcf/pcf.h: In PCF_PropertyRec.value, the member
+ − 1455
`integer' is replaced by `l', `cardinal' is replaced
+ − 1456
by `ul', to fix the difference between the name and
+ − 1457
the types on LP64 platforms.
+ − 1458
+ − 1459
* src/pcf/pcfdrivr.c (pcf_get_bdf_property): Reflect
+ − 1460
PCF_PropertyRec.value change, with appropriate casts
+ − 1461
to FT_Int32/FT_UInt32. Their destinations
+ − 1462
BDF_PropertyRec.{integer|cardinal} are public and
+ − 1463
explicitly defined as FT_Int32/FT_UInt32.
+ − 1464
+ − 1465
* src/pcf/pcfread.c (pcf_get_properties, pcf_load_font):
+ − 1466
Reflect PCF_PropertyRec.value change.
+ − 1467
+ − 1468
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1469
+ − 1470
pcf: Fix some data types mismatching with their sources.
+ − 1471
+ − 1472
* src/pcf/pcfdrivr.c (pcf_cmap_char_index): The type of
+ − 1473
`code' is matched to PCF_Encoding->enc.
+ − 1474
(pcf_cmap_char_next): The type of `charcode' is matched
+ − 1475
to PCF_Encoding->enc. When *acharcode is set by charcode,
+ − 1476
an overflow is checked and cast to unsigned 32-bit
+ − 1477
integer.
+ − 1478
+ − 1479
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1480
+ − 1481
bdf: Improve bdf_property_t.value names for LP64 platforms.
+ − 1482
+ − 1483
* src/bdf/bdf.h: In bdf_property_t.value, the member
+ − 1484
`int32' is replaced by `l', `card32' is replaced by
+ − 1485
`ul', to fix the difference between the name and the
+ − 1486
types on LP64 platforms.
+ − 1487
+ − 1488
* src/bdf/bdfdrivr.c (BDF_Face_Init): Reflect
+ − 1489
bdf_property_t.value change.
+ − 1490
(bdf_get_bdf_property): Reflect bdf_property_t.value
+ − 1491
change, with appropriate casts to FT_Int32/FT_UInt32.
+ − 1492
Their destinations BDF_PropertyRec.{integer|cardinal}
+ − 1493
are public and explicitly defined as FT_Int32/FT_UInt32.
+ − 1494
+ − 1495
* src/bdf/bdflib.c (_bdf_add_property): Reflect
+ − 1496
bdf_property_t.value change.
+ − 1497
+ − 1498
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1499
+ − 1500
bdf: Fix some data types mismatching with their sources.
+ − 1501
+ − 1502
* src/bdf/bdrdrivr.c (bdf_cmap_char_index): The type
+ − 1503
of `code' is matched with BDF_encoding_el->enc.
+ − 1504
(bdf_cmap_char_next): The type of `charcode' is
+ − 1505
matched with BDF_encoding_el->enc. When *acharcode
+ − 1506
is set by charcode, an overflow is checked and
+ − 1507
cast to unsigned 32-bit integer.
+ − 1508
+ − 1509
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1510
+ − 1511
autofit: Improve Unicode range definitions.
+ − 1512
+ − 1513
* src/autofit/aftypes.h (AF_UNIRANGE_REC): New macro
+ − 1514
to declare a range by two unsigned 32-bit integer,
+ − 1515
to avoid 64-bit range definition on LP64 platforms.
+ − 1516
+ − 1517
* src/autofit/aflatin.c (af_latin_uniranges): Ditto.
+ − 1518
+ − 1519
* src/autofit/aflatin2.c (af_latin2_uniranges): Ditto.
+ − 1520
+ − 1521
* src/autofit/afindic.c (af_indic_uniranges): Ditto.
+ − 1522
+ − 1523
* src/autofit/afcjk.c (af_cjk_uniranges): Declare
+ − 1524
the ranges by AF_UNIRANGE_REC.
+ − 1525
+ − 1526
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1527
+ − 1528
smooth: Fix a data type mismatching with its source.
+ − 1529
+ − 1530
* src/smooth/ftgrays.c (gray_sweep): The type of
+ − 1531
`area' is matched with the 3rd argument `area'
+ − 1532
of gray_hline().
+ − 1533
+ − 1534
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1535
+ − 1536
smooth: Fix a data type mismatching with its source.
+ − 1537
+ − 1538
* src/smooth/ftgrays.c (gray_render_line): The type
+ − 1539
of `area' is matched with TWorker.area.
+ − 1540
+ − 1541
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1542
+ − 1543
cache: Disable the legacy compatibility if 16-bit system.
+ − 1544
+ − 1545
* src/cache/ftcbasic.c (FTC_ImageCache_Lookup): Exclude
+ − 1546
the legacy behaviour from 16-bit platform, because the
+ − 1547
current hack cannot detect the caller uses this function
+ − 1548
via legacy convension.
+ − 1549
(FTC_SBitCache_Lookup): Ditto.
+ − 1550
+ − 1551
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1552
+ − 1553
cache: Check 32-bit glyph index on 16-bit systems.
+ − 1554
+ − 1555
* src/cache/ftcbasic.c (ftc_basic_family_get_count):
+ − 1556
Check overflow caused by the face including large
+ − 1557
number of glyphs > 64k.
+ − 1558
+ − 1559
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1560
+ − 1561
cache: Fix some data types mismatching with their sources.
+ − 1562
+ − 1563
* src/cache/ftccache.c (ftc_cache_resize): The types of
+ − 1564
`p', `mask', `count' are matched with FTC_Cache->{p,mask}.
+ − 1565
(FTC_Cache_Clear): The type of `old_index' is matched to
+ − 1566
FTC_Cache->{p,mask}.
+ − 1567
+ − 1568
* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP): The type
+ − 1569
of `_idx' is matched with FTC_Cache->{p,mask}.
+ − 1570
+ − 1571
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1572
+ − 1573
cache: Fix some data types mismatching with their sources.
+ − 1574
+ − 1575
* src/cache/ftcsbits.c (ftc_snode_load): The types
+ − 1576
of `xadvance' and `yadvance' are matched with
+ − 1577
FT_GlyphSlot->advance.{x|y}.
+ − 1578
+ − 1579
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1580
+ − 1581
cache: Cast NULL to a required function type explicitly.
+ − 1582
+ − 1583
* src/cache/ftcmanag.c (FTC_Manager_RemoveFaceID):
+ − 1584
Insert explicit cast from NULL to function type.
+ − 1585
+ − 1586
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1587
+ − 1588
fttypes.h: Cast FT_MAKE_TAG output to FT_Tag exlicitly.
+ − 1589
+ − 1590
* include/freetype/fttypes.h (FT_MAKE_TAG):
+ − 1591
Cast the result to FT_Tag.
+ − 1592
+ − 1593
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1594
+ − 1595
psnames: Handle Unicode codepoints by FT_UInt32 variables.
+ − 1596
+ − 1597
* src/psnames/psmodule.c (BASE_GLYPH): Cast the result
+ − 1598
to unsigned 32-bit integer for LP64 platform.
+ − 1599
(ps_unicode_value): Return the value by unsigned 32-bit
+ − 1600
integer instead of unsigned long.
+ − 1601
+ − 1602
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1603
+ − 1604
psaux: Use size_t variable to pass the buffer size.
+ − 1605
+ − 1606
* src/psaux/psaux.h (to_bytes): The type of `max_bytes'
+ − 1607
(the argument to pass the buffer size) is changed to
+ − 1608
size_t, to match with ANSI C string functions.
+ − 1609
+ − 1610
* src/psaux/psconv.h (PS_Conv_StringDecode,
+ − 1611
PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
+ − 1612
+ − 1613
* src/psaux/psconv.c (PS_Conv_StringDecode,
+ − 1614
PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Ditto.
+ − 1615
+ − 1616
* src/psaux/psobjs.h (ps_parser_to_bytes): Ditto.
+ − 1617
+ − 1618
* src/psaux/psobjs.c (ps_parser_to_bytes): Ditto.
+ − 1619
+ − 1620
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1621
+ − 1622
type1: Use size_t variable to pass the string length.
+ − 1623
+ − 1624
* psaux.h: The type of `len' (the argument to pass
+ − 1625
the buffer size to the function in AFM_ParserRec)
+ − 1626
is changed to size_t, to match with ANSI C string
+ − 1627
functions.
+ − 1628
+ − 1629
* t1afm.c (t1_get_index): Ditto.
+ − 1630
+ − 1631
* test_afm.c (dummy_get_index): Ditto.
+ − 1632
+ − 1633
* afmparse.c (afm_parser_read_vals): To call
+ − 1634
AFM_ParserRec.get_index, the length of token
+ − 1635
`len' is cast to size_t.
+ − 1636
+ − 1637
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1638
+ − 1639
cid: Fix some data types mismatching with their sources.
+ − 1640
+ − 1641
* src/cid/cidparse.c (cid_parser_new): The types of
+ − 1642
`read_len' and `stream_len' are matched to
+ − 1643
FT_Stream->size. Unrequired cast is removed.
+ − 1644
+ − 1645
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1646
+ − 1647
cff: Fix for unused variable `rest'.
+ − 1648
+ − 1649
* src/cff/cffparse.c (cff_parse_real): Insert
+ − 1650
FT_UNUSED() to hide the unused variable warning.
+ − 1651
+ − 1652
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1653
+ − 1654
cff: Fix some data types mismatching with their sources.
+ − 1655
+ − 1656
* src/cff/cffgload.c (cff_slot_load): The types of
+ − 1657
`top_upm' and `sub_upm' are matched with
+ − 1658
CFF_FontRecDict->units_per_em.
+ − 1659
+ − 1660
* src/cff/cffobjs.c (cff_size_select): Ditto.
+ − 1661
(cff_size_request): Ditto.
+ − 1662
+ − 1663
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1664
+ − 1665
bdf: Fix some data types mismatching with their sources.
+ − 1666
+ − 1667
* bdflib.c (_bdf_list_ensure): The type of `num_items'
+ − 1668
is matched with _bdf_list_t.used. Also the types of
+ − 1669
`oldsize', `newsize', `bigsize' are matched too.
+ − 1670
(_bdf_readstream): `cursor' is used as an offset to
+ − 1671
the pointer, it should be typed as FT_Offset. Also
+ − 1672
the types of `bytes', `start', `end', `avail' are matched.
+ − 1673
+ − 1674
* bdfdrivr.c: The type of BDF_CMap->num_encodings is
+ − 1675
matched with FT_CMap->clazz->size.
+ − 1676
(bdf_cmap_char_index): The types of `min', `max', `mid'
+ − 1677
are matched with BDF_CMap->num_encodings. The type of
+ − 1678
`result' is matched with encoding->glyph.
+ − 1679
(bdf_cmap_char_next): Ditto, the type of `code' is
+ − 1680
matched with BDF_encoding_el.enc.
+ − 1681
(bdf_interpret_style): The type of `lengths' is changed
+ − 1682
to size_t, to take the value by ft_strlen(). Also the
+ − 1683
types of `len', `nn', `mm' are matched.
+ − 1684
+ − 1685
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1686
+ − 1687
sfnt: Count the size of the memory object by ptrdiff_t.
+ − 1688
+ − 1689
* src/sfnt/ttbdf.c (tt_face_find_bdf_prop): The type of
+ − 1690
`peroperty_len' is changed from FT_UInt to FT_Offset,
+ − 1691
to match with size_t, which is appropriate type for the
+ − 1692
object in the memory buffer.
+ − 1693
+ − 1694
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1695
+ − 1696
lzw: Count the size of the memory object by ptrdiff_t.
+ − 1697
+ − 1698
* src/lzw/ftzopen.h: The types of FT_LzwState->{buf_total,
+ − 1699
stack_size} are changed from FT_UInt to FT_Offset, to match
+ − 1700
with size_t, which is appropriate type for the object in
+ − 1701
the memory buffer.
+ − 1702
+ − 1703
* src/lzw/ftzopen.c (ft_lzwstate_stack_grow): The types of
+ − 1704
`old_size' and `new_size' are changed from FT_UInt to
+ − 1705
FT_Offset, to match with size_t, which is appropriate type
+ − 1706
for the object in the memory buffer.
+ − 1707
+ − 1708
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1709
+ − 1710
otvalid: Count the table size on memory by ptrdiff_t.
+ − 1711
+ − 1712
* src/otvalid/otvgpos.c (otv_ValueRecord_validate):
+ − 1713
Change the type of table size from FT_UInt to
+ − 1714
FT_PtrDist because it is calculated by the memory
+ − 1715
addresses.
+ − 1716
+ − 1717
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1718
+ − 1719
otvalid: Prevent an overflow by GPOS/GSUB 32b-bit offset.
+ − 1720
+ − 1721
* src/otvalid/otvgpos.c (otv_ExtensionPos_validate):
+ − 1722
Extend ExtensionOffset from FT_UInt to FT_ULong, to
+ − 1723
cover 32-bit offset on 16-bit platform.
+ − 1724
+ − 1725
* src/otvalid/otvgsub.c (otv_ExtensionSubst_validate):
+ − 1726
Ditto.
+ − 1727
+ − 1728
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1729
+ − 1730
ftobjs.c: Prevent an overflow in glyph index handling.
+ − 1731
+ − 1732
* src/base/ftobjs.c (FT_Face_GetCharsOfVariant):
+ − 1733
Improve the cast in comparison to avoid the truncation.
+ − 1734
+ − 1735
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1736
+ − 1737
Improve the variable types in raccess_make_file_name().
+ − 1738
+ − 1739
* src/base/ftrfork.c (raccess_make_file_name):
+ − 1740
Change the type of cursor variable `tmp' to const char*,
+ − 1741
to prevent the unexpected modification of original pathname.
+ − 1742
(raccess_make_file_name): Change the type of new_length
+ − 1743
to size_t.
+ − 1744
+ − 1745
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1746
+ − 1747
ftpatent.c: Fix for unused variable `error'.
+ − 1748
+ − 1749
* src/base/ftpatent.c (_tt_check_patents_in_range):
+ − 1750
Fix warning for unused variable `error'.
+ − 1751
+ − 1752
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1753
+ − 1754
type1: Check invalid string longer than PostScript limit.
+ − 1755
+ − 1756
* src/type1/t1afm.c (t1_get_index): Check invalid string
+ − 1757
which exceeds the limit of PostScript string/name objects.
+ − 1758
+ − 1759
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1760
+ − 1761
gzip: Use FT2 zcalloc() & zfree() in ftgzip.c by default.
+ − 1762
+ − 1763
* src/gzip/ftgzip.c (zcalloc, zcfree): Disable all
+ − 1764
zcalloc() & zfree() by zlib in zutil.c, those in
+ − 1765
ftgzip.c by FT2 are enabled by default. To use
+ − 1766
zlib zcalloc() & zfree(), define USE_ZLIB_ZCALLOC.
+ − 1767
See discussion:
+ − 1768
http://lists.gnu.org/archive/html/freetype-devel/2009-02/msg00000.html
+ − 1769
+ − 1770
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1771
+ − 1772
gzip: Distinguish PureC from TurboC on MSDOS.
+ − 1773
+ − 1774
* src/gzip/zutil.c (zcalloc, zcfree): Enable only for
+ − 1775
MSDOS platform.
+ − 1776
+ − 1777
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1778
+ − 1779
gxvalid: Insert PureC pragma to allow unevaluated variables.
+ − 1780
+ − 1781
* builds/atari/ATARI.H: Insert PureC pragma not to
+ − 1782
warn against set-but-unevaluated variable in gxvalid
+ − 1783
module.
+ − 1784
+ − 1785
2009-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1786
+ − 1787
gxvalid: Pass the union by the pointer instead of the value.
+ − 1788
+ − 1789
* src/gxvalid/gxvcommn.h:
+ − 1790
- Declare new type `GXV_LookupValueCPtr'.
+ − 1791
- Update the type of the 2nd argument to pass GXV_LookupValueDesc
+ − 1792
data to the function prototyped as GXV_Lookup_Value_Validate_Func,
+ − 1793
from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+ − 1794
- Likewise for the function prototyped as
+ − 1795
GXV_Lookup_Fmt4_Transit_Func.
+ − 1796
+ − 1797
- Declare new type `GXV_StateTable_GlyphOffsetCPtr'.
+ − 1798
- Update the type of the 3rd argument to pass
+ − 1799
GXV_StateTable_GlyphOffsetDesc data to the function prototyped
+ − 1800
as GXV_StateTable_Entry_Validate_Func, from
+ − 1801
GXV_StateTable_GlyphOffsetDesc to GXV_StateTable_GlyphOffsetCPtr.
+ − 1802
+ − 1803
- Declare new type `GXV_XStateTable_GlyphOffsetCPtr'.
+ − 1804
- Update the type of the 3rd argument to pass
+ − 1805
GXV_XStateTable_GlyphOffsetDesc data to the function prototyped
+ − 1806
as GXV_XStateTable_Entry_Validate_Func,
+ − 1807
from GXV_XStateTable_GlyphOffsetDesc
+ − 1808
to GXV_XStateTable_GlyphOffsetCPtr.
+ − 1809
+ − 1810
* src/gxvalid/gxvcommn.c (gxv_LookupTable_fmt0_validate,
+ − 1811
gxv_XClassTable_lookupval_validate,
+ − 1812
gxv_XClassTable_lookupfmt4_transit):
+ − 1813
Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+ − 1814
+ − 1815
* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
+ − 1816
gxv_bsln_LookupFmt4_transit): Ditto.
+ − 1817
+ − 1818
* src/gxvalid/gxvjust.c
+ − 1819
(gxv_just_pcTable_LookupValue_entry_validate,
+ − 1820
gxv_just_classTable_entry_validate,
+ − 1821
gxv_just_wdcTable_LookupValue_validate): Ditto.
+ − 1822
+ − 1823
* src/gxvalid/gxvkern.c
+ − 1824
(gxv_kern_subtable_fmt1_entry_validate): Ditto.
+ − 1825
+ − 1826
* src/gxvalid/gxvlcar.c (gxv_lcar_LookupValue_validate,
+ − 1827
gxv_lcar_LookupFmt4_transit): Ditto.
+ − 1828
+ − 1829
* src/gxvalid/gxvopbd.c (gxv_opbd_LookupValue_validate,
+ − 1830
gxv_opbd_LookupFmt4_transit): Ditto.
+ − 1831
+ − 1832
* src/gxvalid/gxvprop.c (gxv_prop_LookupValue_validate,
+ − 1833
gxv_prop_LookupFmt4_transit): Ditto.
+ − 1834
+ − 1835
* src/gxvalid/gxvmort4.c
+ − 1836
(gxv_mort_subtable_type4_lookupval_validate): Ditto.
+ − 1837
+ − 1838
* src/gxvalid/gxvmort0.c
+ − 1839
(gxv_mort_subtable_type0_entry_validate): Update
+ − 1840
from GXV_StateTable_GlyphOffsetDesc
+ − 1841
to GXV_StateTable_GlyphOffsetCPtr.
+ − 1842
+ − 1843
* src/gxvalid/gxvmort1.c
+ − 1844
(gxv_mort_subtable_type1_entry_validate): Ditto.
+ − 1845
+ − 1846
* src/gxvalid/gxvmort2.c
+ − 1847
(gxv_mort_subtable_type2_entry_validate): Ditto.
+ − 1848
+ − 1849
* src/gxvalid/gxvmort5.c
+ − 1850
(gxv_mort_subtable_type5_entry_validate): Ditto.
+ − 1851
+ − 1852
* src/gxvalid/gxvmorx2.c
+ − 1853
(gxv_morx_subtable_type2_entry_validate): Ditto.
+ − 1854
+ − 1855
* src/gxvalid/gxvmorx5.c
+ − 1856
(gxv_morx_subtable_type5_entry_validate): Ditto.
+ − 1857
+ − 1858
* src/gxvalid/gxvmorx1.c
+ − 1859
(gxv_morx_subtable_type1_entry_validate): Ditto.
+ − 1860
(gxv_morx_subtable_type1_LookupValue_validate,
+ − 1861
gxv_morx_subtable_type1_LookupFmt4_transit):
+ − 1862
Update from GXV_LookupValueDesc to GXV_LookupValueCPtr.
+ − 1863
+ − 1864
* src/gxvalid/gxvmorx0.c
+ − 1865
(gxv_morx_subtable_type0_entry_validate): Update
+ − 1866
from GXV_XStateTable_GlyphOffsetDesc
+ − 1867
to GXV_XStateTable_GlyphOffsetCPtr.
+ − 1868
+ − 1869
2009-07-29 Fabrice Bellet <fabrice@bellet.info>
+ − 1870
+ − 1871
Fix Redhat bugzilla #513582 and Savannah bug #26849.
+ − 1872
+ − 1873
* src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP) <FTC_INLINE>: Fix
+ − 1874
aliasing bug.
+ − 1875
+ − 1876
2009-07-19 Werner Lemberg <wl@gnu.org>
+ − 1877
+ − 1878
Document recent library changes.
+ − 1879
+ − 1880
* docs/CHANGES: Do it.
+ − 1881
+ − 1882
2009-07-17 Werner Lemberg <wl@gnu.org>
+ − 1883
+ − 1884
Fix Savannah bug #23786.
+ − 1885
+ − 1886
* src/truetype/ttobjs.c (tt_size_init_bytecode): Don't reset x_ppem
+ − 1887
and y_ppem. Otherwise the `*_CVT_Stretched' functions in ttinterp.c
+ − 1888
get never called.
+ − 1889
An anonymous guy suggested this change on Savannah, and it seems to
+ − 1890
be the right solution.
+ − 1891
+ − 1892
2009-07-15 Werner Lemberg <wl@gnu.org>
+ − 1893
+ − 1894
* docs/release: Updated.
+ − 1895
+ − 1896
2009-07-15 Werner Lemberg <wl@gnu.org>
+ − 1897
+ − 1898
README.CVS -> README.git
+ − 1899
+ − 1900
* README.CVS: Renamed to...
+ − 1901
* README.git: This.
+ − 1902
Updated.
+ − 1903
+ − 1904
2009-07-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1905
+ − 1906
Borland C++ compiler patch proposed by Mirco Babin.
+ − 1907
http://lists.gnu.org/archive/html/freetype/2009-07/msg00016.html.
+ − 1908
+ − 1909
* builds/exports.mk: Delete unused flags, CCexe_{CFLAGS,LDFLAGS}.
+ − 1910
Fix APINAMES_C and APINAMES_EXE pathnames to reflect the platform
+ − 1911
specific pathname syntax.
+ − 1912
* builds/compiler/bcc.mk: Remove unused flag, CCexe_LDFLAGS.
+ − 1913
Define TE = `-e' separately (bcc32 cannot specify the pathname of
+ − 1914
binary executable by T = `-o').
+ − 1915
Extend the large page size in linking freetype.lib.
+ − 1916
Add extra CLEAN target to delete bcc specific temporary files.
+ − 1917
* builds/compiler/bcc-dev.mk: Ditto.
+ − 1918
+ − 1919
2009-07-14 Werner Lemberg <wl@gnu.org>
+ − 1920
+ − 1921
Fix Savannah bug #27026.
+ − 1922
+ − 1923
* builds/win32/vc2005/freetype.sln: Use correct version number.
+ − 1924
+ − 1925
2009-07-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1926
+ − 1927
Add a script to check the undefined and unused trace macros.
+ − 1928
+ − 1929
* src/tools/chktrcmp.py: A script to check trace_XXXX macros
+ − 1930
that are used in C source but undefined in fttrace.h, or
+ − 1931
defined in fttrace.h but unused in C sources. See
+ − 1932
http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html.
+ − 1933
* docs/DEBUG: Mention on chktrcmp.py.
+ − 1934
* docs/release: Ditto.
+ − 1935
+ − 1936
2009-07-09 Werner Lemberg <wl@gnu.org>
+ − 1937
+ − 1938
[ftraster] Make it compile again with -D_STANDALONE_.
+ − 1939
+ − 1940
* src/raster/ftraster.c [_STANDALONE_]: Define
+ − 1941
FT_CONFIG_STANDARD_LIBRARY_H.
+ − 1942
Include `string.h'.
+ − 1943
Don't include `rastpic.h'.
+ − 1944
Define FT_DEFINE_RASTER_FUNCS.
+ − 1945
+ − 1946
2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1947
+ − 1948
smooth: Check glyph size by width/height, instead of pitch/height.
+ − 1949
Suggested by der Mouse <mouse@Rodents-Montreal.ORG>.
+ − 1950
+ − 1951
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Improve
+ − 1952
the check for too large glyph. Replace the pair of `pitch' and
+ − 1953
`height' by the pair of `width' and `height'. `pitch' cannot
+ − 1954
be greater than `height'. The required is checking the product
+ − 1955
`pitch' * `height' <= FT_ULONG_MAX, but we use cheap checks for
+ − 1956
the realistic case only.
+ − 1957
+ − 1958
2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1959
+ − 1960
Register 2 missing trace components, t1afm and ttbdf.
+ − 1961
+ − 1962
* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( t1afm )
+ − 1963
and FT_TRACE_DEF( ttbdf ). See
+ − 1964
http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00013.html
+ − 1965
+ − 1966
2009-07-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1967
+ − 1968
Register a trace component for ftgloadr.c.
+ − 1969
+ − 1970
* include/freetype/internal/fttrace.h: Add FT_TRACE_DEF( gloader ).
+ − 1971
The macro `trace_gloader' was already used in the initial version
+ − 1972
on 2002-02-24.
+ − 1973
+ − 1974
2009-07-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 1975
+ − 1976
Prevent the overflows by a glyph with too many points or contours.
+ − 1977
The bug is reported by Boris Letocha <b.letocha@gmc.net>. See
+ − 1978
http://lists.gnu.org/archive/html/freetype-devel/2009-06/msg00031.html
+ − 1979
http://lists.gnu.org/archive/html/freetype-devel/2009-07/msg00002.html
+ − 1980
+ − 1981
* include/freetype/ftimage.h (FT_OUTLINE_CONTOURS_MAX,
+ − 1982
FT_OUTLINE_POINTS_MAX): New macros to declare the maximum
+ − 1983
values of FT_Outline.{n_contours,n_points}.
+ − 1984
* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Check the
+ − 1985
total numbers of points and contours cause no overflows in
+ − 1986
FT_Outline.{n_contours,n_points}.
+ − 1987
+ − 1988
* include/freetype/internal/ftgloadr.h (FT_GLYPHLOADER_CHECK_P,
+ − 1989
FT_GLYPHLOADER_CHECK_C): Compare the numbers of points and
+ − 1990
contours as unsigned long number, instead of signed int, to
+ − 1991
prevent the overflows on 16-bit systems.
+ − 1992
+ − 1993
2009-07-05 Bram Tassyns <bramt@enfocus.be>
+ − 1994
+ − 1995
Improve compatibility to Acroread.
+ − 1996
This fixes Savannah bug #26944.
+ − 1997
+ − 1998
* src/cff/cffload.c (cff_charset_compute_cids): For multiple GID to
+ − 1999
single CID mappings, make the lowest value win.
+ − 2000
+ − 2001
2009-06-28 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 2002
+ − 2003
ftpatent: Fix a bug by wrong usage of service->table_info().
+ − 2004
http://lists.gnu.org/archive/html/freetype-devel/2008-12/msg00039.html
+ − 2005
+ − 2006
* include/freetype/internal/services/svsfnt.h: Extend
+ − 2007
FT_SFNT_TableInfoFunc() to take new argument to obtain the offset
+ − 2008
to the specified table.
+ − 2009
* src/sfnt/sfdriver.c (sfnt_table_info): Extend to return the
+ − 2010
table-offset to the caller function.
+ − 2011
* src/base/ftpatent.c (_tt_check_patents_in_table): Use new
+ − 2012
service->table_info().
+ − 2013
* src/base/ftobjs.c (FT_Sfnt_Table_Info): Synchronize to new
+ − 2014
service->table_info().
+ − 2015
+ − 2016
2009-06-28 Werner Lemberg <wl@gnu.org>
+ − 2017
+ − 2018
[psaux, cff] Protect against nested `seac' calls.
+ − 2019
+ − 2020
* include/freetype/internal/psaux.h (T1_Decoder), src/cff/cffgload.h
+ − 2021
(CFF_Decoder): Add `seac' boolean variable.
+ − 2022
+ − 2023
* src/cff/cffgload.c (cff_operator_seac), src/psaux/t1decode.c
+ − 2024
(t1operator_seac): Use it.
+ − 2025
+ − 2026
2009-06-28 Werner Lemberg <wl@gnu.org>
+ − 2027
+ − 2028
Thinko.
+ − 2029
+ − 2030
* src/psaux/t1decode.c (t1operator_seac)
+ − 2031
[FT_CONFIG_OPTION_INCREMENTAL]: Test for existence of incremental
+ − 2032
interface.
+ − 2033
+ − 2034
2009-06-28 Werner Lemberg <wl@gnu.org>
+ − 2035
+ − 2036
* devel/ftoption.h [FT_CONFIG_OPTION_INCREMENTAL]: Define.
+ − 2037
+ − 2038
2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 2039
+ − 2040
Add tools to preprocess the source files for AtariST PureC.
+ − 2041
+ − 2042
* builds/atari/deflinejoiner.awk: New file to filter C source files
+ − 2043
for broken C preprocessor of PureC compiler.
+ − 2044
+ − 2045
* builds/atari/gen-purec-patch.sh: New file to generate a patch set
+ − 2046
for PureC, by using deflinejoiner.awk.
+ − 2047
+ − 2048
2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 2049
+ − 2050
Keep existing modules.cfg in the building tree.
+ − 2051
+ − 2052
* configure: If `configure' is executed outside of the source tree,
+ − 2053
an existing `modules.cfg' file in the build directory should be
+ − 2054
kept, not overwritten by the version in the source tree.
+ − 2055
+ − 2056
2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 2057
+ − 2058
Filter --srcdir= option before invoking builds/unix/configure.
+ − 2059
+ − 2060
* configure: If builds/unix/configure is invoked with --srcdir
+ − 2061
option, the option should take `builds/unix' directory instead of
+ − 2062
the top source directory. Thus the configure script in the top
+ − 2063
directory should modify the --srcdir= option if
+ − 2064
`builds/unix/configure' is invoked.
+ − 2065
+ − 2066
2009-06-27 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 2067
+ − 2068
Improve configure.raw for cross-building on exe-suffixed systems.
+ − 2069
+ − 2070
* builds/unix/configure.raw: Fix a bug in sed script to extract
+ − 2071
native suffix for binary executables, patch by Peter Breitenlohner.
+ − 2072
http://lists.gnu.org/archive/html/freetype-devel/2009-04/msg00036.html
+ − 2073
+ − 2074
2009-06-26 Werner Lemberg <wl@gnu.org>
+ − 2075
+ − 2076
[truetype] Remove TT_SubGlyphRec.
+ − 2077
+ − 2078
* src/truetype/ttobjs.h (TT_SubGlyphRec): Removed, unused.
+ − 2079
+ − 2080
2009-06-26 Werner Lemberg <wl@gnu.org>
+ − 2081
+ − 2082
* */*: For warning messages, replace FT_ERROR with FT_TRACE0.
+ − 2083
+ − 2084
FT_ERROR is now used only if a function produces a non-zero `error'
+ − 2085
value.
+ − 2086
+ − 2087
Formatting, improving and harmonizing debug strings.
+ − 2088
+ − 2089
2009-06-25 Werner Lemberg <wl@gnu.org>
+ − 2090
+ − 2091
Provide version information better.
+ − 2092
+ − 2093
* src/base/ftinit.c (FT_Init_FreeType): Don't set version here
+ − 2094
but...
+ − 2095
* src/base/ftobjs.c (FT_New_Library): Here.
+ − 2096
+ − 2097
2009-06-22 Werner Lemberg <wl@gnu.org>
+ − 2098
+ − 2099
Use 16.16 format while parsing Type 1 charstrings.
+ − 2100
This fixes Savannah bug #26867.
+ − 2101
+ − 2102
Previously, only integers have been used which can lead to serious
+ − 2103
rounding errors.
+ − 2104
+ − 2105
However, fractional values are only used internally; after the
+ − 2106
charstrings (of either Type 1 or 2) have been processed, the
+ − 2107
resulting coordinates get rounded to integers currently -- before
+ − 2108
applying scaling. This should be fixed; at the same time a new load
+ − 2109
flag should be introduced, to be used in combination with
+ − 2110
FT_LOAD_NO_SCALE, which indicates that font units are returned in
+ − 2111
16.16 format. Similarly, the incremental interface should be
+ − 2112
extended to allow fractional values for metrics.
+ − 2113
+ − 2114
* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `shift'
+ − 2115
field.
+ − 2116
* include/freetype/internal/pshints.h (T1_Hints_SetStemFunc,
+ − 2117
T1_Hints_SetStem3Func): Use FT_Fixed for coordinates.
+ − 2118
+ − 2119
* src/psaux/psobjs.c: Include FT_INTERNAL_CALC_H.
+ − 2120
(t1_build_add_point): Always convert fixed to integer.
+ − 2121
* src/psaux/t1decode.c (t1_decoder_parse_charstrings):
+ − 2122
Use 16.16 format everywhere (except for large integers followed by a
+ − 2123
`div').
+ − 2124
[CAN_HANDLE_NON_INTEGRAL_T1_OPERANDS]: Remove #ifdef and activate
+ − 2125
code uncoditionally.
+ − 2126
Add support for random numbers and update remaining code
+ − 2127
accordingly; this should work now.
+ − 2128
(t1_operator_seac): Updated.
+ − 2129
* src/psaux/pshrec.c: Include FT_INTERNAL_CALC_H.
+ − 2130
(ps_hints_t1stem3, t1_hints_stem): Updated.
+ − 2131
+ − 2132
* src/cid/cidgload.c: Include FT_INTERNAL_CALC_H.
+ − 2133
(cid_load_glyph) [FT_CONFIG_OPTION_INCREMENTAL],
+ − 2134
(cid_face_compute_max_advance, cid_slot_load_glyph): Updated.
+ − 2135
+ − 2136
* src/type1/t1gload.c (T1_Parse_Glyph_And_Get_Char_String)
+ − 2137
[FT_CONFIG_OPTION_INCREMENTAL], (T1_Get_Advances, T1_Load_Glyph):
+ − 2138
Updated.
+ − 2139
* src/type1/t1load.c: Include FT_INTERNAL_CALC_H.
+ − 2140
* src/type1/t1objs.c (T1_Face_Init): Updated.
+ − 2141
+ − 2142
2009-06-21 Werner Lemberg <wl@gnu.org>
+ − 2143
+ − 2144
* src/pshinter/pshrec.c: Use PSH_Err_Ok.
+ − 2145
+ − 2146
2009-06-21 Werner Lemberg <wl@gnu.org>
+ − 2147
+ − 2148
Code beautification.
+ − 2149
+ − 2150
* src/type1/t1load.c (FT_INT_TO_FIXED): Removed.
+ − 2151
Replace everywhere with INT_TO_FIXED.
+ − 2152
(FT_FIXED_TO_INT): Move to ...
+ − 2153
* include/freetype/internal/ftcalc.h (FIXED_TO_INT): Here.
+ − 2154
Update all users.
+ − 2155
+ − 2156
2009-06-20 Werner Lemberg <wl@gnu.org>
+ − 2157
+ − 2158
Remove unused variables.
+ − 2159
+ − 2160
* include/freetype/internal/psaux.h (T1_BuilderRec),
+ − 2161
src/cff/cffgload.h (CFF_Builder): Remove `last'.
+ − 2162
Update all users.
+ − 2163
+ − 2164
2009-06-20 Werner Lemberg <wl@gnu.org>
+ − 2165
+ − 2166
[psaux] Check large integers while parsing charstrings.
+ − 2167
+ − 2168
* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Large
+ − 2169
integers must be followed by a `div' operator.
+ − 2170
+ − 2171
2009-06-20 Werner Lemberg <wl@gnu.org>
+ − 2172
+ − 2173
[cff] Revert last change.
+ − 2174
+ − 2175
* src/cff/cffgload.c (cff_decoder_parse_charstrings): Do it.
+ − 2176
Next time, don't confuse Type 2 charstring opcodes with TOP DICT
+ − 2177
values...
+ − 2178
+ − 2179
2009-06-20 Werner Lemberg <wl@gnu.org>
+ − 2180
+ − 2181
* src/autofit/aflatin.c (af_latin_metrics_check_digits): Fix
+ − 2182
compiler warning.
+ − 2183
+ − 2184
2009-06-20 Werner Lemberg <wl@gnu.org>
+ − 2185
+ − 2186
* builds/compiler/gcc.mk (CFLAGS): Use -O3, not -O6.
+ − 2187
+ − 2188
2009-06-19 Werner Lemberg <wl@gnu.org>
+ − 2189
+ − 2190
[cff] Fix handling of reserved byte 0xFF.
+ − 2191
+ − 2192
* src/cff/cffgload.c (cff_decoder_parse_charstrings): Abort if byte
+ − 2193
0xFF is encountered.
+ − 2194
+ − 2195
2009-06-19 Werner Lemberg <wl@gnu.org>
+ − 2196
+ − 2197
Improve debug messages for Type1 charstrings.
+ − 2198
+ − 2199
* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Emit newlines
+ − 2200
after instructions.
+ − 2201
Prettify output.
+ − 2202
+ − 2203
2009-06-19 Werner Lemberg <wl@gnu.org>
+ − 2204
+ − 2205
More ftgray fixes for FT_STATIC_RASTER.
+ − 2206
Problems reported by suyu@cooee.cn.
+ − 2207
+ − 2208
* src/smooth/ftgrays.c (gray_move_to, gray_raster_render): Use
+ − 2209
RAS_VAR.
+ − 2210
+ − 2211
2009-06-18 Werner Lemberg <wl@gnu.org>
+ − 2212
+ − 2213
* docs/CHANGES: Updated.
+ − 2214
+ − 2215
2009-06-18 Werner Lemberg <wl@gnu.org>
+ − 2216
+ − 2217
Fix B/W rasterization of subglyphs with different drop-out modes.
+ − 2218
+ − 2219
Normally, the SCANMODE instruction (if present) to set the drop-out
+ − 2220
mode in a TrueType font is located in the `prep' table only and thus
+ − 2221
valid for all glyphs. However, there are fonts like `pala.ttf'
+ − 2222
which additionally contain this instruction in the hinting code of
+ − 2223
some glyphs (but not all). As a result it can happen that a
+ − 2224
composite glyph needs multiple drop-out modes for its subglyphs
+ − 2225
since the rendering state gets reset for each subglyph.
+ − 2226
+ − 2227
FreeType collects the hinted outlines from all subglyphs, then it
+ − 2228
sends the data to the rasterizer. It also sends the drop-out mode
+ − 2229
-- after hinting has been applied -- and here is the error: It sends
+ − 2230
the drop-out mode of the last subglyph only; drop-out modes of all
+ − 2231
other subglyphs are lost.
+ − 2232
+ − 2233
This patch fixes the problem; it adds a second, alternative
+ − 2234
mechanism to pass the drop-out mode: For each contour, the
+ − 2235
rasterizer now checks the first `tags' array element. If bit 2 is
+ − 2236
set, bits 5-7 contain the contour's drop-out mode, overriding the
+ − 2237
global drop-out mode.
+ − 2238
+ − 2239
* include/freetype/ftimage.h (FT_CURVE_TAG_HAS_SCANMODE): New macro.
+ − 2240
+ − 2241
* src/truetype/ttgload.c (TT_Hint_Glyph): Store drop-out mode in
+ − 2242
`tags[0]'.
+ − 2243
+ − 2244
* src/raster/ftraster.c (Flow_Up, Overshoot_Top, Overshoot_Bottom):
+ − 2245
Use bits 3-5 instead of 0-2.
+ − 2246
(New_Profile): Set the drop-out mode in the profile's `flags' field.
+ − 2247
(Decompose_Curve): Check `tags[0]' and set `dropOutControl' if
+ − 2248
necessary.
+ − 2249
(Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ − 2250
Horizontal_Gray_Sweep_Drop, Draw_Sweep): Use the profile's drop-out
+ − 2251
mode.
+ − 2252
+ − 2253
2009-06-16 Werner Lemberg <wl@gnu.org>
+ − 2254
+ − 2255
Improve scan conversion rules 4 and 6.
+ − 2256
+ − 2257
Two new constraints are introduced to better identify a `stub' -- a
+ − 2258
concept which is only vaguely described in the OpenType
+ − 2259
specification. The old code was too rigorous and suppressed more
+ − 2260
pixel than it should.
+ − 2261
+ − 2262
. The intersection of the two profiles with the scanline is less
+ − 2263
than a half pixel. Code related to this was already present in
+ − 2264
the sources but has been commented out.
+ − 2265
+ − 2266
. The endpoint of the original contour forming a profile has a
+ − 2267
distance (`overshoot') less than half a pixel to the scanline.
+ − 2268
+ − 2269
Note that the two additional conditions fix almost all differences
+ − 2270
to the Windows rasterizer, but some problematic cases remain.
+ − 2271
+ − 2272
* src/raster/ftraster.c (Overshoot_Top, Overshoot_Bottom): New
+ − 2273
macros for the `flags' field in the `TProfile' structure.
+ − 2274
(IS_BOTTOM_OVERSHOOT, IS_TOP_OVERSHOOT): New macros.
+ − 2275
(New_Profile, End_Profile): Pass overshoot flag as an argument and
+ − 2276
set it accordingly.
+ − 2277
Update callers.
+ − 2278
(Vertical_Sweep_Drop, Horizontal_Sweep_Drop): Implement the two new
+ − 2279
constraints.
+ − 2280
+ − 2281
2009-06-11 Werner Lemberg <wl@gnu.org>
+ − 2282
+ − 2283
Increase precision for B/W rasterizer.
+ − 2284
+ − 2285
* src/raster/ftraster.c (Set_High_Precision): Add two more bits to
+ − 2286
the precision. This corrects rendering of some small glyphs, for
+ − 2287
example, glyph `xi' in verdana.ttf at 13 ppem. Testing with ftbench
+ − 2288
on my GNU/Linux box I don't see a performance degradation.
+ − 2289
+ − 2290
2009-06-08 Michael Zucchi <notzed@gmail.com>
+ − 2291
+ − 2292
Handle FT_STROKER_LINECAP_BUTT.
+ − 2293
This fixes Savannah bug #26757.
+ − 2294
+ − 2295
* src/base/ftstroke.c (ft_stroker_cap): Implement it.
+ − 2296
+ − 2297
2009-06-07 Harald Fernengel <harry@kdevelop.org>
+ − 2298
+ − 2299
Fix some potential out-of-memory crashes.
+ − 2300
+ − 2301
* src/base/ftobjs.c (ft_glyphslot_done): Check `slot->internal'.
+ − 2302
* src/base/ftstream.c (FT_Stream_ReleaseFrame): Check `stream'.
+ − 2303
* src/truetype/ttinterp.c (TT_New_Context): Avoid double-free of
+ − 2304
`exec' in case of failure.
+ − 2305
+ − 2306
2009-06-07 Werner Lemberg <wl@gnu.org>
+ − 2307
+ − 2308
Simplify math.
+ − 2309
Suggested by Alexei Podtelezhnikov <apodtele@gmail.com>.
+ − 2310
+ − 2311
* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ − 2312
Horizontal_Gray_Sweep_Drop): Do it.
+ − 2313
+ − 2314
2009-06-04 Werner Lemberg <wl@gnu.org>
+ − 2315
+ − 2316
Preparation for fixing scan conversion rules 4 and 6.
+ − 2317
+ − 2318
* src/raster/ftraster.c (TFlow): Replace enumeration with...
+ − 2319
(Flow_Up): This macro.
+ − 2320
(TProfile): Replace `flow' member with `flags' bit field.
+ − 2321
Update all affected code.
+ − 2322
+ − 2323
2009-05-29 James Cloos <cloos@jhcloos.com>
+ − 2324
+ − 2325
Enable autohinting for glyphs rotated by multiples of 90°.
+ − 2326
+ − 2327
* src/base/ftobjs.c (FT_Load_Glyph): Alter check for permitted
+ − 2328
matrices to allow rotations by multiples of 90°, not only unrotated,
+ − 2329
possibly slanted matrices.
+ − 2330
+ − 2331
2009-05-28 Werner Lemberg <wl@gnu.org>
+ − 2332
+ − 2333
Remove compiler warning.
+ − 2334
Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>.
+ − 2335
+ − 2336
* src/autofit/aflatin2.c (af_latin2_hint_edges): Move declaration of
+ − 2337
`n_edges' into `#if' block.
+ − 2338
+ − 2339
2009-05-28 Werner Lemberg <wl@gnu.org>
+ − 2340
+ − 2341
Make compilation work with FT_CONFIG_OPTION_USE_ZLIB not defined.
+ − 2342
Reported by Krzysztof Kowalczyk <kkowalczyk@gmail.com>.
+ − 2343
+ − 2344
* src/pcf/pcfdrivr.c (PCF_Face_Init) [!FT_CONFIG_OPTION_USE_ZLIB]:
+ − 2345
Make it work.
+ − 2346
Simplify #ifdef logic.
+ − 2347
+ − 2348
2009-05-22 Werner Lemberg <wl@gnu.org>
+ − 2349
+ − 2350
Improve b/w rasterizer.
+ − 2351
Problem reported by Krzysztof Kotlenga <pocek@users.sf.net>.
+ − 2352
+ − 2353
* src/raster/raster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ − 2354
Horizontal_Gray_Sweep_Drop): For smart drop-out mode, if
+ − 2355
intersections are equally distant relative to next pixel center,
+ − 2356
select the left pixel, not the right one.
+ − 2357
+ − 2358
2009-05-19 Werner Lemberg <wl@gnu.org>
+ − 2359
+ − 2360
Fix Savannah bug #26600.
+ − 2361
+ − 2362
* src/type42/t42parse.c (t42_load_keyword): Handle
+ − 2363
T1_FIELD_LOCATION_FONT_EXTRA.
+ − 2364
+ − 2365
2009-04-30 Werner Lemberg <wl@gnu.org>
+ − 2366
+ − 2367
Document recent changes to ftview.
+ − 2368
+ − 2369
* docs/CHANGES: Do it.
+ − 2370
+ − 2371
2009-04-27 Werner Lemberg <wl@gnu.org>
+ − 2372
+ − 2373
autohinter: Don't change digit widths if all widths are the same.
+ − 2374
This fixes FreeDesktop bug #21197.
+ − 2375
+ − 2376
* src/autofit/afglobal.c (AF_DIGIT): New macro.
+ − 2377
(af_face_globals_compute_script_coverage): Mark ASCII digits in
+ − 2378
`glyph_scripts' array.
+ − 2379
(af_face_globals_get_metrics): Updated.
+ − 2380
(af_face_globals_is_digit): New function.
+ − 2381
* src/autofit/afglobal.h: Updated.
+ − 2382
(AF_ScriptMetricsRec): Add `digits_have_same_width' flag.
+ − 2383
+ − 2384
* src/autofit/aflatin.c: Include FT_ADVANCES_H.
+ − 2385
(af_latin_metrics_check_digits): New function.
+ − 2386
(af_latin_metrics_init): Use it.
+ − 2387
* src/autofit/aflatin.h: Updated.
+ − 2388
* src/autofit/afcjk.c (af_cjk_metrics_init): Updated.
+ − 2389
+ − 2390
* src/autofit/aflatin2.c: Similar changes as with aflatin.c.
+ − 2391
+ − 2392
* src/autofit/afloader.c (af_loader_load_g): Test digit width.
+ − 2393
+ − 2394
* docs/CHANGES: Document it.
+ − 2395
+ − 2396
2009-04-26 Werner Lemberg <wl@gnu.org>
+ − 2397
+ − 2398
Make ftgrays compile with _STANDALONE_ and FT_STATIC_RASTER again.
+ − 2399
Problems reported by suyu@cooee.cn.
+ − 2400
+ − 2401
* src/smooth/ftgrays.c (FT_DEFINE_OUTLINE_FUNCS,
+ − 2402
FT_DEFINE_RASTER_FUNCS) [_STANDALONE_]: Define.
+ − 2403
[!_STANDALONE_]: Include ftspic.h only here.
+ − 2404
(ras): Define/declare after definition of `TWorker'.
+ − 2405
Use `RAS_VAR_' where necessary.
+ − 2406
+ − 2407
2009-04-21 Karl Berry <karl@gnu.org>
+ − 2408
+ − 2409
Fix AC_CHECK_FT2.
+ − 2410
+ − 2411
* builds/unix/freetype2.m4: Only check PATH for freetype-config if
+ − 2412
we did not already find it from a prefix option.
+ − 2413
+ − 2414
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2415
+ − 2416
Add #error to modules and files that do not support PIC yet.
+ − 2417
+ − 2418
When FT_CONFIG_OPTION_PIC is defined the following files will
+ − 2419
create #error:
+ − 2420
* src/bdf/bdfdrivr.h
+ − 2421
* src/cache/ftcmanag.c
+ − 2422
* src/cid/cidriver.h
+ − 2423
* src/gxvalid/gxvmod.h
+ − 2424
* src/gzip/ftgzip.c
+ − 2425
* src/lzw/ftlzw.c
+ − 2426
* src/otvalid/otvmod.h
+ − 2427
* src/pcf/pcfdrivr.h
+ − 2428
* src/pfr/pfrdrivr.h
+ − 2429
* src/psaux/psauxmod.h
+ − 2430
* src/type1/t1driver.h
+ − 2431
* src/type42/t42drivr.h
+ − 2432
* src/winfonts/winfnt.h
+ − 2433
+ − 2434
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2435
+ − 2436
Position Independent Code (PIC) support in autofit module.
+ − 2437
+ − 2438
* include/freetype/internal/autohint.h add macros to init
+ − 2439
instances of FT_AutoHinter_ServiceRec.
+ − 2440
+ − 2441
* src/autofit/afmodule.h declare autofit_module_class
+ − 2442
using macros from ftmodapi.h,
+ − 2443
when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2444
functions will be declared.
+ − 2445
* src/autofit/afmodule.c when FT_CONFIG_OPTION_PIC is defined
+ − 2446
af_autofitter_service and autofit_module_class structs
+ − 2447
will have functions to init or create and destroy them
+ − 2448
instead of being allocated in the global scope.
+ − 2449
And macros will be used from afpic.h in order to access them.
+ − 2450
+ − 2451
* src/autofit/aftypes.h add macros to init and declare
+ − 2452
instances of AF_ScriptClassRec.
+ − 2453
+ − 2454
* src/autofit/afcjk.h declare af_cjk_script_class
+ − 2455
using macros from aftypes.h,
+ − 2456
when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ − 2457
* src/autofit/afcjk.c when FT_CONFIG_OPTION_PIC is defined
+ − 2458
af_cjk_script_class struct will have function to init it instead of
+ − 2459
being allocated in the global scope.
+ − 2460
+ − 2461
* src/autofit/afdummy.h declare af_dummy_script_class
+ − 2462
using macros from aftypes.h,
+ − 2463
when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ − 2464
* src/autofit/afdummy.c when FT_CONFIG_OPTION_PIC is defined
+ − 2465
af_dummy_script_class struct will have function to init it instead of
+ − 2466
being allocated in the global scope.
+ − 2467
+ − 2468
* src/autofit/afindic.h declare af_indic_script_class
+ − 2469
using macros from aftypes.h,
+ − 2470
when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ − 2471
* src/autofit/afindic.c when FT_CONFIG_OPTION_PIC is defined
+ − 2472
af_indic_script_class struct will have function to init it instead of
+ − 2473
being allocated in the global scope.
+ − 2474
+ − 2475
* src/autofit/aflatin.h declare af_latin_script_class
+ − 2476
using macros from aftypes.h,
+ − 2477
when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ − 2478
* src/autofit/aflatin.c when FT_CONFIG_OPTION_PIC is defined
+ − 2479
af_latin_script_class struct will have function to init it instead of
+ − 2480
being allocated in the global scope.
+ − 2481
Change af_latin_blue_chars to be PIC-compatible by being a two
+ − 2482
dimentional array rather than array of pointers.
+ − 2483
+ − 2484
+ − 2485
* src/autofit/aflatin2.h declare af_latin2_script_class
+ − 2486
using macros from aftypes.h,
+ − 2487
when FT_CONFIG_OPTION_PIC is defined init function will be declared.
+ − 2488
* src/autofit/aflatin2.c when FT_CONFIG_OPTION_PIC is defined
+ − 2489
af_latin2_script_class struct will have function to init it instead of
+ − 2490
being allocated in the global scope.
+ − 2491
Change af_latin2_blue_chars to be PIC-compatible by being a two
+ − 2492
dimentional array rather than array of pointers.
+ − 2493
+ − 2494
* src/autofit/afglobal.c when FT_CONFIG_OPTION_PIC is defined
+ − 2495
af_script_classes array initialization was moved to afpic.c and
+ − 2496
is later refered using macros defeined in afpic.h.
+ − 2497
+ − 2498
New Files:
+ − 2499
* src/autofit/afpic.h declare struct to hold PIC globals for autofit
+ − 2500
module and macros to access them.
+ − 2501
* src/autofit/afpic.c implement functions to allocate, destroy and
+ − 2502
initialize PIC globals for autofit module.
+ − 2503
+ − 2504
* src/autofit/autofit.c add new file to build: afpic.c.
+ − 2505
* src/autofit/jamfile add new files to FT2_MULTI build: afpic.c.
+ − 2506
+ − 2507
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2508
+ − 2509
Position Independent Code (PIC) support in pshinter module.
+ − 2510
+ − 2511
* include/freetype/internal/pshints.h add macros to init
+ − 2512
instances of PSHinter_Interface.
+ − 2513
+ − 2514
* src/pshinter/pshmod.h declare pshinter_module_class
+ − 2515
using macros from ftmodapi.h,
+ − 2516
when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2517
functions will be declared.
+ − 2518
* src/pshinter/pshmod.c when FT_CONFIG_OPTION_PIC is defined
+ − 2519
pshinter_interface and pshinter_module_class structs
+ − 2520
will have functions to init or create and destroy them
+ − 2521
instead of being allocated in the global scope.
+ − 2522
And macros will be used from pshpic.h in order to access them.
+ − 2523
+ − 2524
New Files:
+ − 2525
* src/pshinter/pshpic.h declare struct to hold PIC globals for pshinter
+ − 2526
module and macros to access them.
+ − 2527
* src/pshinter/pshpic.c implement functions to allocate, destroy and
+ − 2528
initialize PIC globals for pshinter module.
+ − 2529
+ − 2530
* src/pshinter/pshinter.c add new file to build: pshpic.c.
+ − 2531
* src/pshinter/jamfile add new files to FT2_MULTI build: pshpic.c.
+ − 2532
+ − 2533
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2534
+ − 2535
Position Independent Code (PIC) support in psnames module.
+ − 2536
+ − 2537
* include/freetype/internal/services/svpscmap.h add macros to init
+ − 2538
instances of FT_Service_PsCMapsRec.
+ − 2539
+ − 2540
* src/psnames/psmodule.h declare psnames_module_class
+ − 2541
using macros from ftmodapi.h,
+ − 2542
when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2543
functions will be declared.
+ − 2544
* src/psnames/psmodule.c when FT_CONFIG_OPTION_PIC is defined
+ − 2545
pscmaps_interface and pscmaps_services structs
+ − 2546
and psnames_module_class array
+ − 2547
will have functions to init or create and destroy them
+ − 2548
instead of being allocated in the global scope.
+ − 2549
And macros will be used from pspic.h in order to access them.
+ − 2550
+ − 2551
New Files:
+ − 2552
* src/psnames/pspic.h declare struct to hold PIC globals for psnames
+ − 2553
module and macros to access them.
+ − 2554
* src/psnames/pspic.c implement functions to allocate, destroy and
+ − 2555
initialize PIC globals for psnames module.
+ − 2556
+ − 2557
* src/psnames/psnames.c add new file to build: pspic.c.
+ − 2558
* src/psnames/jamfile add new files to FT2_MULTI build: pspic.c.
+ − 2559
+ − 2560
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2561
+ − 2562
Position Independent Code (PIC) support in raster renderer.
+ − 2563
+ − 2564
* src/raster/ftrend1.h declare ft_raster1_renderer_class
+ − 2565
and ft_raster5_renderer_class
+ − 2566
using macros from ftrender.h,
+ − 2567
when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2568
functions will be declared.
+ − 2569
* src/smooth/ftrend1.c when FT_CONFIG_OPTION_PIC is defined
+ − 2570
ft_raster1_renderer_class and ft_raster5_renderer_class structs
+ − 2571
will have functions to init or create and destroy them
+ − 2572
instead of being allocated in the global scope.
+ − 2573
Macros will be used from rastpic.h in order to access
+ − 2574
ft_standard_raster from the pic_container (allocated in ftraster.c).
+ − 2575
In ft_raster1_render when PIC is enabled, the last letter of
+ − 2576
module_name is used to verfy the renderer class rather than the
+ − 2577
class pointer.
+ − 2578
+ − 2579
* src/raster/ftraster.c when FT_CONFIG_OPTION_PIC is defined
+ − 2580
ft_standard_raster struct will have function to init it
+ − 2581
instead of being allocated in the global scope.
+ − 2582
+ − 2583
New Files:
+ − 2584
* src/raster/rastpic.h declare struct to hold PIC globals for raster
+ − 2585
renderer and macros to access them.
+ − 2586
* src/raster/rastpic.c implement functions to allocate, destroy and
+ − 2587
initialize PIC globals for raster renderer.
+ − 2588
+ − 2589
* src/raster/raster.c add new file to build: rastpic.c.
+ − 2590
* src/raster/jamfile add new files to FT2_MULTI build: rastpic.c.
+ − 2591
+ − 2592
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2593
+ − 2594
Position Independent Code (PIC) support in smooth renderer.
+ − 2595
+ − 2596
* src/smooth/ftsmooth.h declare ft_smooth_renderer_class,
+ − 2597
ft_smooth_lcd_renderer_class and ft_smooth_lcd_v_renderer_class
+ − 2598
using macros from ftrender.h,
+ − 2599
when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2600
functions will be declared.
+ − 2601
* src/smooth/ftsmooth.c when FT_CONFIG_OPTION_PIC is defined
+ − 2602
the following structs:
+ − 2603
ft_smooth_renderer_class, ft_smooth_lcd_renderer_class
+ − 2604
and ft_smooth_lcd_v_renderer_class
+ − 2605
will have functions to init or create and destroy them
+ − 2606
instead of being allocated in the global scope.
+ − 2607
And macros will be used from ftspic.h in order to access
+ − 2608
ft_grays_raster from the pic_container (allocated in ftgrays.c).
+ − 2609
+ − 2610
* src/smooth/ftgrays.h include FT_CONFIG_CONFIG_H
+ − 2611
* src/smooth/ftgrays.c when FT_CONFIG_OPTION_PIC is NOT defined
+ − 2612
func_interface was moved from gray_convert_glyph_inner function
+ − 2613
to the global scope.
+ − 2614
When FT_CONFIG_OPTION_PIC is defined
+ − 2615
func_interface and ft_grays_raster structs
+ − 2616
will have functions to init them
+ − 2617
instead of being allocated in the global scope.
+ − 2618
And func_interface will be allocated on the stack of
+ − 2619
gray_convert_glyph_inner.
+ − 2620
+ − 2621
New Files:
+ − 2622
* src/smooth/ftspic.h declare struct to hold PIC globals for smooth
+ − 2623
renderer and macros to access them.
+ − 2624
* src/smooth/ftspic.c implement functions to allocate, destroy and
+ − 2625
initialize PIC globals for smooth renderer.
+ − 2626
+ − 2627
* src/smooth/smooth.c add new file to build: ftspic.c.
+ − 2628
* src/smooth/jamfile add new files to FT2_MULTI build: ftspic.c.
+ − 2629
+ − 2630
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2631
+ − 2632
Position Independent Code (PIC) support in cff driver.
+ − 2633
+ − 2634
* include/freetype/internal/services/svcid.h add macros to init
+ − 2635
instances of FT_Service_CIDRec.
+ − 2636
* include/freetype/internal/services/svpsinfo.h add macros to init
+ − 2637
instances of FT_Service_PsInfoRec.
+ − 2638
+ − 2639
* src/cff/cffcmap.h declare cff_cmap_encoding_class_rec
+ − 2640
and cff_cmap_unicode_class_rec using macros from
+ − 2641
ftobjs.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2642
functions will be declared.
+ − 2643
* src/cff/cffcmap.c when FT_CONFIG_OPTION_PIC is defined
+ − 2644
the following structs:
+ − 2645
cff_cmap_encoding_class_rec and cff_cmap_unicode_class_rec
+ − 2646
will have functions to init or create and destroy them
+ − 2647
instead of being allocated in the global scope.
+ − 2648
+ − 2649
* src/cff/cffdrivr.h declare cff_driver_class using macros from
+ − 2650
ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2651
functions will be declared.
+ − 2652
* src/cff/cffdrivr.c when FT_CONFIG_OPTION_PIC is defined
+ − 2653
the following structs:
+ − 2654
cff_service_glyph_dict, cff_service_ps_info, cff_service_ps_name
+ − 2655
cff_service_get_cmap_info, cff_service_cid_info, cff_driver_class,
+ − 2656
and cff_services array
+ − 2657
will have functions to init or create and destroy them
+ − 2658
instead of being allocated in the global scope.
+ − 2659
And macros will be used from cffpic.h in order to access them
+ − 2660
from the pic_container.
+ − 2661
Use macros from cffpic.h in order to access the
+ − 2662
structs allocated in cffcmap.c
+ − 2663
+ − 2664
* src/cff/cffobjs.c Use macros from cffpic.h in order to access the
+ − 2665
structs allocated in cffcmap.c
+ − 2666
+ − 2667
* src/cff/parser.c when FT_CONFIG_OPTION_PIC is defined
+ − 2668
implement functions to create and destroy cff_field_handlers array
+ − 2669
instead of being allocated in the global scope.
+ − 2670
And macros will be used from cffpic.h in order to access it
+ − 2671
from the pic_container.
+ − 2672
+ − 2673
New Files:
+ − 2674
* src/cff/cffpic.h declare struct to hold PIC globals for cff
+ − 2675
driver and macros to access them.
+ − 2676
* src/cff/cffpic.c implement functions to allocate, destroy and
+ − 2677
initialize PIC globals for cff driver.
+ − 2678
+ − 2679
* src/cff/cff.c add new file to build: cffpic.c.
+ − 2680
* src/cff/jamfile add new files to FT2_MULTI build: cffpic.c.
+ − 2681
+ − 2682
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2683
+ − 2684
Position Independent Code (PIC) support in sfnt driver.
+ − 2685
+ − 2686
* include/freetype/internal/services/svbdf.h add macros to init
+ − 2687
instances of FT_Service_BDFRec.
+ − 2688
* include/freetype/internal/services/svgldict.h add macros to init
+ − 2689
instances of FT_Service_GlyphDictRec.
+ − 2690
* include/freetype/internal/services/svpostnm.h add macros to init
+ − 2691
instances of FT_Service_PsFontNameRec.
+ − 2692
* include/freetype/internal/services/svsfnt.h add macros to init
+ − 2693
instances of FT_Service_SFNT_TableRec.
+ − 2694
* include/freetype/internal/services/svttcmap.h add macros to init
+ − 2695
instances of FT_Service_TTCMapsRec.
+ − 2696
* include/freetype/internal/sfnt.h add macros to init
+ − 2697
instances of SFNT_Interface.
+ − 2698
+ − 2699
* src/sfnt/sfdriver.h declare sfnt_module_class using macros from
+ − 2700
ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2701
functions will be declared.
+ − 2702
* src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined
+ − 2703
the following structs:
+ − 2704
sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name
+ − 2705
tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface,
+ − 2706
sfnt_module_class, and sfnt_services array
+ − 2707
will have functions to init or create and destroy them
+ − 2708
instead of being allocated in the global scope.
+ − 2709
And macros will be used from sfntpic.h in order to access them
+ − 2710
from the pic_container.
+ − 2711
+ − 2712
* src/sfnt/ttcmap.h add macros to init
+ − 2713
instances of TT_CMap_ClassRec.
+ − 2714
* src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined
+ − 2715
the following structs:
+ − 2716
tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec
+ − 2717
tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec,
+ − 2718
tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array
+ − 2719
will have functions to init or create and destroy them
+ − 2720
instead of being allocated in the global scope.
+ − 2721
And macros will be used from sfntpic.h in order to access them
+ − 2722
from the pic_container.
+ − 2723
The content of tt_cmap_classes is now described in the
+ − 2724
new file 'ttcmapc.h'.
+ − 2725
+ − 2726
New Files:
+ − 2727
* src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt
+ − 2728
driver and macros to access them.
+ − 2729
* src/sfnt/sfntpic.c implement functions to allocate, destroy and
+ − 2730
initialize PIC globals for sfnt driver.
+ − 2731
* src/sfnt/ttcmapc.h describing the content of
+ − 2732
tt_cmap_classes allocated in ttcmap.c
+ − 2733
+ − 2734
* src/sfnt/sfnt.c add new file to build: sfntpic.c.
+ − 2735
* src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
+ − 2736
+ − 2737
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2738
+ − 2739
Position Independent Code (PIC) support in truetype driver.
+ − 2740
+ − 2741
* include/freetype/internal/services/svmm.h add macros to init
+ − 2742
instances of FT_Service_MultiMastersRec.
+ − 2743
* include/freetype/internal/services/svttglyf.h add macros to init
+ − 2744
instances of FT_Service_TTGlyfRec.
+ − 2745
+ − 2746
* src/truetype/ttdriver.h declare tt_driver_class using macros from
+ − 2747
ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
+ − 2748
functions will be declared.
+ − 2749
* src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined
+ − 2750
the following structs:
+ − 2751
tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class
+ − 2752
and tt_services array,
+ − 2753
will have functions to init or create and destroy them
+ − 2754
instead of being allocated in the global scope.
+ − 2755
And macros will be used from ttpic.h in order to access them
+ − 2756
from the pic_container.
+ − 2757
* src/truetype/ttobjs.c change trick_names array to be
+ − 2758
PIC-compatible by being a two dimentional array rather than array
+ − 2759
of pointers.
+ − 2760
+ − 2761
New Files:
+ − 2762
* src/truetype/ttpic.h declare struct to hold PIC globals for truetype
+ − 2763
driver and macros to access them.
+ − 2764
* src/truetype/ttpic.c implement functions to allocate, destroy and
+ − 2765
initialize PIC globals for truetype driver.
+ − 2766
+ − 2767
* src/truetype/truetype.c add new file to build: ttpic.c.
+ − 2768
* src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
+ − 2769
+ − 2770
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2771
+ − 2772
Position Independent Code (PIC) support and infrastructure in base.
+ − 2773
+ − 2774
* include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
+ − 2775
* include/freetype/internal/ftobjs.h Add pic_container member to
+ − 2776
FT_LibraryRec.
+ − 2777
Add macros to declare and init instances of FT_CMap_ClassRec.
+ − 2778
Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
+ − 2779
Add macros to declare, allocate and initialize modules
+ − 2780
(FT_Module_Class).
+ − 2781
Add macros to declare, allocate and initialize renderers
+ − 2782
(FT_Renderer_Class).
+ − 2783
Add macro to init instances of FT_Glyph_Class.
+ − 2784
Add macros to declare, allocate and initialize drivers
+ − 2785
(FT_Driver_ClassRec).
+ − 2786
* include/freetype/internal/ftpic.h new file to declare the
+ − 2787
FT_PIC_Container struct and the functions to allocate and detroy it.
+ − 2788
* include/freetype/internal/ftserv.h add macros to allocate and
+ − 2789
destory arrays of FT_ServiceDescRec.
+ − 2790
* include/freetype/internal/internal.h define macro to include
+ − 2791
ftpic.h.
+ − 2792
+ − 2793
New Files:
+ − 2794
* src/base/ftpic.c implement functions to allocate and destory the
+ − 2795
global pic_container.
+ − 2796
* src/base/basepic.h declare struct to hold PIC globals for base and
+ − 2797
macros to access them.
+ − 2798
* src/base/basepic.c implement functions to allocate, destroy and
+ − 2799
initialize PIC globals for base.
+ − 2800
+ − 2801
* src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
+ − 2802
functions that allocate and destroy ft_default_modules according to
+ − 2803
FT_CONFIG_MODULES_H in the pic_container instead of the global scope
+ − 2804
and use macro from basepic.h to access it.
+ − 2805
* src/base/ftobjs.c add calls to the functions that allocate and
+ − 2806
destroy the global pic_container when the library is created and
+ − 2807
destroyed.
+ − 2808
+ − 2809
* src/base/jamfile add new files to FT2_MULTI build:
+ − 2810
ftpic.c and basepic.c.
+ − 2811
* src/base/ftbase.c add new files to build:
+ − 2812
ftpic.c and basepic.c.
+ − 2813
+ − 2814
* src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
+ − 2815
ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
+ − 2816
in the pic_container instead of the global scope and use macros from
+ − 2817
basepic.h to access them.
+ − 2818
* src/base/ftbbox.c allocate bbox_interface stract on the stack
+ − 2819
instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
+ − 2820
* src/base/ftstroke.c access ft_outline_glyph_class allocated in
+ − 2821
ftglyph.c via macros from basepic.h
+ − 2822
+ − 2823
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2824
+ − 2825
Preparing changes in cff parser later needed for PIC version.
+ − 2826
+ − 2827
* src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
+ − 2828
src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
+ − 2829
'CFF_ParserRec' set by `cff_parser_init'.
+ − 2830
Route library pointer from 'cff_face_init' to 'cff_subfont_load'
+ − 2831
for `cff_parser_init'.
+ − 2832
+ − 2833
* src/cff/cffparse.c (CFF_Field_Handler): Move it to...
+ − 2834
* src/cff/cffparse.h: This file, to be used by other C files.
+ − 2835
+ − 2836
2009-04-05 Oran Agra <oran@monfort.co.il>
+ − 2837
+ − 2838
Minor change in ftstroke.c.
+ − 2839
+ − 2840
* src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
+ − 2841
`library' needed for PIC version.
+ − 2842
Update all callers.
+ − 2843
+ − 2844
2009-04-04 Werner Lemberg <wl@gnu.org>
+ − 2845
+ − 2846
ftnames.c -> ftsnames.c
+ − 2847
+ − 2848
* src/base/ftnames.c: Rename to...
+ − 2849
* src/base/ftsnames.c: This.
+ − 2850
* src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
+ − 2851
+ − 2852
2009-04-04 Werner Lemberg <wl@gnu.org>
+ − 2853
+ − 2854
Add support for cmap type 13.
+ − 2855
+ − 2856
* devel/ftoption.h, include/freetype/config/ftoption.h
+ − 2857
(TT_CONFIG_CMAP_FORMAT_13): New macro.
+ − 2858
+ − 2859
* src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
+ − 2860
tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
+ − 2861
tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
+ − 2862
tt_cmap14_class_rec): New functions and structures for cmap 13
+ − 2863
support.
+ − 2864
(tt_cmap_classes): Register tt_cmap13_class_rec.
+ − 2865
+ − 2866
* docs/CHANGES: Mention cmap 13 support.
+ − 2867
+ − 2868
2009-04-01 Werner Lemberg <wl@gnu.org>
+ − 2869
+ − 2870
Ignore empty contours in CFF glyphs.
+ − 2871
+ − 2872
Problem reported by Albert Astals Cid <aacid@kde.org>.
+ − 2873
+ − 2874
* src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
+ − 2875
t1_builder_close_contour.
+ − 2876
+ − 2877
2009-03-21 Werner Lemberg <wl@gnu.org>
+ − 2878
+ − 2879
Another redundant header inclusion.
+ − 2880
+ − 2881
* src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
+ − 2882
+ − 2883
2009-03-21 Werner Lemberg <wl@gnu.org>
+ − 2884
+ − 2885
Remove redundant header inclusions.
+ − 2886
+ − 2887
This covers many Ghostscript Coverity issues.
+ − 2888
+ − 2889
* src/*: Do it.
+ − 2890
+ − 2891
2009-03-21 Werner Lemberg <wl@gnu.org>
+ − 2892
+ − 2893
Fix Ghostscript Coverity issue #3904.
+ − 2894
+ − 2895
* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
+ − 2896
invalid values of `runcnt'.
+ − 2897
+ − 2898
2009-03-20 Werner Lemberg <wl@gnu.org>
+ − 2899
+ − 2900
Fix `make multi' run.
+ − 2901
+ − 2902
* src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
+ − 2903
+ − 2904
2009-03-20 Werner Lemberg <wl@gnu.org>
+ − 2905
+ − 2906
Fix Savannah bug #25923.
+ − 2907
+ − 2908
* src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
+ − 2909
+ − 2910
2009-03-20 Werner Lemberg <wl@gnu.org>
+ − 2911
+ − 2912
Protect against too large glyphs.
+ − 2913
+ − 2914
Problem reported by Tavis Ormandy <taviso@google.com>.
+ − 2915
+ − 2916
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
+ − 2917
`pitch' or `height' to be larger than 0xFFFF.
+ − 2918
+ − 2919
2009-03-20 Werner Lemberg <wl@gnu.org>
+ − 2920
Tavis Ormandy <taviso@google.com>
+ − 2921
+ − 2922
Fix validation for various cmap table formats.
+ − 2923
+ − 2924
* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
+ − 2925
tt_cmap12_validate): Check `length' correctly.
+ − 2926
(tt_cmap_14_validate): Check `length' and `numMappings' correctly.
+ − 2927
+ − 2928
2009-03-20 Werner Lemberg <wl@gnu.org>
+ − 2929
+ − 2930
Protect against malformed compressed data.
+ − 2931
+ − 2932
* src/lzw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
+ − 2933
zero.
+ − 2934
+ − 2935
2009-03-20 Werner Lemberg <wl@gnu.org>
+ − 2936
+ − 2937
Protect against invalid SID values in CFFs.
+ − 2938
+ − 2939
Problem reported by Tavis Ormandy <taviso@google.com>.
+ − 2940
+ − 2941
* src/cff/cffload.c (cff_charset_load): Reject SID values larger
+ − 2942
than 64999.
+ − 2943
+ − 2944
2009-03-19 Vincent Richomme <richom.v@free.fr>
+ − 2945
+ − 2946
Update WinCE Visual C project files.
+ − 2947
+ − 2948
* builds/wince/vc2005-ce/freetype.vcproj,
+ − 2949
builds/wince/vc2008-ce/freetype.vcproj: Add missing base extension
+ − 2950
files.
+ − 2951
+ − 2952
2009-03-19 Werner Lemberg <wl@gnu.org>
+ − 2953
+ − 2954
Remove unused Win32 code.
+ − 2955
+ − 2956
* builds/wince/ftdebug.c: Remove code guarded with `!_WIN32_WCE'.
+ − 2957
Since Win32 is handled separately this is no longer needed.
+ − 2958
+ − 2959
2009-03-19 Vincent Richomme <richom.v@free.fr>
+ − 2960
+ − 2961
Make `gzip' module compile on WinCE.
+ − 2962
+ − 2963
* src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
+ − 2964
+ − 2965
2009-03-19 Werner Lemberg <wl@gnu.org>
+ − 2966
+ − 2967
Remove unused WinCE code.
+ − 2968
+ − 2969
* builds/win32/ftdebug.c: Remove code guarded with `_WIN32_WCE'.
+ − 2970
Since WinCE is handled separately this is no longer needed.
+ − 2971
+ − 2972
2009-03-16 Werner Lemberg <wl@gnu.org>
+ − 2973
+ − 2974
docmaker: Don't ignore single-line code blocks.
+ − 2975
+ − 2976
* src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
+ − 2977
2009-01-31.
+ − 2978
+ − 2979
2009-03-15 Steve Langasek <steve.langasek@canonical.com>
+ − 2980
+ − 2981
Use __asm__ for declaring assembly instead of asm.
+ − 2982
+ − 2983
* builds/unix/ftconfig.in (FT_MulFix_arm): Use __asm__ instead of
+ − 2984
asm on arm, fixing a build failure on armel with -pedantic.
+ − 2985
+ − 2986
2009-03-14 Werner Lemberg <wl@gnu.org>
+ − 2987
+ − 2988
Fix valgrind warning.
+ − 2989
+ − 2990
* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
+ − 2991
past the end of the frame.
+ − 2992
+ − 2993
2009-03-12 Werner Lemberg <wl@gnu.org>
+ − 2994
+ − 2995
* Version 2.3.9 released.
+ − 2996
=========================
+ − 2997
+ − 2998
+ − 2999
Tag sources with `VER-2-3-9'.
+ − 3000
+ − 3001
2009-03-12 Werner Lemberg <wl@gnu.org>
+ − 3002
+ − 3003
* builds/unix/freetype2.in: Move @FT2_EXTRA_LIBS@ to `Libs.private'.
+ − 3004
+ − 3005
2009-03-12 Werner Lemberg <wl@gnu.org>
+ − 3006
+ − 3007
Fix some FreeType Coverity issues as reported for Ghostscript.
+ − 3008
+ − 3009
* src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
+ − 3010
`args.stream' (#3874, #3875).
+ − 3011
(open_face_PS_from_sfnt_stream): Improve error management (#3786).
+ − 3012
* src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
+ − 3013
(#3870).
+ − 3014
* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
+ − 3015
code (#3790).
+ − 3016
* src/base/ftrfork.c (raccess_guess_apple_generic): Check error
+ − 3017
value of `FT_Stream_Skip' (#3784).
+ − 3018
+ − 3019
* src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
+ − 3020
it (#3872)
+ − 3021
+ − 3022
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
+ − 3023
it (#3871).
+ − 3024
* src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
+ − 3025
`pcf_get_metric' (#3789, #3782).
+ − 3026
(pcf_get_properties): Use FT_STREAM_SKIP (#3783).
+ − 3027
+ − 3028
* src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
+ − 3029
`acache' (#3797)
+ − 3030
+ − 3031
* src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
+ − 3032
(#3796).
+ − 3033
* src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
+ − 3034
* src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
+ − 3035
+ − 3036
* src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
+ − 3037
(#3793).
+ − 3038
(_bdf_parse_start): Add comment (#3792).
+ − 3039
+ − 3040
* src/raster/ftraster.c (Finalize_Profile_Table): Check
+ − 3041
`ras.fProfile' (#3791).
+ − 3042
+ − 3043
* src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
+ − 3044
+ − 3045
* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
+ − 3046
seek error (#3781).
+ − 3047
+ − 3048
2009-03-11 Michael Toftdal <toftdal@gmail.com>
+ − 3049
+ − 3050
Extend CID service functions to handle CID-keyed CFFs as CID fonts.
+ − 3051
+ − 3052
* include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
+ − 3053
FT_Get_CID_From_Glyph_Index): New functions.
+ − 3054
+ − 3055
* include/freetype/internal/services/svcid.h
+ − 3056
(FT_CID_GetIsInternallyCIDKeyedFunc,
+ − 3057
FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
+ − 3058
(CID Service): Use them.
+ − 3059
+ − 3060
* src/base/ftcid.c: Include FT_CID_H.
+ − 3061
(FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
+ − 3062
New functions.
+ − 3063
+ − 3064
* src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
+ − 3065
New functions.
+ − 3066
(cff_service_cid_info): Add them.
+ − 3067
* src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
+ − 3068
-- it is needed for access as a CID-keyed font. It gets deleted
+ − 3069
later on.
+ − 3070
+ − 3071
* src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
+ − 3072
New functions.
+ − 3073
(cid_service_cid_info): Add them.
+ − 3074
+ − 3075
* docs/CHANGES: Updated.
+ − 3076
+ − 3077
2009-03-11 Bram Tassyns <bramt@enfocus.be>
+ − 3078
+ − 3079
Fix Savannah bug #25597.
+ − 3080
+ − 3081
* src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
+ − 3082
to become larger than 9.
+ − 3083
+ − 3084
2009-03-11 Werner Lemberg <wl@gnu.org>
+ − 3085
+ − 3086
Fix Savannah bug #25814.
+ − 3087
+ − 3088
* builds/unix/freetype2.in: As suggested in the bug report, move
+ − 3089
@LIBZ@ to `Libs.private'.
+ − 3090
+ − 3091
2009-03-11 Werner Lemberg <wl@gnu.org>
+ − 3092
+ − 3093
Fix Savannah bug #25781.
+ − 3094
We now simply check for a valid `offset', no longer handling `delta
+ − 3095
= 1' specially.
+ − 3096
+ − 3097
* src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
+ − 3098
last segment.
+ − 3099
(tt_cmap4_set_range, tt_cmap4_char_map_linear,
+ − 3100
tt_cmap4_char_map_binary): Check offset.
+ − 3101
+ − 3102
2009-03-11 Werner Lemberg <wl@gnu.org>
+ − 3103
+ − 3104
* src/base/Jamfile: Fix handling of ftadvanc.c.
+ − 3105
Reported by Oran Agra <oran@monfort.co.il>.
+ − 3106
+ − 3107
2009-03-10 Vincent Richomme <richom.v@free.fr>
+ − 3108
+ − 3109
Restructure Win32 and Wince compiler support.
+ − 3110
+ − 3111
* src/builds/win32: Remove files for WinCE.
+ − 3112
Move VC 2005 support to a separate directory.
+ − 3113
Add directory for VC 2008 support.
+ − 3114
+ − 3115
* src/builds/wince: New directory hierarchy for WinCE compilers
+ − 3116
(VC 2005 and VC 2008).
+ − 3117
+ − 3118
2009-03-09 Werner Lemberg <wl@gnu.org>
+ − 3119
+ − 3120
More preparations for 2.3.9 release.
+ − 3121
+ − 3122
* docs/CHANGES: Updated.
+ − 3123
+ − 3124
* Jamfile, README: s/2.3.8/2.3.9/, s/238/239/.
+ − 3125
+ − 3126
2009-03-09 Werner Lemberg <wl@gnu.org>
+ − 3127
+ − 3128
* src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
+ − 3129
+ − 3130
2009-03-09 Alexey Kryukov <anagnost@yandex.ru>
+ − 3131
+ − 3132
Fix handling of EBDT formats 8 and 9 (part 2).
+ − 3133
+ − 3134
This patch fixes the following problems in ttsbit0.c:
+ − 3135
+ − 3136
. Bitmaps for compound glyphs were never allocated.
+ − 3137
+ − 3138
. `SBitDecoder' refused to load metrics if some other metrics have
+ − 3139
already been loaded. This condition certainly makes no sense for
+ − 3140
recursive calls, so I've just disabled it. Another possibility
+ − 3141
would be resetting `decoder->metrics_loaded' to false before
+ − 3142
loading each composite component. However, we must restore the
+ − 3143
original metrics after finishing the recursion; otherwise we can
+ − 3144
get a misaligned glyph.
+ − 3145
+ − 3146
. `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
+ − 3147
causing some glyph components to be shifted too far to the right
+ − 3148
(especially noticeable for small sizes).
+ − 3149
+ − 3150
Note that support for grayscale bitmaps (not necessarily compound) is
+ − 3151
completely broken in ttsbit0.c.
+ − 3152
+ − 3153
* src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
+ − 3154
(tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
+ − 3155
of `h == height'.
+ − 3156
(tt_sbit_decoder_load_compound): Reset metrics after loading
+ − 3157
components.
+ − 3158
Allocate bitmap.
+ − 3159
+ − 3160
2009-03-09 Werner Lemberg <wl@gnu.org>
+ − 3161
+ − 3162
* builds/unix/configure.raw (version_info): Set to 9:20:3.
+ − 3163
+ − 3164
2009-03-03 David Turner <david@freetype.org>
+ − 3165
+ − 3166
Protect SFNT kerning table parser against malformed tables.
+ − 3167
+ − 3168
This closes Savannah BUG #25750.
+ − 3169
+ − 3170
* src/sfnt/ttkern.c (tt_face_load_kern, tt_face_get_kerning): Fix a
+ − 3171
bug where a malformed table would be successfully loaded but later
+ − 3172
crash the engine during parsing.
+ − 3173
+ − 3174
2009-03-03 David Turner <david@freetype.org>
+ − 3175
+ − 3176
Update documentation and bump version number to 2.3.9.
+ − 3177
+ − 3178
* include/freetype/freetype.h: Bump patch version to 9.
+ − 3179
* docs/CHANGES: Document the ABI break in 2.3.8.
+ − 3180
* docs/VERSION.DLL: Update version numbers table for 2.3.9.
+ − 3181
+ − 3182
2009-03-03 David Turner <david@freetype.org>
+ − 3183
+ − 3184
Remove ABI-breaking field in public PS_InfoFontRec definition.
+ − 3185
+ − 3186
Instead, we define a new internal PS_FontExtraRec structure to
+ − 3187
hold the additional field, then place it in various internal
+ − 3188
positions of the corresponding FT_Face derived objects.
+ − 3189
+ − 3190
* include/freetype/t1tables.h (PS_FontInfoRec): Remove the
+ − 3191
`fs_type' field from the public structure.
+ − 3192
* include/freetype/internal/psaux.h (T1_FieldLocation): New
+ − 3193
enumeration `T1_FIELD_LOCATION_FONT_EXTRA'.
+ − 3194
* include/freetype/internal/t1types.h (PS_FontExtraRec): New
+ − 3195
structure.
+ − 3196
(T1_FontRec, CID_FaceRec): Add it.
+ − 3197
+ − 3198
* src/cid/cidload.c (cid_load_keyword): Handle
+ − 3199
T1_FIELD_LOCATION_FONT_EXTRA.
+ − 3200
* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c:
+ − 3201
Adjust FT_STRUCTURE and T1CODE properly to handle `FSType'.
+ − 3202
* src/type1/t1load.c (t1_load_keyword): Handle
+ − 3203
T1_FIELD_LOCATION_FONT_EXTRA.
+ − 3204
+ − 3205
* include/freetype/internal/services/svpsinfo.h (PsInfo service):
+ − 3206
Add `PS_GetFontExtraFunc' function typedef.
+ − 3207
+ − 3208
* src/base/ftfstype.c: Include FT_INTERNAL_SERVICE_H and
+ − 3209
FT_SERVICE_POSTSCRIPT_INFO_H.
+ − 3210
(FT_Get_FSType_Flags): Use POSTSCRIPT_INFO service.
+ − 3211
+ − 3212
* src/cff/cffdrivr.c (cff_service_ps_info): Updated.
+ − 3213
* src/cid/cidriver.c (cid_ps_get_font_extra): New function.
+ − 3214
(cid_service_ps_info): Updated.
+ − 3215
* src/type1/t1driver.c (t1_ps_get_font_extra): New function.
+ − 3216
(t1_service_ps_info): Updated.
+ − 3217
* src/type42/t42drivr.c (t42_ps_get_font_extra): New function.
+ − 3218
(t42_service_ps_info): Updated.
+ − 3219
+ − 3220
2009-03-02 Alexey Kryukov <anagnost@yandex.ru>
+ − 3221
+ − 3222
Fix handling of EBDT formats 8 and 9.
+ − 3223
+ − 3224
The main cycle in `blit_sbit' makes too many iterations: it actually
+ − 3225
needs the count of lines in the source bitmap rather than in the
+ − 3226
target image.
+ − 3227
+ − 3228
* src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
+ − 3229
Add parameter `source_height' and use it for main loop.
+ − 3230
(Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
+ − 3231
+ − 3232
2009-02-23 Werner Lemberg <wl@gnu.org>
+ − 3233
+ − 3234
Fix Savannah bug #25669.
+ − 3235
+ − 3236
* src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
+ − 3237
+ − 3238
* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
+ − 3239
scaling factor for non-scalable fonts.
+ − 3240
+ − 3241
* src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
+ − 3242
value to prevent incorrect scaling.
+ − 3243
+ − 3244
* docs/CHANGES: Document it.
+ − 3245
+ − 3246
2009-02-15 Matt Godbolt <matt@godbolt.org>
+ − 3247
+ − 3248
Fix Savannah bug #25588.
+ − 3249
+ − 3250
* builds/unix/ftconfig.in (FT_MulFix_arm): Use correct syntax for
+ − 3251
`orr' instruction.
+ − 3252
+ − 3253
2009-02-11 Werner Lemberg <wl@gnu.org>
+ − 3254
+ − 3255
* src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
+ − 3256
Reported by David Bevan <dbevan@emtex.com>.
+ − 3257
+ − 3258
2009-02-09 Werner Lemberg <wl@gnu.org>
+ − 3259
+ − 3260
Fix Savannah bug #25495.
+ − 3261
+ − 3262
* src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
+ − 3263
setting metrics and bbox values. This ensures that the check for a
+ − 3264
font with neither a `glyf' table nor bitmap strikes can be performed
+ − 3265
early enough to set metrics and bbox values too.
+ − 3266
+ − 3267
2009-02-04 Werner Lemberg <wl@gnu.org>
+ − 3268
+ − 3269
Fix Savannah bug #25480.
+ − 3270
+ − 3271
* builds/unix/freetype-config.in: For --ftversion, don't use $prefix
+ − 3272
but $includedir.
+ − 3273
+ − 3274
2009-01-31 Werner Lemberg <wl@gnu.org>
+ − 3275
+ − 3276
Minor docmaker improvements.
+ − 3277
+ − 3278
* src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
+ − 3279
code blocks.
+ − 3280
+ − 3281
2009-01-25 Werner Lemberg <wl@gnu.org>
+ − 3282
+ − 3283
Fix SCANCTRL handling in TTFs.
+ − 3284
Problem reported by Alexey Kryukov <anagnost@yandex.ru>.
+ − 3285
+ − 3286
* src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
+ − 3287
+ − 3288
2009-01-23 Werner Lemberg <wl@gnu.org>
+ − 3289
+ − 3290
Move FT_Get_FSType_Flags to a separate file.
+ − 3291
Problem reported by Mickey Gabel <mickey@monfort.co.il>.
+ − 3292
+ − 3293
* src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
+ − 3294
* src/base/ftfstype.c: This new file.
+ − 3295
+ − 3296
* modules.cfg (BASE_EXTENSION): Add ftfstype.c.
+ − 3297
+ − 3298
* docs/INSTALL.ANY: Updated.
+ − 3299
+ − 3300
* builds/mac/*.txt, builds/amiga/*makefile*,
+ − 3301
builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
+ − 3302
Updated.
+ − 3303
+ − 3304
2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3305
+ − 3306
* builds/unix/ftsystem.c (FT_Stream_Open): Fix 2 error
+ − 3307
messages ending without "\n".
+ − 3308
+ − 3309
2009-01-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3310
+ − 3311
Fix Savannah bug #25347.
+ − 3312
+ − 3313
* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Rewind
+ − 3314
the stream to the original position passed to this function,
+ − 3315
when ft_lookup_PS_in_sfnt_stream() failed.
+ − 3316
(Mac_Read_sfnt_Resource): Rewind the stream to the head of
+ − 3317
sfnt resource body, when open_face_PS_from_sfnt_stream()
+ − 3318
failed.
+ − 3319
+ − 3320
2009-01-19 Michael Lotz <mmlr@mlotz.ch>
+ − 3321
+ − 3322
Fix Savannah bug #25355.
+ − 3323
+ − 3324
* include/freetype/config/ftconfig.h (FT_MulFix_i386): Make
+ − 3325
assembler code work with gcc 2.95.3 (as used by the Haiku project).
+ − 3326
Add `cc' register to the clobber list.
+ − 3327
+ − 3328
2009-01-18 Werner Lemberg <wl@gnu.org>
+ − 3329
+ − 3330
Protect FT_Get_Next_Char.
+ − 3331
+ − 3332
* src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
+ − 3333
change from 2008-07-22.
+ − 3334
+ − 3335
Patch from Ronen Ghoshal <rghoshal@emtex.com>.
+ − 3336
+ − 3337
2009-01-18 Werner Lemberg <wl@gnu.org>
+ − 3338
+ − 3339
Implement FT_Get_Name_Index for SFNT driver.
+ − 3340
+ − 3341
* src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
+ − 3342
(sfnt_service_glyph_dict): Use it.
+ − 3343
+ − 3344
Problem reported by Truc Truong <tructv@necsv.com>.
+ − 3345
+ − 3346
2009-01-18 Werner Lemberg <wl@gnu.org>
+ − 3347
+ − 3348
* include/freetype/ftstroke.h (FT_Outline_GetInsideBorder): Fix
+ − 3349
documentation. Problem reported by Truc Truong <tructv@necsv.com>.
+ − 3350
+ − 3351
* docs/CHANGES: Updated.
+ − 3352
+ − 3353
2009-01-14 Werner Lemberg <wl@gnu.org>
+ − 3354
+ − 3355
* Version 2.3.8 released.
+ − 3356
=========================
+ − 3357
+ − 3358
+ − 3359
Tag sources with `VER-2-3-8'.
+ − 3360
+ − 3361
* docs/VERSION.DLL: Update documentation and bump version number to
+ − 3362
2.3.8.
+ − 3363
+ − 3364
* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ − 3365
builds/win32/visualc/freetype.dsp,
+ − 3366
builds/win32/visualc/freetype.vcproj,
+ − 3367
builds/win32/visualce/index.html,
+ − 3368
builds/win32/visualce/freetype.dsp,
+ − 3369
builds/win32/visualce/freetype.vcproj: s/2.3.7/2.3.8/, s/237/238/.
+ − 3370
+ − 3371
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 8.
+ − 3372
+ − 3373
* builds/unix/configure.raw (version_info): Set to 9:19:3.
+ − 3374
+ − 3375
* docs/release: Updated.
+ − 3376
+ − 3377
2009-01-14 Werner Lemberg <wl@gnu.org>
+ − 3378
+ − 3379
* builds/toplevel.mk (dist): Compress better.
+ − 3380
+ − 3381
2009-01-13 Werner Lemberg <wl@gnu.org>
+ − 3382
+ − 3383
* src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
+ − 3384
with C++.
+ − 3385
+ − 3386
2009-01-13 Werner Lemberg <wl@gnu.org>
+ − 3387
+ − 3388
Don't use stdlib.h and friends directly.
+ − 3389
Reported by Mickey Gabel <mickey@monfort.co.il>.
+ − 3390
+ − 3391
* src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+ − 3392
+ − 3393
* src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
+ − 3394
s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
+ − 3395
+ − 3396
* src/autofit/aftypes.h, src/autofit/afhints.c,
+ − 3397
src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
+ − 3398
+ − 3399
* src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
+ − 3400
+ − 3401
2009-01-12 Werner Lemberg <wl@gnu.org>
+ − 3402
+ − 3403
Avoid compiler warnings.
+ − 3404
+ − 3405
* */*: s/do ; while ( 0 )/do { } while ( 0 )/.
+ − 3406
Reported by Sean McBride <sean@rogue-research.com>.
+ − 3407
+ − 3408
2009-01-12 Werner Lemberg <wl@gnu.org>
+ − 3409
+ − 3410
Fix stdlib dependencies.
+ − 3411
+ − 3412
Problem reported by Mickey Gabel <mickey@monfort.co.il>.
+ − 3413
+ − 3414
* include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
+ − 3415
+ − 3416
* src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
+ − 3417
s/memcpy/ft_memcpy/.
+ − 3418
* src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
+ − 3419
+ − 3420
2009-01-11 Werner Lemberg <wl@gnu.org>
+ − 3421
+ − 3422
* docs/formats.txt: Add link to PCF specification.
+ − 3423
+ − 3424
* include/freetype/ftbdf.h (FT_Get_BDF_Property): Improve
+ − 3425
documentation.
+ − 3426
+ − 3427
2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3428
+ − 3429
* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+ − 3430
FT_Get_Advances): Change the type of load_flags from FT_UInt32 to
+ − 3431
FT_Int32, to match with the flags for FT_Load_Glyph().
+ − 3432
* src/cff/cffdrivr.c (cff_get_advances): Ditto.
+ − 3433
* src/truetype/ttdriver.c (tt_get_advances): Ditto.
+ − 3434
* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+ − 3435
Ditto.
+ − 3436
* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ − 3437
Ditto.
+ − 3438
+ − 3439
2009-01-09 Daniel Zimmermann <netzimme@aol.com>
+ − 3440
+ − 3441
* src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong
+ − 3442
length check. From Savannah patch #6682.
+ − 3443
+ − 3444
2009-01-09 Werner Lemberg <wl@gnu.org>
+ − 3445
+ − 3446
Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
+ − 3447
+ − 3448
* src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
+ − 3449
`count_offset' if it is zero (i.e., unused). Otherwise, the first
+ − 3450
element of the structure which holds the data is erroneously
+ − 3451
modified. Problem reported by Chi Nguyen <chint@necsv.com>.
+ − 3452
+ − 3453
2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3454
+ − 3455
* src/base/ftadvanc.c (_ft_face_scale_advances, FT_Get_Advance,
+ − 3456
FT_Get_Advances): Extend the type of load_flags from FT_UInt to
+ − 3457
FT_UInt32, to pass 32-bit flags on 16bit platforms.
+ − 3458
* src/cff/cffdrivr.c (cff_get_advances): Ditto.
+ − 3459
* src/truetype/ttdriver.c (tt_get_advances): Ditto.
+ − 3460
* include/freetype/ftadvanc.h (FT_Get_Advance, FT_Get_Advances):
+ − 3461
Ditto.
+ − 3462
* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ − 3463
Ditto.
+ − 3464
+ − 3465
2009-01-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3466
+ − 3467
* src/base/ftobjs.c (FT_Done_Library): Issue an error message when
+ − 3468
FT_Done_Face() cannot free all faces. If the list of the opened
+ − 3469
faces includes broken face which FT_Done_Face() cannot free,
+ − 3470
FT_Done_Library() retries FT_Done_Face() and it can fall into
+ − 3471
an endless loop. See the discussion:
+ − 3472
http://lists.gnu.org/archive/html/freetype-devel/2008-09/msg00047.html
+ − 3473
http://lists.gnu.org/archive/html/freetype-devel/2008-10/msg00000.html
+ − 3474
+ − 3475
2009-01-07 Werner Lemberg <wl@gnu.org>
+ − 3476
+ − 3477
* docs/CHANGES: Document new key `a' in ftdiff.
+ − 3478
+ − 3479
2009-01-06 Werner Lemberg <wl@gnu.org>
+ − 3480
+ − 3481
* autogen.sh: Don't use GNUisms while calling sed. Problem reported
+ − 3482
by Sean McBride.
+ − 3483
+ − 3484
2009-01-06 Werner Lemberg <wl@gnu.org>
+ − 3485
+ − 3486
* src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
+ − 3487
and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
+ − 3488
<chint@necsv.com>.
+ − 3489
+ − 3490
2009-01-06 Diego Pettenò <flameeyes@gmail.com>
+ − 3491
+ − 3492
* builds/unix/configure.raw: Don't call AC_CANONICAL_BUILD and
+ − 3493
AC_CANONICAL_TARGET and use $host_os only. A nice explanation for
+ − 3494
this change can be found at
+ − 3495
http://blog.flameeyes.eu/s/canonical-target.
+ − 3496
+ − 3497
From Savannah patch #6712.
+ − 3498
+ − 3499
2009-01-06 Sean McBride <sean@rogue-research.com>
+ − 3500
+ − 3501
* src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
+ − 3502
+ − 3503
* src/base/ftmac.c: Remove some #undefs.
+ − 3504
+ − 3505
2008-12-26 Werner Lemberg <wl@gnu.org>
+ − 3506
+ − 3507
Set `face_index' field in FT_Face for all font formats.
+ − 3508
+ − 3509
* cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
+ − 3510
sfnt/sfobjs.c (sfnt_init_face): Do it.
+ − 3511
+ − 3512
* docs/CHANGES: Document it.
+ − 3513
+ − 3514
2008-12-22 Steve Grubb
+ − 3515
+ − 3516
* builds/unix/ftsystem.c (FT_Stream_Open): Reject zero-length files.
+ − 3517
Patch from Savannah bug #25151.
+ − 3518
+ − 3519
2008-12-21 Werner Lemberg <wl@gnu.org>
+ − 3520
+ − 3521
* src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
+ − 3522
src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
+ − 3523
s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
+ − 3524
errors in the bytecode interpreter only.
+ − 3525
+ − 3526
2008-12-21 Werner Lemberg <wl@gnu.org>
+ − 3527
+ − 3528
* src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
+ − 3529
arguments.
+ − 3530
Fix return value for non-PFR fonts. Both problems reported by Chi
+ − 3531
Nguyen <chint@necsv.com>.
+ − 3532
+ − 3533
2008-12-21 anonymous
+ − 3534
+ − 3535
FT_USE_MODULE declares things as:
+ − 3536
+ − 3537
extern const FT_Module_Class
+ − 3538
+ − 3539
(or similar for C++). However, the actual types of the variables
+ − 3540
being declared are often different, e.g., FT_Driver_ClassRec or
+ − 3541
FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
+ − 3542
+ − 3543
This works with most C compilers (since those structs begin with an
+ − 3544
FT_Module_Class struct), but technically it's undefined behavior.
+ − 3545
+ − 3546
To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
+ − 3547
paragraph 2:
+ − 3548
+ − 3549
All declarations that refer to the same object or function shall
+ − 3550
have compatible type; otherwise, the behavior is undefined.
+ − 3551
+ − 3552
(And they are not compatible types.)
+ − 3553
+ − 3554
Most C compilers don't reject (or even detect!) code which has this
+ − 3555
issue, but the GCC LTO development branch compiler does. (It
+ − 3556
outputs the types of the objects while generating .o files, along
+ − 3557
with a bunch of other information, then compares them when doing the
+ − 3558
final link-time code generation pass.)
+ − 3559
+ − 3560
Patch from Savannah bug #25133.
+ − 3561
+ − 3562
* src/base/ftinit.c (FT_USE_MODULE): Include variable type.
+ − 3563
+ − 3564
* builds/amiga/include/freetype/config/ftmodule.h,
+ − 3565
include/freetype/config/ftmodule.h, */module.mk: Updated to declare
+ − 3566
pass correct types to FT_USE_MODULE.
+ − 3567
+ − 3568
2008-12-21 Hongbo Ni <hongbo@njstar.com>
+ − 3569
+ − 3570
* src/autofit/aflatin.c (af_latin_hint_edges),
+ − 3571
src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
+ − 3572
(af_cjk_hint_edges): Protect against division by zero. This fixes
+ − 3573
Savannah bug #25124.
+ − 3574
+ − 3575
2008-12-18 Werner Lemberg <wl@gnu.org>
+ − 3576
+ − 3577
* docs/CHANGES: Updated.
+ − 3578
+ − 3579
2008-12-18 Bevan, David <dbevan@emtex.com>
+ − 3580
+ − 3581
Provide API for accessing embedding and subsetting restriction
+ − 3582
information.
+ − 3583
+ − 3584
* include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
+ − 3585
FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
+ − 3586
FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
+ − 3587
FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
+ − 3588
macros.
+ − 3589
(FT_Get_FSType_Flags): New function declaration.
+ − 3590
+ − 3591
* src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
+ − 3592
+ − 3593
* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
+ − 3594
(t42_keywords): Handle `FSType'.
+ − 3595
+ − 3596
* include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
+ − 3597
+ − 3598
2008-12-17 Werner Lemberg <wl@gnu.org>
+ − 3599
+ − 3600
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
+ − 3601
macros so that copying the source code into an application works
+ − 3602
out of the box.
+ − 3603
+ − 3604
2008-12-17 Werner Lemberg <wl@gnu.org>
+ − 3605
+ − 3606
* include/freetype/ftsynth.h, src/base/ftsynth.c: Move
+ − 3607
FT_GlyphSlot_Own_Bitmap to...
+ − 3608
* include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
+ − 3609
+ − 3610
* docs/CHANGES: Document it.
+ − 3611
+ − 3612
2008-12-10 Werner Lemberg <wl@gnu.org>
+ − 3613
+ − 3614
Generalize the concept of `tricky' fonts by introducing
+ − 3615
FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
+ − 3616
engine is necessary for correct rendering.
+ − 3617
+ − 3618
At the same time, slightly modify the behaviour of tricky fonts:
+ − 3619
FT_LOAD_NO_HINTING is now ignored. To really force raw loading
+ − 3620
of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
+ − 3621
FT_LOAD_NO_AUTOHINT must be used.
+ − 3622
+ − 3623
Finally, tricky TrueType fonts always use the bytecode interpreter
+ − 3624
even if the patented code is used.
+ − 3625
+ − 3626
* include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
+ − 3627
New macros.
+ − 3628
+ − 3629
* src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
+ − 3630
semantics as described above.
+ − 3631
+ − 3632
* src/truetype/ttobjs.c (tt_check_trickyness): New function, using
+ − 3633
code of ...
+ − 3634
(tt_face_init): This function, now simplified and updated to new
+ − 3635
semantics.
+ − 3636
+ − 3637
* src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
+ − 3638
fonts.
+ − 3639
+ − 3640
* docs/CHANGES: Document it.
+ − 3641
+ − 3642
2008-12-09 Werner Lemberg <wl@gnu.org>
+ − 3643
+ − 3644
Really fix Savannah bug #25010: An SFNT font with neither outlines
+ − 3645
nor bitmaps can be considered as containing space `glyphs' only.
+ − 3646
+ − 3647
* src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
+ − 3648
a `glyf' table is missing.
+ − 3649
+ − 3650
* src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
+ − 3651
`glyf' table but a non-zero `loca' entry.
+ − 3652
(tt_loader_init): Handle missing `glyf' table.
+ − 3653
+ − 3654
* src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
+ − 3655
+ − 3656
* src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
+ − 3657
nor bitmaps is scalable.
+ − 3658
+ − 3659
2008-12-05 Werner Lemberg <wl@nu.org>
+ − 3660
+ − 3661
* src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
+ − 3662
fixes Savannah bug #21190 which also provides a basic patch.
+ − 3663
+ − 3664
2008-12-05 Werner Lemberg <wl@nu.org>
+ − 3665
+ − 3666
* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
+ − 3667
0x100 instead of 0x10000; the latter value is already occupied by
+ − 3668
FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
+ − 3669
+ − 3670
+ − 3671
Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
+ − 3672
bug #25010.
+ − 3673
+ − 3674
* src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
+ − 3675
outlines nor bitmaps.
+ − 3676
+ − 3677
* src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
+ − 3678
is no table with glyphs.
+ − 3679
+ − 3680
+ − 3681
* src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
+ − 3682
message.
+ − 3683
+ − 3684
2008-12-01 Werner Lemberg <wl@gnu.org>
+ − 3685
+ − 3686
GDEF tables need `glyph_count' too for validation. Problem reported
+ − 3687
by Chi Nguyen <chint@necsv.com>.
+ − 3688
+ − 3689
* src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
+ − 3690
(otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
+ − 3691
`glyph_count'.
+ − 3692
+ − 3693
2008-11-29 Werner Lemberg <wl@gnu.org>
+ − 3694
+ − 3695
* src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
+ − 3696
src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
+ − 3697
src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
+ − 3698
src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
+ − 3699
src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
+ − 3700
(Atari PureC).
+ − 3701
+ − 3702
2008-11-29 James Cloos <cloos@jhcloos.com>
+ − 3703
+ − 3704
* src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
+ − 3705
it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
+ − 3706
in the /BlendDesignMap space).
+ − 3707
+ − 3708
2008-11-29 James Cloos <cloos@jhcloos.com>
+ − 3709
+ − 3710
* src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
+ − 3711
whereas `design_points' is FT_Long*. Therefore, return blend rather
+ − 3712
than design points.
+ − 3713
+ − 3714
2008-11-27 Werner Lemberg <wl@gnu.org>
+ − 3715
+ − 3716
* src/cff/cffparse.c (cff_parse_real): Handle more than nine
+ − 3717
significant digits correctly. This fixes Savannah bug #24953.
+ − 3718
+ − 3719
2008-11-25 Daniel Zimmermann <netzimme@aol.com>
+ − 3720
+ − 3721
* src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
+ − 3722
before the NULL check. From Savannah patch #6681.
+ − 3723
+ − 3724
2008-11-24 Werner Lemberg <wl@gnu.org>
+ − 3725
+ − 3726
Fixes from the gnuwin32 port.
+ − 3727
+ − 3728
* src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
+ − 3729
+ − 3730
* src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
+ − 3731
+ − 3732
* src/psaux/psobjs.c (ps_table_add): Check `length'.
+ − 3733
+ − 3734
2008-11-15 Werner Lemberg <wl@gnu.org>
+ − 3735
+ − 3736
* src/truetype/ttinterp.c (tt_default_graphics_state): The default
+ − 3737
value for `scan_type' is zero, as confirmed by Greg Hitchcock from
+ − 3738
Microsoft. Problem reported by Michal Nowakowski
+ − 3739
<miszka@limes.com.pl>.
+ − 3740
+ − 3741
2008-11-12 Tor Andersson <tor.andersson@gmail.com>
+ − 3742
+ − 3743
* src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
+ − 3744
This fixes Savannah bug #24819.
+ − 3745
+ − 3746
2008-11-08 Werner Lemberg <wl@gnu.org>
+ − 3747
+ − 3748
* src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
+ − 3749
since OpenType version 1.5 has been released.
+ − 3750
+ − 3751
* include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
+ − 3752
TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
+ − 3753
(TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
+ − 3754
TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
+ − 3755
TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
+ − 3756
TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
+ − 3757
TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
+ − 3758
TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
+ − 3759
TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
+ − 3760
TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
+ − 3761
TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
+ − 3762
TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
+ − 3763
TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
+ − 3764
macros for OpenType 1.5.
+ − 3765
+ − 3766
2008-11-08 Wenlin Institute <wenlin@wenlin.com>
+ − 3767
+ − 3768
* src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
+ − 3769
slot->internal == NULL. Reported by Graham Asher.
+ − 3770
+ − 3771
2008-11-08 Werner Lemberg <wl@gnu.org>
+ − 3772
+ − 3773
* src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
+ − 3774
code so that memory allocation problems can be distinguished from
+ − 3775
missing table entries. Reported by Graham Asher.
+ − 3776
(GET_NAME): New macro.
+ − 3777
(sfnt_load_face): Use it.
+ − 3778
+ − 3779
2008-11-05 Werner Lemberg <wl@gnu.org>
+ − 3780
+ − 3781
* devel/ftoption.h, include/freetype/config/ftoption.h
+ − 3782
[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Undefine
+ − 3783
TT_CONFIG_OPTION_UNPATENTED_HINTING. This fixes the return value of
+ − 3784
`FT_Get_TrueType_Engine_Type' (and makes it work as documented).
+ − 3785
Reported in bug #441638 of bugzilla.novell.com.
+ − 3786
+ − 3787
* docs/CHANGES: Document it.
+ − 3788
+ − 3789
2008-11-03 Werner Lemberg <wl@gnu.org>
+ − 3790
+ − 3791
* src/type1/t1load.c (parse_subrs): Use an endless loop. There are
+ − 3792
fonts (like HELVI.PFB version 003.001, used on OS/2) which define
+ − 3793
some `subrs' elements more than once. Problem reported by Peter
+ − 3794
Weilbacher <mozilla@weilbacher.org>.
+ − 3795
+ − 3796
2008-10-15 Graham Asher <graham.asher@btinternet.com>
+ − 3797
+ − 3798
* src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
+ − 3799
+ − 3800
2008-10-15 David Turner <david@freetype.org>
+ − 3801
+ − 3802
* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate for
+ − 3803
meddlesome compilers' warning against `for ( ...; ...; ...) ;'.
+ − 3804
+ − 3805
2008-10-14 Werner Lemberg <wl@gnu.org>
+ − 3806
+ − 3807
* src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
+ − 3808
Suggested by Bram Tassyns in Savannah patch #6651.
+ − 3809
+ − 3810
2008-10-12 Graham Asher <graham.asher@btinternet.com>
+ − 3811
+ − 3812
* src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
+ − 3813
`underline_position'.
+ − 3814
+ − 3815
2008-10-12 Werner Lemberg <wl@gnu.org>
+ − 3816
+ − 3817
* docs/CHANGES: Updated.
+ − 3818
+ − 3819
2008-10-09 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3820
+ − 3821
Fix Savannah bug #24468.
+ − 3822
+ − 3823
According to include/freetype/internal/ftobjs.h, the appropriate
+ − 3824
type to interchange single character codepoint is FT_UInt32. It
+ − 3825
should be distinguished from FT_UInt which can be 16bit integer.
+ − 3826
+ − 3827
* src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Change the type
+ − 3828
of the second argument `pcharcode' from FT_UInt* to FT_UInt32*.
+ − 3829
(tt_cmap4_char_map_binary): Ditto.
+ − 3830
(tt_cmap14_get_nondef_chars): Change the type of return value
+ − 3831
from FT_UInt* to FT_UInt32*.
+ − 3832
+ − 3833
2008-10-08 John Tytgat <John.Tytgat@esko.com>
+ − 3834
+ − 3835
Fix Savannah bug #24485.
+ − 3836
+ − 3837
* src/type1/t1load.c (parse_charstrings): Assure that we always have
+ − 3838
a .notdef glyph.
+ − 3839
+ − 3840
2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3841
+ − 3842
* src/base/ftmac.c: Include FT_TRUETYPE_TAGS_H for multi build.
+ − 3843
* builds/mac/ftmac.c: Ditto.
+ − 3844
+ − 3845
2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3846
+ − 3847
* include/freetype/tttags.h (TTAG_TYP1, TTAG_typ1): Fix definitions.
+ − 3848
* src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H.
+ − 3849
+ − 3850
2008-10-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3851
+ − 3852
* src/sfnt/sfobjs.c (sfnt_open_font): Allow `typ1' version tag in
+ − 3853
the beginning of sfnt container.
+ − 3854
* src/sfnt/ttload.c (check_table_dir): Return
+ − 3855
`SFNT_Err_Table_Missing' when sfnt table directory structure is
+ − 3856
correct but essential tables for TrueType fonts (`head', `bhed' or
+ − 3857
`SING') are missing. Other errors are returned by
+ − 3858
SFNT_Err_Unknown_File_Format.
+ − 3859
+ − 3860
* src/base/ftobjs.c (FT_Open_Face): When TrueType driver returns
+ − 3861
`FT_Err_Table_Missing', try `open_face_PS_from_sfnt_stream'. It is
+ − 3862
enabled only when old mac font support is configured.
+ − 3863
+ − 3864
2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3865
+ − 3866
* include/freetype/tttags.h (TTAG_CID, TTAG_FOND, TTAG_LWFN,
+ − 3867
TTAG_POST, TTAG_sfnt, TTAG_TYP1, TTAG_typ1): New tags to simplify
+ − 3868
the repeated calculations of these values in ftobjs.c and ftmac.c.
+ − 3869
* src/base/ftobjs.c: Replace all FT_MAKE_TAG by new tags.
+ − 3870
* src/base/ftmac.c: Ditto.
+ − 3871
* builds/mac/ftmac.c: Ditto.
+ − 3872
+ − 3873
2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3874
+ − 3875
* src/base/ftobjs.c (ft_lookup_PS_in_sfnt_stream): Remove wrong
+ − 3876
initialization of *is_sfnt_cid.
+ − 3877
+ − 3878
2008-10-04 Werner Lemberg <wl@gnu.org>
+ − 3879
+ − 3880
* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Remove compiler
+ − 3881
warnings.
+ − 3882
+ − 3883
2008-10-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3884
+ − 3885
* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Replaced by...
+ − 3886
(ft_lookup_PS_in_sfnt_stream): This.
+ − 3887
(open_face_PS_from_sfnt_stream): New function. It checks whether
+ − 3888
the stream is sfnt-wrapped Type1 PS font or sfnt-wrapped CID-keyed
+ − 3889
font, then try to open a face for given face_index.
+ − 3890
(Mac_Read_sfnt_Resource): Replace the combination of
+ − 3891
`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' by
+ − 3892
`open_face_PS_from_sfnt_stream'.
+ − 3893
* src/base/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+ − 3894
* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+ − 3895
* src/base/ftbase.h: Remove `ft_lookup_PS_in_sfnt' and add
+ − 3896
`open_face_PS_from_sfnt_stream'.
+ − 3897
+ − 3898
2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3899
+ − 3900
* src/base/ftobjs.c (ft_lookup_PS_in_sfnt): Set *is_sfnt_cid to
+ − 3901
FALSE if neither `CID ' nor `TYP1' is found in the sfnt container.
+ − 3902
+ − 3903
2008-10-03 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3904
+ − 3905
* include/freetype/config/ftconfig.h: Define FT_MACINTOSH when SC or
+ − 3906
MrC compiler of MPW is used. These compilers do not define the
+ − 3907
macro __APPLE__ by themselves.
+ − 3908
* builds/unix/ftconfig.in: Ditto.
+ − 3909
* builds/vms/ftconfig.h: Ditto.
+ − 3910
* src/base/ftbase.c: Use FT_MACINTOSH instead of __APPLE__, to
+ − 3911
include ftmac.c if FreeType 2 is built by MPW.
+ − 3912
* src/base/ftobjs.c: Use FT_MACINTOSH instead of __APPLE__, to
+ − 3913
enable shared functions for ftmac.c if FreeType 2 is built by MPW.
+ − 3914
+ − 3915
* builds/mac/ftmac.c: Include ftbase.h.
+ − 3916
(memory_stream_close): Removed.
+ − 3917
(new_memory_stream): Ditto.
+ − 3918
(open_face_from_buffer): Removed. Use the implementation in
+ − 3919
ftobjs.c.
+ − 3920
(ft_lookup_PS_in_sfnt): Ditto.
+ − 3921
+ − 3922
* builds/mac/FreeType.m68k_far.make.txt: Build ftmac.c as an
+ − 3923
included part of ftbase.c, to share the functions in ftobjs.c. The
+ − 3924
rule compiling ftmac.c separately is removed and the rule copying
+ − 3925
ftbase.c from src/base/ftbase.c to builds/mac/ftbase.c is added.
+ − 3926
* builds/mac/FreeType.m68k_cfm.make.txt: Ditto.
+ − 3927
* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+ − 3928
* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+ − 3929
+ − 3930
2008-10-02 Bram Tassyns <bramt@enfocus.be>
+ − 3931
+ − 3932
* src/cff/cffgload.c (cff_slot_load): Map CID 0 to GID 0. This
+ − 3933
fixes Savannah bug #24430.
+ − 3934
+ − 3935
2008-10-02 Werner Lemberg <wl@gnu.org>
+ − 3936
+ − 3937
* builds/freetype.mk (BASE_H): Rename to...
+ − 3938
(INTERNAL_H): This.
+ − 3939
(FREETYPE_H): Updated.
+ − 3940
* src/base/rules.mk: (BASE_OBJ_S, OBJ_DIR/%.$O): Add BASE_H.
+ − 3941
* src/bdf/rules.mk (BDF_DRV_H): Add bdferror.h.
+ − 3942
* src/cache/rules.mk (CACHE_DRV_H): Add ftccache.h and ftcsbits.h.
+ − 3943
* src/pcf/rules.mk (PCF_DRV_H): Add pcfread.h.
+ − 3944
* src/raster/rules.mk (RASTER_DRV_H): Add ftmisc.h.
+ − 3945
* src/type42/rules.mk (T42_DRV_H): Add t42types.h.
+ − 3946
+ − 3947
2008-10-02 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3948
+ − 3949
* src/base/ftbase.h: New file to declare the private utility
+ − 3950
functions shared by the sources of base modules. Currently,
+ − 3951
`ft_lookup_PS_in_sfnt' and `open_face_from_buffer' are declared to
+ − 3952
share between ftobjs.c and ftmac.c.
+ − 3953
+ − 3954
* src/base/rule.mk: Add ftbase.h.
+ − 3955
+ − 3956
* src/base/ftobjs.c: Include ftbase.h.
+ − 3957
(memory_stream_close): Build on any platform when old MacOS font
+ − 3958
support is enabled.
+ − 3959
(new_memory_stream): Ditto.
+ − 3960
(open_face_from_buffer): Build on any platform when old MacOS font
+ − 3961
support is enabled. The counting of the face in a font file is
+ − 3962
slightly different between Carbon-dependent parser and Carbon-free
+ − 3963
parser. They are merged with the platform-specific conditional.
+ − 3964
(ft_lookup_PS_in_sfnt): Ditto.
+ − 3965
+ − 3966
* src/base/ftmac.c: Include ftbase.h.
+ − 3967
(memory_stream_close): Removed.
+ − 3968
(new_memory_stream): Ditto.
+ − 3969
(open_face_from_buffer): Removed. Use the implementation in
+ − 3970
ftobjs.c.
+ − 3971
(ft_lookup_PS_in_sfnt): Ditto.
+ − 3972
+ − 3973
2008-10-02 Werner Lemberg <wl@gnu.org>
+ − 3974
+ − 3975
* src/sfnt/sfobjs.c (sfnt_load_face): `psnames_error' is only needed
+ − 3976
if TT_CONFIG_OPTION_POSTSCRIPT_NAMES is defined.
+ − 3977
+ − 3978
2008-10-01 Werner Lemberg <wl@gnu.org>
+ − 3979
+ − 3980
* src/truetype/ttobjs.c (tt_face_done), src/cff/cffobjs.c
+ − 3981
(cff_face_done), src/pfr/pfrobjs.c (pfr_face_done),
+ − 3982
src/pcf/pcfdrivr.c (PCF_Face_Done), src/cid/cidobjs.c
+ − 3983
(cid_face_done), src/bdf/bdfdrivr. (BDF_Face_Done),
+ − 3984
src/sfnt/sfobjs.c (sfnt_face_done): Protect against face == 0.
+ − 3985
Reported by Graham Asher.
+ − 3986
+ − 3987
2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 3988
+ − 3989
* src/base/rules.mk: Add conditional source to BASE_SRC, for `make
+ − 3990
multi' on Mac OS X. If the macro $(ftmac_c) is defined,
+ − 3991
$(BASE_DIR)/$(ftmac_c) is added to BASE_SRC. In a normal build, the
+ − 3992
lack of ftmac.c in BASE_SRC is not serious because ftbase.c includes
+ − 3993
ftmac.c.
+ − 3994
* builds/unix/unix-def.in: Add a macro definition of $(ftmac_c).
+ − 3995
* builds/unix/configure.raw: Add procedure to set up appropriate
+ − 3996
value of $(ftmac_c) with the consideration of the availability of
+ − 3997
Carbon framework.
+ − 3998
+ − 3999
2008-09-30 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4000
+ − 4001
* src/base/Jamfile: Add target for multi build by jam on Mac OS X.
+ − 4002
* src/base/ftobjs.c (FT_New_Face): Fix the condition to include this
+ − 4003
function for MPW building. It is synchronized the condition to
+ − 4004
include ftmac.c source into ftbase.c.
+ − 4005
+ − 4006
2008-09-22 Werner Lemberg <wl@gnu.org>
+ − 4007
+ − 4008
* src/cff/cffgload.c (CFF_Operator, cff_argument_counts,
+ − 4009
cff_decoder_parse_charstrings): Handle (invalid)
+ − 4010
`callothersubr' and `pop' instructions.
+ − 4011
+ − 4012
2008-09-22 John Tytgat <John.Tytgat@esko.com>
+ − 4013
+ − 4014
Fix Savannah bug #24307.
+ − 4015
+ − 4016
* include/freetype/internal/t1types.h (CID_FaceRec),
+ − 4017
src/type42/t42types.h (T42_FaceRec): Comment out `afm_data'.
+ − 4018
+ − 4019
2008-09-21 Werner Lemberg <wl@gnu.org>
+ − 4020
+ − 4021
* src/smooth/ftgrays.c (gray_raster_render): Don't dereference
+ − 4022
`target_map' if FT_RASTER_FLAG_DIRECT is set. Problem reported by
+ − 4023
Stephan T. Lavavej <stl@nuwen.net>.
+ − 4024
+ − 4025
2008-09-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4026
+ − 4027
* src/otvalid/Jamfile: Add missing target `otvmath' for multi build
+ − 4028
by jam.
+ − 4029
* src/sfnt/Jamfile: Add missing target `ttmtx' for multi build by
+ − 4030
jam.
+ − 4031
+ − 4032
2008-09-20 Werner Lemberg <wl@gnu.org>
+ − 4033
+ − 4034
* src/smooth/ftgrays.c (gray_find_cell): Fix threshold. The values
+ − 4035
passed to this function are already `normalized'. Problem reported
+ − 4036
by Stephan T. Lavavej <stl@nuwen.net>.
+ − 4037
+ − 4038
* docs/CHANGES: Document it.
+ − 4039
+ − 4040
2008-09-20 Werner Lemberg <wl@gnu.org>
+ − 4041
+ − 4042
* src/base/ftoutln.c: Include FT_INTERNAL_DEBUG_H.
+ − 4043
(FT_Outline_Decompose): Decorate with tracing messages.
+ − 4044
+ − 4045
* src/smooth/ftgrays.c [DEBUG_GRAYS]: Replace with
+ − 4046
FT_DEBUG_LEVEL_TRACE.
+ − 4047
[_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: Include stdio.h and
+ − 4048
stdarg.h.
+ − 4049
+ − 4050
(FT_TRACE) [_STANDALONE_]: Remove.
+ − 4051
(FT_Message) [_STANDALONE_ && FT_DEBUG_LEVEL_TRACE]: New function.
+ − 4052
(FT_TRACE5, FT_TRACE7) [_STANDALONE_]: New macros.
+ − 4053
(FT_ERROR) [_STANDALONE_]: Updated.
+ − 4054
+ − 4055
(gray_hline) [FT_DEBUG_LEVEL_TRACE]: Fix condition.
+ − 4056
Use FT_TRACE7.
+ − 4057
(gray_dump_cells): Make it `static void'.
+ − 4058
(gray_convert_glyph): Use FT_TRACE7.
+ − 4059
+ − 4060
(FT_Outline_Decompose) [_STANDALONE_]: Synchronize with version in
+ − 4061
ftoutln.c.
+ − 4062
+ − 4063
* src/base/ftadvanc.c (FT_Get_Advance, FT_Get_Advances): Use
+ − 4064
FT_ERROR_BASE.
+ − 4065
+ − 4066
* docs/formats.txt: Updated.
+ − 4067
+ − 4068
2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4069
+ − 4070
* src/base/ftmac.c: Import sfnt-wrapped Type1 and sfnt-wrapped
+ − 4071
CID-keyed font support.
+ − 4072
* builds/mac/ftmac.c: Ditto.
+ − 4073
+ − 4074
2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4075
+ − 4076
* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Fix double free bug in
+ − 4077
sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font support code.
+ − 4078
`open_face_from_buffer' frees the passed buffer if it cannot open a
+ − 4079
face from the buffer, so the caller must not free it.
+ − 4080
+ − 4081
2008-09-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4082
+ − 4083
* src/base/ftobjs.c (Mac_Read_sfnt_Resource): Add initial support
+ − 4084
for sfnt-wrapped Type1 and sfnt-wrapped CID-keyed font.
+ − 4085
(ft_lookup_PS_in_sfnt): New function to look up `TYP1' or `CID '
+ − 4086
table in sfnt table directory. It is used before loading TrueType
+ − 4087
font driver.
+ − 4088
+ − 4089
* docs/CHANGES: Add note about the current status of sfnt-wrapped
+ − 4090
Type1 and sfnt-wrapped CID-keyed font support.
+ − 4091
+ − 4092
2008-09-18 Werner Lemberg <wl@gnu.org>
+ − 4093
+ − 4094
* src/base/ftsystem.c (FT_Done_Memory): Use ft_sfree directly for
+ − 4095
orthogonality (ft_free and ft_sfree could belong to different memory
+ − 4096
pools). This fixes Savannah bug #24297.
+ − 4097
+ − 4098
2008-09-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4099
+ − 4100
* src/cff/cffobjs.c (cff_face_init): Use TTAG_OTTO defined
+ − 4101
in ttags.h instead of numerical value 0x4F54544FL.
+ − 4102
+ − 4103
2008-09-16 Werner Lemberg <wl@gnu.org>
+ − 4104
+ − 4105
* src/cff/cffgload.h, src/cff/cffgload.c
+ − 4106
(cff_decoder_set_width_only): Eliminate function call.
+ − 4107
+ − 4108
2008-09-15 George Williams <gww@silcom.com>
+ − 4109
+ − 4110
Fix Savannah bug #24179, reported by Bram Tassyns.
+ − 4111
+ − 4112
* src/type1/t1load.c (mm_axis_unmap, T1_Get_MM_Var): Fix computation
+ − 4113
of default values.
+ − 4114
+ − 4115
2008-09-15 Werner Lemberg <wl@gnu.org>
+ − 4116
+ − 4117
* src/tools/glnames.py (main): Surround `ft_get_adobe_glyph_index'
+ − 4118
and `ft_adobe_glyph_list' with FT_CONFIG_OPTION_ADOBE_GLYPH_LIST to
+ − 4119
prevent unconditional definition. This fixes Savannah bug #24241.
+ − 4120
+ − 4121
* src/psnames/pstables.h: Regenerated.
+ − 4122
+ − 4123
2008-09-13 Werner Lemberg <wl@gnu.org>
+ − 4124
+ − 4125
* autogen.sh, builds/unix/configure.raw,
+ − 4126
include/freetype/config/ftconfig.h, builds/unix/ftconfig.in: Minor
+ − 4127
beautifying.
+ − 4128
+ − 4129
* include/freetype/ftadvanc.h, include/freetype/ftgasp.h,
+ − 4130
include/freetype/ftlcdfil.h: Protect against FreeType 1.
+ − 4131
Some other minor fixes.
+ − 4132
+ − 4133
* devel/ftoption.h: Synchronize with
+ − 4134
include/freetype/config/ftoption.h.
+ − 4135
+ − 4136
2008-09-11 Werner Lemberg <wl@gnu.org>
+ − 4137
+ − 4138
* src/base/ftbase.c: Include ftadvanc.c.
+ − 4139
+ − 4140
2008-09-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4141
+ − 4142
* builds/unix/ftconfig.in: Duplicate the cpp computation of
+ − 4143
FT_SIZEOF_{INT|LONG} from include/freetype/config/ftconfig.h.
+ − 4144
(FT_USE_AUTOCONF_SIZEOF_TYPES): New macro. If defined, the cpp
+ − 4145
computation is disabled and the statically configured sizes are
+ − 4146
used. This fixes Savannah bug #21250.
+ − 4147
+ − 4148
* builds/unix/configure.raw: Add the checks to compare the cpp
+ − 4149
computation results of the bit length of int and long versus the
+ − 4150
sizes detected by running `configure'. If the results are
+ − 4151
different, FT_USE_AUTOCONF_SIZEOF_TYPES is defined to prioritize the
+ − 4152
results.
+ − 4153
New option --{enable|disable}-biarch-config is added to define or
+ − 4154
undefine FT_USE_AUTOCONF_SIZEOF_TYPES manually.
+ − 4155
+ − 4156
2008-09-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4157
+ − 4158
* builds/unix/configure.raw: Clear FT2_EXTRA_LIBS when Carbon or
+ − 4159
ApplicationService framework is missing. Although this value is not
+ − 4160
used in building of FreeType2, it is written in `freetype2.pc' and
+ − 4161
`freetype-config'.
+ − 4162
+ − 4163
2008-09-01 david turner <david@freetype.org>
+ − 4164
+ − 4165
* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Accept a negative cmap
+ − 4166
index to mean `use default cached FT_Face's charmap'. This fixes
+ − 4167
Savannah bug #22625.
+ − 4168
* include/freetype/ftcache.h: Document it.
+ − 4169
+ − 4170
+ − 4171
Make FT_MulFix an inlined function. This is done to speed up
+ − 4172
FreeType a little (on x86 3% when loading+hinting, 10% when
+ − 4173
rendering, ARM savings are more important though). Disable this by
+ − 4174
undefining FT_CONFIG_OPTION_INLINE_MULFIX.
+ − 4175
+ − 4176
Use of assembler code can now be controlled with
+ − 4177
FT_CONFIG_OPTION_NO_ASSEMBLER.
+ − 4178
+ − 4179
* include/freetype/config/ftconfig.h, builds/unix/ftconfig.in
+ − 4180
[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_arm): New assembler
+ − 4181
implementation.
+ − 4182
[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MulFix_i386): Assembler
+ − 4183
implementation taken from `ftcalc.c'.
+ − 4184
[!FT_CONFIG_OPTION_NO_ASSEMBLER] (FT_MULFIX_ASSEMBLER): New macro
+ − 4185
which is defined to the platform-specific assembler implementation
+ − 4186
of FT_MulFix.
+ − 4187
[FT_CONFIG_OPTION_INLINE_MULFIX && FT_MULFIX_ASSEMBLER]
+ − 4188
(FT_MULFIX_INLINED): New macro.
+ − 4189
+ − 4190
* include/freetype/config/ftoption.h (FT_CONFIG_OPTION_NO_ASSEMBLER,
+ − 4191
FT_CONFIG_OPTION_INLINE_MULFIX): New macros.
+ − 4192
+ − 4193
* include/freetype/freetype.h: Updated to handle FT_MULFIX_INLINED.
+ − 4194
+ − 4195
* src/base/ftcalc.c: Updated to use FT_MULFIX_ASSEMBLER and
+ − 4196
FT_MULFIX_INLINED.
+ − 4197
+ − 4198
+ − 4199
Add a new header named FT_ADVANCES_H declaring some new APIs to
+ − 4200
extract the advances of one or more glyphs without necessarily
+ − 4201
loading their outlines. Also provide `fast loaders' for the
+ − 4202
TrueType, Type1, and CFF font drivers (more to come later).
+ − 4203
+ − 4204
* src/base/ftadvanc.c, include/freetype/ftadvanc.h: New files.
+ − 4205
+ − 4206
* include/freetype/config/ftheader.h (FT_ADVANCES_H): New macro.
+ − 4207
* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): New macro.
+ − 4208
+ − 4209
* include/freetype/internal/ftdriver.h (FT_Face_GetAdvancesFunc):
+ − 4210
`flags' and `advances' are now of type `FT_UInt' and `FT_Fixed',
+ − 4211
respectively.
+ − 4212
+ − 4213
* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC): Add
+ − 4214
ftadvanc.c.
+ − 4215
+ − 4216
* src/cff/cffdrivr.c (cff_get_advances): New function.
+ − 4217
(cff_driver_class): Register it.
+ − 4218
+ − 4219
* src/cff/cffgload.c (cff_decoder_set_width_only): New function.
+ − 4220
(cff_decoder_parse_charstrings): Handle `width_only'.
+ − 4221
(cff_slot_load): Handle FT_LOAD_ADVANCE_ONLY.
+ − 4222
+ − 4223
* src/cff/cffgload.h (cff_decoder): New element `width_only'.
+ − 4224
(cff_decoder_set_width_only): New declaration.
+ − 4225
+ − 4226
* src/truetype/ttdriver.c (tt_get_advances): New function.
+ − 4227
(tt_driver_class): Register it.
+ − 4228
+ − 4229
* src/truetype/ttgload.c (Get_HMetrics, Get_VMetrics): Renamed to...
+ − 4230
(TT_Get_HMetrics, TT_Get_VMetrics): This.
+ − 4231
Update callers.
+ − 4232
* src/truetype/ttgload.h: Declare them.
+ − 4233
+ − 4234
* src/type1/t1gload.h, src/type1/t1gload.c (T1_Get_Advances): New
+ − 4235
function.
+ − 4236
* src/type1/t1driver.c (t1_driver_class): Register T1_Get_Advances.
+ − 4237
+ − 4238
+ − 4239
Add checks for minimum version of the `autotools' stuff.
+ − 4240
+ − 4241
* autogen.sh: Implement it.
+ − 4242
(get_major_version, get_minor_version, get_patch_version,
+ − 4243
compare_to_minimum_version, check_tool_version): New auxiliary
+ − 4244
functions.
+ − 4245
+ − 4246
* README.CVS: Document it.
+ − 4247
+ − 4248
2008-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4249
+ − 4250
* src/sfnt/sfobjs.c (sfnt_open_font): Use TTAG_OTTO defined in
+ − 4251
ttags.h instead of FT_MAKE_TAG( 'O', 'T', 'T', 'O' ).
+ − 4252
+ − 4253
2008-08-28 Werner Lemberg <wl@gnu.org>
+ − 4254
+ − 4255
* src/type1/t1load.c (parse_encoding): Protect against infinite
+ − 4256
loop. This fixes Savannah bug #24150 (where a patch has been posted
+ − 4257
too).
+ − 4258
+ − 4259
2008-08-23 Werner Lemberg <wl@gnu.org>
+ − 4260
+ − 4261
* src/type/t1afm.c (compare_kern_pairs), src/pxaux/afmparse.c
+ − 4262
(afm_compare_kern_pairs): Fix comparison. This fixes Savannah bug
+ − 4263
#24119.
+ − 4264
+ − 4265
2008-08-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4266
+ − 4267
* src/base/ftobjs.c (FT_Stream_New): Initialize *astream always,
+ − 4268
even if passed library or arguments are invalid. This fixes a bug
+ − 4269
that an uninitialized stream is freed when an invalid library handle
+ − 4270
is passed. Originally proposed by Mike Fabian, 2008/08/18 on
+ − 4271
freetype-devel.
+ − 4272
(FT_Open_Face): Ditto (stream).
+ − 4273
(load_face_in_embedded_rfork): Ditto (stream2).
+ − 4274
+ − 4275
2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4276
+ − 4277
* src/base/ftmac.c: Add a fallback to guess the availability of the
+ − 4278
`ResourceIndex' type. It is used when built without configure
+ − 4279
(e.g., a build with Jam).
+ − 4280
* builds/mac/ftmac.c: Ditto.
+ − 4281
* builds/unix/configure.raw: Set HAVE_TYPE_RESOURCE_INDEX to 1 or 0
+ − 4282
explicitly, even if `ResourceIndex' is unavailable.
+ − 4283
+ − 4284
2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4285
+ − 4286
* builds/unix/configure.raw: In checking of Mac OS X features,
+ − 4287
all-in-one header file `Carbon.h' is replaced by the minimum
+ − 4288
header file `CoreServices.h', similar to current src/base/ftmac.c.
+ − 4289
+ − 4290
2008-08-18 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4291
+ − 4292
* src/sfnt/ttcmap.c (tt_cmap2_validate): Skip the validation of
+ − 4293
sub-header when its code_count is 0. Many Japanese Dynalab fonts
+ − 4294
include such an empty sub-header (code_count == 0, first_code == 0
+ − 4295
delta == 0, but offset != 0) as the second sub-header in SJIS cmap.
+ − 4296
+ − 4297
2008-08-04 Werner Lemberg <wl@gnu.org>
+ − 4298
+ − 4299
* src/type1/t1tokens.h: Handle `ForceBold' keyword. This fixes
+ − 4300
Savannah bug #23995.
+ − 4301
+ − 4302
* src/cid/cidload.c (parse_expansion_factor): New callback function.
+ − 4303
(cid_field_records): Use it for `ExpansionFactor'.
+ − 4304
* src/cod/cidtoken.h: Handle `ForceBold' keyword.
+ − 4305
Don't handle `ExpansionFactor'.
+ − 4306
+ − 4307
2008-08-04 Bram Tassyns <bramt@enfocus.be>
+ − 4308
+ − 4309
* src/cff/cffparse.c (cff_parse_fixed_scaled): Fix thinko which
+ − 4310
resulted in incorrect scaling. This fixes Savannah bug #23973.
+ − 4311
+ − 4312
2008-08-04 Werner Lemberg <wl@gnu.org>
+ − 4313
+ − 4314
Be more tolerant w.r.t. invalid entries in SFNT table directory.
+ − 4315
+ − 4316
* src/sfnt/ttload.c (check_table_dir): Ignore invalid entries and
+ − 4317
adjust table count.
+ − 4318
Add more trace messages.
+ − 4319
(tt_face_load_font_dir): Updated.
+ − 4320
+ − 4321
2008-07-30 Werner Lemberg <wl@gnu.org>
+ − 4322
+ − 4323
* src/cff/cffgload.c (cff_decoder_parse_charstrings): No longer
+ − 4324
assume that the first argument on the stack is the bottom-most
+ − 4325
element. Two reasons:
+ − 4326
+ − 4327
o According to people from Adobe it is missing in the Type 2
+ − 4328
specification that pushing of additional, superfluous arguments
+ − 4329
on the stack is prohibited.
+ − 4330
+ − 4331
o Acroread in general handles fonts differently, namely by popping
+ − 4332
the number of arguments needed for a particular operand (as a PS
+ − 4333
interpreter would do). In case of buggy fonts this causes a
+ − 4334
different interpretation which of the elements on the stack are
+ − 4335
superfluous and which not.
+ − 4336
+ − 4337
Since there are CFF subfonts (embedded in PDFs) which rely on
+ − 4338
Acroread's behaviour, FreeType now does the same.
+ − 4339
+ − 4340
2008-07-27 Werner Lemberg <wl@gnu.org>
+ − 4341
+ − 4342
Add extra mappings for `Tcommaaccent' and `tcommaaccent'. This
+ − 4343
fixes Savannah bug #23940.
+ − 4344
+ − 4345
* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): Rename to...
+ − 4346
(EXTRA_GLYPH_LIST_SIZE): This.
+ − 4347
Increase by 2.
+ − 4348
(ft_wgl_extra_unicodes): Rename to...
+ − 4349
(ft_extra_glyph_unicodes): This.
+ − 4350
Add two code values.
+ − 4351
(ft_wgl_extra_glyph_names): Rename to...
+ − 4352
(ft_extra_glyph_names): This.
+ − 4353
Add two glyphs.
+ − 4354
(ft_wgl_extra_glyph_name_offsets): Rename to...
+ − 4355
(ft_extra_glyph_name_offsets): This.
+ − 4356
Add two offsets.
+ − 4357
+ − 4358
(ps_check_wgl_name, ps_check_wgl_unicode): Rename to...
+ − 4359
(ps_check_extra_glyph_name, ps_check_extra_glyph_unicode): This.
+ − 4360
Updated.
+ − 4361
(ps_unicodes_init): Updated.
+ − 4362
+ − 4363
2008-07-26 Werner Lemberg <wl@gnu.org>
+ − 4364
+ − 4365
* src/cff/cffgload.c (cff_decoder_prepare,
+ − 4366
cff_decoder_parse_charstrings): Improve debug output.
+ − 4367
+ − 4368
2008-07-22 Martin McBride <mmcbride@emtex.com>
+ − 4369
+ − 4370
* src/sfnt/ttcmap.c (tt_cmap4_validate, tt_cmap4_char_map_linear,
+ − 4371
tt_cmap4_char_map_binary): Handle fonts which treat the last segment
+ − 4372
specially. According to the specification, such fonts would be
+ − 4373
invalid but acroread accepts them.
+ − 4374
+ − 4375
2008-07-16 Jon Foster <Jon.Foster@cabot.co.uk>
+ − 4376
+ − 4377
* src/pfr/pfrdrivr.c (pfr_get_advance): Fix off-by-one error.
+ − 4378
+ − 4379
* src/base/ftcalc.c (FT_MulFix): Fix portability issue.
+ − 4380
+ − 4381
* src/sfnt/ttpost.c (MAC_NAME) [!FT_CONFIG_OPTION_POSTSCRIPT_NAMES]:
+ − 4382
Fix compiler warning.
+ − 4383
+ − 4384
2008-07-16 Werner Lemberg <wl@gnu.org>
+ − 4385
+ − 4386
Handle CID-keyed fonts wrapped in an SFNT (with cmaps) correctly.
+ − 4387
+ − 4388
* src/cff/cffload.c (cff_font_load): Pass `pure_cff'.
+ − 4389
Invert sids table only if `pure_cff' is set.
+ − 4390
* src/cff/cffload.h: Udpated.
+ − 4391
+ − 4392
* src/cff/cffobjs.c (cff_face_init): Updated.
+ − 4393
Set FT_FACE_FLAG_CID_KEYED only if pure_cff is set.
+ − 4394
+ − 4395
* docs/CHANGES: Updated.
+ − 4396
+ − 4397
2008-07-09 Werner Lemberg <wl@gnu.org>
+ − 4398
+ − 4399
* src/truetype/ttpload.c (tt_face_load_loca): Handle buggy fonts
+ − 4400
where num_locations < num_glyphs. Problem reported by Ding Li.
+ − 4401
+ − 4402
2008-07-05 Werner Lemberg <wl@gnu.org>
+ − 4403
+ − 4404
Since FreeType uses `$(value ...)', we now need GNU make 3.80 or
+ − 4405
newer. This fixes Savannah bug #23648.
+ − 4406
+ − 4407
* configure: zsh doesn't like ${1+"$@"}.
+ − 4408
Update needed GNU make version.
+ − 4409
* builds/toplevel.mk: Check for `$(eval ...)'.
+ − 4410
* docs/INSTALL.GNU, docs/INSTALL.CROSS, docs/INSTALL.UNIX: Document
+ − 4411
it.
+ − 4412
+ − 4413
2008-07-04 Werner Lemberg <wl@gnu.org>
+ − 4414
+ − 4415
* src/raster/ftraster.c (Draw_Sweep): If span is smaller than one
+ − 4416
pixel, only check for dropouts if neither start nor end point lies
+ − 4417
on a pixel center. This fixes Savannah bug #23762.
+ − 4418
+ − 4419
2008-06-29 Werner Lemberg <wl@gnu.org>
+ − 4420
+ − 4421
* Version 2.3.7 released.
+ − 4422
=========================
+ − 4423
+ − 4424
+ − 4425
Tag sources with `VER-2-3-7'.
+ − 4426
+ − 4427
* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ − 4428
version number to 2.3.7.
+ − 4429
+ − 4430
* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ − 4431
builds/win32/visualc/freetype.dsp,
+ − 4432
builds/win32/visualc/freetype.vcproj,
+ − 4433
builds/win32/visualce/index.html,
+ − 4434
builds/win32/visualce/freetype.dsp,
+ − 4435
builds/win32/visualce/freetype.vcproj: s/2.3.6/2.3.7/, s/236/237/.
+ − 4436
+ − 4437
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 7.
+ − 4438
+ − 4439
* builds/unix/configure.raw (version_info): Set to 9:18:3.
+ − 4440
+ − 4441
* docs/release: Updated.
+ − 4442
+ − 4443
2008-06-28 Werner Lemberg <wl@gnu.org>
+ − 4444
+ − 4445
* src/ftglyph.c (FT_Matrix_Multiply, FT_Matrix_Invert): Move to...
+ − 4446
* src/ftcalc.c: Here. This fixes Savannah bug #23729.
+ − 4447
+ − 4448
2008-06-27 Werner Lemberg <wl@gnu.org>
+ − 4449
+ − 4450
* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ − 4451
Horizontal_Gray_Sweep_Drop): Test for intersections which
+ − 4452
degenerate to a single point can be ignored; this has been confirmed
+ − 4453
by Greg Hitchcock from Microsoft. (This was commented out code.)
+ − 4454
+ − 4455
2008-06-26 Werner Lemberg <wl@gnu.org>
+ − 4456
+ − 4457
Improve navigation in API reference.
+ − 4458
+ − 4459
* src/tools/docmaker/tohtml.py (html_header_3): Renamed to...
+ − 4460
(html_header_6): This.
+ − 4461
(html_header_3, html_header_3i, html_header_4, html_header_5,
+ − 4462
html_header_5t): New strings.
+ − 4463
(toc_footer_start, toc_footer_end): New strings.
+ − 4464
(HtmlFormatter::html_header): Updated.
+ − 4465
(HtmlFormatter::html_index_header, HtmlFormatter::html_toc_header):
+ − 4466
New strings.
+ − 4467
(HtmlFormatter::index_enter): Use `html_index_header'.
+ − 4468
(HtmlFormatter::index_exit): Print `html_footer'.
+ − 4469
(HtmlFormatter::toc_enter): Use `html_toc_header'.
+ − 4470
(HtmlFormatter::toc_exit): Print proper footer.
+ − 4471
+ − 4472
Convert ~ to non-breakable space.
+ − 4473
+ − 4474
* src/tools/docmaker/tohtml.py (make_html_para): Implement it.
+ − 4475
Update header files accordingly.
+ − 4476
+ − 4477
2008-06-24 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4478
+ − 4479
* builds/unix/configure.raw: Check type `ResourceIndex' explicitly
+ − 4480
and define HAVE_TYPE_RESOURCE_INDEX if it is defined. Mac OS X 10.5
+ − 4481
bundles 10.4u SDK with MAC_OS_X_VERSION_10_5 macro but without
+ − 4482
ResourceIndex type definition. The macro does not inform the type
+ − 4483
availability.
+ − 4484
* src/base/ftmac.c: More parentheses are inserted to clarify the
+ − 4485
conditionals to disable legacy APIs in `10.5 and later' cases. If
+ − 4486
HAVE_TYPE_RESOURCE_INDEX is not defined, ResourceIndex is defined.
+ − 4487
+ − 4488
2008-06-24 Werner Lemberg <wl@gnu.org>
+ − 4489
+ − 4490
* src/truetype/ttinterp.c (Ins_SCANTYPE): Don't check rendering
+ − 4491
mode.
+ − 4492
+ − 4493
* src/raster/ftraster.c (Render_Glyph, Render_Gray_Glyph,
+ − 4494
Draw_Sweep): No-dropout mode is value 2, not value 0.
+ − 4495
(Draw_Sweep): Really skip dropout handling for no-dropout mode.
+ − 4496
+ − 4497
2008-06-24 Werner Lemberg <wl@gnu.org>
+ − 4498
+ − 4499
* src/psaux/psobjs.c (t1_builder_close_contour): Don't add contour
+ − 4500
if it consists of one point only. Based on a patch from Savannah
+ − 4501
bug #23683 (from John Tytgat).
+ − 4502
+ − 4503
2008-06-22 Werner Lemberg <wl@gnu.org>
+ − 4504
+ − 4505
* src/truetype/ttgload.c (TT_Load_Glyph): Protect bytecode stuff
+ − 4506
with IS_HINTED.
+ − 4507
+ − 4508
* docs/CHANGES: Updated.
+ − 4509
+ − 4510
2008-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4511
+ − 4512
* builds/unix/configure.raw: If CFLAGS has `-isysroot XXX' option
+ − 4513
but LDFLAGS does not, import it to LDFLAGS. The option is used to
+ − 4514
specify non-default SDK on Mac OS X (e.g., universal binary SDK for
+ − 4515
Mac OS X 10.4 on PowerPC platform). Although Apple TechNote 2137
+ − 4516
recommends to add the option only to CFLAGS, LDFLAGS should include
+ − 4517
it because libfreetype.la is built with -no-undefined. This fixes a
+ − 4518
bug reported by Ryan Schmidt in MacPorts,
+ − 4519
http://trac.macports.org/ticket/15331.
+ − 4520
+ − 4521
2008-06-21 Werner Lemberg <wl@gnu.org>
+ − 4522
+ − 4523
Enable access to the various dropout rules of the B&W rasterizer.
+ − 4524
Pass dropout rules from the TT bytecode interpreter to the
+ − 4525
rasterizer.
+ − 4526
+ − 4527
* include/freetype/ftimage.h (FT_OUTLINE_SMART_DROPOUTS,
+ − 4528
FT_OUTLINE_EXCLUDE_STUBS): New flags for FT_Outline.
+ − 4529
+ − 4530
* src/raster/ftraster.c (Vertical_Sweep_Drop, Horizontal_Sweep_Drop,
+ − 4531
Horizontal_Gray_Sweep_Drop): Use same mode numbers as given in the
+ − 4532
OpenType specification.
+ − 4533
Fix mode 4 computation.
+ − 4534
(Render_Glyph, Render_Gray_Glyph): Handle new outline flags.
+ − 4535
+ − 4536
* src/truetype/ttgload.c (TT_Load_Glyph) Convert scan conversion
+ − 4537
mode to FT_OUTLINE_XXX flags.
+ − 4538
+ − 4539
* src/truetype/ttinterp.c (Ins_SCANCTRL): Enable ppem check.
+ − 4540
+ − 4541
2008-06-19 Werner Lemberg <wl@gnu.org>
+ − 4542
+ − 4543
* src/cff/cffobjs.c (cff_face_init): Compute final
+ − 4544
`dict->units_per_em' value before assigning it to
+ − 4545
`cffface->units_per_EM'. Otherwise, CFFs without subfonts are
+ − 4546
scaled incorrectly if the font matrix is non-standard. This fixes
+ − 4547
Savannah bug #23630.
+ − 4548
+ − 4549
* docs/CHANGES: Updated.
+ − 4550
+ − 4551
2008-06-19 Werner Lemberg <wl@gnu.org>
+ − 4552
+ − 4553
* src/type/t1objs.c (T1_Face_Init): Slightly improve algorithm fix
+ − 4554
from 2008-06-19.
+ − 4555
+ − 4556
2008-06-18 Werner Lemberg <wl@gnu.org>
+ − 4557
+ − 4558
* src/type/t1objs.c (T1_Face_Init): Fix change from 2008-03-21.
+ − 4559
Reported by Peter Weilbacher <mozilla@weilbacher.org>.
+ − 4560
+ − 4561
* docs/CHANGES: Updated.
+ − 4562
+ − 4563
2008-06-15 George Williams <gww@silcom.com>
+ − 4564
+ − 4565
* src/otvalid/otvgpos.c (otv_MarkBasePos_validate): Set
+ − 4566
`valid->extra2' to 1. This is undocumented in the OpenType 1.5
+ − 4567
specification.
+ − 4568
+ − 4569
2008-06-15 Werner Lemberg <wl@gnu.org>
+ − 4570
+ − 4571
* src/base/ftcalc.c (FT_MulFix) <asm>: Protect registers correctly
+ − 4572
from clobbering. Patch from Savannah bug report #23556.
+ − 4573
+ − 4574
* docs/CHANGES: Document it.
+ − 4575
+ − 4576
2008-06-10 Werner Lemberg <wl@gnu.org>
+ − 4577
+ − 4578
* autogen.sh: Add option `--install' to libtoolize.
+ − 4579
+ − 4580
2008-06-10 Werner Lemberg <wl@gnu.org>
+ − 4581
+ − 4582
* Version 2.3.6 released.
+ − 4583
=========================
+ − 4584
+ − 4585
+ − 4586
Tag sources with `VER-2-3-6'.
+ − 4587
+ − 4588
* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ − 4589
version number to 2.3.6.
+ − 4590
+ − 4591
* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ − 4592
builds/win32/visualc/freetype.dsp,
+ − 4593
builds/win32/visualc/freetype.vcproj,
+ − 4594
builds/win32/visualce/index.html,
+ − 4595
builds/win32/visualce/freetype.dsp,
+ − 4596
builds/win32/visualce/freetype.vcproj: s/2.3.5/2.3.6/, s/235/236/.
+ − 4597
+ − 4598
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 6.
+ − 4599
+ − 4600
* builds/unix/configure.raw (version_info): Set to 9:17:3.
+ − 4601
+ − 4602
+ − 4603
* include/freetype/internal/psaux.h (T1_BuilderRec): Remove `scale_x'
+ − 4604
and `scale_y'.
+ − 4605
* src/cff/cffgload.h (CFF_Builder): Remove `scale_x' and `scale_y'.
+ − 4606
+ − 4607
+ − 4608
* src/cff/cffparse.c: Include FT_INTERNAL_DEBUG_H.
+ − 4609
* src/cff/cffobjs.h: Include FT_INTERNAL_POSTSCRIPT_HINTS_H.
+ − 4610
+ − 4611
2008-06-10 Werner Lemberg <wl@gnu.org>
+ − 4612
+ − 4613
* src/base/ftobjs.c (open_face): Check `clazz->init_face' and
+ − 4614
`clazz->done_face'.
+ − 4615
+ − 4616
2008-06-09 VaDiM <s_sliva@rambler.ru>
+ − 4617
+ − 4618
Support debugging on WinCE. From Savannah patch #6536; this fixes
+ − 4619
bug #23497.
+ − 4620
+ − 4621
* builds/win32/ftdebug.c (OutputDebugStringEx): New function/macro
+ − 4622
as a replacement for OutputDebugStringA (which WinCE doesn't have).
+ − 4623
Update all callers.
+ − 4624
(ft_debug_init) [_WIN32_CE]: WinCE apparently doesn't have
+ − 4625
environment variables.
+ − 4626
+ − 4627
2008-06-09 Werner Lemberg <wl@gnu.org>
+ − 4628
+ − 4629
* README.CVS: Updated.
+ − 4630
+ − 4631
* builds/unix/configure.raw, builds/unix/freetype-config.in: Updated
+ − 4632
for newer versions of autoconf and friends.
+ − 4633
+ − 4634
2008-06-08 Werner Lemberg <wl@gnu.org>
+ − 4635
+ − 4636
* src/type1/t1parse.h (T1_ParserRec): Make `base_len' and
+ − 4637
`private_len' unsigned.
+ − 4638
+ − 4639
* src/type1/t1parse.c (read_pfb_tag): Make `asize' unsigned and read
+ − 4640
it as such.
+ − 4641
(T1_New_Parser, T1_Get_Private_Dict): Make `size' unsigned.
+ − 4642
+ − 4643
+ − 4644
* src/base/ftstream.c (FT_Stream_Skip): Reject negative values.
+ − 4645
+ − 4646
+ − 4647
* src/type1/t1load.c (parse_blend_design_positions): Check `n_axis'
+ − 4648
for sane value.
+ − 4649
Fix typo.
+ − 4650
+ − 4651
+ − 4652
* src/psaux/psobjs.c (ps_table_add): Check `idx' correctly.
+ − 4653
+ − 4654
+ − 4655
* src/truetype/ttinterp (Ins_SHC): Use BOUNDS() to check
+ − 4656
`last_point'.
+ − 4657
+ − 4658
+ − 4659
* src/sfnt/ttload.c (tt_face_load_max_profile): Limit
+ − 4660
`maxTwilightPoints'.
+ − 4661
+ − 4662
2008-06-06 Werner Lemberg <wl@gnu.org>
+ − 4663
+ − 4664
* src/truetype/ttinterp.c (Ins_IP): Handle case `org_dist == 0'
+ − 4665
correctly. This fixes glyphs `t' and `h' of Arial Narrow at 12ppem.
+ − 4666
+ − 4667
2008-06-03 Werner Lemberg <wl@gnu.org>
+ − 4668
+ − 4669
* include/freetype/ftcache.h (FTC_FaceID): Change type back to
+ − 4670
FT_Pointer. Reported by Ian Britten <britten@caris.com>.
+ − 4671
+ − 4672
2008-06-02 Werner Lemberg <wl@gnu.org>
+ − 4673
+ − 4674
Emit header info for defined FreeType objects in reference.
+ − 4675
+ − 4676
* src/tools/docmaker/content.py (re_header_macro): New regexp.
+ − 4677
(ContentProcessor::__init__): Initialize new dictionary `headers'.
+ − 4678
(DocBlock::__init__): Collect macro header definitions.
+ − 4679
+ − 4680
* src/tools/docmaker/tohtml.py (header_location_header,
+ − 4681
header_location_footer): New strings.
+ − 4682
(HtmlFormatter::__init__): Pass `headers' dictionary.
+ − 4683
(HtmlFormatter::print_html_field): Don't emit paragraph tags.
+ − 4684
(HtmlFormatter::print_html_field_list): Emit empty paragraph.
+ − 4685
(HtmlFormatter::block_enter): Emit header info.
+ − 4686
+ − 4687
2008-06-01 Werner Lemberg <wl@gnu.org>
+ − 4688
+ − 4689
* include/freetype/config/ftheader.h (FT_UNPATENTED_HINTING_H,
+ − 4690
FT_INCREMENTAL_H): Added.
+ − 4691
+ − 4692
2008-05-28 Werner Lemberg <wl@gnu.org>
+ − 4693
+ − 4694
* src/tools/docmaker/sources.py (SourceBlock::__init__): While
+ − 4695
looking for markup tags, return immediately as soon a single one is
+ − 4696
found.
+ − 4697
+ − 4698
2008-05-28 Werner Lemberg <wl@gnu.org>
+ − 4699
+ − 4700
* src/truetype/ttinterp.c (Ins_MD): The MD instruction also uses
+ − 4701
original, unscaled input values. Confirmed by Greg Hitchcock from
+ − 4702
Microsoft.
+ − 4703
+ − 4704
2008-05-27 Werner Lemberg <wl@gnu.org>
+ − 4705
+ − 4706
* src/tools/docmaker/tohtml.py (block_footer_start,
+ − 4707
block_footer_middle): Beautify output.
+ − 4708
+ − 4709
2008-05-25 Werner Lemberg <wl@gnu.org>
+ − 4710
+ − 4711
* src/raster/ftraster.c (fc_black_render): Return 0 when we are
+ − 4712
trying to render into a zero-width/height bitmap, not an error code.
+ − 4713
+ − 4714
* src/truetype/ttgload.c (load_truetype_glyph): Move initialization
+ − 4715
of the graphics state for subglyphs to...
+ − 4716
(TT_Hint_Glyph): This function.
+ − 4717
Hinting instructions for a composite glyph apparently refer to the
+ − 4718
just hinted subglyphs, not the unhinted, unscaled outline. This
+ − 4719
seems to fix Savannah bugs #20973 and (at least partially) #23310.
+ − 4720
+ − 4721
2008-05-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4722
+ − 4723
* src/base/ftmac.c (FT_New_Face_From_Suitcase): Check if valid
+ − 4724
`aface' is returned by FT_New_Face_From_FOND(). The patch was
+ − 4725
proposed by an anonymous reporter of Savannah bug #23204.
+ − 4726
+ − 4727
2008-05-18 Werner Lemberg <wl@gnu.org>
+ − 4728
+ − 4729
* src/pshinter/pshalgo.c (ps_hints_apply): Reset scale values after
+ − 4730
correction for pixel boundary. Without this patch, the effect can
+ − 4731
be cumulative under certain circumstances, making glyphs taller and
+ − 4732
taller after each call. This fixes Savannah bug #19976.
+ − 4733
+ − 4734
2008-05-18 Werner Lemberg <wl@gnu.org>
+ − 4735
+ − 4736
* src/base/ftdebug.c (FT_Message, FT_Panic): Send output to stderr.
+ − 4737
This fixes Savannah bug #23280.
+ − 4738
+ − 4739
* docs/CHANGES: Updated.
+ − 4740
+ − 4741
2008-05-18 David Turner <david@freetype.org>
+ − 4742
+ − 4743
* src/psnames/psmodule.c (ft_wgl_extra_unicodes,
+ − 4744
ft_wgl_extra_glyph_names, ft_wgl_extra_glyph_name_offsets,
+ − 4745
ps_check_wgl_name, ps_check_wgl_unicode): Use `static' to make
+ − 4746
declarations non-global.
+ − 4747
+ − 4748
* src/type1/t1load.c: Add missing comment.
+ − 4749
+ − 4750
2008-05-17 Sam Hocevar <samh>
+ − 4751
+ − 4752
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Handle zero-contour
+ − 4753
glyphs correctly. Patch from Savannah bug #23277.
+ − 4754
+ − 4755
2008-05-16 Werner Lemberg <wl@gnu.org>
+ − 4756
+ − 4757
* docs/CHANGES: Updated.
+ − 4758
+ − 4759
2008-05-16 Sergey Tolstov <stolstov@esri.com>
+ − 4760
+ − 4761
Improve support for WGL4 encoded fonts.
+ − 4762
+ − 4763
* src/psnames/psmodule.c (WGL_EXTRA_LIST_SIZE): New macro.
+ − 4764
(ft_wgl_extra_unicodes, ft_wgl_extra_glyph_names,
+ − 4765
ft_wgl_extra_glyph_name_offsets): New arrays.
+ − 4766
(ps_check_wgl_name, ps_check_wgl_unicode): New functions.
+ − 4767
(ps_unicodes_init): Use them to add additional Unicode mappings.
+ − 4768
+ − 4769
2008-05-15 Werner Lemberg <wl@gnu.org>
+ − 4770
+ − 4771
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ − 4772
<op_closepath>: `closepath' without a path is a no-op, not an error
+ − 4773
(cf. the PS reference manual).
+ − 4774
+ − 4775
Reported by Martin McBride.
+ − 4776
+ − 4777
2008-05-15 Werner Lemberg <wl@gnu.org>
+ − 4778
+ − 4779
* builds/toplevel.mk (CONFIG_GUESS, CONFIG_SUB): Updated.
+ − 4780
+ − 4781
2008-05-15 Werner Lemberg <wl@gnu.org>
+ − 4782
+ − 4783
* src/type1/t1load.c (parse_subrs): Accept fonts with a subrs array
+ − 4784
which contains a single but empty entry. This is technically
+ − 4785
invalid (since it must end with `return'), but...
+ − 4786
+ − 4787
Reported by Martin McBride.
+ − 4788
+ − 4789
2008-05-14 Werner Lemberg <wl@gnu.org>
+ − 4790
+ − 4791
Finish fix of scaling bug of CID-keyed CFF subfonts.
+ − 4792
+ − 4793
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c
+ − 4794
(FT_Matrix_Multiply_Scaled, FT_Vector_Transform_Scaled): New
+ − 4795
functions.
+ − 4796
+ − 4797
* src/cff/cffobjs.h (CFF_Internal): New struct. It is used to
+ − 4798
provide global hinting data for both the top-font and all subfonts
+ − 4799
(with proper scaling).
+ − 4800
+ − 4801
* src/cff/cffobjs.c (cff_make_private_dict): New function, using
+ − 4802
code from `cff_size_init'.
+ − 4803
(cff_size_init, cff_size_done, cff_size_select, cff_size_request):
+ − 4804
Use CFF_Internal and handle subfonts.
+ − 4805
(cff_face_init): Handle top-dict and subfont matrices correctly;
+ − 4806
apply some heuristic in case of unlikely matrix concatenation
+ − 4807
results. This has been discussed with people from Adobe (thanks
+ − 4808
goes mainly to David Lemon) who confirm that the CFF specs are fuzzy
+ − 4809
and not correct.
+ − 4810
+ − 4811
* src/cff/cffgload.h (cff_decoder_prepare): Add `size' argument.
+ − 4812
+ − 4813
* src/cff/cffgload.c (cff_builder_init): Updated.
+ − 4814
(cff_decoder_prepare): Handle hints globals for subfonts.
+ − 4815
Update all callers.
+ − 4816
(cff_slot_load): Handling scaling of subfonts properly.
+ − 4817
+ − 4818
* src/cff/cffparse.c (cff_parse_fixed_dynamic): New function.
+ − 4819
(cff_parse_font_matrix): Use it.
+ − 4820
+ − 4821
* src/cff/cfftypes.h (CFF_FontDictRec): Make `units_per_em'
+ − 4822
FT_ULong.
+ − 4823
+ − 4824
* docs/CHANGES: Document it.
+ − 4825
+ − 4826
2008-05-13 Werner Lemberg <wl@gnu.org>
+ − 4827
+ − 4828
* src/winfonts/winfnt.c (fnt_face_get_dll_font, FNT_Face_Init):
+ − 4829
Handle case `face_index < 0'.
+ − 4830
* docs/CHANGES: Document it.
+ − 4831
+ − 4832
2008-05-04 Werner Lemberg <wl@gnu.org>
+ − 4833
+ − 4834
First steps to fix the scaling bug of CID-keyed CFF subfonts,
+ − 4835
reported by Ding Li on 2008/03/28 on freetype-devel.
+ − 4836
+ − 4837
* src/base/cff/cffparse.c (power_tens): New array.
+ − 4838
(cff_parse_real): Rewritten to introduce a fourth parameter which
+ − 4839
returns the `scaling' of the real number so that we have no
+ − 4840
precision loss. This is not used yet.
+ − 4841
Update all callers.
+ − 4842
(cff_parse_fixed_thousand): Replace with...
+ − 4843
(cff_parse_fixed_scaled): This function. Update all callers.
+ − 4844
+ − 4845
2008-05-03 Werner Lemberg <wl@gnu.org>
+ − 4846
+ − 4847
* src/base/ftobjs.c (FT_Load_Glyph): Call the auto-hinter without
+ − 4848
transformation since it recursively calls FT_Load_Glyph. This fixes
+ − 4849
Savannah bug #23143.
+ − 4850
+ − 4851
2008-04-26 Werner Lemberg <wl@gnu.org>
+ − 4852
+ − 4853
* include/freetype/internal/psaux.h (T1_BuilderRec): Mark `scale_x'
+ − 4854
and `scale_y' as obsolete since they aren't used.
+ − 4855
* src/psaux/psobjs.c (t1_builder_init): Updated.
+ − 4856
+ − 4857
* src/cff/cffgload.h (CFF_Builder): Mark `scale_x' and `scale_y' as
+ − 4858
obsolete since they aren't used.
+ − 4859
* src/cff/cffgload.c (cff_builder_init): Updated.
+ − 4860
+ − 4861
2008-04-14 Werner Lemberg <wl@gnu.org>
+ − 4862
+ − 4863
* src/pcf/pcfdrivr.c (PCF_Face_Init): Protect call to
+ − 4864
`FT_Stream_OpenLZW' with `FT_CONFIG_OPTION_USE_LZ'. From Savannah
+ − 4865
bug #22909.
+ − 4866
+ − 4867
2008-04-13 Werner Lemberg <wl@gnu.org>
+ − 4868
+ − 4869
* src/psaux/psconv.c (PS_Conv_ToFixed): Increase precision if
+ − 4870
integer part is zero.
+ − 4871
+ − 4872
2008-04-01 Werner Lemberg <wl@gnu.org>
+ − 4873
+ − 4874
Fix compilation with g++ 4.1 (with both `single' and `multi'
+ − 4875
targets).
+ − 4876
+ − 4877
* src/base/ftobjs.c (FT_Open_Face): Don't define a variable in block
+ − 4878
which is crossed by a `goto'.
+ − 4879
+ − 4880
* src/otvalid/otvalid.h (otv_MATH_validate): Add prototype.
+ − 4881
+ − 4882
2008-03-31 Werner Lemberg <wl@gnu.org>
+ − 4883
+ − 4884
Fix support for subsetted CID-keyed CFFs.
+ − 4885
+ − 4886
* include/freetype/freetype.h (FT_FACE_FLAG_CID_KEYED,
+ − 4887
FT_IS_CID_KEYED): New macros.
+ − 4888
+ − 4889
* src/cff/cffobjs.c (cff_face_init): Set number of glyphs to the
+ − 4890
maximum CID value in CID-keyed CFFs.
+ − 4891
Handle FT_FACE_FLAG_CID_KEYED flag.
+ − 4892
+ − 4893
* docs/CHANGES: Document it.
+ − 4894
+ − 4895
+ − 4896
Fix CFF font matrix calculation and improve precision.
+ − 4897
+ − 4898
* src/cff/cffparse.c (cff_parse_real): Increase precision if integer
+ − 4899
part is zero.
+ − 4900
(cff_parse_font_matrix): Simplify computation of `units_per_em';
+ − 4901
this prevents overflow also.
+ − 4902
+ − 4903
+ − 4904
Support FT_Get_CID_Registry_Ordering_Supplement for PS CID fonts.
+ − 4905
+ − 4906
* src/cid/cidriver.c: Include FT_SERVICE_CID_H.
+ − 4907
(cid_get_ros): New function.
+ − 4908
(cid_service_cid_info): New service structure.
+ − 4909
(cid_services): Register it.
+ − 4910
+ − 4911
2008-03-23 Werner Lemberg <wl@gnu.org>
+ − 4912
+ − 4913
Adjustments for Visual C++ 8.0, as reported by Rainer Deyke.
+ − 4914
+ − 4915
* builds/compiler/visualc.mk (CFLAGS): Remove /W5.
+ − 4916
(ANSIFLAGS): Add _CRT_SECURE_NO_DEPRECATE.
+ − 4917
+ − 4918
2008-03-21 Laurence Darby <ldarby>
+ − 4919
+ − 4920
* src/type1/t1objs.c (T1_Face_Init): Use `/Weight'. Patch from
+ − 4921
Savannah bug #22675.
+ − 4922
+ − 4923
2008-03-13 Derek Clegg <dclegg@apple.com>
+ − 4924
+ − 4925
* src/truetype/ttgxvar.c (TT_Get_MM_Var): Fix named style loop.
+ − 4926
Patch from Savannah bug #22541.
+ − 4927
+ − 4928
2008-03-03 Masatoshi Kimura <VYV03354@nifty.ne.jp>
+ − 4929
+ − 4930
* src/sfnt/ttcmap.c (tt_cmap14_char_map_nondef_binary,
+ − 4931
tt_cmap14_find_variant): Return correct value.
+ − 4932
(tt_cmap14_variant_chars): Fix check for `di'.
+ − 4933
+ − 4934
2008-02-29 Wermer Lemberg <wl@gnu.org>
+ − 4935
+ − 4936
* docs/CHANGES: Updated.
+ − 4937
+ − 4938
2008-02-29 Wolf
+ − 4939
+ − 4940
Add build support for symbian platform. From Savannah bug #22440.
+ − 4941
+ − 4942
* builds/symbian/*: New files.
+ − 4943
+ − 4944
2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4945
+ − 4946
* src/base/ftmac.c (parse_fond): Fix a bug of PostScript font name
+ − 4947
synthesis. For any face of a specified FOND, always the name for
+ − 4948
the first face was used. Except of a FOND that refers multiple
+ − 4949
Type1 font files, wrong synthesized font names are not used at all,
+ − 4950
so this is an invisible bug. A few limit checks are added too.
+ − 4951
+ − 4952
* builds/mac/ftmac.c: Ditto.
+ − 4953
+ − 4954
2008-02-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4955
+ − 4956
* builds/unix/configure.raw: Split compiler option to link Carbon
+ − 4957
frameworks to one option for CoreServices framework and another
+ − 4958
option for ApplicationServices framework. The split options can be
+ − 4959
managed by GNU libtool to avoid unrequired duplication when FreeType
+ − 4960
is linked with other applications. Suggested by Daniel Macks,
+ − 4961
Savannah bug #22366.
+ − 4962
+ − 4963
2008-02-18 Victor Stinner <victor.stinner@haypocalc.com>
+ − 4964
+ − 4965
* src/truetype/ttinterp.c (Ins_IUP): Check number of points. Fix
+ − 4966
from Savannah bug #22356.
+ − 4967
+ − 4968
2008-02-17 Jonathan Blow <jon@number-none.com>
+ − 4969
+ − 4970
* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
+ − 4971
Check for valid callback pointers.
+ − 4972
+ − 4973
2008-02-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4974
+ − 4975
* src/base/ftmac.c (FT_New_Face_From_SFNT): Check the sfnt resource
+ − 4976
handle by its value instead of ResError(), fix provided by Deron
+ − 4977
Kazmaier. According to the Resource Manager Reference,
+ − 4978
GetResource(), Get1Resource(), GetNamedResource(),
+ − 4979
Get1NamedResource() and RGetResource() set noErr but return NULL
+ − 4980
handle when they can not find the requested resource. These
+ − 4981
functions never return undefined values, so it is sufficient to
+ − 4982
check if the handle is not NULL.
+ − 4983
+ − 4984
* builds/mac/ftmac.c (FT_New_Face_From_SFNT): Ditto.
+ − 4985
+ − 4986
2008-02-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 4987
+ − 4988
* src/base/ftbase.c: <ftmac.c> is replaced by "ftmac.c" as other
+ − 4989
inclusion styles. Now it always includes src/base/ftmac.c;
+ − 4990
builds/mac/ftmac.c is never included in any configuration.
+ − 4991
+ − 4992
* builds/unix/configure.raw: Print warning if configure is executed
+ − 4993
with options to specify Carbon functionalities explicitly.
+ − 4994
+ − 4995
* docs/INSTALL.MAC: Note that legacy builds/mac/ftmac.c is not
+ − 4996
included automatically and manual replacement is required.
+ − 4997
+ − 4998
2008-02-11 Werner Lemberg <wl@gnu.org>
+ − 4999
+ − 5000
* builds/modules.mk (CLOSE_MODULE, REMOVE_MODULE), builds/detect.mk
+ − 5001
(dos_setup), builds/freetype.mk (clean_project_dos,
+ − 5002
distclean_project_dos): Don't use \ but $(SEP). Reported by Duncan
+ − 5003
Murdoch.
+ − 5004
+ − 5005
2008-01-18 Sylvain Pasche <sylvain.pasche@gmail.com>
+ − 5006
+ − 5007
* src/base/ftlcdfil.c (_ft_lcd_filter_legacy): Updated comment to
+ − 5008
mention intra-pixel algorithm.
+ − 5009
+ − 5010
* include/freetype/freetype.h (FT_Render_Mode): Mention that
+ − 5011
FT_Library_SetLcdFilter can be used to reduce fringes.
+ − 5012
+ − 5013
2008-01-16 Werner Lemberg <wl@gnu.org>
+ − 5014
+ − 5015
* src/raster/ftraster.c (ft_black_render): Check `outline' before
+ − 5016
using it. Reported by Allan Yang.
+ − 5017
+ − 5018
2008-01-12 Werner Lemberg <wl@gnu.org>
+ − 5019
+ − 5020
* src/raster/ftraster.c (FT_CONFIG_OPTION_5_GRAY_LEVELS): Remove.
+ − 5021
+ − 5022
2008-01-12 Allan Yang, Jian Hua - SH <Allan.Yang@fmc.fujitsu.com>
+ − 5023
+ − 5024
* src/raster/ftraster.c (ft_black_init)
+ − 5025
[FT_RASTER_OPTION_ANTI_ALIASING]: Fix compilation.
+ − 5026
+ − 5027
2008-01-10 Werner Lemberg <wl@gnu.org>
+ − 5028
+ − 5029
* src/truetype/ttgload.c (load_truetype_glyph): Handle the case
+ − 5030
where the number of contours in a simple glyph is zero (and which
+ − 5031
does contain an entry in the `glyf' table). This fixes Savannah bug
+ − 5032
#21990.
+ − 5033
+ − 5034
2008-01-04 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5035
+ − 5036
Formatting suggested by Sean McBride.
+ − 5037
+ − 5038
* builds/mac/ftmac.c: Formatting (tab expanded).
+ − 5039
* src/autofit/afindic.c: Ditto.
+ − 5040
* src/base/ftcid.c: Ditto.
+ − 5041
* src/base/ftmac.c: Ditto.
+ − 5042
+ − 5043
2007-12-30 Werner Lemberg <wl@gnu.org>
+ − 5044
+ − 5045
* src/smooth/ftgrays.c (gray_raster_render): Check `outline'
+ − 5046
correctly.
+ − 5047
+ − 5048
2007-12-21 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5049
+ − 5050
Improvement of POSIX resource-fork accessor to load unsorted
+ − 5051
references in a resource. In HelveLTMM (resource-fork PostScript
+ − 5052
Type1 font bundled with Mac OS X since 10.3.x), the appearance order
+ − 5053
of PFB chunks is not sorted; sorting the chunks by reference IDs is
+ − 5054
required.
+ − 5055
+ − 5056
* include/freetype/internal/ftrfork.h (FT_RFork_Ref): New structure
+ − 5057
type to store a pair of reference ID and offset to the chunk.
+ − 5058
+ − 5059
* src/base/ftrfork.c (ft_raccess_sort_ref_by_id): New function to
+ − 5060
sort FT_RFork_Ref by their reference IDs.
+ − 5061
+ − 5062
(FT_Raccess_Get_DataOffsets): Returns an array of offsets that is
+ − 5063
sorted by reference ID.
+ − 5064
+ − 5065
2007-12-14 Werner Lemberg <wl@gnu.org>
+ − 5066
+ − 5067
* src/cff/cffparse.c (cff_parse_real): Don't apply `power_ten'
+ − 5068
division too early; otherwise the most significant digit(s) of the
+ − 5069
final result are lost as the value is truncated to an integer. This
+ − 5070
fixes Savannah bug #21794 (where the patch has been posted too).
+ − 5071
+ − 5072
2007-12-06 Fix <4d876b82@gmail.com>
+ − 5073
+ − 5074
Pass options from one configure script to another as-is (not
+ − 5075
expanded). This is needed for options like
+ − 5076
--includedir='${prefix}/include'.
+ − 5077
+ − 5078
* builds/unix/detect.mk, configure: Prevent argument expansion in
+ − 5079
call to the (real) `configure' script.
+ − 5080
+ − 5081
2007-12-06 Werner Lemberg <wl@gnu.org>
+ − 5082
+ − 5083
* src/truetype/ttgload.c (load_truetype_glyph): Fix compilation if
+ − 5084
TT_USE_BYTECODE_INTERPRETER isn't defined.
+ − 5085
+ − 5086
2007-12-06 Werner Lemberg <wl@gnu.org>
+ − 5087
+ − 5088
There exist CFFs which contain opcodes for the Type 1 operators
+ − 5089
`hsbw' and `closepath' which are both invalid in Type 2 charstrings.
+ − 5090
However, it doesn't harm to support them.
+ − 5091
+ − 5092
* src/cff/cffgload.c (CFF_Operator): Add `cff_op_hsbw' and
+ − 5093
`cff_op_closepath.'
+ − 5094
(cff_argument_counts): Ditto.
+ − 5095
+ − 5096
(cff_decoder_parse_charstrings): Handle Type 1 opcodes 9 (closepath)
+ − 5097
and 13 (hsbw) which are invalid in Type 2 charstrings.
+ − 5098
+ − 5099
2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5100
+ − 5101
* src/base/ftrfork.c (raccess_guess_darwin_newvfs): New function to
+ − 5102
support new pathname syntax `..namedfork/rsrc' to access a resource
+ − 5103
fork on Mac OS X. The legacy syntax `/rsrc' does not work on
+ − 5104
case-sensitive HFS+.
+ − 5105
(raccess_guess_darwin_hfsplus): Fix a bug in the calculation of
+ − 5106
buffer size to store a pathname.
+ − 5107
* include/freetype/internal/ftrfork.h: Increment the number of
+ − 5108
resource fork guessing rule.
+ − 5109
+ − 5110
2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5111
+ − 5112
* builds/unix/configure.raw: Improve the compile tests to search
+ − 5113
Carbon functions.
+ − 5114
* builds/mac/ftmac.c: Import fixes for Carbon incompatibilities
+ − 5115
proposed by Sean McBride from src/base/ftmac.c (see 2007-11-16).
+ − 5116
+ − 5117
2007-12-06 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5118
+ − 5119
The documents and comments for Mac OS X are improved by Sean
+ − 5120
McBride.
+ − 5121
+ − 5122
* src/base/ftmac.c: Fix a comment.
+ − 5123
* include/freetype/ftmac.h: Ditto.
+ − 5124
* docs/INSTALL.MAC: Improve English and add comment on lowest
+ − 5125
system version specified by MACOSX_DEPLOYMENT_TARGET.
+ − 5126
+ − 5127
2007-12-04 Werner Lemberg <wl@gnu.org>
+ − 5128
+ − 5129
* src/cff/cffload.c (cff_subfont_load): Don't use logical OR to
+ − 5130
concatenate error codes.
+ − 5131
* src/sfnt/ttsbit.c (Load_SBit_Range): Ditto.
+ − 5132
+ − 5133
2007-12-04 Graham Asher <graham.asher@btinternet.com>
+ − 5134
+ − 5135
* src/truetype/ttobjs.c (tt_face_init): Don't use logical OR to
+ − 5136
concatenate error codes.
+ − 5137
+ − 5138
2007-12-04 Sean McBride <sean@rogue-research.com>
+ − 5139
+ − 5140
* src/pfr/pfrgload.c (pfr_glyph_load_compound): Remove compiler
+ − 5141
warning.
+ − 5142
+ − 5143
2007-11-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5144
+ − 5145
Fix MacOS legacy font support by Masatake Yamato on Mac OS X. It is
+ − 5146
not working since 2.3.5. In FT_Open_New(), if FT_New_Stream()
+ − 5147
cannot mmap() the specified file and cannot seek to head of the
+ − 5148
specified file, it returns NULL stream and FT_Open_New() returns the
+ − 5149
error immediately. On MacOS, most legacy MacOS fonts fall into such
+ − 5150
a scenario because their data forks are zero-sized and cannot be
+ − 5151
sought. To proceed to guessing of resource fork fonts, the
+ − 5152
functions for legacy MacOS font must properly handle the NULL stream
+ − 5153
returned by FT_New_Stream().
+ − 5154
+ − 5155
* src/base/ftobjs.c (IsMacBinary): Return error
+ − 5156
FT_Err_Invalid_Stream_Operation immediately when NULL stream is
+ − 5157
passed.
+ − 5158
(FT_Open_Face): Even when FT_New_Stream() returns an error, proceed
+ − 5159
to fallback. Originally, legacy MacOS font is tested in the cases
+ − 5160
of FT_Err_Invalid_Stream_Operation (occurs when data fork is empty)
+ − 5161
or FT_Err_Unknown_File_Format (occurs when AppleSingle header or
+ − 5162
.dfont header is combined). Now the case of
+ − 5163
FT_Err_Cannot_Open_Stream is included.
+ − 5164
+ − 5165
* src/base/ftrfork.c (FT_Raccess_Guess): When passed stream is NULL,
+ − 5166
skip FT_Stream_Seek(), which seeks to the head of stream, and
+ − 5167
proceed to unit testing of raccess_guess_XXX(). FT_Stream_Seek()
+ − 5168
for a NULL stream causes a Bus error on Mac OS X.
+ − 5169
(raccess_guess_apple_double): Return FT_Err_Cannot_Open_Stream
+ − 5170
immediately if passed stream is NULL.
+ − 5171
(raccess_guess_apple_single): Ditto.
+ − 5172
+ − 5173
2007-11-16 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5174
+ − 5175
Fix for Carbon incompatibilities since Mac OS X 10.5,
+ − 5176
proposed by Sean McBride.
+ − 5177
+ − 5178
* doc/INSTALL.MAC: Comment on MACOSX_DEPLOYMENT_TARGET.
+ − 5179
+ − 5180
* include/freetype/ftmac.h: Deprecate FT_New_Face_From_FOND and
+ − 5181
FT_GetFilePath_From_Mac_ATS_Name. Since Mac OS X 10.5, calling
+ − 5182
Carbon functions from a forked process is classified as unsafe
+ − 5183
by Apple. All Carbon-dependent functions should be deprecated.
+ − 5184
+ − 5185
* src/base/ftmac.c: Use essential header files
+ − 5186
<CoreServices/CoreServices.h> and
+ − 5187
<ApplicationServices/ApplicationServices.h> instead of
+ − 5188
all-in-one header file <Carbon/Carbon.h>.
+ − 5189
+ − 5190
Include <sys/syslimits.h> and replace HFS_MAXPATHLEN by Apple
+ − 5191
genuine macro PATH_MAX.
+ − 5192
+ − 5193
Add fallback macro for kATSOptionFlagsUnRestrictedScope which
+ − 5194
is not found in Mac OS X 10.0.
+ − 5195
+ − 5196
Multi-character constants ('POST', 'sfnt' etc) are replaced by
+ − 5197
64bit constants calculated by FT_MAKE_TAG() macro.
+ − 5198
+ − 5199
For the index in the segment of resource fork, new portable
+ − 5200
type ResourceIndex is introduced for better compatibility.
+ − 5201
This type is since Mac OS X 10.5, so it is defined as short
+ − 5202
when built on older platforms.
+ − 5203
+ − 5204
(FT_ATSFontGetFileReference): If build target is only the systems
+ − 5205
10.5 and newer, it calls Apple genuine ATSFontGetFileReference().
+ − 5206
+ − 5207
(FT_GetFile_From_Mac_ATS_Name): Return an error if system is 10.5
+ − 5208
and newer or 64bit platform, because legacy type FSSpec type is
+ − 5209
removed completely.
+ − 5210
+ − 5211
(FT_New_Face_From_FSSpec): Ditto.
+ − 5212
+ − 5213
2007-11-01 Werner Lemberg <wl@gnu.org>
+ − 5214
+ − 5215
* src/sfnt/sfobjs.c (sfnt_done_face): Check `sfnt' everywhere. This
+ − 5216
fixes Savannah bug #21485.
+ − 5217
+ − 5218
2007-10-29 Daniel Svoboda <dasvo@planeta@cz>
+ − 5219
+ − 5220
* src/winfonts/winfnt.c (FNT_Face_Init): Check first that the driver
+ − 5221
can handle the font at all, then check `face_index'. Otherwise, the
+ − 5222
driver might return the wrong error code. This fixes Savannah bug
+ − 5223
#21468.
+ − 5224
+ − 5225
2007-10-21 Werner Lemberg <wl@gnu.org>
+ − 5226
+ − 5227
* src/sfnt/sfobjs.c (sfnt_load_face): Support bit 9 and prepare
+ − 5228
support for bit 8 of the `fsSelection' field in the `OS/2' table.
+ − 5229
MS is already using this; hopefully, this becomes part of OpenType
+ − 5230
1.5.
+ − 5231
Prepare also support for `name' IDs 21 (WWS_FAMILY) and 22
+ − 5232
(WWS_SUBFAMILY).
+ − 5233
+ − 5234
2007-10-20 Werner Lemberg <wl@gnu.org>
+ − 5235
+ − 5236
* src/tools/docmaker/tohtml.py (html_header_2): Fix typo.
+ − 5237
Add `td.left' element to CSS.
+ − 5238
(toc_section_enter): Use it.
+ − 5239
+ − 5240
2007-10-18 David Turner <david@freetype.org>
+ − 5241
+ − 5242
* include/freetype/freetype.h, src/base/ftobjs.c: Rename API
+ − 5243
functions related to cmap type 14 support to the
+ − 5244
`FT_Object_ActionName' scheme:
+ − 5245
+ − 5246
FT_Get_Char_Variant_index -> FT_Face_GetCharVariantIndex
+ − 5247
FT_Get_Char_Variant_IsDefault -> FT_Face_GetCharVariantIsDefault
+ − 5248
FT_Get_Variant_Selectors -> FT_Face_GetVariantSelectors
+ − 5249
FT_Get_Variants_Of_Char -> FT_Face_GetVariantsOfChar
+ − 5250
FT_Get_Chars_Of_Variant -> FT_Face_GetCharsOfVariant
+ − 5251
+ − 5252
Update documentation accordingly.
+ − 5253
+ − 5254
* src/sfnt/ttcmap.c: Stronger cmap 14 validation.
+ − 5255
Make the code a little more consistent with FreeType coding
+ − 5256
conventions and modify the cmap14 functions that returned a newly
+ − 5257
allocated array to use a persistent vector from the TT_CMap14 object
+ − 5258
instead.
+ − 5259
+ − 5260
(TT_CMap14Rec): Provide array and auxiliary data for result.
+ − 5261
(tt_cmap14_done, tt_cmap14_ensure): New functions.
+ − 5262
+ − 5263
(tt_cmap14_init, tt_cmap14_validate, tt_cmap14_char_map_def_binary,
+ − 5264
tt_cmap14_char_map_nondef_binary, tt_cmap14_find_variant,
+ − 5265
tt_cmap14_char_var_index, tt_cmap14_variants,
+ − 5266
tt_cmap14_char_variants, tt_cmap14_def_char_count,
+ − 5267
tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+ − 5268
tt_cmap14_variant_chars, tt_cmap14_class_rec): Updated and improved.
+ − 5269
+ − 5270
2007-10-15 George Williams <gww@silcom.com>
+ − 5271
+ − 5272
Add support for cmap type 14.
+ − 5273
+ − 5274
* devel/ftoption.h, include/freetype/config/ftoption.h
+ − 5275
(TT_CONFIG_CMAP_FORMAT_14): New macro.
+ − 5276
+ − 5277
* include/freetype/internal/ftobjs.h (FT_CMap_CharVarIndexFunc,
+ − 5278
FT_CMap_CharVarIsDefaultFunc, FT_CMap_VariantListFunc,
+ − 5279
FT_CMap_CharVariantListFunc, FT_CMap_VariantCharListFunc): New
+ − 5280
support function prototypes.
+ − 5281
(FT_CMap_ClassRec): Add them.
+ − 5282
Update all users.
+ − 5283
+ − 5284
* include/freetype/ttnameid.h (TT_APPLE_ID_VARIANT_SELECTOR): New
+ − 5285
macro.
+ − 5286
+ − 5287
* include/freetype/freetype.h (FT_Get_Char_Variant_Index,
+ − 5288
FT_Get_Char_Variant_IsDefault, FT_Get_Variant_Selectors,
+ − 5289
FT_Get_Variants_Of_Char, FT_Get_Chars_Of_Variant): New API
+ − 5290
functions.
+ − 5291
+ − 5292
* src/base/ftobjs.c (find_variant_selector_charmap): New auxiliary
+ − 5293
function.
+ − 5294
(FT_Set_Charmap): Disallow cmaps of type 14.
+ − 5295
(FT_Get_Char_Variant_Index, FT_Get_Char_Variant_IsDefault,
+ − 5296
FT_Get_Variant_Selectors, FT_Get_Variants_Of_Char,
+ − 5297
FT_Get_Chars_Of_Variant): New API functions.
+ − 5298
+ − 5299
* src/sfnt/ttcmap.c (TT_PEEK_UINT24, TT_NEXT_UINT24): New macros.
+ − 5300
+ − 5301
(TT_CMap14Rec, tt_cmap14_init, tt_cmap14_validate,
+ − 5302
tt_cmap14_char_index, tt_cmap14_char_next, tt_cmap14_get_info,
+ − 5303
tt_cmap14_char_map_def_binary, tt_cmap14_char_map_nondef_binary,
+ − 5304
tt_cmap14_find_variant, tt_cmap14_char_var_index,
+ − 5305
tt_cmap14_char_var_isdefault, tt_cmap14_variants,
+ − 5306
tt_cmap14_char_variants, tt_cmap14_def_char_count,
+ − 5307
tt_cmap14_get_def_chars, tt_cmap14_get_nondef_chars,
+ − 5308
tt_cmap14_variant_chars, tt_cmap14_class_rec): New functions and
+ − 5309
structures for cmap 14 support.
+ − 5310
(tt_cmap_classes): Register tt_cmap14_class_rec.
+ − 5311
(tt_face_build_cmaps): One more error message.
+ − 5312
+ − 5313
* docs/CHANGES: Mention cmap 14 support.
+ − 5314
+ − 5315
2007-10-01 Werner Lemberg <wl@gnu.org>
+ − 5316
+ − 5317
* src/base/ftobjs.c (find_unicode_charmap): If search for a UCS-4
+ − 5318
charmap fails, do the loop again while searching a UCS-2 charmap.
+ − 5319
This favours MS charmaps over Apple ones.
+ − 5320
+ − 5321
2007-08-29 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5322
+ − 5323
* src/base/ftmac.c: Introduction of abstract `short' data types,
+ − 5324
ResFileRefNum and ResID. These types were introduced for Copland,
+ − 5325
then backported to MPW. The variables exchanged with FileManager
+ − 5326
QuickDraw frameworks are redefined by these data types. Patch was
+ − 5327
proposed by Sean McBride.
+ − 5328
* builds/mac/ftmac.c: Ditto.
+ − 5329
+ − 5330
2007-08-18 Werner Lemberg <wl@gnu.org>
+ − 5331
+ − 5332
* src/otvalid/otvcmmn.c (otv_x_y_ux_sy): Skip context glyphs. Found
+ − 5333
by Imran Yousaf. Fixes Savannah bug #20773.
+ − 5334
+ − 5335
(otv_Lookup_validate): Correct handling of LookupType. Found by
+ − 5336
Imran Yousaf. Fixes Savannah bug #20782.
+ − 5337
+ − 5338
2007-08-17 George Williams <gww@silcom.com>
+ − 5339
+ − 5340
* src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix handling of
+ − 5341
SingleSubstFormat1.
+ − 5342
+ − 5343
2007-08-11 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5344
+ − 5345
* builds/unix/configure.raw: Fix a bug which sets CC_BUILD by
+ − 5346
${build-gcc} (unchecked) instead of by ${build}-gcc (checked).
+ − 5347
Found by Ryan Hill.
+ − 5348
+ − 5349
2007-08-11 George Williams <gww@silcom.com>
+ − 5350
+ − 5351
* src/otvalid/otvcommn.c, src/otvalid/otvcommn.h
+ − 5352
(otv_Coverage_validate): Add fourth argument to pass an expected
+ − 5353
count value. Update all users.
+ − 5354
Check glyph IDs.
+ − 5355
(otv_ClassDef_validate): Check `StartGlyph'.
+ − 5356
+ − 5357
* src/otvalid/otvgsub.c (otv_SingleSubst_validate): More glyph ID
+ − 5358
checks.
+ − 5359
+ − 5360
* src/otvalid/otvmath.c (otv_MathConstants_validate): There are only
+ − 5361
56 constants.
+ − 5362
(otv_GlyphAssembly_validate, otv_MathGlyphConstruction_validate):
+ − 5363
Check glyph IDs.
+ − 5364
+ − 5365
2007-08-08 Werner Lemberg <wl@gnu.org>
+ − 5366
+ − 5367
* src/otvalid/otvbase.c, src/otvalid/otvcommn.c,
+ − 5368
src/otvalid/otvgdef.c, src/otvalid/otvgpos.c, src/otvalid/otvgsub.c,
+ − 5369
src/otvalid/otvjstf.c: s/FT_INVALID_DATA/FT_INVALID_FORMAT/ where
+ − 5370
appropriate. Reported by George.
+ − 5371
+ − 5372
* include/freetype/internal/fttrace.h: Define `trace_otvmath'.
+ − 5373
+ − 5374
* src/otvalid/rules.mk (OTV_DRV_SRC): Add otvmath.c.
+ − 5375
+ − 5376
* docs/CHANGES: Updated.
+ − 5377
+ − 5378
2007-08-08 George Williams <gww@silcom.com>
+ − 5379
+ − 5380
Add `MATH' validating support to otvalid module.
+ − 5381
+ − 5382
* include/freetype/tttags.h (TTAG_MATH): New macro.
+ − 5383
* include/freetype/ftotval.h (FT_VALIDATE_MATH): New macro.
+ − 5384
(FT_VALIDATE_OT): Updated.
+ − 5385
+ − 5386
* src/otvalid/otmath.c: New file.
+ − 5387
+ − 5388
* src/otvalid/otvalid.c: Include otvmath.c.
+ − 5389
* src/otvalid/otvmod.c (otv_validate): Handle `MATH' table.
+ − 5390
+ − 5391
2007-08-04 Werner Lemberg <wl@gnu.org>
+ − 5392
+ − 5393
* builds/unix/configure.raw: Add call to AC_LIBTOOL_WIN32_DLL.
+ − 5394
Fixes Savannah bug #20686.
+ − 5395
+ − 5396
2007-08-03 Werner Lemberg <wl@gnu.org>
+ − 5397
+ − 5398
* src/psnames/psmodule.c: Fix usage of
+ − 5399
FT_CONFIG_OPTION_POSTSCRIPT_NAMES macro. Reported by Graham Asher.
+ − 5400
+ − 5401
2007-07-31 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5402
+ − 5403
* src/base/ftmac.c (open_face_from_buffer): The argument
+ − 5404
`driver_name' is typed as `const char*' to match with the
+ − 5405
callers in FT_New_Face_From_LWFN and FT_New_Face_From_SFNT.
+ − 5406
This is same with open_face_from_buffer in src/base/ftobjs.c.
+ − 5407
Found and fixed by Sean McBride.
+ − 5408
+ − 5409
2007-07-28 Werner Lemberg <wl@gnu.org>
+ − 5410
+ − 5411
* src/raster/ftraster.c (count_table): Make it conditional.
+ − 5412
* src/base/ftobjs.c (FT_New_Library): Check FT_RENDER_POOL_SIZE with
+ − 5413
a preprocessor statement.
+ − 5414
+ − 5415
2007-07-27 Werner Lemberg <wl@gnu.org>
+ − 5416
+ − 5417
* src/base/ftoutln.c (FT_Outline_Translate): Check `outline' before
+ − 5418
first usage. From Savannah patch #6115.
+ − 5419
+ − 5420
2007-07-16 Werner Lemberg <wl@gnu.org>
+ − 5421
+ − 5422
* docs/CHANGES: Updated.
+ − 5423
+ − 5424
2007-07-16 Derek Clegg <dclegg@apple.com>
+ − 5425
+ − 5426
Add new service for getting the ROS from a CID font.
+ − 5427
+ − 5428
* include/freetype/config/ftheader.h (FT_CID_H): New macro.
+ − 5429
* include/freetype/ftcid.h: New file.
+ − 5430
+ − 5431
* include/freetype/internal/ftserv.h (FT_SERVIVE_CID_H): New macro.
+ − 5432
* include/freetype/internal/services/svcid.h: New file.
+ − 5433
+ − 5434
* src/base/ftcid.c: New file.
+ − 5435
+ − 5436
* src/cff/cffdrivr.c: Include FT_SERVICE_CID_H.
+ − 5437
(cff_get_ros): New function.
+ − 5438
(cff_service_cid_info): New service structure.
+ − 5439
(cff_services): Register it.
+ − 5440
+ − 5441
* src/cff/cffload.c (cff_font_done): Free registry and ordering.
+ − 5442
+ − 5443
* src/cff/cfftypes.h (CFF_FontRec): Add `registry' and `ordering'.
+ − 5444
+ − 5445
* modules.cfg (BASE_EXTENSIONS): Add ftcid.c.
+ − 5446
+ − 5447
2007-07-11 Derek Clegg <dclegg@apple.com>
+ − 5448
+ − 5449
Add support for postscript name service to CFF driver.
+ − 5450
+ − 5451
* src/cff/cffdrivr.c: Include FT_SERVICE_POSTSCRIPT_NAME_H.
+ − 5452
(cff_get_ps_name): New function.
+ − 5453
(cff_service_ps_name): New service structure.
+ − 5454
(cff_services): Register it.
+ − 5455
+ − 5456
2007-07-07 Werner Lemberg <wl@gnu.org>
+ − 5457
+ − 5458
* src/base/ftglyph.c (FT_Glyph_Copy): Fix initialization of
+ − 5459
`target'. Reported by Sean McBride.
+ − 5460
+ − 5461
2007-07-06 Werner Lemberg <wl@gnu.org>
+ − 5462
+ − 5463
* src/pfr/pfrcmap.c: Include pfrerror.h.
+ − 5464
+ − 5465
* src/autofit/afindic.c: Add some external declarations to pacify
+ − 5466
`make multi' compilation.
+ − 5467
+ − 5468
* src/cid/cidgload.c (cid_load_glyph): Pacify compiler.
+ − 5469
+ − 5470
* src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c
+ − 5471
(cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP),
+ − 5472
src/autofit/aflatin.c (af_latin_hints_compute_edges),
+ − 5473
src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c
+ − 5474
(tt_face_get_metrics), src/base/ftobjs.c (open_face)
+ − 5475
[FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler.
+ − 5476
+ − 5477
* docs/release: Mention test compilation targets.
+ − 5478
+ − 5479
2007-07-04 Werner Lemberg <wl@gnu.org>
+ − 5480
+ − 5481
* docs/PROBLEMS: Mention that some PS based fonts can't be
+ − 5482
handled correctly by FreeType.
+ − 5483
+ − 5484
* src/truetype/ttgload.c (load_truetype_glyph): Always allow a
+ − 5485
recursion depth of 1. This was the maximum value in TrueType 1.0,
+ − 5486
and some older fonts don't set this field correctly.
+ − 5487
+ − 5488
* src/gxvalid/gxvmort1.c
+ − 5489
(gxv_mort_subtable_type1_substTable_validate): Fix tracing message.
+ − 5490
+ − 5491
2007-07-03 Werner Lemberg <wl@gnu.org>
+ − 5492
+ − 5493
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize
+ − 5494
`round' to pacify compiler.
+ − 5495
+ − 5496
2007-07-02 Werner Lemberg <wl@gnu.org>
+ − 5497
+ − 5498
+ − 5499
* Version 2.3.5 released.
+ − 5500
=========================
+ − 5501
+ − 5502
+ − 5503
Tag sources with `VER-2-3-5'.
+ − 5504
+ − 5505
* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ − 5506
version number to 2.3.5.
+ − 5507
+ − 5508
* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ − 5509
builds/win32/visualc/freetype.dsp,
+ − 5510
builds/win32/visualc/freetype.vcproj,
+ − 5511
builds/win32/visualce/index.html,
+ − 5512
builds/win32/visualce/freetype.dsp,
+ − 5513
builds/win32/visualce/freetype.vcproj: s/2.3.4/2.3.5/, s/234/235/.
+ − 5514
+ − 5515
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 5.
+ − 5516
+ − 5517
* builds/unix/configure.raw (version_info): Set to 9:16:3.
+ − 5518
+ − 5519
2007-07-01 David Turner <david@freetype.org>
+ − 5520
+ − 5521
* include/freetype/freetype.h, src/base/ftpatent.c
+ − 5522
(FT_Face_SetUnpatentedHinting): New function to dynamically change
+ − 5523
the setting after a face is created.
+ − 5524
+ − 5525
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Fix a small bug
+ − 5526
that created distortions in the bytecode interpreter results.
+ − 5527
+ − 5528
2007-06-30 David Turner <david@freetype.org>
+ − 5529
+ − 5530
* src/truetype/ttinterp.c (Ins_IUP): Add missing variable
+ − 5531
initialization.
+ − 5532
+ − 5533
* src/autofit/aflatin.c (af_latin_metric_init_blues): Get rid of an
+ − 5534
infinite loop in the case of degenerate fonts.
+ − 5535
+ − 5536
2007-06-26 Rahul Bhalerao <b.rahul.pm@gmail.com>
+ − 5537
+ − 5538
Add autofit module for Indic scripts. This currently just reuses
+ − 5539
the CJK-specific functions.
+ − 5540
+ − 5541
* include/freetype/config/ftoption.h (AF_CONFIG_OPTION_INDIC): New
+ − 5542
macro.
+ − 5543
* devel/ftoption.h: Synchronize with
+ − 5544
include/freetype/config/ftoption.h.
+ − 5545
+ − 5546
* src/autofit/afindic.c, src/autofit/afindic.h: New files.
+ − 5547
+ − 5548
* src/autofit/afglobal.c, src/autofit/aftypes.h,
+ − 5549
src/autofit/autofit.c: Updated.
+ − 5550
+ − 5551
* src/autofit/Jamfile (_sources), * src/autofit/rules.mk
+ − 5552
(AUTOF_DRV_SRC): Updated.
+ − 5553
+ − 5554
2007-06-23 David Turner <david@freetype.org>
+ − 5555
+ − 5556
* src/truetype/ttgload.c (TT_Load_Simple): Fix change from
+ − 5557
2007-06-16 that prevented the TrueType module from loading most
+ − 5558
glyphs.
+ − 5559
+ − 5560
2007-06-20 Werner Lemberg <wl@gnu.org>
+ − 5561
+ − 5562
* src/cff/cffgload.c (cff_slot_load): Fix logic of 2007-05-28
+ − 5563
change.
+ − 5564
+ − 5565
2007-06-19 Werner Lemberg <wl@gnu.org>
+ − 5566
+ − 5567
* src/type1/t1load.c (parse_encoding): Handle one more error.
+ − 5568
+ − 5569
2007-06-19 Dmitry Timoshkov <dmitry@codeweavers.com>
+ − 5570
+ − 5571
* src/winfonts/winfnt.c (fnt_face_get_dll_font): Return error
+ − 5572
FNT_Err_Invalid_File_Format if file format was recognized but
+ − 5573
the file doesn't contain any FNT(NE) or RT_FONT(PE) resources.
+ − 5574
Add verbose debug logs to make it easier to debug failing load
+ − 5575
attempts.
+ − 5576
(FNT_Face_Init): A single FNT font can't contain more than 1 face,
+ − 5577
so return an error if requested face index is > 0.
+ − 5578
Do not do further attempt to load fonts if a previous attempt has
+ − 5579
failed but returned error FNT_Err_Invalid_File_Format, i.e., the
+ − 5580
file format has been recognized but no fonts found in the file.
+ − 5581
+ − 5582
2007-07-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 5583
+ − 5584
* src/base/ftmac.c: Apply patches proposed by Sean McBride.
+ − 5585
(FT_GetFile_From_Mac_Name): Insert FT_UNUSED macros to fix
+ − 5586
the compiler warnings against unused arguments.
+ − 5587
(FT_ATSFontGetFileReference): Ditto.
+ − 5588
(FT_GetFile_From_Mac_ATS_Name): Ditto.
+ − 5589
(FT_New_Face_From_FSSpec): Ditto.
+ − 5590
(lookup_lwfn_by_fond): Fix wrong comment.
+ − 5591
Replace `const StringPtr' by more appropriate type
+ − 5592
`ConstStr255Param'.
+ − 5593
FSRefMakePathPath always returns UTF8 POSIX pathname in
+ − 5594
Mach-O, thus HFS pathname support is dropped.
+ − 5595
(count_faces): Remove HLock and HUnlock which is not
+ − 5596
required on Mac OS X anymore.
+ − 5597
(FT_New_Face_From_SFNT): Ditto.
+ − 5598
(FT_New_Face_From_FOND): Ditto.
+ − 5599
* builds/mac/ftmac.c: Synchronize to src/base/ftmac.c,
+ − 5600
except of HFS pathname support and HLock/HUnlock.
+ − 5601
They are required on classic CFM environment.
+ − 5602
+ − 5603
2007-06-18 Werner Lemberg <wl@gnu.org>
+ − 5604
+ − 5605
* src/psaux/psobjs.c (ps_parser_skip_PS_token): Remove incorrect
+ − 5606
assertion.
+ − 5607
(ps_parser_to_bytes): Fix error message.
+ − 5608
+ − 5609
* src/type42/t42objs.c (T42_Open_Face): Handle one more error.
+ − 5610
* src/type42/t42parse.c (t42_parse_sfnts): s/alloc/allocated/.
+ − 5611
Don't allow mixed binary and hex strings.
+ − 5612
Handle string_size == 0 and string_buf == 0.
+ − 5613
(t42_parse_encoding): Handle one more error.
+ − 5614
+ − 5615
2007-06-18 Werner Lemberg <wl@gnu.org>
+ − 5616
+ − 5617
* src/psaux/psobjs.c (ps_tofixedarray, ps_tocoordarray): Fix exit
+ − 5618
logic.
+ − 5619
(ps_parser_load_field) <T1_FIELD_TYPE_BBOX>: Skip delimiters
+ − 5620
correctly.
+ − 5621
(ps_parser_load_field_table): Use `fields->array_max' instead of
+ − 5622
T1_MAX_TABLE_ELEMENTS to limit the number of arguments.
+ − 5623
+ − 5624
* src/cff/cffgload.c (cff_decoder_prepare): Fix change from
+ − 5625
2007-06-06.
+ − 5626
+ − 5627
2007-06-17 Werner Lemberg <wl@gnu.org>
+ − 5628
+ − 5629
* src/tools/ftrandom.c (font_size): New global variable.
+ − 5630
(TestFace): Use it.
+ − 5631
(main): Handle new option `--size' to set `font_size'.
+ − 5632
(Usage): Updated.
+ − 5633
+ − 5634
* src/winfonts/winfnt.c (fnt_face_get_dll_font): Exit in case of
+ − 5635
invalid font.
+ − 5636
(FNT_Load_Glyph): Protect against invalid bitmap width.
+ − 5637
+ − 5638
2007-06-16 David Turner <david@freetype.org>
+ − 5639
+ − 5640
* src/smooth/ftgrays.c (gray_find_cell, gray_set_cell, gray_hline):
+ − 5641
Prevent integer overflows when rendering very large outlines.
+ − 5642
+ − 5643
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check the
+ − 5644
well-formedness of the contours array when loading a glyph.
+ − 5645
+ − 5646
* src/truetype/ttinterp.c (TT_Load_Context): Initialize `zp0', `zp1',
+ − 5647
and `zp2'.
+ − 5648
(Ins_IP): Check argument ranges to reject bogus operations properly.
+ − 5649
(IUP_WorkerRec): Add `max_points' member.
+ − 5650
(_iup_worker_interpolate): Check argument ranges.
+ − 5651
(Ins_IUP): Ignore empty outlines.
+ − 5652
+ − 5653
2007-06-16 Dmitry Timoshkov <dmitry@codeweavers.com>
+ − 5654
+ − 5655
* src/winfonts/winfnt.h: Add necessary structures for PE resource
+ − 5656
parsing.
+ − 5657
(WinPE32_HeaderRec): New structure.
+ − 5658
(WinPE32_SectionRec): New structure.
+ − 5659
(WinPE_RsrcDirRec): New structure.
+ − 5660
(WinPE_RsrcDirEntryRec): New structure.
+ − 5661
(WinPE_RsrcDataEntryRec): New structure.
+ − 5662
(FNT_FontRec): Remove unused `size_shift' field.
+ − 5663
+ − 5664
* src/winfonts/winfnt.c (fnt_face_get_dll_font): Add support for
+ − 5665
loading bitmap .fon files in PE format.
+ − 5666
+ − 5667
2007-06-15 Dmitry Timoshkov <dmitry@codeweavers.com>
+ − 5668
+ − 5669
* builds/win32/ftdebug.c: Unify debug level handling with other
+ − 5670
platforms.
+ − 5671
+ − 5672
2007-06-14 Dmitry Timoshkov <dmitry@codeweavers.com>
+ − 5673
+ − 5674
* builds/win32/ftdebug.c (FT_Message): Send debug output to the
+ − 5675
console as well as to the debugger.
+ − 5676
+ − 5677
2007-06-14 Werner Lemberg <wl@gnu.org>
+ − 5678
+ − 5679
* src/autofit/aflatin.c (af_latin_uniranges): Expand structure to
+ − 5680
cover all ranges which could possibly be handled by the aflatin
+ − 5681
module (since the default fallback for unknown ranges is now the
+ − 5682
afcjk module). It might be necessary to fine-tune this further by
+ − 5683
splitting off modules for Greek, Cyrillic, or other blocks.
+ − 5684
+ − 5685
2007-06-11 David Turner <david@freetype.org>
+ − 5686
+ − 5687
* src/autofit/aflatin.c (af_latin_hints_link_segments): Fix
+ − 5688
incorrect segment linking computation. This was the root cause of
+ − 5689
Savannah bug #19565.
+ − 5690
+ − 5691
+ − 5692
* src/autofit/* [FT_OPTION_AUTOFIT2]: Some very experimental changes
+ − 5693
to improve the Latin auto-hinter. Note that the new code is
+ − 5694
disabled by default since it is not stabilized yet.
+ − 5695
+ − 5696
* src/autofit/aflatin2.c, src/autofit/aflatin2.h: New files
+ − 5697
(disabled currently).
+ − 5698
+ − 5699
* src/autofit/afhints.c: Remove dead code.
+ − 5700
(af_axis_hints_new_edge): Add argument to handle segment directions.
+ − 5701
(af_edge_flags_to_string): New function.
+ − 5702
(af_glyph_hints_dump_segments, af_glyph_hints_dump_edges): Handle
+ − 5703
option flags.
+ − 5704
(af_glyph_hints_reload): Add argument to handle inflections.
+ − 5705
Simplify.
+ − 5706
(af_direction_compute): Fine tuning.
+ − 5707
(af_glyph_hints_align_edge_points): Fix logic.
+ − 5708
(af_glyph_hints_align_strong_points): Do linear search for small
+ − 5709
edge counts.
+ − 5710
(af_glyph_hints_align_weak_points): Skip any touched neighbors.
+ − 5711
(af_iup_shift): Handle zero `delta'.
+ − 5712
+ − 5713
* src/autofit/afhints.h: Updated.
+ − 5714
(AF_SORT_SEGMENTS): New macro (disabled).
+ − 5715
(AF_AxisHintsRec) [AF_SORT_SEGMENTS]: New member `mid_segments'.
+ − 5716
+ − 5717
* src/autofit/afglobal.c (af_face_globals_get_metrics): Add
+ − 5718
argument to pass option flags for handling scripts.
+ − 5719
* src/autofit/afglobal.h: Updated.
+ − 5720
+ − 5721
* src/autofit/afcjk.c: Updated.
+ − 5722
* src/autofit/aflatin.c: Updated.
+ − 5723
(af_latin_metrics_scale_dim): Don't reduce scale by 2%.
+ − 5724
+ − 5725
(af_latin_hints_compute_segments) [AF_HINT_METRICS]: Remove dead code.
+ − 5726
(af_latin_hints_compute_edges) [AF_HINT_METRICS]: Remove dead code.
+ − 5727
Don't set `edge->dir'
+ − 5728
(af_latin_hint_edges): Add more logging.
+ − 5729
+ − 5730
* src/autofit/afloader.c: Updated.
+ − 5731
+ − 5732
2007-06-11 Werner Lemberg <wl@gnu.org>
+ − 5733
+ − 5734
* docs/CHANGES: Document FT_Face_CheckTrueTypePatents.
+ − 5735
+ − 5736
2007-06-10 David Turner <david@freetype.org>
+ − 5737
+ − 5738
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Slight speed-up to
+ − 5739
the TrueType glyph loader.
+ − 5740
+ − 5741
* include/freetype/config/ftoption.h: Clarify documentation
+ − 5742
regarding unpatented hinting.
+ − 5743
+ − 5744
+ − 5745
Add new `FT_Face_CheckTrueTypePatents' API.
+ − 5746
+ − 5747
* include/freetype/freetype.h (FT_Face_CheckTrueTypePatents): New
+ − 5748
declaration.
+ − 5749
+ − 5750
* include/freetype/internal/services/svttglyf.h,
+ − 5751
src/base/ftpatent.c: New files.
+ − 5752
+ − 5753
* include/freetype/internal/ftserv.h (FT_SERVICE_TRUETYPE_GLYF_H):
+ − 5754
New macro.
+ − 5755
+ − 5756
* src/truetype/ttdriver.c: Include FT_SERVICE_TRUETYPE_GLYF_H and
+ − 5757
`ttpload.h'.
+ − 5758
(tt_service_truetype_glyf): New service structure.
+ − 5759
(tt_services): Register it.
+ − 5760
+ − 5761
* modules.cfg (BASE_EXTENSIONS), src/base/Jamfile (_sources): Add
+ − 5762
`ftpatent.c'.
+ − 5763
+ − 5764
2007-06-08 Werner Lemberg <wl@gnu.org>
+ − 5765
+ − 5766
* src/sfnt/sfobjs.c (sfnt_load_face): Undo change from 2007-04-28.
+ − 5767
Fonts without a cmap must be handled correctly by FreeType (anything
+ − 5768
else would be a bug).
+ − 5769
+ − 5770
+ − 5771
* src/psaux/t1decode.c (t1_decoder_parse_charstrings)
+ − 5772
[FT_DEBUG_LEVEL_TRACE]: Improve tracing message.
+ − 5773
+ − 5774
2007-06-07 Werner Lemberg <wl@gnu.org>
+ − 5775
+ − 5776
* src/sfnt/ttsbit0.c (tt_sbit_decoder_init,
+ − 5777
tt_sbit_decoder_load_image): Protect against integer overflows.
+ − 5778
+ − 5779
+ − 5780
* src/pfr/pfrgload.c (pfr_glyph_load_simple): More bounding checks
+ − 5781
for `x_control' and `y_control'.
+ − 5782
+ − 5783
2007-06-06 Werner Lemberg <wl@gnu.org>
+ − 5784
+ − 5785
* src/base/ftoutln.c (FT_Outline_Decompose): Check `last'.
+ − 5786
+ − 5787
+ − 5788
* src/pfr/pfrcmap.c (pfr_cmap_init): Convert assertion into normal
+ − 5789
FreeType error.
+ − 5790
+ − 5791
+ − 5792
* src/winfonts/winfnt.c (fnt_face_get_dll_font): Do a rough check of
+ − 5793
`font_count'.
+ − 5794
+ − 5795
+ − 5796
* src/type1/t1load.c (parse_font_matrix): Check `temp_scale'.
+ − 5797
+ − 5798
+ − 5799
* src/cff/cffgload.c (cff_decoder_prepare): Change return type to
+ − 5800
`FT_Error'.
+ − 5801
Check `fd_index'.
+ − 5802
(cff_slot_load): Updated.
+ − 5803
* src/cff/cffgload.h: Updated.
+ − 5804
+ − 5805
2007-06-05 Werner Lemberg <wl@gnu.org>
+ − 5806
+ − 5807
* src/pfr/pfrgload.c (pfr_glyph_done): Comment out unused code.
+ − 5808
(pfr_glyph_load_simple): Convert assertion into normal FreeType
+ − 5809
error.
+ − 5810
Check `idx'.
+ − 5811
(pfr_glyph_load_compound, pfr_glyph_curve_to, pfr_glyph_line_to):
+ − 5812
Convert assertion into normal FreeType error.
+ − 5813
+ − 5814
* src/pfr/pfrtypes.h (PFR_GlyphRec): Comment out unused code.
+ − 5815
+ − 5816
+ − 5817
* src/winfonts/winfnt.c (FNT_Face_Init): Check `family_size'.
+ − 5818
+ − 5819
+ − 5820
* src/psaux/psobjs.c (ps_tocoordarray, ps_tofixedarray): Return -1
+ − 5821
in case of parsing error.
+ − 5822
(ps_parser_load_field): Updated.
+ − 5823
+ − 5824
* src/type1/t1load.c (parse_font_matrix): Updated.
+ − 5825
+ − 5826
2007-06-04 Werner Lemberg <wl@gnu.org>
+ − 5827
+ − 5828
* src/cid/cidgload.c (cid_load_glyph): Check `fd_select'.
+ − 5829
+ − 5830
* src/tools/ftrandom/Makefile: Depend on `libfreetype.a'.
+ − 5831
+ − 5832
2007-06-03 Werner Lemberg <wl@gnu.org>
+ − 5833
+ − 5834
* src/tools/ftrandom/*: Add the `ftrandom' test program written by
+ − 5835
George Williams (with some modifications).
+ − 5836
+ − 5837
2007-06-03 Werner Lemberg <wl@gnu.org>
+ − 5838
+ − 5839
* src/base/ftobjs.c (destroy_charmaps), src/type1/t1objs.c
+ − 5840
(T1_Face_Done), src/winfonts/winfnt.c (FNT_Face_Done): Check for
+ − 5841
face == NULL. Suggested by Graham Asher.
+ − 5842
+ − 5843
2007-06-03 Ismail Dönmez <ismail@pardus.org.tr>
+ − 5844
+ − 5845
* src/base/ftobjs.c (FT_Request_Metrics): Fix compiler warning.
+ − 5846
+ − 5847
2007-06-02 Werner Lemberg <wl@gnu.org>
+ − 5848
+ − 5849
* include/freetype/fterrdef.h (FT_Err_Corrupted_Font_Header,
+ − 5850
FT_Err_Corrupted_Font_Glyphs): New error codes for BDF files.
+ − 5851
+ − 5852
* src/bdf/bdflib.c (bdf_load_font): Use them.
+ − 5853
+ − 5854
* src/bdf/bdflib.c (_bdf_parse_start): Check `FONT' better.
+ − 5855
+ − 5856
2007-06-01 Werner Lemberg <wl@gnu.org>
+ − 5857
+ − 5858
* src/base/ftobjs.c (FT_Request_Metrics), src/cache/ftccmap.c
+ − 5859
(FTC_CMapCache_Lookup): Remove unused code.
+ − 5860
+ − 5861
2007-06-01 Sean McBride <sean@rogue-research.com>
+ − 5862
+ − 5863
* src/truetype/ttinterp.c (Null_Vector, NULL_Vector): Removed,
+ − 5864
unused.
+ − 5865
+ − 5866
2007-06-01 Werner Lemberg <wl@gnu.org>
+ − 5867
+ − 5868
* src/cid/cidparse.c (cid_parser_new): Don't continue second search
+ − 5869
pass for `StartData' if an error has occurred.
+ − 5870
Exit properly if no `StartData' has been seen at all.
+ − 5871
+ − 5872
* builds/unix/ftsystem.c (FT_Stream_Open): Don't use ULONG_MAX but
+ − 5873
LONG_MAX to avoid compiler warning. Suggested by Sean McBride.
+ − 5874
+ − 5875
2007-05-30 Werner Lemberg <wl@gnu.org>
+ − 5876
+ − 5877
* src/type1/t1load.c (parse_subrs, parse_charstrings): Protect
+ − 5878
against too small binary data strings.
+ − 5879
+ − 5880
* src/bdf/bdflib.c (_bdf_parse_glyphs): Check `STARTCHAR' better.
+ − 5881
+ − 5882
2007-05-28 David Turner <david@freetype.org>
+ − 5883
+ − 5884
* src/cff/cffgload.c (cff_slot_load): Do not apply the identity
+ − 5885
transformation. This significantly reduces the loading time of CFF
+ − 5886
glyphs.
+ − 5887
+ − 5888
* docs/CHANGES: Updated.
+ − 5889
+ − 5890
* src/autofit/afglobal.c (AF_SCRIPT_LIST_DEFAULT): Change default
+ − 5891
hinting script to CJK, since it works well with more scripts than
+ − 5892
latin. Thanks to Rahul Bhalerao <b.rahul.pm@gmail.com> for pointing
+ − 5893
this out!
+ − 5894
+ − 5895
2007-05-25 Werner Lemberg <wl@gnu.org>
+ − 5896
+ − 5897
* docs/CHANGES: Updated.
+ − 5898
+ − 5899
2007-05-24 Werner Lemberg <wl@gnu.org>
+ − 5900
+ − 5901
* src/truetype/ttobjs.h (tt_size_ready_bytecode): Move declaration
+ − 5902
into TT_USE_BYTECODE_INTERPRETER preprocessor block.
+ − 5903
+ − 5904
2007-05-24 Graham Asher <graham.asher@btinternet.com>
+ − 5905
+ − 5906
* src/truetype/ttobjs.c (tt_size_ready_bytecode)
+ − 5907
[!TT_USE_BYTECODE_INTERPRETER]: Removed. Unused.
+ − 5908
+ − 5909
2007-05-22 David Turner <david@freetype.org>
+ − 5910
+ − 5911
* src/truetype/ttgload.c (load_truetype_glyph): Fix last change to
+ − 5912
avoid crashes in case the bytecode interpreter is not used.
+ − 5913
+ − 5914
+ − 5915
Avoid heap blowup with very large .Z font files. This fixes
+ − 5916
Savannah bug #19910.
+ − 5917
+ − 5918
* src/lzw/ftzopen.h (FT_LzwStateRec): Remove `in_cursor',
+ − 5919
`in_limit', `pad', `pad_bits', and `in_buff' members.
+ − 5920
Add `buf_tab', `buf_offset', `buf_size', `buf_clear', and
+ − 5921
`buf_total' members.
+ − 5922
+ − 5923
* src/lzw/ftzopen.c (ft_lzwstate_get_code): Rewritten. It now takes
+ − 5924
only one argument.
+ − 5925
(ft_lzwstate_refill, ft_lzwstate_reset, ft_lzwstate_io): Updated.
+ − 5926
+ − 5927
2007-05-20 Ismail Dönmez <ismail@pardus.org.tr>
+ − 5928
+ − 5929
* src/pshinter/pshrec.c (ps_mask_table_set_bits): Add `const'.
+ − 5930
(ps_dimension_set_mask_bits): Remove `const'.
+ − 5931
+ − 5932
2007-05-19 Werner Lemberg <wl@gnu.org>
+ − 5933
+ − 5934
* src/sfnt/ttmtx.c (tt_face_get_metrics)
+ − 5935
[!FT_CONFIG_OPTION_OLD_INTERNALS]: Another type-punning fix.
+ − 5936
+ − 5937
2007-05-19 Derek Clegg <dclegg@apple.com>
+ − 5938
+ − 5939
Savannah patch #5929.
+ − 5940
+ − 5941
* include/freetype/tttables.h, src/base/ftobjcs.c
+ − 5942
(FT_Get_CMap_Format): New function.
+ − 5943
+ − 5944
* include/freetype/internal/services/svttcmap.c (TT_CMapInfo): Add
+ − 5945
`format' member.
+ − 5946
* src/sfnt/ttcmap.c (tt_cmap{0,2,4,6,8,10,12}_get_info): Set
+ − 5947
cmap_info->format.
+ − 5948
+ − 5949
2007-05-19 Werner Lemberg <wl@gnu.org>
+ − 5950
+ − 5951
* src/truetype/ttgload.c (load_truetype_glyph): Save graphics state
+ − 5952
before handling subglyphs so that it can be reinitialized each time.
+ − 5953
This fixes Savannah bug #19859.
+ − 5954
+ − 5955
2007-05-16 Werner Lemberg <wl@gnu.org>
+ − 5956
+ − 5957
* src/cache/ftccache.c (ftc_node_mru_link, ftc_node_mru_unlink),
+ − 5958
src/cache/ftccache.h (FTC_CACHE_LOOKUP_CMP), src/cache/ftcglyph.h
+ − 5959
(FTC_GCACHE_LOOKUP_CMP), src/pshinter/pshmod.c (ps_hinter_init),
+ − 5960
src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_load_hhea,
+ − 5961
tt_face_get_metrics): Fix type-punning issues.
+ − 5962
+ − 5963
2007-05-15 David Turner <david@freetype.org>
+ − 5964
+ − 5965
* include/freetype/config/ftstdlib.h,
+ − 5966
include/freetype/internal/ftobjs.h: As suggested by Graham Asher,
+ − 5967
ensure that ft_isalnum, ft_isdigit, etc., use hard-coded values
+ − 5968
instead on relying on the locale-dependent functions provided by
+ − 5969
<ctypes.h>.
+ − 5970
+ − 5971
2007-05-15 Graham Asher <graham.asher@btinternet.com>
+ − 5972
+ − 5973
* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Remove unused
+ − 5974
variable.
+ − 5975
* src/autofit/afloader.c (af_loader_load_g): Ditto.
+ − 5976
+ − 5977
* src/base/ftobjs.c (ft_validator_error): Use `ft_jmp_buf'.
+ − 5978
(open_face_from_buffer): Initialize `stream'.
+ − 5979
(FT_Request_Metrics): Remove unused variable.
+ − 5980
Remove redundant `break' statements.
+ − 5981
(FT_Get_Track_Kerning): Remove unused variable.
+ − 5982
+ − 5983
* src/psaux/afmparse.c (afm_parse_track_kern, afm_parse_kern_pairs,
+ − 5984
afm_parse_kern_data): Remove redundant
+ − 5985
`break' statements.
+ − 5986
(afm_parser_parse): Ditto.
+ − 5987
Don't use uninitialized variables.
+ − 5988
+ − 5989
* src/psnames/psmodule.c (VARIANT_BIT): Define as unsigned long.
+ − 5990
Use `|' operator instead of `^' to set it.
+ − 5991
Update all users.
+ − 5992
+ − 5993
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Use `ft_jmp_buf'.
+ − 5994
* src/sfnt/ttkern.c (tt_face_load_kern): Remove unused variable.
+ − 5995
+ − 5996
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Remove redundant
+ − 5997
comparison.
+ − 5998
(TT_Process_Simple_Glyph): Use FT_UInt for `n_points' and `i'.
+ − 5999
(TT_Load_Glyph): Remove unused variable.
+ − 6000
+ − 6001
2007-05-13 Derek Clegg <dclegg@apple.com>
+ − 6002
+ − 6003
* src/base/ftobjs.c (FT_New_Library): Only allocate rendering pool
+ − 6004
if FT_RENDER_POOL_SIZE is > 0. From Savannah patch #5928.
+ − 6005
+ − 6006
2007-05-11 David Turner <david@freetype.org>
+ − 6007
+ − 6008
* src/cache/ftbasic.c, include/freetype/ftcache.h
+ − 6009
(FTC_ImageCache_LookupScaler, FTC_SBit_Cache_LookupScaler): Two new
+ − 6010
functions that allow us to look up glyphs using an FTC_Scaler object
+ − 6011
to specify the size, making it possible to use fractional pixel
+ − 6012
sizes.
+ − 6013
+ − 6014
* src/truetype/ttobjs.c (tt_size_ready_bytecode): Set
+ − 6015
`size->cvt_ready'. Reported by Boris Letocha.
+ − 6016
+ − 6017
2007-05-09 Graham Asher <graham.asher@btinternet.com>
+ − 6018
+ − 6019
* src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c
+ − 6020
(af_latin_metrics_scale_dim): Fix compiler warnings.
+ − 6021
+ − 6022
2007-05-06 Werner Lemberg <wl@gnu.org>
+ − 6023
+ − 6024
* builds/win32/visualce/freetype.sln: Removed, as requested by
+ − 6025
Vincent.
+ − 6026
+ − 6027
2007-05-04 Vincent RICHOMME <richom.v@free.fr>
+ − 6028
+ − 6029
* builds/win32/visualce/*: Add Visual C++ project files for Pocket
+ − 6030
PC targets.
+ − 6031
+ − 6032
* docs/CHANGES: Document them.
+ − 6033
+ − 6034
2007-05-04 <harry@kdevelop.org>
+ − 6035
+ − 6036
* builds/unix/ftsystem.c (FT_Stream_Open): Handle return value 0 of
+ − 6037
mmap (which might happen on some RTOS). From Savannah patch #5909.
+ − 6038
+ − 6039
2007-05-03 Werner Lemberg <wl@gnu.org>
+ − 6040
+ − 6041
* src/base/ftobjs.c (FT_Set_Char_Size): Simplify code.
+ − 6042
* include/freetype/freetype.h (FT_Set_Char_Size): Update
+ − 6043
documentation.
+ − 6044
+ − 6045
2007-04-28 Victor Stinner <victor.stinner@inl.fr>
+ − 6046
+ − 6047
* src/sfnt/sfobjs.c (sfnt_load_face): Check error code after loading
+ − 6048
`cmap'.
+ − 6049
+ − 6050
2007-04-27 Werner Lemberg <wl@gnu.org>
+ − 6051
+ − 6052
* src/truetype/ttgload.c (TT_Load_Simple_Glyph): Check for negative
+ − 6053
number of points in contours. Problem reported by Victor Stinner
+ − 6054
<victor.stinner@haypocalc.com>.
+ − 6055
(TT_Process_Simple_Glyph): Synchronize variable types.
+ − 6056
+ − 6057
2007-04-26 Werner Lemberg <wl@gnu.org>
+ − 6058
+ − 6059
* src/base/ftglyph.c (FT_Glyph_Copy): Always set second argument to
+ − 6060
zero in case of error. This fixes Savannah bug #19689.
+ − 6061
+ − 6062
2007-04-25 Boris Letocha <b.letocha@cz.gmc.net>
+ − 6063
+ − 6064
* src/truetype/ttobjs.c: Fix a typo that created a speed regression
+ − 6065
in the TrueType bytecode loader.
+ − 6066
+ − 6067
2007-04-10 Martin Horak <horakm@centrum.cz>
+ − 6068
+ − 6069
* src/sfnt/sfobjs.c (sfnt_load_face) [FT_CONFIG_OPTION_INCREMENTAL]:
+ − 6070
Ignore `hhea' table. This fixes Savannah bug #19261.
+ − 6071
+ − 6072
2007-04-09 Werner Lemberg <wl@gnu.org>
+ − 6073
+ − 6074
+ − 6075
* Version 2.3.4 released.
+ − 6076
=========================
+ − 6077
+ − 6078
+ − 6079
Tag sources with `VER-2-3-4'.
+ − 6080
+ − 6081
* docs/CHANGES, docs/VERSION.DLL: Update documentation and bump
+ − 6082
version number to 2.3.4.
+ − 6083
+ − 6084
* README, Jamfile (RefDoc), builds/win32/visualc/index.html,
+ − 6085
builds/win32/visualc/freetype.dsp,
+ − 6086
builds/win32/visualc/freetype.vcproj: s/2.3.3/2.3.4/, s/233/234/.
+ − 6087
+ − 6088
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 4.
+ − 6089
+ − 6090
* builds/unix/configure.raw (version_info): Set to 9:15:3.
+ − 6091
+ − 6092
2007-04-09 Martin Horak <horakm@centrum.cz>
+ − 6093
+ − 6094
* src/truetype/ttgload.c (load_truetype_glyph): Save and restore
+ − 6095
memory stream to avoid a crash with the incremental memory
+ − 6096
interface (Savannah bug #19260).
+ − 6097
+ − 6098
2007-04-06 David Turner <david@freetype.org>
+ − 6099
+ − 6100
* src/base/ftbimap.c (ft_bitmap_assure_buffer): Fix buffer-overwrite bug
+ − 6101
(Savannah bug #19536).
+ − 6102
+ − 6103
2007-04-04 Werner Lemberg <wl@gnu.org>
+ − 6104
+ − 6105
+ − 6106
* Version 2.3.3 released.
+ − 6107
=========================
+ − 6108
+ − 6109
+ − 6110
Tag sources with `VER-2-3-3'.
+ − 6111
+ − 6112
* docs/CHANGES: Mention CVE-2007-1351.
+ − 6113
+ − 6114
2007-04-03 David Turner <david@freetype.org>
+ − 6115
+ − 6116
* src/base/ftobjs.c (FT_Set_Char_Size): As suggested by James Cloos,
+ − 6117
if one of the resolution values is 0, treat it as if it were the
+ − 6118
same as the other value.
+ − 6119
+ − 6120
2007-04-02 David Turner <david@freetype.org>
+ − 6121
+ − 6122
Add special code to detect `extra-light' fonts and do not snap their
+ − 6123
stem widths too much to avoid bizarre hinting effects.
+ − 6124
+ − 6125
* src/autofit/aflatin.h (AF_LatinAxisRec): Add `standard_width' and
+ − 6126
`extra_light' members.
+ − 6127
+ − 6128
* src/autofit/aflatin.c (af_latin_metrics_init_widths): Initialize
+ − 6129
them.
+ − 6130
(af_latin_metrics_scale_dim): Set `extra_light'.
+ − 6131
(af_latin_compute_stem_width): Use `extra_light'.
+ − 6132
+ − 6133
2007-03-28 David Turner <david@freetype.org>
+ − 6134
+ − 6135
* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix zero-ing of the
+ − 6136
padding.
+ − 6137
+ − 6138
2007-03-28 Werner Lemberg <wl@gnu.org>
+ − 6139
+ − 6140
* src/bdf/bdflib.c (setsbit, sbitset): Handle values >= 128
+ − 6141
gracefully.
+ − 6142
(_bdf_set_default_spacing): Increase `name' buffer size to 256 and
+ − 6143
issue an error for longer names. This fixes CVE-2007-1351.
+ − 6144
(_bdf_parse_glyphs): Limit allowed number of glyphs in font to the
+ − 6145
number of code points in Unicode.
+ − 6146
+ − 6147
* builds/win32/visualc/index.html,
+ − 6148
builds/win32/visualc/freetype.dsp,
+ − 6149
builds/win32/visualc/freetype.vcproj, README: s/2.3.2/2.3.3/,
+ − 6150
s/232/233/.
+ − 6151
+ − 6152
* docs/CHANGES: Mention ftdiff.
+ − 6153
+ − 6154
2007-03-26 David Turner <david@freetype.org>
+ − 6155
+ − 6156
* src/truetype/ttinterp.c [FIX_BYTECODE]: Remove it and
+ − 6157
corresponding code.
+ − 6158
(Ins_MD): Last regression fix.
+ − 6159
+ − 6160
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Fix blues
+ − 6161
computations in order to ignore single-point contours. These are
+ − 6162
never rasterized and correspond in certain fonts to mark-attach
+ − 6163
points that are very far from the glyph's real outline, ruining the
+ − 6164
computation.
+ − 6165
+ − 6166
* src/autofit/afloader.c (af_loader_load_g): In the case of
+ − 6167
monospaced fonts, always set `rsb_delta' and `lsb_delta' to 0.
+ − 6168
Otherwise code that uses them will most certainly ruin the fixed
+ − 6169
advance property.
+ − 6170
+ − 6171
* docs/CHANGES, docs/VERSION.DLL, README, Jamfile (RefDoc): Update
+ − 6172
documentation and bump version number to 2.3.3.
+ − 6173
+ − 6174
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 3.
+ − 6175
+ − 6176
* builds/unix/configure.raw (version_info): Set to 9:14:3.
+ − 6177
+ − 6178
2007-03-26 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6179
+ − 6180
* builds/unix/ftconfig.in: Disable Carbon framework dependency on
+ − 6181
64bit ABI on Mac OS X 10.4.x (ppc & i386). Found by Sean McBride.
+ − 6182
* builds/vms/ftconfig.h: Ditto.
+ − 6183
* include/freetype/config/ftconfig.h: Ditto.
+ − 6184
+ − 6185
2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6186
+ − 6187
* builds/unix/ftsystem.c (FT_Stream_Open): Temporary fix to prevent
+ − 6188
32bit unsigned long overflow by 64bit filesize on LP64 platform, as
+ − 6189
proposed by Sean McBride:
+ − 6190
http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+ − 6191
+ − 6192
2007-03-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6193
+ − 6194
* builds/unix/ftconfig.in: Suppress SGI compiler's warning against
+ − 6195
setjmp, proposed by Sean McBride:
+ − 6196
http://lists.gnu.org/archive/html/freetype-devel/2007-03/msg00032.html
+ − 6197
+ − 6198
2007-03-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6199
+ − 6200
* builds/unix/configure.raw: Dequote `OS_INLINE' in comment of
+ − 6201
conftest.c, to avoid unexpected shell evaluation. Possibly it is a
+ − 6202
bug or undocumented behaviour of autoconf.
+ − 6203
+ − 6204
2007-03-18 David Turner <david@freetype.org>
+ − 6205
+ − 6206
* src/truetype/ttinterp.c (Ins_MDRP): Another bytecode regression
+ − 6207
fix; testing still needed.
+ − 6208
+ − 6209
* src/truetype/ttinterp.c (Ins_MD): Another bytecode regression fix.
+ − 6210
+ − 6211
2007-03-17 David Turner <david@freetype.org>
+ − 6212
+ − 6213
* src/truetype/ttinterp.c (Ins_IP): Fix wrong handling of the
+ − 6214
(undocumented) twilight zone special case.
+ − 6215
+ − 6216
2007-03-09 Werner Lemberg <wl@gnu.org>
+ − 6217
+ − 6218
+ − 6219
* Version 2.3.2 released.
+ − 6220
=========================
+ − 6221
+ − 6222
+ − 6223
Tag sources with `VER-2-3-2'.
+ − 6224
+ − 6225
* builds/win32/visualc/index.html,
+ − 6226
builds/win32/visualc/freetype.dsp,
+ − 6227
builds/win32/visualc/freetype.vcproj, README: s/2.3.1/2.3.2/,
+ − 6228
s/231/232/.
+ − 6229
+ − 6230
2007-03-08 David Turner <david@freetype.org>
+ − 6231
+ − 6232
* docs/CHANGES, docs/VERSION.DLL: Updated for upcoming release.
+ − 6233
+ − 6234
* builds/unix/configure.raw (version_info): Set to 9:13:3.
+ − 6235
+ − 6236
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 2.
+ − 6237
+ − 6238
* README, Jamfile (RefDoc): s/2.3.1/2.3.2/.
+ − 6239
+ − 6240
* src/base/ftutil.c (ft_mem_strcpyn): Fix a bug that prevented the
+ − 6241
function to work properly, over-writing user-provided buffers in
+ − 6242
some cases. Reported by James Cloos <cloos@jhcloos.com>.
+ − 6243
+ − 6244
+ − 6245
2007-03-05 Werner Lemberg <wl@gnu.org>
+ − 6246
+ − 6247
* include/freetype/config/ftstdlib.h (ft_strstr): New wrapper
+ − 6248
macro for `strstr'.
+ − 6249
+ − 6250
* src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning
+ − 6251
`trick_names', as suggested by Ivan Nincic.
+ − 6252
+ − 6253
2007-03-05 David Turner <david@freetype.org>
+ − 6254
+ − 6255
* src/base/ftinit.c (FT_Init_FreeType): Fix a small memory leak in
+ − 6256
case FT_Init_FreeType fails for some reason. Problem reported by
+ − 6257
Maximilian Schwerin <maximilian.schwerin@buelowssiege.de>.
+ − 6258
+ − 6259
* src/truetype/ttobs.c (tt_size_init_bytecode): Clear the `x_ppem'
+ − 6260
and `y_ppem' fields of the `TT_Size.metrics' structure, not those of
+ − 6261
`TT_Size.root.metrics'. Problem reported by Daniel Glöckner
+ − 6262
<daniel-gl@gmx.net>.
+ − 6263
+ − 6264
* src/type1/t1afm.c (T1_Read_PFM): Read kerning values as 16-bit
+ − 6265
signed values, not unsigned ones. Problem reported by Johannes
+ − 6266
Walther <joh_walt@yahoo.de>.
+ − 6267
+ − 6268
2007-02-21 David Turner <david@freetype.org>
+ − 6269
+ − 6270
* src/pshinter/pshalgo.c (psh_hint_align): Fix a bug in the hinting
+ − 6271
of small and ghost stems in the Postscript interpreter.
+ − 6272
+ − 6273
2007-02-20 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6274
+ − 6275
* src/base/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Fix memory
+ − 6276
leak, patch by "Jjgod Jiang" <gzjjgod@gmail.com>.
+ − 6277
* builds/mac/ftmac.c (FT_GetFileRef_From_Mac_ATS_Name): Ditto.
+ − 6278
+ − 6279
2007-02-16 Werner Lemberg <wl@gnu.org>
+ − 6280
+ − 6281
* src/truetype/ttinterp.c (Ins_MD): Remove unused variable.
+ − 6282
* src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
+ − 6283
+ − 6284
2007-02-14 David Turner <david@freetype.org>
+ − 6285
+ − 6286
It seems that the following changes fix most of the known
+ − 6287
interpreter problems with my fonts, but more testing is needed,
+ − 6288
though.
+ − 6289
+ − 6290
* src/truetype/ttinterp.c (FIX_BYTECODE): Activate.
+ − 6291
(TT_MulFix14): Rewrite.
+ − 6292
(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Improved and updated.
+ − 6293
(Ins_MIRP): Ditto.
+ − 6294
+ − 6295
2007-02-12 Werner Lemberg <wl@gnu.org>
+ − 6296
+ − 6297
* src/truetype/ttinterp.c (Project_x, Project_y): Remove compiler
+ − 6298
warnings.
+ − 6299
+ − 6300
* src/pcf/pcfread.c (pcf_interpret_style), src/bdf/bdfdrivr.c
+ − 6301
(bdf_interpret_style): Ditto.
+ − 6302
+ − 6303
2007-02-12 David Turner <david@freetype.org>
+ − 6304
+ − 6305
Simplify projection and dual-projection code interface.
+ − 6306
+ − 6307
* src/truetype/ttinterp.h (TT_Project_Func): Use `FT_Pos', not
+ − 6308
FT_Vector' as argument type.
+ − 6309
* src/truetype/ttinterp.c (CUR_Func_project, CUR_Func_dualproj):
+ − 6310
Updated.
+ − 6311
(CUR_fast_project, CUR_fast_dualproj): New macros.
+ − 6312
(Project, Dual_Project, Project_x, Project_y): Updated.
+ − 6313
(Ins_GC, Ins_SCFS, Ins_MDAP, Ins_MIAP, Ins_IP): Use new `fast'
+ − 6314
macros.
+ − 6315
+ − 6316
+ − 6317
* src/autofit/afloader.c (af_loader_load_g): Improve spacing
+ − 6318
adjustments for the non-light auto-hinted modes. Gets rid of
+ − 6319
`inter-letter spacing is too wide' problems.
+ − 6320
+ − 6321
* src/autofit/aflatin.c (af_latin_hints_link_segments,
+ − 6322
af_latin_hints_compute_edges): Slight optimization of the segment
+ − 6323
linker and better handling of serif segments to get rid of broken
+ − 6324
`9' in Arial at 9pt (96dpi).
+ − 6325
+ − 6326
+ − 6327
Introduce new string functions and the corresponding macros to get
+ − 6328
rid of various uses of strcpy and other `evil' functions, as well as
+ − 6329
to simplify a few things.
+ − 6330
+ − 6331
* include/freetype/internal/ftmemory.h (ft_mem_strdup, ft_mem_dup,
+ − 6332
ft_mem_strcpyn): New declarations.
+ − 6333
(FT_MEM_STRDUP, FT_STRDUP, FT_MEM_DUP, FT_DUP, FT_STRCPYN): New
+ − 6334
macros.
+ − 6335
* src/base/ftutil.c (ft_mem_dup, ft_mem_strdup, ft_mem_strcpyn): New
+ − 6336
functions.
+ − 6337
+ − 6338
* src/bfd/bfddrivr.c (bdf_interpret_style, BDF_Face_Init),
+ − 6339
src/bdf/bdflib.c (_bdf_add_property), src/pcf/pcfread.c
+ − 6340
(pcf_get_properties, pcf_interpret_style, pcf_load_font),
+ − 6341
src/cff/cffdrivr.c (cff_get_glyph_name), src/cff/cffload.c
+ − 6342
(cff_index_get_sid_string), src/cff/cffobjs.c (cff_strcpy),
+ − 6343
src/sfnt/sfdriver.c (sfnt_get_glyph_name), src/type1/t1driver.c
+ − 6344
(t1_get_glyph_name), src/type42/t42drivr.c (t42_get_glyph_name,
+ − 6345
t42_get_name_index): Use new functions and simplify code.
+ − 6346
+ − 6347
* builds/mac/ftmac.c (FT_FSPathMakeSpec): Don't use FT_MIN.
+ − 6348
+ − 6349
2007-02-11 Werner Lemberg <wl@gnu.org>
+ − 6350
+ − 6351
* src/autofit/afloader.c (af_loader_load_g): Don't change width for
+ − 6352
non-spacing glyphs.
+ − 6353
+ − 6354
2007-02-07 Tom Parker <palfrey@tevp.net>
+ − 6355
+ − 6356
* src/cff/cffdrivr.c (cff_get_name_index): Protect against NULL
+ − 6357
pointer.
+ − 6358
+ − 6359
2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6360
+ − 6361
* include/freetype/ftmac.h (FT_DEPRECATED_ATTRIBUTE):
+ − 6362
Introduce __attribute((deprecated))__ to warn functions
+ − 6363
which use non-ANSI data types in its interfaces.
+ − 6364
(FT_GetFile_From_Mac_Name): Deprecated, using FSSpec.
+ − 6365
(FT_GetFile_From_Mac_ATS_Name): Deprecated, using FSSpec.
+ − 6366
(FT_New_Face_From_FSSpec): Deprecated, using FSSpec.
+ − 6367
(FT_New_Face_From_FSRef): Deprecated, using FSRef.
+ − 6368
+ − 6369
* src/base/ftmac.c: Predefine FT_DEPRECATED_ATTRIBUTE as void
+ − 6370
to avoid warning in building FreeType.
+ − 6371
* builds/mac/ftmac.c: Ditto.
+ − 6372
+ − 6373
2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6374
+ − 6375
* src/base/ftbase.c: Fix to use builds/mac/ftmac.c, if configured
+ − 6376
`--with-fsspec' etc. Replace #include "ftmac.c" with
+ − 6377
#include <ftmac.c>.
+ − 6378
+ − 6379
2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6380
+ − 6381
* include/freetype/ftmac.h (FT_GetFilePath_From_Mac_ATS_Name):
+ − 6382
Introduced as replacement of FT_GetFile_From_Mac_ATS_Name.
+ − 6383
* src/base/ftmac.c (FT_GetFilePath_From_Mac_ATS_Name): Ditto.
+ − 6384
(FT_GetFile_From_Mac_ATS_Name): Rewritten as wrapper of
+ − 6385
FT_GetFilePath_From_Mac_ATS_Name.
+ − 6386
* builds/mac/ftmac.c: Ditto.
+ − 6387
+ − 6388
2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6389
+ − 6390
* include/freetype/ftmac.h: Fixed wrong comment: FSSpec of
+ − 6391
FT_GetFile_From_Mac_Name, FT_GetFile_From_Mac_ATS_Name are
+ − 6392
for passing to FT_New_Face_From_FSSpec.
+ − 6393
+ − 6394
2007-02-05 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6395
+ − 6396
* builds/unix/configure.raw: Check whether Mac OS X system headers
+ − 6397
can be built under ANSI C mode.
+ − 6398
+ − 6399
* src/base/ftmac.c (OS_INLINE): Redefine OS_INLINE by a version
+ − 6400
compatible to ANSI C in case system headers are ANSI C incompatible.
+ − 6401
* builds/mac/ftmac.c (OS_INLINE): Ditto.
+ − 6402
+ − 6403
2007-02-01 Werner Lemberg <wl@gnu.org>
+ − 6404
+ − 6405
* include/freetype/ttnameid.h (TT_MS_LANGID_DZONGHKA_BHUTAN):
+ − 6406
Explain why applications shouldn't use it. Found by Alexei.
+ − 6407
+ − 6408
2007-02-01 Alexei Podtelezhnikov <apodtele@gmail.com>
+ − 6409
+ − 6410
* builds/unix/freetype2.m4 (AC_CHECK_FT2): Fix spelling of warning
+ − 6411
message.
+ − 6412
+ − 6413
* src/gxvalid/gxvmort1.c
+ − 6414
(gxv_mort_subtable_type1_substTable_validate): Fix debugging
+ − 6415
message.
+ − 6416
+ − 6417
2007-01-31 Werner Lemberg <wl@gnu.org>
+ − 6418
+ − 6419
+ − 6420
* Version 2.3.1 released.
+ − 6421
=========================
+ − 6422
+ − 6423
+ − 6424
Tag sources with `VER-2-3-1-FINAL'.
+ − 6425
+ − 6426
* builds/win32/visualc/freetype.dsp,
+ − 6427
builds/win32/visualc/freetype.vcproj: s/230/231/.
+ − 6428
* builds/win32/visualc/index.html: s/221/231/.
+ − 6429
+ − 6430
* vms_make.com: Add `ftgasp'.
+ − 6431
+ − 6432
2007-01-30 David Turner <david@freetype.org>
+ − 6433
+ − 6434
Tag sources with VER-2-3-1 to prepare release.
+ − 6435
+ − 6436
* include/freetype/freetype.h (FREETYPE_PATCH): Set to 1.
+ − 6437
+ − 6438
* docs/VERSION.DLL, docs/release, README, Jamfile (RefDoc):
+ − 6439
s/2.3.0/2.3.1/.
+ − 6440
+ − 6441
* builds/unix/configure.raw (version_info): Set to 9:12:3.
+ − 6442
+ − 6443
+ − 6444
* src/autofit/aftypes.h (AF_USE_WARPER), src/autofit/afloader.c
+ − 6445
(af_loader_load_g): Disable the warper (i.e., the light hinting
+ − 6446
improvements) to make a 2.3.1 bugfix release before introducing a
+ − 6447
new feature. This should give us more time to tune and improve the
+ − 6448
warper for the next release.
+ − 6449
+ − 6450
* docs/CHANGES: Update accordingly.
+ − 6451
+ − 6452
2007-01-25 David Turner <david@freetype.org>
+ − 6453
+ − 6454
For light auto-hinting, improve glyph advance widths and resurrect
+ − 6455
normal/full hinting to its normal quality.
+ − 6456
+ − 6457
* src/autofit/afhints.h (AF_GlyphHintsRec): New members `xmin_delta'
+ − 6458
and `xmax_delta'.
+ − 6459
* src/autofit/afhints.c (af_glyph_hints_reload): Reset `xmin_delta'
+ − 6460
and `xmax_delta'.
+ − 6461
+ − 6462
* src/autofit/afloader.c (af_loader_load_g) <AF_USE_WARPER>: Replace
+ − 6463
preprocessor conditional with if-clause, handling both light and
+ − 6464
normal mode.
+ − 6465
+ − 6466
* src/autofit/afwarp.c (AF_WarpScore): Fine-tune again.
+ − 6467
(af_warper_compute): Handle `xmin_delta' and `xmax_delta'.
+ − 6468
+ − 6469
2007-01-25 Werner Lemberg <wl@gnu.org>
+ − 6470
+ − 6471
* docs/release: Updated -- Savannah uses a new uploading scheme.
+ − 6472
+ − 6473
2007-01-25 David Turner <david@freetype.org>
+ − 6474
+ − 6475
* src/cff/cffload.c (cff_index_get_pointers): Improve previous fix.
+ − 6476
+ − 6477
* src/cff/cffgload.c (cff_decoder_parse_charstrings)
+ − 6478
<cff_op_callsubr, cff_op_callgsubr>: Fix sanity check for empty
+ − 6479
functions.
+ − 6480
+ − 6481
* docs/CHANGES: Document light auto-hinting improvement.
+ − 6482
+ − 6483
2007-01-25 Werner Lemberg <wl@gnu.org>
+ − 6484
+ − 6485
* src/cff/cffload.c (cff_index_get_pointers): Handle last entry
+ − 6486
correctly in a sanity check. Since this function is only used to
+ − 6487
load local and global functions, any charstring that called the last
+ − 6488
local/global function would fail otherwise. This fixes Savannah bug
+ − 6489
#18867.
+ − 6490
+ − 6491
* docs/CHANGES: Document it.
+ − 6492
+ − 6493
2007-01-23 David Turner <david@freetype.org>
+ − 6494
+ − 6495
* src/truetype/ttobjs.c (tt_size_ready_bytecode): Fix typo that
+ − 6496
prevented compilation when disabling both the unpatented and the
+ − 6497
bytecode interpreter in the TrueType font driver.
+ − 6498
+ − 6499
+ − 6500
Fix and enable the warper to improve `light' hinting mode. This is
+ − 6501
not necessarily a final version, but it seems to work well.
+ − 6502
+ − 6503
* src/autofit/aflatin.c (af_latin_hints_init) [AF_USE_WARPER]:
+ − 6504
Disable code.
+ − 6505
(af_latin_hints_apply) [AF_USE_WARPER]: Handle FT_RENDER_MODE_LIGHT.
+ − 6506
* src/autofit/aftypes.h: Activate AF_USE_WARPER.
+ − 6507
+ − 6508
* src/autofit/afwarp.c (AF_WarpScore): Tune table.
+ − 6509
(af_warper_compute_line_best): Fix array size of `scores'.
+ − 6510
(af_warper_compute): Better handling of border cases.
+ − 6511
* src/autofit/afwarp.h (AF_WarperRec): Remove unused members `X1'
+ − 6512
and `X2'.
+ − 6513
+ − 6514
2007-01-21 Werner Lemberg <wl@gnu.org>
+ − 6515
+ − 6516
* ChangeLog: Split off older entries into...
+ − 6517
* ChangeLog.22: This new file.
+ − 6518
+ − 6519
2007-01-21 Werner Lemberg <wl@gnu.org>
+ − 6520
+ − 6521
* docs/CHANGES: Document SHZ fix.
+ − 6522
+ − 6523
2007-01-21 George Williams <gww@silcom.com>
+ − 6524
+ − 6525
* src/truetype/ttinterp.c (Ins_SHZ): SHZ doesn't move phantom
+ − 6526
points.
+ − 6527
+ − 6528
2007-01-21 Werner Lemberg <wl@gnu.org>
+ − 6529
+ − 6530
* src/sfnt/ttmtx.c (tt_face_get_metrics)
+ − 6531
[!FT_CONFIG_OPTION_OLD_INTERNALS]: Fix limit check.
+ − 6532
+ − 6533
2007-01-17 Werner Lemberg <wl@gnu.org>
+ − 6534
+ − 6535
+ − 6536
* Version 2.3.0 released.
+ − 6537
=========================
+ − 6538
+ − 6539
+ − 6540
Tag sources with `VER-2-3-0-FINAL'.
+ − 6541
+ − 6542
2007-01-17 Werner Lemberg <wl@gnu.org>
+ − 6543
+ − 6544
* docs/release: Updated.
+ − 6545
+ − 6546
2007-01-16 David Turner <david@freetype.org>
+ − 6547
+ − 6548
* src/autofit/aflatin.c (af_latin_hints_compute_segments),
+ − 6549
src/cff/cffdriver.c (cff_ps_get_font_info), src/truetype/ttobjs.c
+ − 6550
(tt_face_init), src/truetype/ttinterp.c (Ins_SHC): Fix compiler
+ − 6551
warnings.
+ − 6552
+ − 6553
2007-01-15 Detlef Würkner <TetiSoft@apg.lahn.de>
+ − 6554
+ − 6555
* builds/amiga/makefile, builds/amiga/makefile.os4,
+ − 6556
builds/amiga/smakefile: Add `ftgasp.c' and `ftlcdfil.c'.
+ − 6557
+ − 6558
* builds/amiga/include/freetype/config/ftconfig.h: Synchronize.
+ − 6559
+ − 6560
2007-01-14 Detlef Würkner <TetiSoft@apg.lahn.de>
+ − 6561
+ − 6562
Fix various compiler warnings.
+ − 6563
+ − 6564
* src/truetype/ttdriver.c (tt_size_select), src/cff/cffobjs.h,
+ − 6565
src/cff/cffobjs.c (cff_size_request), src/type42/t42objs.h:
+ − 6566
s/index/strike_index/.
+ − 6567
* src/base/ftobjs.c (FT_Match_Size): s/index/size_index/.
+ − 6568
+ − 6569
* src/gxvalid/gxvmorx5.c
+ − 6570
(gxv_morx_subtable_type5_InsertList_validate): s/index/table_index/.
+ − 6571
+ − 6572
* src/truetype/ttinterp.c (Compute_Point_Displacement),
+ − 6573
src/pcf/pcfread.c (pcf_seek_to_table_type): Avoid possibly
+ − 6574
uninitialized variables.
+ − 6575
+ − 6576
2007-01-13 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6577
+ − 6578
* docs/CHANGES, docs/INSTALL.MAC: Improvements.
+ − 6579
+ − 6580
2007-01-13 Werner Lemberg <wl@gnu.org>
+ − 6581
+ − 6582
* src/type1/t1afm.c (T1_Read_Metrics): MS Windows allows PFM
+ − 6583
versions up to 0x3FF without complaining.
+ − 6584
+ − 6585
2007-01-13 Derek Clegg <dclegg@apple.com>
+ − 6586
+ − 6587
Add FT_Get_PS_Font_Info interface to CFF driver.
+ − 6588
+ − 6589
* src/cff/cfftypes.h: Include FT_TYPE1_TABLES_H.
+ − 6590
(CFF_FontRec): Add `font_info' field.
+ − 6591
+ − 6592
* src/cff/cffload.c: Include FT_TYPE1_TABLES_H.
+ − 6593
(cff_font_done): Free font->font_info if necessary.
+ − 6594
+ − 6595
* src/cff/cffdrvr.c (cff_ps_get_font_info): New function.
+ − 6596
(cff_service_ps_info): Register cff_ps_get_font_info.
+ − 6597
+ − 6598
2007-01-13 Werner Lemberg <wl@gnu.org>
+ − 6599
+ − 6600
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Fix compilation
+ − 6601
with C++ compiler.
+ − 6602
+ − 6603
* src/autofit/afhints.c (af_glyph_hints_dump_segments,
+ − 6604
af_glyph_hints_dump_edges): Ditto.
+ − 6605
+ − 6606
* src/base/rules.mk (BASE_SRC): Remove ftgasp.c (it's already in
+ − 6607
`modules.cfg').
+ − 6608
+ − 6609
* src/sfnt/ttsbit0.h: Remove.
+ − 6610
+ − 6611
* src/sfnt/rules.mk (SFNT_DRV_SRC): Don't include ttsbit0.c.
+ − 6612
+ − 6613
2007-01-12 David Turner <david@freetype.org>
+ − 6614
+ − 6615
* src/base/ftbitmap.c (ft_bitmap_assure_buffer): Fix memory stomping
+ − 6616
bug in the bitmap emboldener if the pitch of the source bitmap is
+ − 6617
much larger than its width.
+ − 6618
+ − 6619
* src/truetype/ttinterp.c (Update_Max): Fix aliasing-related
+ − 6620
compilation warning.
+ − 6621
+ − 6622
2007-01-12 Werner Lemberg <wl@gnu.org>
+ − 6623
+ − 6624
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
+ − 6625
`automake' CVS module from sources.redhat.com.
+ − 6626
+ − 6627
2007-01-11 Werner Lemberg <wl@gnu.org>
+ − 6628
+ − 6629
* src/type1/t1load.c (is_space): Removed.
+ − 6630
(parse_encoding, parse_charstrings): Use IS_PS_DELIM.
+ − 6631
(parse_charstrings): Use IS_PS_TOKEN.
+ − 6632
+ − 6633
+ − 6634
* autogen.sh: Avoid bash specific syntax.
+ − 6635
+ − 6636
2007-01-11 David Turner <david@freetype.org>
+ − 6637
+ − 6638
* docs/CHANGES: Small update.
+ − 6639
+ − 6640
* builds/unix/configure.raw (version_info): Set to 9:11:3.
+ − 6641
+ − 6642
* src/base/ftobjs.c (IsMacResource): Fix a small bug that caused a
+ − 6643
crash with some Mac OS X .dfont files. Submitted by Masatake
+ − 6644
Yamato.
+ − 6645
+ − 6646
* autogen.sh: Small fix to get it working on Mac OS X properly:
+ − 6647
The issue is that GNU libtool is called `glibtool' on this platform,
+ − 6648
and we must call `glibtoolize', since `libtoolize' doesn't exist.
+ − 6649
+ − 6650
2007-01-10 David Turner <david@freetype.org>
+ − 6651
+ − 6652
* all-sources: Tag all sources with VER-2-3-0-RC1 and
+ − 6653
VER-2-3-0.
+ − 6654
+ − 6655
* Jamfile (RefDoc), README, builds/win32/visualc/freetype.dsp,
+ − 6656
builds/win32/visualc/freetype.vcproj, docs/VERSION.DLL: Update
+ − 6657
version number to 2.3.0.
+ − 6658
+ − 6659
* include/freetype/freetype.h (FREETYPE_MINOR): Set to 3.
+ − 6660
(FREETYPE_PATCH): Set to 0.
+ − 6661
+ − 6662
* include/freetype/ftchapters.h, include/freetype/ftgasp.h,
+ − 6663
include/freetype/ftlcdfil.h: Update reference documentation with
+ − 6664
GASP support and LCD filtering sections.
+ − 6665
+ − 6666
* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix a typo
+ − 6667
which created an endless loop with some malformed font files.
+ − 6668
+ − 6669
2007-01-10 Derek Clegg <dclegg@apple.com>
+ − 6670
+ − 6671
* src/type1/t1load.c (T1_Get_MM_Var): Always return fixed point
+ − 6672
values.
+ − 6673
+ − 6674
2007-01-08 David Turner <david@freetype.org>
+ − 6675
+ − 6676
* docs/CHANGES: Updated.
+ − 6677
+ − 6678
* include/freetype/ftgasp.h, src/base/ftgasp.c: New files which add
+ − 6679
a new API `FT_Get_Gasp' to return entries of the `gasp' table
+ − 6680
corresponding to a given character pixel size.
+ − 6681
+ − 6682
* src/sfnt/ttload.c (tt_face_load_gasp): Add version check for the
+ − 6683
`gasp' table, in order to avoid potential problems with later
+ − 6684
versions.
+ − 6685
+ − 6686
* include/freetype/config/ftheader.h (FT_GASP_H): New macro for
+ − 6687
<freetype/ftgasp.h>.
+ − 6688
+ − 6689
* src/base/rules.mk (BASE_SRC), src/base/Jamfile (_sources),
+ − 6690
modules.cfg (BASE_EXTENSIONS), builds/win32/visualc/freetype.dsp,
+ − 6691
builds/win32/visualc/freetype.vcproj: Add src/base/ftgasp.c to the
+ − 6692
default build.
+ − 6693
+ − 6694
2007-01-07 Werner Lemberg <wl@gnu.org>
+ − 6695
+ − 6696
* src/cid/cidparse.c (cid_parser_new): Improve error message for
+ − 6697
Type 11 fonts.
+ − 6698
Scan for `/sfnts' token.
+ − 6699
+ − 6700
2007-01-07 Werner Lemberg <wl@gnu.org>
+ − 6701
+ − 6702
* src/cid/cidparse.c (cid_parser_new): Reject Type 11 fonts.
+ − 6703
+ − 6704
2007-01-06 Werner Lemberg <wl@gnu.org>
+ − 6705
+ − 6706
* src/cff/cffload.c (cff_index_init): Remove unused variable.
+ − 6707
(cff_index_read_offset): s/perror/errorp/ to avoid global shadowing.
+ − 6708
+ − 6709
2007-01-04 David Turner <david@freetype.org>
+ − 6710
+ − 6711
* src/pfr/pfrobjs.c (pfr_face_init): Detect non-scalable fonts
+ − 6712
correctly. This fixes Savannah bug #17876.
+ − 6713
+ − 6714
+ − 6715
Do not allocate interpreter-specific tables in memory if we are not
+ − 6716
going to load glyphs with the bytecode interpreter anyway.
+ − 6717
+ − 6718
* src/truetype/ttgload.c (tt_loader_init): Load execution context
+ − 6719
only if glyph is hinted.
+ − 6720
Updated.
+ − 6721
* src/truetype/ttobjs.h (TT_SizeRec): Add members `bytecode_ready'
+ − 6722
and `cvs_ready'.
+ − 6723
Add `tt_size_ready_bytecode' declaration.
+ − 6724
* src/truetype/ttobjs.c (tt_size_done_bytecode,
+ − 6725
tt_size_init_bytecode, tt_size_ready_bytecode): New functions.
+ − 6726
(tt_size_init): Move most code into `tt_size_init_bytecode'.
+ − 6727
(tt_size_done): Move most code into `tt_size_done_bytecode'.
+ − 6728
(tt_size_reset): Move some code to `tt_size_ready_bytecode'.
+ − 6729
+ − 6730
+ − 6731
Don't extract the metrics table from the SFNT font file. Instead,
+ − 6732
reparse it on each glyph load. The runtime difference is not
+ − 6733
noticeable, and it can save a lot of heap memory when memory-mapped
+ − 6734
files are not used.
+ − 6735
+ − 6736
* include/freetype/internal/tttypes.h (TT_FaceRec): Add members
+ − 6737
`horz_metrics_offset' and `vert_metrics_ofset'.
+ − 6738
* src/sfnt/ttmtx.c (tt_face_load_hmtx, tt_face_get_metrics):
+ − 6739
Updated.
+ − 6740
+ − 6741
+ − 6742
* src/sfnt/ttcmap.c (tt_cmap4_validate): Slight optimization.
+ − 6743
+ − 6744
+ − 6745
Do not load the CFF index offsets into memory, since this wastes a
+ − 6746
*lot* of heap memory with large Asian CFF fonts. There is no
+ − 6747
significant performance loss.
+ − 6748
+ − 6749
* src/cff/cffload.h: Add `cff_charset_cid_to_gindex' declaration.
+ − 6750
* src/cff/cfftypes.h (CFF_IndexRec): Add fields `start' and
+ − 6751
`data_size'.
+ − 6752
(CFF_CharsetRec): Add field `num_glyphs'.
+ − 6753
+ − 6754
* src/cff/cffload.c (cff_index_read_offset, cff_index_load_offsets,
+ − 6755
cff_charset_cid_to_gindex): New functions.
+ − 6756
(cff_new_index): Renamed to...
+ − 6757
(cff_index_init): This. Update all callers.
+ − 6758
Updated -- some code has been moved to `cff_index_load_offsets'.
+ − 6759
(cff_done_index): Renamed to...
+ − 6760
(cff_index_done): This. Update all callers.
+ − 6761
(cff_index_get_pointers, cff_index_access_element): Updated to use
+ − 6762
stream offsets.
+ − 6763
(cff_charset_compute_cids): Set `num_glyphs' field.
+ − 6764
(cff_encoding_load): Updated.
+ − 6765
+ − 6766
* src/cff/cffgload.c (cff_slot_load): Updated.
+ − 6767
+ − 6768
2007-01-04 David Turner <david@freetype.org>
+ − 6769
+ − 6770
* docs/INSTALL.UNIX: Simplify some parts, add reference to
+ − 6771
autogen.sh and pointer to README.CVS.
+ − 6772
+ − 6773
* README.CVS: Add common problem description and solution
+ − 6774
when running autogen.sh.
+ − 6775
+ − 6776
* docs/INSTALL: Add reference to MacOS X.
+ − 6777
+ − 6778
* docs/MAKEPP, docs/INSTALL.MAC: New documentation files.
+ − 6779
+ − 6780
* docs/TODO: Remove obsolete items.
+ − 6781
+ − 6782
* src/raster/ftraster.c: (TRaster_Instance): Replace it with...
+ − 6783
(TWorker): This.
+ − 6784
Remove `count_table' and `memory'.
+ − 6785
Make `grays' a pointer.
+ − 6786
(TRaster): New structure.
+ − 6787
(count_table): New static array.
+ − 6788
(RAS_ARGS, RAS_ARG, RAS_VARS, RAS_VAR, FT_UNUSED_RASTER, cur_ras,
+ − 6789
Vertical_Gray_Sweep_Step, ft_black_new, ft_black_done,
+ − 6790
ft_black_set_mode, ft_black_render): Updated.
+ − 6791
(ft_black_init): Don't initialize `count_table'.
+ − 6792
(ft_black_reset): Use the render pool. This saves about 6KB of
+ − 6793
heap space for each FT_Library instance.
+ − 6794
+ − 6795
* src/smooth/ftgrays.c (TRaster): Replaced with...
+ − 6796
(TWorker): This.
+ − 6797
Remove `memory'.
+ − 6798
(TRaster): New structure.
+ − 6799
+ − 6800
(RAS_ARG_, RAS_ARG, RAS_VAR_, RAS_VAR, ras, gray_render_line,
+ − 6801
gray_move_to, gray_line_to, gray_conic_to, gray_cubic_to,
+ − 6802
gray_render_span, gray_raster_render): Updated.
+ − 6803
(gray_raster_reset): Use the render pool. This saves about 6KB of
+ − 6804
heap space for each FT_Library instance.
+ − 6805
+ − 6806
* src/sfnt/sfobjs.c, src/sfnt/ttkern.c, src/sfnt/ttkern.h,
+ − 6807
src/sfnt/ttmtx.c, src/sfnt/ttsbit.c, src/sfnt/ttsbit.h,
+ − 6808
src/truetype/ttpload.c, include/freetype/config/ftoption.h: Remove
+ − 6809
FT_OPTIMIZE_MEMORY macro (and code for !FT_OPTIMIZE_MEMORY) since
+ − 6810
the optimization is no longer experimental.
+ − 6811
+ − 6812
* src/pshinter/pshalgo.c (psh_glyph_interpolate_normal_points):
+ − 6813
Remove a typo that results in no hinting and a memory leak with some
+ − 6814
large Asian CFF fonts.
+ − 6815
+ − 6816
* src/base/ftobjs.c (FT_Done_Library): Remove a subtle memory leak
+ − 6817
which happens when FT_Done_Library is called with still opened
+ − 6818
CFF_Faces in it. We need to close all faces before destroying the
+ − 6819
modules, or else some bad things (memory leaks) may happen.
+ − 6820
+ − 6821
2007-01-02 Werner Lemberg <wl@gnu.org>
+ − 6822
+ − 6823
* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate):
+ − 6824
Remove compiler warning.
+ − 6825
+ − 6826
2007-01-02 David Turner <david@freetype.org>
+ − 6827
+ − 6828
* src/sfnt/sfobjs.c: Add documentation comment.
+ − 6829
+ − 6830
2006-12-31 Masatake YAMATO <jet@gyve.org>
+ − 6831
+ − 6832
* src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): New
+ − 6833
function.
+ − 6834
Check uniqueness of the gid pairs.
+ − 6835
(gxv_kern_subtable_fmt0_validate): Move some code to
+ − 6836
`gxv_kern_subtable_fmt0_pairs_validate'.
+ − 6837
+ − 6838
2006-12-22 David Turner <david@freetype.org>
+ − 6839
+ − 6840
* src/autofit/aflatin.c, src/truetype/ttgload.c: Remove compiler
+ − 6841
warnings.
+ − 6842
+ − 6843
* builds/win32/visualc/freetype.vcproj: Add _CRT_SECURE_NO_DEPRECATE
+ − 6844
to avoid deprecation warnings with Visual C++ 8.
+ − 6845
+ − 6846
2006-12-16 Anders Kaseorg <anders@kaseorg.com>
+ − 6847
+ − 6848
* src/base/ftlcdfil.c (FT_Library_SetLcdFilter)
+ − 6849
[FT_FORCE_LIGHT_LCD_FILTER]: Fix typo.
+ − 6850
+ − 6851
2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6852
+ − 6853
* include/freetype/internal/services/svotval.h: Add `volatile' to
+ − 6854
sync with the modification by Jens Claudius on 2006-08-22; cf.
+ − 6855
http://cvs.savannah.gnu.org/viewcvs/freetype/freetype2/src/otvalid/otvmod.c?r1=1.4&r2=1.5
+ − 6856
+ − 6857
2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6858
+ − 6859
* src/base/ftmac.c: Specialized for Mac OS X only.
+ − 6860
* builds/unix/ftconfig.in: Fixed for ppc64 missing Carbon framework.
+ − 6861
* builds/unix/configure.raw: Ditto. When explicit switches for
+ − 6862
FSSpec/FSRef/QuickDraw/ATS availability are given to configure,
+ − 6863
builds/mac/ftmac.c is used instead of default src/base/ftmac.c.
+ − 6864
+ − 6865
2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6866
+ − 6867
* builds/mac/ftmac.c: Copied src/base/ftmac.c for legacy system.
+ − 6868
* builds/mac/FreeType.m68k_cfm.make.txt: Fix to use builds/mac/ftmac.c
+ − 6869
instead of src/base/ftmac.c
+ − 6870
* builds/mac/FreeType.ppc_carbon.make.txt: Ditto.
+ − 6871
* builds/mac/FreeType.ppc_classic.make.txt: Ditto.
+ − 6872
* builds/mac/FreeType.m68k_far.make.txt: Ditto, and exclude gxvalid.c
+ − 6873
that cannot be built at present.
+ − 6874
+ − 6875
2006-12-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 6876
+ − 6877
* src/base/ftobjs.c: Improvement of resource fork handler for
+ − 6878
POSIX, cf.
+ − 6879
http://lists.gnu.org/archive/html/freetype-devel/2006-10/msg00025.html
+ − 6880
(Mac_Read_sfnt_Resource): Count only `sfnt' resource of suitcase font
+ − 6881
format or .dfont, to simulate the face index number counted by ftmac.c.
+ − 6882
(IsMacResource): Return the number of scalable faces correctly.
+ − 6883
+ − 6884
2006-12-10 Werner Lemberg <wl@gnu.org>
+ − 6885
+ − 6886
* builds/toplevel.mk (version): Protect against `distclean' target.
+ − 6887
+ − 6888
2006-12-09 Werner Lemberg <wl@gnu.org>
+ − 6889
+ − 6890
* builds/*/*def.mk, builds/*/detect.mk (CAT): Define to either `cat'
+ − 6891
or `type'.
+ − 6892
+ − 6893
* builds/freetype.mk (version): Extracted from freetype.h, using
+ − 6894
GNU make's built-in string functions.
+ − 6895
(refdoc): Use $(version) instead of static version number.
+ − 6896
+ − 6897
2006-12-08 Werner Lemberg <wl@gnu.org>
+ − 6898
+ − 6899
* builds/toplevel.mk (dist): Extract version number from freetype.h.
+ − 6900
+ − 6901
2006-12-08 Vladimir Volovich <vvv@vsu.ru>
+ − 6902
+ − 6903
* src/tools/apinames.c (State): Remove final comma in structure --
+ − 6904
xlc v5 under AIX 4.3 doesn't like this.
+ − 6905
+ − 6906
2006-12-07 David Turner <david@freetype.org>
+ − 6907
+ − 6908
* src/autofit/afloader.c (af_loader_load_g): Small adjustment
+ − 6909
to the spacing of auto-fitted glyphs. This only impacts rare
+ − 6910
cases (e.g., Arial Bold at rather small character sizes).
+ − 6911
+ − 6912
2006-12-03 Werner Lemberg <wl@gnu.org>
+ − 6913
+ − 6914
* src/sfnt/rules.mk (SFNT_DRV_SRC): Add ttsbit0.c.
+ − 6915
+ − 6916
2006-12-01 Werner Lemberg <wl@gnu.org>
+ − 6917
+ − 6918
* src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are
+ − 6919
encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>.
+ − 6920
(tt_name_entry_ascii_from_ucs4): Removed.
+ − 6921
+ − 6922
+ − 6923
* include/freetype/ftxf86.h: Fix and extend comment so that it
+ − 6924
appears in the documentation.
+ − 6925
+ − 6926
* include/freetype/ftchapters.h: Add `font_format' section.
+ − 6927
+ − 6928
+ − 6929
* src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link
+ − 6930
to TOC in index page.
+ − 6931
+ − 6932
2006-11-28 David Turner <david@freetype.org>
+ − 6933
+ − 6934
* src/smooth/ftgrays.c (gray_raster_render): Return 0 when we are
+ − 6935
trying to render into a zero-width/height bitmap, not an error code.
+ − 6936
+ − 6937
* src/truetype/ttobjs.c (tt_face_init): Fix typo in previous patch.
+ − 6938
+ − 6939
* src/smooth/ftgrays.c: Remove hard-coded error values; use FreeType
+ − 6940
ones instead.
+ − 6941
+ − 6942
* src/autofit/afhints.c (af_glyph_hints_dump_segments): Remove unused
+ − 6943
variable.
+ − 6944
+ − 6945
2006-11-26 Pierre Hanser <hanser@club-internet.fr>
+ − 6946
+ − 6947
* src/truetype/ttobjs.c (tt_face_init): Protect against NULL pointer.
+ − 6948
+ − 6949
2006-11-25 David Turner <david@freetype.org>
+ − 6950
+ − 6951
* src/autofit/afhints.c (af_glyph_hints_dump_points,
+ − 6952
af_glyph_hints_dump_segments, af_glyph_hints_dumpedges) [!AF_DEBUG]:
+ − 6953
Add stubs to link the `ftgrid' test program when debugging is
+ − 6954
disabled in the auto-hinter.
+ − 6955
+ − 6956
2006-11-23 David Turner <david@freetype.org>
+ − 6957
+ − 6958
* src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c,
+ − 6959
src/autofit/aftypes.h: Miscellaneous auto-hinter improvements.
+ − 6960
+ − 6961
* src/autofit/afhints.c (af_glyph_hints_dump_segments) [AF_DEBUG]:
+ − 6962
Emit more sensible information.
+ − 6963
+ − 6964
* src/autofit/afhints.h (AF_SegmentRec): Add `height' member.
+ − 6965
+ − 6966
* src/autofit/aflatin.c (af_latin_metrics_scale_dim): Improve
+ − 6967
rounding of blue values.
+ − 6968
(af_latin_hints_compute_segments): Hint segment heights.
+ − 6969
(af_latin_hints_link_segments): Reduce `len_score' value.
+ − 6970
(af_latin_hints_compute_edges): Increase `segment_length_threshold'
+ − 6971
value and use `height' member for comparisons.
+ − 6972
(af_latin_hint_edges): Extend logging message.
+ − 6973
Improve handling of remaining edges.
+ − 6974
+ − 6975
2006-11-22 Werner Lemberg <wl@gnu.org>
+ − 6976
+ − 6977
Fix Savannah bug #15553.
+ − 6978
+ − 6979
* src/truetype/ttgload.c (tt_loader_init): Re-execute the CVT
+ − 6980
program after a change from mono to grayscaling (and vice versa).
+ − 6981
Use correct constant for comparison to get `exec->grayscale'.
+ − 6982
+ − 6983
2006-11-18 Werner Lemberg <wl@gnu.org>
+ − 6984
+ − 6985
Because FT_Load_Glyph expects CID values for CID-keyed fonts, the
+ − 6986
test for a valid glyph index must be deferred to the font drivers.
+ − 6987
This patch fixes Savannah bug #18301.
+ − 6988
+ − 6989
* src/base/ftobjs.c (FT_Load_Glyph): Don't check `glyph_index'.
+ − 6990
* src/bdf/bdfdrivr.c (BDF_Glyph_Load), src/cff/cffgload.c
+ − 6991
(cff_slot_load), src/cid/cidgload.c (cid_slot_load_glyph),
+ − 6992
src/pcf/pcfdrivr.c (PCF_Glyph_Load), src/pfr/pfrobjs.c
+ − 6993
(pfr_slot_load), src/truetype/ttdriver.c (Load_Glyph),
+ − 6994
src/type1/t1gload.c (T1_Load_Glyph), src/winfonts/winfnt.c
+ − 6995
(FNT_Load_Glyph): Check validity of `glyph_index'.
+ − 6996
+ − 6997
2006-11-13 David Turner <david@freetype.org>
+ − 6998
+ − 6999
* src/truetype/ttinterp.c (FIX_BYTECODE): Undefine. The interpreter
+ − 7000
`enhancements' are still too buggy for general use.
+ − 7001
+ − 7002
* src/base/ftlcdfil.c: Add support for FT_FORCE_LIGHT_LCD_FILTER and
+ − 7003
FT_FORCE_LEGACY_LCD_FILTER at compile time. Define these macros
+ − 7004
when building the library to change the default LCD filter to be
+ − 7005
used. This is only useful for experimentation.
+ − 7006
+ − 7007
* include/freetype/ftlcdfil.h: Update documentation.
+ − 7008
+ − 7009
2006-11-10 David Turner <david@freetype.org>
+ − 7010
+ − 7011
* src/smooth/ftsmooth.c: API change for the LCD
+ − 7012
filter. The FT_LcdFilter value is an enumeration describing which
+ − 7013
filter to apply, with new values FT_LCD_FILTER_LIGHT and
+ − 7014
FT_LCD_FILTER_LEGACY (the latter implements the LibXft original
+ − 7015
algorithm which produces strong color fringes for everything
+ − 7016
except very-well hinted text).
+ − 7017
+ − 7018
* include/freetype/ftlcdfil.h (FT_Library_SetLcdFilter): Change
+ − 7019
second parameter to an enum type.
+ − 7020
+ − 7021
* src/base/ftlcdfil.c (USE_LEGACY): Define.
+ − 7022
(_ft_lcd_filter): Rename to...
+ − 7023
(_ft_lcd_filter_fir): This.
+ − 7024
Update parameters.
+ − 7025
(_ft_lcd_filter_legacy) [USE_LEGACY]: New filter function.
+ − 7026
(FT_Library_Set_LcdFilter): Update parameters.
+ − 7027
Handle new filter modes.
+ − 7028
+ − 7029
* include/internal/ftobjs.h: Include FT_LCD_FILTER_H.
+ − 7030
(FT_Bitmap_LcdFilterFunc): Change third argument to `FT_Library'.
+ − 7031
(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Add filtering
+ − 7032
callback and update other fields.
+ − 7033
+ − 7034
* src/smooth/ftsmooth.c (ft_smooth_render_generic)
+ − 7035
[FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: Update.
+ − 7036
Other minor improvements.
+ − 7037
+ − 7038
* src/autofit/aflatin.c: Various tiny improvements that drastically
+ − 7039
improve the handling of serif fonts and of LCD/LCD_V hinting modes.
+ − 7040
(af_latin_hints_compute_edges): Fix typo.
+ − 7041
(af_latin_compute_stem_width): Take better care of diagonal stems.
+ − 7042
+ − 7043
2006-11-09 David Turner <david@freetype.org>
+ − 7044
+ − 7045
* src/pshinter/pshalgo.c (psh_glyph_compute_inflections): Fix
+ − 7046
typo which created a variable-used-before-initialized bug.
+ − 7047
+ − 7048
2006-11-07 Zhe Su <james.su@gmail.com>
+ − 7049
+ − 7050
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Handle vertical layout
+ − 7051
also.
+ − 7052
+ − 7053
2006-11-03 Werner Lemberg <wl@gnu.org>
+ − 7054
+ − 7055
* src/base/ftcalc.c: Don't use `long long' but `FT_Int64'.
+ − 7056
+ − 7057
2006-11-02 David Turner <david@freetype.org>
+ − 7058
+ − 7059
Add a few tweaks to better handle serif fonts.
+ − 7060
Add more debugging messages.
+ − 7061
+ − 7062
* src/autofit/aflatin.c (af_latin_hints_compute_edges): Ignore
+ − 7063
segments that are less than 1.5 pixels high. This gets rid of
+ − 7064
*many* corner cases with serifs.
+ − 7065
(af_latin_align_linked_edge): Add logging message.
+ − 7066
(af_latin_hint_edges): Use AF_HINTS_DO_BLUES.
+ − 7067
Add logging messages.
+ − 7068
Handle AF_EDGE_FLAG flag specially.
+ − 7069
+ − 7070
* src/autofit/afmodule.c [AF_DEBUG]: Add _af_debug,
+ − 7071
_af_debug_disable_blue_hints, and _af_debug_hints variables.
+ − 7072
+ − 7073
* src/autofit/aftypes.h (AF_LOG) [AF_DEBUG]: Use _af_debug.
+ − 7074
Update external declarations.
+ − 7075
(af_corner_orientation, af_corner_is_flat): Replaced by...
+ − 7076
+ − 7077
* include/freetype/internal/ftcalc.h (ft_corner_orientation,
+ − 7078
ft_corner_is_flat): These declarations.
+ − 7079
+ − 7080
* src/autofit/afangles.c (af_corner_orientation, af_corner_is_flat):
+ − 7081
Comment out. Replaced by...
+ − 7082
+ − 7083
* src/base/ftcalc.h (ft_corner_orientation, ft_corner_is_flat):
+ − 7084
These functions. Update all callers.
+ − 7085
(FT_Add64) [!FT_LONG64]: Simplify.
+ − 7086
+ − 7087
* src/autofit/afhints.c: Include FT_INTERNAL_CALC_H.
+ − 7088
(af_direction_compute): Add a missing FT_ABS call. This bug caused
+ − 7089
production of garbage by missing lots of segments.
+ − 7090
+ − 7091
* src/autofit/afhints.h (AF_HINTS_DO_BLUES): New macro.
+ − 7092
+ − 7093
* src/autofit/afloader.c (af_loader_init, af_loader_done)
+ − 7094
[AF_DEBUG]: Set _af_debug_hints.
+ − 7095
+ − 7096
+ − 7097
* src/pshinter/pshalgo.c: Include FT_INTERNAL_CALC_H.
+ − 7098
(psh_corner_is_flat, psh_corner_orientation): Use ft_corner_is_flat
+ − 7099
and ft_corner_orientation.
+ − 7100
+ − 7101
+ − 7102
* src/gzip/inftrees.c (huft_build): Remove compiler warning.
+ − 7103
+ − 7104
2006-10-24 Werner Lemberg <wl@gnu.org>
+ − 7105
+ − 7106
* src/cff/cffload.c (cff_encoding_load): Remove unused variable.
+ − 7107
+ − 7108
* src/base/ftobjs.c (FT_Select_Charmap): Disallow FT_ENCODING_NONE
+ − 7109
as argument.
+ − 7110
+ − 7111
2006-10-23 Zhe Su <zsu@novell.com>
+ − 7112
+ − 7113
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Re-implement to
+ − 7114
better deal with broken Asian fonts with strange glyphs, having
+ − 7115
self-intersections and other peculiarities. The used algorithm is
+ − 7116
based on the nonzero winding rule.
+ − 7117
+ − 7118
2006-10-23 David Turner <david@freetype.org>
+ − 7119
+ − 7120
Speed up the CFF font loader. With some large CFF fonts,
+ − 7121
FT_Open_Face is now more than three times faster.
+ − 7122
+ − 7123
* src/cff/cffload.c (cff_get_offset): Removed.
+ − 7124
(cff_new_index): Inline functionality of `cff_get_offset'.
+ − 7125
(cff_charset_compute_cids, cff_charset_free_cids): New functions.
+ − 7126
(cff_charset_done): Call `cff_charset_free_cids'.
+ − 7127
(cff_charset_load): Call `cff_charset_compute_cids'.
+ − 7128
(cff_encoding_load) <Populate>: Ditto, to replace inefficient loop.
+ − 7129
+ − 7130
* src/sfnt/ttmtx.c (tt_face_load_hmtx): Replace calls to FT_GET_XXX
+ − 7131
with FT_NEXT_XXX.
+ − 7132
+ − 7133
+ − 7134
Speed up the Postscript hinter, with more than 100% speed increase
+ − 7135
on my machine.
+ − 7136
+ − 7137
* src/pshinter/pshalgo.c (psh_corner_is_flat,
+ − 7138
psh_corner_orientation): New functions.
+ − 7139
(psh_glyph_compute_inflections): Merge loops for efficiency.
+ − 7140
Use `psh_corner_orientation'.
+ − 7141
(psh_glyph_init): Use `psh_corner_is_flat'.
+ − 7142
(psh_hint_table_find_strong_point): Renamed to...
+ − 7143
(psh_hint_table_find_strong_points): This.
+ − 7144
Rewrite, adding argument to handle all points at once.
+ − 7145
Update all callers.
+ − 7146
(PSH_MAX_STRONG_INTERNAL): New macro.
+ − 7147
(psh_glyph_interpolate_normal_points): Rewrite for efficiency.
+ − 7148
+ − 7149
2006-10-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7150
+ − 7151
* src/base/ftmac.c (FT_New_Face_From_FOND): Initialize variable
+ − 7152
`error' with FT_Err_Ok.
+ − 7153
+ − 7154
2006-10-14 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7155
+ − 7156
* docs/INSTALL.CROSS: New document file for cross-building.
+ − 7157
+ − 7158
* builds/unix/configure.raw: Preliminary cross-building support.
+ − 7159
Find native C compiler and pass it by CC_BUILD, and
+ − 7160
find suffix for native executable and pass it by EXEEXT_BUILD.
+ − 7161
Also suffix for target executable is passed by EXEEXT.
+ − 7162
+ − 7163
* builds/unix/unix-cc.in (CCraw_build, E_BUILD): New variables to
+ − 7164
build `apinames' which runs on building system. They are set by
+ − 7165
CC_BUILD and EXEEXT_BUILD.
+ − 7166
+ − 7167
* builds/exports.mk (APINAMES_EXE): Change the extension for
+ − 7168
apinames from the suffix for target (E) to that for building host
+ − 7169
(E_BUILD).
+ − 7170
+ − 7171
2006-10-12 Werner Lemberg <wl@gnu.org>
+ − 7172
+ − 7173
* docs/INSTALL.UNX, docs/UPGRADE.UNX: Renamed to...
+ − 7174
* docs/INSTALL.UNIX, docs/UPGRADE.UNIX: This. Update all documents
+ − 7175
which reference those files.
+ − 7176
+ − 7177
2006-10-12 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7178
+ − 7179
* builds/unix/configure.raw (FT2_EXTRA_LIBS): New variable. It is
+ − 7180
embedded in freetype2.pc and freetype-config. Use it to record
+ − 7181
Carbon dependency of MacOSX.
+ − 7182
+ − 7183
* builds/unix/freetype2.in: Embed FT2_EXTRA_LIBS.
+ − 7184
+ − 7185
* builds/unix/freetype-config.in: Ditto.
+ − 7186
+ − 7187
2006-10-11 Werner Lemberg <wl@gnu.org>
+ − 7188
+ − 7189
* devel/ftoption.h (FT_CONFIG_OPTION_SUBPIXEL_RENDERING): Define for
+ − 7190
development.
+ − 7191
+ − 7192
2006-10-03 Jens Claudius <jens.claudius@yahoo.com>
+ − 7193
+ − 7194
* include/freetype/config/ftstdlib.h: Cast away volatileness from
+ − 7195
argument to ft_setjmp.
+ − 7196
+ − 7197
* include/freetype/internal/ftvalid.h: Add comment that
+ − 7198
ft_validator_run must not be used.
+ − 7199
+ − 7200
2006-10-01 Werner Lemberg <wl@gnu.org>
+ − 7201
+ − 7202
* src/base/ftbase.c: Undo change from 2006-09-30.
+ − 7203
+ − 7204
* src/base/rules.mk (BASE_SRC): Remove `ftlcdfil.c'.
+ − 7205
+ − 7206
2006-09-30 David Turner <david@freetype.org>
+ − 7207
+ − 7208
* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+ − 7209
s/unpatented_hinting/ignore_unpatented_hinter/.
+ − 7210
Update all callers.
+ − 7211
+ − 7212
* src/base/ftobjs.c (FT_Load_Glyph): Refine the algorithm whether
+ − 7213
auto-hinting shall be used or not.
+ − 7214
+ − 7215
* src/truetype/ttobjs.c (tt_face_init): Ditto.
+ − 7216
+ − 7217
2006-09-30 Werner Lemberg <wl@gnu.org>
+ − 7218
+ − 7219
* src/base/rules.mk (BASE_SRC): Remove `ftapi.c' (which is no longer
+ − 7220
in use).
+ − 7221
+ − 7222
* src/base/ftbase.c: Include `ftlcdfil.c'.
+ − 7223
+ − 7224
2006-09-29 Werner Lemberg <wl@gnu.org>
+ − 7225
+ − 7226
* src/sfnt/ttcmap.c (tt_cmap4_char_map_binary): Fix algorithm for
+ − 7227
overlapping segments. Bug reported by Stefan Koch.
+ − 7228
+ − 7229
2006-09-28 David Turner <david@freetype.org>
+ − 7230
+ − 7231
Fix a bug in the automatic unpatented hinting support which prevents
+ − 7232
normal bytecode hinting to work properly.
+ − 7233
+ − 7234
* include/freetype/internal/ftobjs.h (FT_Face_InternalRec):
+ − 7235
s/force_autohint/unpatented_hinting/. Update all callers.
+ − 7236
+ − 7237
* src/base/ftobjs.c (FT_Load_Glyph): Updated code.
+ − 7238
+ − 7239
* src/autofit/aftypes.h (AF_DEBUG): Undefine to get rid of traces.
+ − 7240
+ − 7241
2006-09-27 David Turner <david@freetype.org>
+ − 7242
+ − 7243
* include/freetype/freetype.h (FT_FREETYPE_PATCH): Set to 2.
+ − 7244
+ − 7245
+ − 7246
Add a new API to support color filtering of subpixel glyph bitmaps.
+ − 7247
In a default build, the function `FT_Library_SetLcdFilter' returns
+ − 7248
`FT_Err_Unimplemented_Feature'; you need to #define
+ − 7249
FT_CONFIG_OPTION_SUBPIXEL_RENDERING in ftoption.h to compile the
+ − 7250
real implementation.
+ − 7251
+ − 7252
* include/freetype/ftlcdfil.h, src/base/ftlcdfil.c: New files.
+ − 7253
+ − 7254
* include/freetype/internal/ftobjs.h (FT_Bitmap_LcdFilterFunc): New
+ − 7255
typedef.
+ − 7256
(FT_LibraryRec) [FT_CONFIG_OPTION_SUBPIXEL_RENDERING]: New members
+ − 7257
`lcd_filter_weights' and `lcd_filter'.
+ − 7258
+ − 7259
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Remove arguments
+ − 7260
`hmul' and `vmul'.
+ − 7261
+ − 7262
Handle subpixel rendering.
+ − 7263
Simplify function.
+ − 7264
(ft_smooth_render_lcd): Use `FT_RENDER_MODE_LCD'.
+ − 7265
(ft_smooth_render_lcd_v): Use `FT_RENDER_MODE_LCD_V'.
+ − 7266
+ − 7267
* include/freetype/config/ftheader.h (FT_LCD_FILTER_H): New macro,
+ − 7268
pointing to <freetype/ftlcdfil.h>.
+ − 7269
+ − 7270
* src/base/Jamfile (_sources), src/base/rules.mk (BASE_SRC),
+ − 7271
vms_make.com: Add `ftlcdfil.c' to the list of compiled source files.
+ − 7272
+ − 7273
* modules.cfg (BASE_EXTENSIONS): Add ftlcdfil.c.
+ − 7274
+ − 7275
2006-09-26 David Bustin
+ − 7276
+ − 7277
* src/pfr/pfrobjs.c (pfr_face_get_kerning): Skip adjustment bytes
+ − 7278
correctly. Reported as Savannah bug #17843.
+ − 7279
+ − 7280
2006-09-26 David Turner <david@freetype.org>
+ − 7281
+ − 7282
* src/autofit/afhints.h (AF_HINTS_DO_HORIZONTAL,
+ − 7283
AF_HINTS_DO_VERTICAL, AF_HINTS_DO_ADVANCE): New macros to disable
+ − 7284
horizontal and vertical hinting for the purpose of debugging the
+ − 7285
auto-fitter.
+ − 7286
+ − 7287
* src/autofit/afmodule.c (_af_debug_disable_horz_hints,
+ − 7288
_af_debug_disable_vert_hints) [AF_DEBUG]: New global variables.
+ − 7289
+ − 7290
* src/autofit/aftypes.h [AF_DEBUG]: Declare above variables.
+ − 7291
+ − 7292
* include/freetype/config/ftoption.h, devel/ftoption.h
+ − 7293
(FT_CONFIG_OPTION_SUBPIXEL_RENDERING): New macro to control whether
+ − 7294
we want to compile LCD-optimized rendering code (à la ClearType) or
+ − 7295
not. The macro *must* be disabled in default builds of the library
+ − 7296
for patent reasons.
+ − 7297
+ − 7298
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Disable
+ − 7299
LCD-specific rendering when FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+ − 7300
isn't defined at compile time. This only changes the content of the
+ − 7301
rendered glyph to match the one of normal gray-level rendering,
+ − 7302
hence clients should not need to be modified.
+ − 7303
+ − 7304
* docs/CHANGES: Updated.
+ − 7305
+ − 7306
2006-09-18 Garrick Meeker <garrick@digitalanarchy.com>
+ − 7307
+ − 7308
* src/base/ftmac.c (FT_New_Face_From_FOND): Fall back to SFNT if
+ − 7309
LWFN fails and both are available.
+ − 7310
+ − 7311
2006-09-11 David Turner <david@freetype.org>
+ − 7312
+ − 7313
* src/sfnt/sfobjs.c (tt_face_get_name): Support some fonts which
+ − 7314
report their English names through an Apple Roman
+ − 7315
(platform,encoding) pair, with language_id != English.
+ − 7316
+ − 7317
If the font uses another name entry with language_id == English, it
+ − 7318
will be selected correctly, though.
+ − 7319
+ − 7320
* src/truetype/ttobjs.c (tt_face_init): Add unpatented hinting
+ − 7321
selection for `mingli.ttf'.
+ − 7322
+ − 7323
2006-09-05 Werner Lemberg <wl@gnu.org>
+ − 7324
+ − 7325
* src/truetype/ttpload.c (tt_face_load_hdmx): Handle `record_size'
+ − 7326
values which have the upper two bytes set to 0xFF instead of 0x00
+ − 7327
(as it happens in at least two CJKV fonts, `HAN NOM A.ttf' and
+ − 7328
`HAN NOM B.ttf').
+ − 7329
+ − 7330
* src/smooth/ftgrays.c [GRAYS_USE_GAMMA]: Really remove all code.
+ − 7331
+ − 7332
2006-09-05 David Turner <david@freetype.org>
+ − 7333
+ − 7334
Minor source cleanups and optimizations.
+ − 7335
+ − 7336
* src/smooth/ftgrays.c (GRAYS_COMPACT): Removed.
+ − 7337
(TRaster): Remove `count_ex' and `count_ey'.
+ − 7338
(gray_find_cell): Remove 2nd and 3rd argument.
+ − 7339
(gray_alloc_cell): Merged with `gray_find_cell'.
+ − 7340
(gray_record_cell): Simplify.
+ − 7341
(gray_set_cell): Rewrite.
+ − 7342
(gray_start_cell): Apply offsets to `ras.ex' and `ras.ey'.
+ − 7343
(gray_render_span): Don't use FT_MEM_SET for small values.
+ − 7344
(gray_dump_cells) [DEBUG_GRAYS]: New function.
+ − 7345
(gray_sweep): Avoid buffer overwrites when to drawing the end of a
+ − 7346
bitmap scanline.
+ − 7347
(gray_convert_glyph): Fix speed-up.
+ − 7348
+ − 7349
2006-09-04 David Turner <david@freetype.org>
+ − 7350
+ − 7351
* src/smooth/ftgrays.c (gray_convert_glyphs): Make it work with
+ − 7352
64bit processors.
+ − 7353
+ − 7354
2006-09-03 Werner Lemberg <wl@gnu.org>
+ − 7355
+ − 7356
* devel/ftoption.h: Synchronize with
+ − 7357
include/freetype/config/ftoption.h.
+ − 7358
+ − 7359
* src/smooth/ftgrays.c (gray_record_cell): Remove shadowing
+ − 7360
variable declaration.
+ − 7361
(gray_convert_glyph): Fix compiler warnings.
+ − 7362
+ − 7363
2006-09-01 David Turner <david@freetype.org>
+ − 7364
+ − 7365
* src/truetype/ttobjs.c (tt_face_init): Update the TrueType loader
+ − 7366
to recognize a few fonts that require the automatic unpatented
+ − 7367
loader.
+ − 7368
+ − 7369
* src/smooth/ftgrays.c: Optmize the performance of the anti-aliased
+ − 7370
rasterizer. The speed improvement is between 15% and 25%, depending
+ − 7371
on the font data.
+ − 7372
+ − 7373
(GRAYS_USE_GAMMA, GRAYS_COMPACT): Removed, and all associated code.
+ − 7374
(TCell): Redefine.
+ − 7375
(TRaster): New members `buffer', `buffer_size', `ycells', `ycount'.
+ − 7376
(gray_init_cells): Updated.
+ − 7377
(gray_find_cell, gray_alloc_cell): New functions.
+ − 7378
(gray_record_cell): Rewritten to use `gray_find_cell' and
+ − 7379
`gray_alloc_cell'.
+ − 7380
(PACK, LESS_THAN, SWAP_CELLS, DEBUG_SORT, QUICK_SORT, SHELL_SORT,
+ − 7381
QSORT_THRESHOLD):
+ − 7382
Removed.
+ − 7383
(gray_shell_sort, gray_quick_sort, gray_check_sort,
+ − 7384
gray_dump_cells): Removed.
+ − 7385
(gray_sweep): Rewritten.
+ − 7386
(gray_convert_glyph): Rewrite code which used one of the sorting
+ − 7387
functions.
+ − 7388
(gray_raster_render): Updated.
+ − 7389
+ − 7390
2006-08-29 Dr. Werner Fink <werner@suse.de>
+ − 7391
+ − 7392
* configure: Make it possible to handle configure options which
+ − 7393
have strings containing spaces.
+ − 7394
+ − 7395
2006-08-27 David Turner <david@freetype.org>
+ − 7396
+ − 7397
* include/freetype/config/ftoption.h (TT_USE_BYTECODE_INTERPRETER):
+ − 7398
New macro, defined if either TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ − 7399
or TT_CONFIG_OPTION_UNPATENTED_HINTING is defined.
+ − 7400
+ − 7401
* include/freetype/internal/ftcalc.h, src/base/ftcalc.c,
+ − 7402
src/truetype/truetype.c, src/truetype/ttdriver.c,
+ − 7403
src/truetype/ttgload.c, src/truetype/ttgload.h,
+ − 7404
src/truetype/ttinterp.c, src/truetype/ttobjs.c,
+ − 7405
src/truetype/ttobjs.h, src/truetype/ttpload.c, src/type42/t42drivr.c:
+ − 7406
s/TT_CONFIG_OPTION_BYTECODE_INTERPRETER/TT_USE_BYTECODE_INTERPRETER/.
+ − 7407
+ − 7408
* include/freetype/internal/ftobjs.h (FT_Face_InternalRec): New
+ − 7409
member `force_autohint'.
+ − 7410
+ − 7411
* src/base/ftobjs.c (FT_Load_Glyph): Use `force_autohint'.
+ − 7412
+ − 7413
* src/truetype/ttobjs.c (tt_face_init): Prepare code for testing
+ − 7414
against a list of font names which need the bytecode interpreter.
+ − 7415
+ − 7416
2006-08-27 Jens Claudius <jens.claudius@yahoo.com>
+ − 7417
+ − 7418
Fix miscellaneous compiler warnings.
+ − 7419
+ − 7420
* include/freetype/internal/ftobjs.h: Close comment with `*/' to
+ − 7421
avoid `/* in comment' compiler warning.
+ − 7422
+ − 7423
* src/base/ftdbgmem.c (ft_mem_table_get_source): Turn cast
+ − 7424
`(FT_UInt32)(void*)' into `(FT_UInt32)(FT_PtrDist)(void*)' since on
+ − 7425
64-bit platforms void* is larger than FT_UInt32.
+ − 7426
+ − 7427
* src/base/ftobjs.c (t_validator_error): Cast away
+ − 7428
volatileness of argument to ft_longjmp. Spotted by Werner
+ − 7429
`Putzfrau' Lemberg.
+ − 7430
+ − 7431
* src/bdf/bdflib.c (bdf_load_font): Initialize local
+ − 7432
variable `lineno'.
+ − 7433
+ − 7434
* src/gxvalid/gxvmod.c (classic_kern_validate): Mark local variable
+ − 7435
`error' as volatile.
+ − 7436
+ − 7437
2006-08-27 Werner Lemberg <wl@gnu.org>
+ − 7438
+ − 7439
* builds/unix/ftconfig.in: Synchronize with main ftconfig.h.
+ − 7440
Reported by Jens.
+ − 7441
+ − 7442
2006-08-22 Jens Claudius <jens.claudius@yahoo.com>
+ − 7443
+ − 7444
Fix for previous commit, which caused many compiler warnings/errors
+ − 7445
about addresses of volatile objects passed as function arguments as
+ − 7446
non-volatile pointers.
+ − 7447
+ − 7448
* include/freetype/internal/ftvalid.h: Make FT_Validator typedef a
+ − 7449
pointer to a volatile object.
+ − 7450
+ − 7451
* src/gxvalid/gxvmod.c (gxv_load_table): Make function argument
+ − 7452
`table' a pointer to a volatile object.
+ − 7453
+ − 7454
* src/otvalid/otvmod.c (otv_load_table): Make function argument
+ − 7455
`table' a pointer to a volatile object.
+ − 7456
+ − 7457
2006-08-18 Jens Claudius <jens.claudius@yahoo.com>
+ − 7458
+ − 7459
* src/gxvalid/gxvmod.c (GXV_TABLE_DECL): Mark local variable `_sfnt'
+ − 7460
as volatile since it must keep its value across a call to ft_setjmp.
+ − 7461
(gxv_validate): Same for local variables `memory' and `valid'.
+ − 7462
(classic_kern_validate): Same for local variables `memory',
+ − 7463
`ckern', and `valid'.
+ − 7464
+ − 7465
* src/otvalid/otvmod.c (otv_validate): Same for function parameter
+ − 7466
`face' and local variables `base', `gdef', `gpos', `gsub', `jstf',
+ − 7467
and 'valid'.
+ − 7468
+ − 7469
* src/sfnt/ttcmap.c (tt_face_build_cmaps): Same for local variable
+ − 7470
`cmap'.
+ − 7471
+ − 7472
2006-08-16 David Turner <david@freetype.org>
+ − 7473
+ − 7474
* src/cid/cidgload.c (cid_slot_load_glyph): Remove compiler
+ − 7475
warnings.
+ − 7476
+ − 7477
* src/base/ftobjs.c (ft_validator_run): Disable function; it is
+ − 7478
buggy by design. Always return -1.
+ − 7479
+ − 7480
+ − 7481
Improvements to native TrueType hinting. This is a first try,
+ − 7482
controlled by the FIX_BYTECODE macro in src/truetype/ttinterp.c.
+ − 7483
+ − 7484
* include/freetype/internal/ftgloadr.h (FT_GlyphLoadRec): Add member
+ − 7485
`extra_points2'.
+ − 7486
+ − 7487
* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add member
+ − 7488
`orus'.
+ − 7489
+ − 7490
* src/base/ftgloadr.c (FT_GlyphLoader_Reset,
+ − 7491
FT_GlyphLoader_Adjust_Points, FT_GlyphLoader_CreateExtra,
+ − 7492
FT_GlyphLoader_CheckPoints, FT_GlyphLoader_CopyPoints): Updated to
+ − 7493
handle `extra_points2'.
+ − 7494
+ − 7495
* src/truetype/ttgload.c (tt_prepare_zone): Handle `orus'.
+ − 7496
Remove compiler warning.
+ − 7497
(cur_to_arg): Remove macro.
+ − 7498
(TT_Hint_Glyph): Updated.
+ − 7499
(TT_Process_Simple_Glyph): Handle `orus'.
+ − 7500
+ − 7501
* src/truetype/ttinterp.c (FIX_BYTECODE): New macro.
+ − 7502
(Ins_MD, Ins_MDRP, Ins_IP) [FIX_BYTECODE]: Handle `orus'.
+ − 7503
(LOC_Ins_IUP): Renamed to...
+ − 7504
(IUP_WorkerRec): This.
+ − 7505
Add `orus' member.
+ − 7506
(Shift): Renamed to...
+ − 7507
(_iup_worker_shift): This.
+ − 7508
Updated.
+ − 7509
(Interp): Renamed to...
+ − 7510
(_iup_worker_interpolate): This.
+ − 7511
Updated to handle `orus'.
+ − 7512
(Ins_IUP): Updated.
+ − 7513
+ − 7514
* src/truetype/ttobjs.c (tt_glyphzone_done, tt_glyphzone_new):
+ − 7515
Handle `orus'.
+ − 7516
+ − 7517
2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7518
+ − 7519
* modules.cfg (BASE_EXTENSIONS): Compile in ftgxval.c by default to
+ − 7520
build ftvalid in ft2demos. This has been inadvertedly changed
+ − 7521
2006-08-13.
+ − 7522
+ − 7523
2006-08-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7524
+ − 7525
`ft_validator_run' wrapping `setjmp' can cause a crash, as found by
+ − 7526
Jens:
+ − 7527
http://lists.gnu.org/archive/html/freetype-devel/2006-08/msg00004.htm.
+ − 7528
+ − 7529
* src/otvalid/otvmod.c: Replace `ft_validator_run' by `ft_setjmp'.
+ − 7530
It reverts the change introduced on 2005-08-20.
+ − 7531
+ − 7532
* src/gxvalid/gxvmod.c: Ditto.
+ − 7533
+ − 7534
2006-08-13 Jens Claudius <jens.claudius@yahoo.com>
+ − 7535
+ − 7536
* finclude/freetype/internal/psaux.h: (T1_TokenType): Add
+ − 7537
T1_TOKEN_TYPE_KEY.
+ − 7538
(T1_FieldRec): Add `dict'.
+ − 7539
(T1_FIELD_DICT_FONTDICT, T1_FIELD_DICT_PRIVATE): New macros.
+ − 7540
(T1_NEW_XXX, T1_FIELD_XXX): Update to take the dictionary where a PS
+ − 7541
keyword is expected as an additional argument.
+ − 7542
+ − 7543
* src/cid/cidload.c: (cid_field_records): Adjust invocations of
+ − 7544
T1_FIELD_XXX.
+ − 7545
+ − 7546
* src/cid/cidtoken.h: Adjust invocations of T1_FIELD_XXX.
+ − 7547
+ − 7548
* src/psaux/psobjs.c: Add macro FT_COMPONENT for tracing.
+ − 7549
(ps_parser_to_token): Report a PostScript key as T1_TOKEN_TYPE_KEY,
+ − 7550
not T1_TOKEN_TYPE_ANY.
+ − 7551
(ps_parser_load_field): Make sure a token that should be a string or
+ − 7552
name is really a string or name.
+ − 7553
Avoid memory leak if a keyword has been already encountered and its
+ − 7554
value is overwritten.
+ − 7555
* src/type1/t1load.c: (t1_keywords): Adjust invocations of
+ − 7556
T1_FIELD_XXX.
+ − 7557
(parse_dict): Ignore keywords that occur in the wrong dictionary
+ − 7558
(e.g., in `Private' instead of `FontDict').
+ − 7559
+ − 7560
* src/type1/t1tokens.h: Adjust invocations of T1_FIELD_XXX.
+ − 7561
+ − 7562
* src/type42/t42parse.c: (t42_keywords): Adjust invocations of
+ − 7563
T1_FIELD_XXX.
+ − 7564
+ − 7565
2006-07-18 Jens Claudius <jens.claudius@yahoo.com>
+ − 7566
+ − 7567
Move creation of field `buildchar' of T1_DecoderRec out of
+ − 7568
`t1_decoder_init' and let the caller of `t1_decoder_init' take care
+ − 7569
of it.
+ − 7570
+ − 7571
Call the finisher for T1_Decoder in `cid_face_compute_max_advance'
+ − 7572
and `T1_Compute_Max_Advance'.
+ − 7573
+ − 7574
* include/freetype/internal/psaux.h (T1_DecoderRec): Remove field
+ − 7575
`face', add `len_buildchar'.
+ − 7576
+ − 7577
* include/freetype/internal/t1types.h (T1_FaceRec): Add field
+ − 7578
`buildchar'.
+ − 7579
+ − 7580
* src/cid/cidgload.c (cid_face_compute_max_advance): Call finisher
+ − 7581
for T1_Decoder.
+ − 7582
(cid_slot_load_glyph): Do not ignore failure when initializing the
+ − 7583
T1_Decoder.
+ − 7584
+ − 7585
* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Updated.
+ − 7586
(t1_decoder_init): Remove initialization of fields `buildchar' and
+ − 7587
`len_buildchar'.
+ − 7588
(t1_decoder_done): Remove deallocation of field `buildchar'.
+ − 7589
+ − 7590
* freetype/src/type1/t1gload.c (T1_Compute_Max_Advance): Initialize
+ − 7591
T1_Decoder's `buildchar' and `len_buildchar'; call finisher for
+ − 7592
T1_Decoder.
+ − 7593
(T1_Load_Glyph): Initialize T1_Decoder's `buildchar' and
+ − 7594
`len_buildchar'; make sure to call finisher for T1_Decoder even in
+ − 7595
case of error.
+ − 7596
+ − 7597
* src/type1/t1load.c (T1_Open_Face): Allocate new field `buildchar'
+ − 7598
of T1_FaceRec.
+ − 7599
+ − 7600
* src/type1/t1objs.c (T1_Face_Done): Free new field `buildchar' of
+ − 7601
T1_FaceRec.
+ − 7602
+ − 7603
2006-07-14 Jens Claudius <jens.claudius@yahoo.com>
+ − 7604
+ − 7605
* include/freetype/internal/psaux.h: New macros IS_PS_NEWLINE,
+ − 7606
IS_PS_SPACE, IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT,
+ − 7607
and IS_PS_BASE85 (from src/psaux/psconv.h).
+ − 7608
(T1_FieldLocation): Add T1_FIELD_LOCATION_LOADER,
+ − 7609
T1_FIELD_LOCATION_FACE, and T1_FIELD_LOCATION_BLEND.
+ − 7610
(T1_DecoderRec): New fields `buildchar' and `face'.
+ − 7611
(IS_PS_TOKEN): New macro.
+ − 7612
+ − 7613
* include/freetype/internal/t1types.h (T1_FaceRec): New fields
+ − 7614
`ndv_idx', `cdv_idx', and `len_buildchar'.
+ − 7615
+ − 7616
* include/freetype/t1tables.h (PS_BlendRec): New fields
+ − 7617
`default_design_vector' and `num_default_design_vector'.
+ − 7618
+ − 7619
* src/psaux/psconv.h: Move macros IS_PS_NEWLINE, IS_PS_SPACE,
+ − 7620
IS_PS_SPECIAL, IS_PS_DELIM, IS_PS_DIGIT, IS_PS_XDIGIT, and
+ − 7621
IS_PS_BASE85 to include/freetype/internal/psaux.h.
+ − 7622
+ − 7623
* src/psaux/psobjs.c (ps_parser_to_token_array): Allow `token'
+ − 7624
argument to be NULL if we want only to count the number of tokens.
+ − 7625
(ps_tocoordarray): Allow `coords' argument to be NULL if we just
+ − 7626
want to skip the array.
+ − 7627
(ps_tofixedarray): Allow `values' argument to be NULL if we just
+ − 7628
want to skip the array.
+ − 7629
+ − 7630
* src/psaux/t1decode.c (t1_decoder_parse_charstrings): Add support
+ − 7631
for (partially commented out) othersubrs 19-25, 27, and 28.
+ − 7632
(t1_decoder_init): Initialize new fields `face' and `buildchar'.
+ − 7633
(t1_decoder_done): Release new field `buildchar'.
+ − 7634
+ − 7635
* src/type1/t1load.c (parse_buildchar, parse_private): New
+ − 7636
functions.
+ − 7637
(t1_keywords): Register them.
+ − 7638
(t1_allocate_blend): Updated.
+ − 7639
(t1_load_keyword): Handle field types T1_FIELD_LOCATION_LOADER,
+ − 7640
T1_FIELD_LOCATION_FACE and T1_FIELD_LOCATION_BLEND.
+ − 7641
(parse_dict): Remove `keyword_flags' argument.
+ − 7642
Use new macro IS_PS_TOKEN.
+ − 7643
Changed function so that later PostScript definitions override
+ − 7644
earlier ones.
+ − 7645
(t1_init_loader): Initialize new field `keywords_encountered'.
+ − 7646
(T1_Open_Face): Initialize new fields `ndv_idx', `cdv_idx', and
+ − 7647
`len_buildchar'.
+ − 7648
Remove `keywords_flags'.
+ − 7649
+ − 7650
* src/type1/t1load.h (T1_LoaderRect): New field
+ − 7651
`keywords_encountered'.
+ − 7652
(T1_PRIVATE, T1_FONTDIR_AFTER_PRIVATE): New macros.
+ − 7653
+ − 7654
* src/type1/t1tokens.h [!T1_CONFIG_OPTION_NO_MM_SUPPORT]: New
+ − 7655
entries for parsing /NDV, /CDV, and /DesignVector.
+ − 7656
+ − 7657
2006-07-07 Werner Lemberg <wl@gnu.org>
+ − 7658
+ − 7659
Add many checks to protect against malformed PCF files.
+ − 7660
+ − 7661
* src/pcf/pcfdrivr.c (PCF_Face_Done): Protect against NULL pointers.
+ − 7662
(PCF_Face_Init): Add calls to PCF_Face_Done in case of errors.
+ − 7663
+ − 7664
* src/pcf/pcfread.c (pcf_read_TOC): Protect against malformed table
+ − 7665
data and check that tables don't overlap (using a simple
+ − 7666
bubblesort).
+ − 7667
(PCF_METRIC_SIZE, PCF_COMPRESSED_METRIC_SIZE, PCF_PROPERTY_SIZE):
+ − 7668
New macros which give the size of data structures in the data
+ − 7669
stream.
+ − 7670
(pcf_get_properties): Use rough estimates to get array size limits.
+ − 7671
Assign `face->nprops' and `face->properties' earlier so that a call
+ − 7672
to PCF_Face_Done can do the clean-up in case of error.
+ − 7673
Protect against invalid string offsets.
+ − 7674
(pcf_get_metrics): Clean up code.
+ − 7675
Adjust tracing message levels.
+ − 7676
Use rough estimate to get array size limit.
+ − 7677
(pcf_get_bitmaps): Clean up code.
+ − 7678
Adjust tracing message levels.
+ − 7679
Use rough estimates to get offset limits.
+ − 7680
(pcf_get_encodings): Adjust tracing message level.
+ − 7681
(pcf_get_accel): Clean up code.
+ − 7682
+ − 7683
2006-06-26 Werner Lemberg <wl@gnu.org>
+ − 7684
+ − 7685
* src/bdf/bdfdrivr.c (BDF_Face_Init): Handle fonts correctly which
+ − 7686
don't have a POINT_SIZE property. This fixes Savannah bug #16914.
+ − 7687
+ − 7688
2006-06-26 Jens Claudius <jens.claudius@yahoo.com>
+ − 7689
+ − 7690
* src/psaux/t1decode.c (T1_Operator, t1_args_count): Add opcode 15.
+ − 7691
(t1_decoder_parse_charstrings): Operator with
+ − 7692
opcode 15 pops its two arguments.
+ − 7693
Handle the case where the pops of an othersubr may be part of a
+ − 7694
subroutine.
+ − 7695
Handle unknown othersubrs gracefully: count their operands and let
+ − 7696
the following pop operators push the operands as the results onto
+ − 7697
the Type1 stack.
+ − 7698
Improve handling of setcurrentpoint opcode.
+ − 7699
+ − 7700
2006-06-25 Jens Claudius <jens.claudius@yahoo.com>
+ − 7701
+ − 7702
The Type 1 parser now skips over top-level procedures as required
+ − 7703
for a `Simplified Parser'. This makes the parser more robust as it
+ − 7704
doesn't poke around in PostScript code. Additionally, it makes the
+ − 7705
FontDirectory hackery in src/type1/t1load.c unnecessary.
+ − 7706
+ − 7707
* src/psaux/psobjs.c (IS_OCTAL_DIGIT): New macro.
+ − 7708
(skip_literal_string): Add FT_Error as return value.
+ − 7709
Handle escapes better.
+ − 7710
(skip_string): Add FT_Error as return value.
+ − 7711
Don't set `parser->error' but return error code directly.
+ − 7712
(skip_procedure): New function.
+ − 7713
(ps_parser_skip_PS_token): Handle procedures.
+ − 7714
Update code.
+ − 7715
(ps_parser_to_token): Update code.
+ − 7716
(ps_parser_load_field_table): Handle bbox entries also.
+ − 7717
+ − 7718
* src/type1/t1load.c (parse_dict): Remove FontDirectory hackery.
+ − 7719
Add commented-out code for synthetic fonts.
+ − 7720
+ − 7721
2006-06-24 Eugeniy Meshcheryakov <eugen@univ.kiev.ua>
+ − 7722
+ − 7723
Fix two hinting bugs as reported in
+ − 7724
http://lists.gnu.org/archive/html/freetype-devel/2006-06/msg00057.html.
+ − 7725
+ − 7726
* include/freetype/internal/tttypes.h (TT_GlyphZoneRec): Add
+ − 7727
`first_point' member.
+ − 7728
+ − 7729
* src/truetype/ttgload.c (tt_prepare_zone): Initialize
+ − 7730
`first_point'.
+ − 7731
(TT_Process_Composite_Glyph): Always untouch points.
+ − 7732
+ − 7733
* src/truetype/ttinterp.c (Ins_SHC): Fix computation of
+ − 7734
`first_point' and `last_point' in case of composite glyphs.
+ − 7735
(Ins_IUP): Fix computation of `end_point'.
+ − 7736
+ − 7737
2006-06-22 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7738
+ − 7739
Insert EndianS16_BtoN and EndianS32_BtoN as workaround for Intel
+ − 7740
Mac. The original patch was written by David Sachitano and Lawrence
+ − 7741
Coopet, and modified by Sean McBride for MPW compatibility. Only
+ − 7742
required data are converted; unused data are left in big endian.
+ − 7743
+ − 7744
* src/base/ftmac.c: Include <Endian.h> for byteorder macros for non
+ − 7745
Mac OS X platforms.
+ − 7746
(OS_INLINE): Undefine before definition.
+ − 7747
(count_faces_sfnt): Insert EndianS16_BtoN to parse the header of
+ − 7748
FontAssociation table in FOND resource.
+ − 7749
(count_faces_scalable): Insert EndianS16_BtoN to parse the header
+ − 7750
and fontSize at each entry of FontAssociation table in FOND
+ − 7751
resource.
+ − 7752
(parse_fond): Insert EndianS16_BtoN and EndianS32_BtoN to parse
+ − 7753
ffStylOff of FamilyRecord header of FOND resource, the header,
+ − 7754
fontSize, fontID at each entry of FontAssociation table, and
+ − 7755
StyleMapping table.
+ − 7756
(count_faces): Call `HUnlock' after all FOND utilization.
+ − 7757
+ − 7758
2006-06-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7759
+ − 7760
Public API of TrueTypeGX, OpenType, and classic kern table validator
+ − 7761
should return `FT_Err_Unimplemented_Feature' if validation service
+ − 7762
is unavailable (disabled in `modules.cfg'). It is originally
+ − 7763
suggested by David Turner, cf.
+ − 7764
http://lists.gnu.org/archive/html/freetype-devel/2005-11/msg00078.html
+ − 7765
+ − 7766
* src/base/ftgxval.c (FT_TrueTypeGX_Validate): Return
+ − 7767
FT_Err_Unimplemented_Feature if TrueTypeGX validation service is
+ − 7768
unavailable.
+ − 7769
(FT_ClassicKern_Validate): Return FT_Err_Unimplemented_Feature if
+ − 7770
classic kern table validation service is unavailable.
+ − 7771
+ − 7772
* src/base/ftotval.c (FT_OpenType_Validate): Return
+ − 7773
FT_Err_Unimplemented_Feature if OpenType validation service is
+ − 7774
unavailable.
+ − 7775
+ − 7776
2006-06-08 Werner Lemberg <wl@gnu.org>
+ − 7777
+ − 7778
* src/bdf/bdflib.c (bdf_load_font): Fix memory leaks in case of
+ − 7779
errors.
+ − 7780
+ − 7781
2006-06-07 David Turner <david@freetype.org>
+ − 7782
+ − 7783
* src/type1/t1afm.c (KERN_INDEX): Make it more robust.
+ − 7784
(T1_Read_Metrics): Fix memory leak which happened when the metrics
+ − 7785
file doesn't have kerning pairs. This fixes Savannah bug #16768.
+ − 7786
+ − 7787
2006-06-06 David Turner <david@freetype.org>
+ − 7788
+ − 7789
Fix memory leak described in Savannah bug #16759.
+ − 7790
+ − 7791
We change `ps_unicodes_init' so that it also takes a
+ − 7792
`free_glyph_name' callback to release the glyph names returned by
+ − 7793
`get_glyph_name'
+ − 7794
+ − 7795
* include/freetype/internal/services/svpscmap.h (PS_Glyph_NameFunc):
+ − 7796
Renamed to ...
+ − 7797
(PS_GetGlyphNameFunc): This.
+ − 7798
(PS_FreeGlyphNameFunc): New typedef.
+ − 7799
(PS_Unicodes_InitFunc): Add variable for PS_FreeGlyphNameFunc.
+ − 7800
+ − 7801
* src/cff/cffcmap.c (cff_sid_to_glyph_name): Use `TT_Face' for first
+ − 7802
argument.
+ − 7803
(cff_sid_free_glyph_name): New function.
+ − 7804
(cff_cmap_unicode_init): Updated.
+ − 7805
+ − 7806
* src/psaux/t1cmap.c (t1_cmap_unicode_init): Updated.
+ − 7807
+ − 7808
* src/psnames/psmodule.c (ps_unicodes_init): Add variable for
+ − 7809
PS_FreeGlyphNameFunc and use it.
+ − 7810
+ − 7811
+ − 7812
2006-06-04 David Turner <david@freetype.org>
+ − 7813
+ − 7814
* src/base/ftutil.c (ft_mem_qrealloc): Fix the function to accept
+ − 7815
`item_size == 0' as well -- though this sounds weird, it can
+ − 7816
theoretically happen. This fixes Savannah bug #16669.
+ − 7817
+ − 7818
* src/pfr/pfrobjs.c (pfr_face_init): Fix the computation
+ − 7819
of `face->num_glyphs' which missed the last glyph, due to
+ − 7820
the offset-by-1 computation, since the PFR format doesn't
+ − 7821
guarantee that glyph index 0 corresponds to the `missing
+ − 7822
glyph. This fixes Savannah bug #16668.
+ − 7823
+ − 7824
2006-05-25 Werner Lemberg <wl@gnu.org>
+ − 7825
+ − 7826
* builds/unix/unix-cc.in (LINK_LIBRARY): Don't comment out
+ − 7827
`-no-undefined'. Reported by Christian Biesinger.
+ − 7828
+ − 7829
2006-05-19 Brian Weed <bw@imaginengine.com>
+ − 7830
+ − 7831
* builds/win32/visualc/freetype.dsp: Release libraries no longer
+ − 7832
have debug information, and debug libraries use `C7 compatible'
+ − 7833
debug info.
+ − 7834
+ − 7835
2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7836
+ − 7837
Apply patch by Derek Clegg to fix two memory leaks in the MacOS
+ − 7838
resource fork handler. This fixes Savannah bug #16631.
+ − 7839
+ − 7840
* src/base/ftobjs.c (load_face_in_embedded_rfork): Replace
+ − 7841
`FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+ − 7842
+ − 7843
* src/base/ftrfrk.c (raccess_guess_linux_double_from_file_name):
+ − 7844
Replace `FT_Stream_Close' by `FT_Stream_Free' to fix memory leak.
+ − 7845
+ − 7846
2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7847
+ − 7848
* build/unix/configure.raw: Add a fallback to disable Carbon
+ − 7849
dependency, if configured with no options on Mac OS X.
+ − 7850
+ − 7851
2006-05-19 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ − 7852
+ − 7853
* src/base/ftmac.c (open_face_from_buffer): Deallocate stream when
+ − 7854
its content cannot be parsed as supported font. This fixes
+ − 7855
the second part of Savannah bug #16590.
+ − 7856
+ − 7857
2006-05-18 Werner Lemberg <wl@gnu.org>
+ − 7858
+ − 7859
* src/truetype/ttgload.c (TT_Load_Composite_Glyph)
+ − 7860
[FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again.
+ − 7861
+ − 7862
2006-05-17 David Turner <david@freetype.org>
+ − 7863
+ − 7864
This is a major patch used to drastically improve the performance of
+ − 7865
loading glyphs. This both speeds up loading the glyph vectors
+ − 7866
themselves and the auto-fitter module.
+ − 7867
+ − 7868
We now use inline assembler code with GCC to implement `FT_MulFix',
+ − 7869
which is probably the most important function related to the
+ − 7870
engine's performance.
+ − 7871
+ − 7872
The resulting speed-up is about 25%.
+ − 7873
+ − 7874
+ − 7875
* include/freetype/internal/tttypes.h (TT_LoaderRec): Add fields
+ − 7876
`cursor' and `limit'.
+ − 7877
+ − 7878
* src/autofit/afangles.c (af_corner_is_flat, af_corner_orientation):
+ − 7879
New functions.
+ − 7880
(AF_ATAN_BITS, af_arctan, af_angle_atan): Comment out.
+ − 7881
[TEST]: Remove.
+ − 7882
+ − 7883
* src/autofit/afcjk.c (AF_Script_UniRangeRec): Comment out test
+ − 7884
code.
+ − 7885
+ − 7886
* src/autofit/afhints.c (af_axis_hints_new_segment): Don't call
+ − 7887
`FT_ZERO'
+ − 7888
(af_direction_compute, af_glyph_hints_compute_inflections): Rewritten.
+ − 7889
(af_glyph_hints_reload: Rewrite recognition of weak points.
+ − 7890
+ − 7891
* src/autofit/aflatin.c (af_latin_hints_compute_segments): Move
+ − 7892
constant values out of the loops.
+ − 7893
+ − 7894
* src/autofit/aftypes.h: Updated.
+ − 7895
+ − 7896
* src/base/ftcalc.c (FT_MulFix): Use inline assembler code.
+ − 7897
+ − 7898
* src/base/ftoutln.c (FT_Outline_Get_Orientation): Use vector
+ − 7899
product to get orientation.
+ − 7900
+ − 7901
* src/gzip/ftgzip.c (ft_get_uncompressed_size): New function.
+ − 7902
(FT_Stream_OpenGzip): Use it to handle small files directly in
+ − 7903
memory.
+ − 7904
+ − 7905
* src/psaux/psconv.c (PS_Conv_ASCIIHexDecode, PS_ConvEexecDecode):
+ − 7906
Improve performance.
+ − 7907
+ − 7908
* src/truetype/ttgload.c (TT_Access_Glyph_Frame): Set `cursor' and
+ − 7909
`limit'.
+ − 7910
+ − 7911
(TT_Load_Glyph_Header, TT_Load_Simple_Glyph,
+ − 7912
TT_Load_Composite_Glyph): Updated. Add threshold to protect against
+ − 7913
exceedingly large values of number of contours. Speed up by
+ − 7914
reducing the number of loops.
+ − 7915
+ − 7916
* src/type1/t1gload.c (T1_Load_Glyph): Don't apply unit matrix.
+ − 7917
+ − 7918
+ − 7919
* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Change the threshold
+ − 7920
used to detect rogue clients from 4 to 16. This is to prevent some
+ − 7921
segmentation faults with fonts like `KozMinProVI-Regular.otf' which
+ − 7922
comes from the Japanese Adobe Reader Asian Font pack.
+ − 7923
+ − 7924
2007-05-17 Werner Lemberg <wl@gnu.org>
+ − 7925
+ − 7926
* src/cff/cffload.c (cff_font_done): Deallocate subfont array. This
+ − 7927
fixes the first part of Savannah bug #16590.
+ − 7928
+ − 7929
2006-05-16 Werner Lemberg <wl@gnu.org>
+ − 7930
+ − 7931
* docs/PROBLEMS: Updated icl issues.
+ − 7932
+ − 7933
----------------------------------------------------------------------------
+ − 7934
+ − 7935
Copyright 2006, 2007, 2008, 2009, 2010 by
+ − 7936
David Turner, Robert Wilhelm, and Werner Lemberg.
+ − 7937
+ − 7938
This file is part of the FreeType project, and may only be used, modified,
+ − 7939
and distributed under the terms of the FreeType project license,
+ − 7940
LICENSE.TXT. By continuing to use, modify, or distribute this file you
+ − 7941
indicate that you have read the license and understand and accept it
+ − 7942
fully.
+ − 7943
+ − 7944
+ − 7945
Local Variables:
+ − 7946
version-control: never
+ − 7947
coding: utf-8
+ − 7948
End: