|
fb429ec4
|
2009-04-05T18:08:32
|
|
Position Independent Code (PIC) support in sfnt driver.
* include/freetype/internal/services/svbdf.h add macros to init
instances of FT_Service_BDFRec.
* include/freetype/internal/services/svgldict.h add macros to init
instances of FT_Service_GlyphDictRec.
* include/freetype/internal/services/svpostnm.h add macros to init
instances of FT_Service_PsFontNameRec.
* include/freetype/internal/services/svsfnt.h add macros to init
instances of FT_Service_SFNT_TableRec.
* include/freetype/internal/services/svttcmap.h add macros to init
instances of FT_Service_TTCMapsRec.
* include/freetype/internal/sfnt.h add macros to init
instances of SFNT_Interface.
* src/sfnt/sfdriver.h declare sfnt_module_class using macros from
ftmodapi.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
functions will be declared.
* src/sfnt/sfdriver.c when FT_CONFIG_OPTION_PIC is defined
the following structs:
sfnt_service_sfnt_table, sfnt_service_glyph_dict, sfnt_service_ps_name
tt_service_get_cmap_info, sfnt_service_bdf, sfnt_interface,
sfnt_module_class, and sfnt_services array
will have functions to init or create and destroy them
instead of being allocated in the global scope.
And macros will be used from sfntpic.h in order to access them
from the pic_container.
* src/sfnt/ttcmap.h add macros to init
instances of TT_CMap_ClassRec.
* src/sfnt/ttcmap.c when FT_CONFIG_OPTION_PIC is defined
the following structs:
tt_cmap0_class_rec, tt_cmap2_class_rec, tt_cmap4_class_rec
tt_cmap6_class_rec, tt_cmap8_class_rec, tt_cmap10_class_rec,
tt_cmap12_class_rec, tt_cmap14_class_rec and tt_cmap_classes array
will have functions to init or create and destroy them
instead of being allocated in the global scope.
And macros will be used from sfntpic.h in order to access them
from the pic_container.
The content of tt_cmap_classes is now described in the
new file 'ttcmapc.h'.
New Files:
* src/sfnt/sfntpic.h declare struct to hold PIC globals for sfnt
driver and macros to access them.
* src/sfnt/sfntpic.c implement functions to allocate, destroy and
initialize PIC globals for sfnt driver.
* src/sfnt/ttcmapc.h describing the content of
tt_cmap_classes allocated in ttcmap.c
* src/sfnt/sfnt.c add new file to build: sfntpic.c.
* src/sfnt/jamfile add new files to FT2_MULTI build: sfntpic.c.
|
|
2e7a4e9b
|
2009-04-05T18:03:02
|
|
Position Independent Code (PIC) support in truetype driver.
* include/freetype/internal/services/svmm.h add macros to init
instances of FT_Service_MultiMastersRec.
* include/freetype/internal/services/svttglyf.h add macros to init
instances of FT_Service_TTGlyfRec.
* src/truetype/ttdriver.h declare tt_driver_class using macros from
ftdriver.h, when FT_CONFIG_OPTION_PIC is defined create and destroy
functions will be declared.
* src/truetype/ttdriver.c when FT_CONFIG_OPTION_PIC is defined
the following structs:
tt_service_gx_multi_masters, tt_service_truetype_glyf, tt_driver_class
and tt_services array,
will have functions to init or create and destroy them
instead of being allocated in the global scope.
And macros will be used from ttpic.h in order to access them
from the pic_container.
* src/truetype/ttobjs.c change trick_names array to be
PIC-compatible by being a two dimentional array rather than array
of pointers.
New Files:
* src/truetype/ttpic.h declare struct to hold PIC globals for truetype
driver and macros to access them.
* src/truetype/ttpic.c implement functions to allocate, destroy and
initialize PIC globals for truetype driver.
* src/truetype/truetype.c add new file to build: ttpic.c.
* src/truetype/jamfile add new files to FT2_MULTI build: ttpic.c.
|
|
636c294b
|
2009-04-05T17:59:26
|
|
Position Independent Code (PIC) support and infrastructure in base.
* include/freetype/config/ftoption.h add FT_CONFIG_OPTION_PIC
* include/freetype/internal/ftobjs.h Add pic_container member to
FT_LibraryRec.
Add macros to declare and init instances of FT_CMap_ClassRec.
Add macros to init instances of FT_Outline_Funcs and FT_Raster_Funcs.
Add macros to declare, allocate and initialize modules
(FT_Module_Class).
Add macros to declare, allocate and initialize renderers
(FT_Renderer_Class).
Add macro to init instances of FT_Glyph_Class.
Add macros to declare, allocate and initialize drivers
(FT_Driver_ClassRec).
* include/freetype/internal/ftpic.h new file to declare the
FT_PIC_Container struct and the functions to allocate and detroy it.
* include/freetype/internal/ftserv.h add macros to allocate and
destory arrays of FT_ServiceDescRec.
* include/freetype/internal/internal.h define macro to include
ftpic.h.
New Files:
* src/base/ftpic.c implement functions to allocate and destory the
global pic_container.
* src/base/basepic.h declare struct to hold PIC globals for base and
macros to access them.
* src/base/basepic.c implement functions to allocate, destroy and
initialize PIC globals for base.
* src/base/ftinit.c when FT_CONFIG_OPTION_PIC is defined implement
functions that allocate and destroy ft_default_modules according to
FT_CONFIG_MODULES_H in the pic_container instead of the global scope
and use macro from basepic.h to access it.
* src/base/ftobjs.c add calls to the functions that allocate and
destroy the global pic_container when the library is created and
destroyed.
* src/base/jamfile add new files to FT2_MULTI build:
ftpic.c and basepic.c.
* src/base/ftbase.c add new files to build:
ftpic.c and basepic.c.
* src/base/ftglyph.c when FT_CONFIG_OPTION_PIC is defined
ft_bitmap_glyph_class and ft_outline_glyph_class will be allocated
in the pic_container instead of the global scope and use macros from
basepic.h to access them.
* src/base/ftbbox.c allocate bbox_interface stract on the stack
instead of the global scope when FT_CONFIG_OPTION_PIC is defined.
* src/base/ftstroke.c access ft_outline_glyph_class allocated in
ftglyph.c via macros from basepic.h
|
|
2589e5fd
|
2009-04-05T17:34:40
|
|
Preparing changes in cff parser later needed for PIC version.
* src/cff/cffload.c, src/cff/cffload.h, src/cff/cffobjs.c,
src/cff/cffparse.c, src/cff/cffparse.h: Add library pointer to
'CFF_ParserRec' set by `cff_parser_init'.
Route library pointer from 'cff_face_init' to 'cff_subfont_load'
for `cff_parser_init'.
* src/cff/cffparse.c (CFF_Field_Handler): Move it to...
* src/cff/cffparse.h: This file, to be used by other C files.
|
|
3da7e68f
|
2009-04-05T17:30:14
|
|
Minor change in ftstroke.c.
* src/base/ftstroke.c (FT_StrokerRec): Replace `memory' member with
`library' needed for PIC version.
Update all callers.
|
|
314f35ad
|
2009-04-04T09:20:14
|
|
ftnames.c -> ftsnames.c
* src/base/ftnames.c: Rename to...
* src/base/ftsnames.c: This.
* src/base/Jamfile, src/base/rules.mk, src/base/ftbase.c: Updated.
|
|
d9ba68d6
|
2009-04-04T09:11:58
|
|
Whitespace.
|
|
b47b97db
|
2009-04-04T07:51:45
|
|
Fix comment.
OpenType 1.6 now mentions that data in the `loca' table must be ordered.
|
|
ca98f8cc
|
2009-04-04T07:42:38
|
|
Add support for cmap type 13.
* devel/ftoption.h, include/freetype/config/ftoption.h
(TT_CONFIG_CMAP_FORMAT_13): New macro.
* src/sfnt/ttcmap.c (TT_CMap13Rec, tt_cmap13_init,
tt_cmap13_validate, tt_cmap13_char_index, tt_cmap13_char_next,
tt_cmap13_get_info, tt_cmap13_char_map_def_binary,
tt_cmap14_class_rec): New functions and structures for cmap 13
support.
(tt_cmap_classes): Register tt_cmap13_class_rec.
* docs/CHANGES: Mention cmap 13 support.
|
|
fbdf1279
|
2009-04-01T08:03:37
|
|
Ignore empty contours in CFF glyphs.
Problem reported by Albert Astals Cid <aacid@kde.org>.
* src/cff/cffgload.c (cff_builder_close_contour): Synchronize with
t1_builder_close_contour.
|
|
b3e6df69
|
2009-03-21T10:45:18
|
|
Really fix Ghostscript Coverity issue #3904.
|
|
4d1a34ce
|
2009-03-21T10:42:56
|
|
Another redundant header inclusion.
* src/truetype/ttgxvar.c: Fix Ghostscript Coverity issue #4041.
|
|
86e041b5
|
2009-03-21T08:51:44
|
|
Remove redundant header inclusions.
This covers many Ghostscript Coverity issues.
* src/*: Do it.
|
|
16bd51c8
|
2009-03-21T07:48:34
|
|
Fix Ghostscript Coverity issue #3904.
* src/truetype/ttgxvar.c (ft_var_readpackedpoints): Protect against
zero value of `runcnt'.
|
|
7171ff57
|
2009-03-20T21:08:29
|
|
Fix `make multi' run.
* src/smooth/ftsmooth.h: Include FT_INTERNAL_DEBUG_H.
|
|
f4a82bee
|
2009-03-20T16:10:26
|
|
Whitespace.
|
|
9dbfac22
|
2009-03-20T09:13:59
|
|
Fix Savannah bug #25923.
* src/cache/ftccmap.c (FTC_CMAP_HASH): Fix typo.
|
|
79972af4
|
2009-03-20T08:21:37
|
|
Protect against too large glyphs.
Problem reported by Tavis Ormandy <taviso@google.com>.
* src/smooth/ftsmooth.c (ft_smooth_render_generic): Don't allow
`width' or `pitch' to be larger than 0xFFFF.
|
|
a18788b1
|
2009-03-20T08:03:58
|
|
Fix validation for various cmap table formats.
* src/sfnt/ttcmap.c (tt_cmap8_validate, tt_cmap10_validate,
tt_cmap12_validate): Check `length' correctly.
(tt_cmap_14_validate): Check `length' and `numMappings' correctly.
|
|
a49db4f8
|
2009-03-20T07:30:43
|
|
Copyright.
|
|
0a05ba25
|
2009-03-20T07:19:45
|
|
Protect against malformed compressed data.
Problem reported by Tavis Ormandy <taviso@google.com>.
* src/lsw/ftzopen.c (ft_lzwstate_io): Test whether `state->prefix' is
zero.
|
|
0545ec1c
|
2009-03-20T06:49:10
|
|
Protect against invalid SID values in CFFs.
Problem reported by Tavis Ormandy <taviso@google.com>.
* src/cff/cffload.c (cff_charset_load): Reject SID values larger
than 64999.
|
|
91b127f7
|
2009-03-19T08:17:50
|
|
Make `gzip' module compile on WinCE.
* src/gzip/zconf.h [_WIN32_WCE]: Define NO_ERRNO_H.
|
|
7bb1005d
|
2009-03-16T20:42:38
|
|
docmaker: Don't ignore single-line code blocks.
* src/tools/docmaker/content.py (DocBlock::_init__): Fix change from
2009-01-31.
|
|
e4661646
|
2009-03-14T23:32:24
|
|
Fix valgrind warning.
* src/sfnt/ttsbit0.c (tt_sbit_decoder_load_bit_aligned): Don't read
past the end of the frame.
|
|
b66efefd
|
2009-03-12T08:07:49
|
|
Fix some FreeType Coverity issues as reported for Ghostscript.
* src/base/ftobjs.c (FT_New_Face, FT_New_Memory_Face): Initialize
`args.stream' (#3874, #3875).
(open_face_PS_from_sfnt_stream): Improve error management (#3786).
* src/base/ftmm.c (ft_face_get_mm_service): Fix check of `aservice'
(#3870).
* src/base/ftstroke.c (ft_stroke_border_get_counts): Remove dead
code (#3790).
* src/base/ftrfork.c (raccess_guess_apple_generic): Check error
value of `FT_Stream_Skip' (#3784).
* src/type1/t1gload.c (T1_Load_Glyph): Check `size' before accessing
it (#3872)
* src/pcf/pcfdrivr.c (PCF_Glyph_Load): Check `face' before accessing
it (#3871).
* src/pcf/pcfread.c (pcf_get_metrics): Handle return value of
`pcf_get_metric' (#3789, #3782).
(pcf_get_properties): Use FT_STREAM_SKIP (#3783).
* src/cache/ftcmanag.c (FTC_Manager_RegisterCache): Fix check of
`acache' (#3797)
* src/cff/cffdrivr.c (cff_ps_get_font_info): Fix check of `cff'
(#3796).
* src/cff/cffgload.c (cff_decoder_prepare): Check `size' (#3795).
* src/cff/cffload.c (cff_index_get_pointers): Add comment (#3794).
* src/bdf/bdflib.c (_bdf_add_property): Check `fp->value.atom'
(#3793).
(_bdf_parse_start): Add comment (#3792).
* src/raster/ftraster.c (Finalize_Profile_Table): Check
`ras.fProfile' (#3791).
* src/sfnt/ttsbit.c (Load_SBit_Image): Use FT_STREAM_SKIP (#3785).
* src/gzip/ftgzip.c (ft_gzip_get_uncompressed_size): Properly ignore
seek error (#3781).
|
|
07e81817
|
2009-03-11T21:29:54
|
|
Extend CID service functions to handle CID-keyed CFFs as CID fonts.
* include/freetype/ftcid.h (FT_Get_CID_Is_Internally_CID_keyed,
FT_Get_CID_From_Glyph_Index): New functions.
* include/freetype/internal/services/svcid.h
(FT_CID_GetIsInternallyCIDKeyedFunc,
FT_CID_GetCIDFromGlyphIndexFunc): New function typedefs.
(CID Service): Use them.
* src/base/ftcid.c: Include FT_CID_H.
(FT_Get_CID_Is_Internally_CID_keyed, FT_Get_CID_From_Glyph_Index):
New functions.
* src/cff/cffdrivr.c (cff_get_is_cid, cff_get_cid_from_glyph_index):
New functions.
(cff_service_cid_info): Add them.
* src/cff/cffload.c (cff_font_load): Don't free `font->charset.sids'
-- it is needed for access as a CID-keyed font. It gets deleted
later on.
* src/cid/cidriver.c (cid_get_is_cid, cid_get_cid_from_glyph_index):
New functions.
(cid_service_cid_info): Add them.
* docs/CHANGES: Updated.
|
|
9318df0c
|
2009-03-11T10:20:51
|
|
Fix Savannah bug #25597.
* src/cff/cffparse.c (cff_parse_real): Don't allow fraction_length
to become larger than 9.
|
|
801e7bae
|
2009-03-11T06:47:49
|
|
Fix Savannah bug #25781.
We now simply check for a valid `offset', no longer handling `delta
= 1' specially.
* src/sfnt/ttcmap.c (tt_cmap4_validate): Don't check `delta' for
last segment.
(tt_cmap4_set_range, tt_cmap4_char_map_linear,
tt_cmap4_char_map_binary): Check offset.
|
|
34ca21ed
|
2009-03-11T05:35:01
|
|
* src/base/Jamfile: Fix handling of ftadvanc.c.
Reported by Oran Agra <oran@monfort.co.il>.
|
|
8312ab75
|
2009-03-09T13:18:47
|
|
* src/sfnt/rules.mk (SFNT_DRV_H): Add ttsbit0.c.
|
|
ee3cc2e4
|
2009-03-09T13:13:44
|
|
Fix handling of EBDT formats 8 and 9 (part 2).
This patch fixes the following problems in ttsbit0.c:
. Bitmaps for compound glyphs were never allocated.
. `SBitDecoder' refused to load metrics if some other metrics have
already been loaded. This condition certainly makes no sense for
recursive calls, so I've just disabled it. Another possibility
would be resetting `decoder->metrics_loaded' to false before
loading each composite component. However, we must restore the
original metrics after finishing the recursion; otherwise we can
get a misaligned glyph.
. `tt_sbit_decoder_load_bit_aligned' incorrectly handled `x_pos',
causing some glyph components to be shifted too far to the right
(especially noticeable for small sizes).
Note that support for grayscale bitmaps (not necessarily compound) is
completely broken in ttsbit0.c.
* src/sfnt/tt_sbit_decoder_load_metrics: Always load metrics.
(tt_sbit_decoder_load_bit_aligned): Handle `x_pos' correctly in case
of `h == height'.
(tt_sbit_decoder_load_compound): Reset metrics after loading
components.
Allocate bitmap.
|
|
42f5c714
|
2009-03-03T23:34:49
|
|
Formatting.
|
|
ab7e52b1
|
2009-03-03T22:37:13
|
|
Fix SFNT kerning table parser against malformed tables.
Closes Savannah BUG #25750
* src/sfnt/ttkern.c (tt_face_get_kerning): fix a bug
where a malformed table would be succesfully loaded but
later crash the engine during parsing.
|
|
15b60bb5
|
2009-03-03T21:35:32
|
|
Formatting, copyright years.
|
|
01ca4da2
|
2009-03-03T13:28:59
|
|
Remove ABI-breaking field in public PS_InfoFontRec definition.
Instead, we define a new internal PS_FontExtraRec structure to
hold the additionnal field, then place it in various internal
positions of the corresponding FT_Face derived objects.
|
|
7585683c
|
2009-03-02T09:09:45
|
|
Remove dead code.
Minor formatting.
|
|
e5a7cc23
|
2009-03-02T09:09:12
|
|
Fix handling of EBDT formats 8 and 9.
The main cycle in `blit_sbit' makes too many iterations: it actually
needs the count of lines in the source bitmap rather than in the
target image.
* src/sfnt/ttsbit.c (blit_sbit) [FT_CONFIG_OPTION_OLD_INTERNALS]:
Add parameter `source_height' and use it for main loop.
(Load_SBit_Single) [FT_CONFIG_OPTION_OLD_INTERNALS]: Updated.
|
|
14de111f
|
2009-02-24T21:34:51
|
|
Fix Savannah bug #25669.
* src/base/ftadvanc.h (FT_Get_Advances): Fix serious typo.
* src/base/ftobjs.c (FT_Select_Metrics, FT_Request_Metrics): Fix
scaling factor for non-scalable fonts.
* src/cff/cffdrivr.c (cff_get_advances): Use correct advance width
value to prevent incorrect scaling.
* docs/CHANGES: Document it.
|
|
0552a496
|
2009-02-11T22:59:40
|
|
* src/truetype/ttobjs.c (tt_check_trickyness): Add `DFKaiShu'.
Reported by David Bevan <dbevan@emtex.com>.
|
|
c2cabd42
|
2009-02-09T22:20:27
|
|
Fix Savannah bug #25495.
* src/sfnt/sfobjs.c (sfnt_load_face): Test for bitmap strikes before
setting metrics and bbox values. This ensures that the check for a
font with neither a `glyf' table nor bitmap strikes can be performed
early enough to set metrics and bbox values too.
|
|
763ae208
|
2009-01-30T23:45:53
|
|
Minor docmaker improvements.
* src/tools/docmaker/content.py (DocBlock::__init__): Ignore empty
code blocks.
|
|
1e5e7aa0
|
2009-01-25T16:27:04
|
|
Fix SCANCTRL handling in TTFs.
Problem reported by Alexey Kryukov <anagnost@yandex.ru>.
* src/truetype/ttinterp.c (Ins_SCANCTRL): Fix threshold handling.
|
|
5184ed6d
|
2009-01-22T10:13:59
|
|
Move FT_Get_FSType_Flags to a separate file.
Problem reported by Mickey Gabel <mickey@monfort.co.il>.
* src/base/ftobjs.c (FT_Get_FSType_Flags): Move to...
* src/base/ftfstype.c: This new file.
* modules.cfg (BASE_EXTENSION): Add ftfstype.c.
* docs/INSTALL.ANY: Updated.
* builds/mac/*.txt, builds/amiga/*makefile*,
builds/win32/{visualc,visualce}/freetype.*, builds/symbian/*:
Updated.
|
|
5a00909a
|
2009-01-22T03:50:37
|
|
* Fix a bug in POSIX resource-fork accessor since 2008-10-04
|
|
3739f8b9
|
2009-01-18T13:13:17
|
|
Protect FT_Get_Next_Char.
* src/sfnt/ttcmap.c (tt_cmap4_set_range): Apply fix similar to
change from 2008-07-22.
Patch from Ronen Ghoshal <rghoshal@emtex.com>.
|
|
4f7ef401
|
2009-01-18T10:53:29
|
|
Implement FT_Get_Name_Index for SFNT driver.
* src/sfnt/sfdriver.c (sfnt_get_name_index): New function.
(sfnt_service_glyph_dict): Use it.
Problem reported by Truc Truong <tructv@necsv.com>.
|
|
9bf73ec4
|
2009-01-13T17:42:00
|
|
Fix C++ compilation.
* src/base/ftobjs.c (FT_Get_FSType_Flags): Cast for compilation
with C++.
|
|
24d72a1b
|
2009-01-13T17:34:48
|
|
Don't use stdlib.h and friends directly.
Reported by Mickey Gabel <mickey@monfort.co.il>.
* src/base/ftdbgmem.c: s/<stdlib.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
* src/gzip/ftgzip.c, src/lzw/ftlzw.c, src/raster/ftmisc.h:
s/<string.h>/FT_CONFIG_STANDARD_LIBRARY_H/.
* src/autofit/aftypes.h, src/autofit/afhints.c,
src/pshinter/pshalgo.c: s/<stdio.h>/FT_CONFIG_STANDARD_LIBRARY_H/
* src/lzw/ftlzw.c, src/base/ftdbgmem.c: Don't include stdio.h.
|
|
f47acf2b
|
2009-01-12T20:11:14
|
|
Avoid compiler warnings.
* */*: s/do ; while ( 0 )/do { } while ( 0 )/.
Reported by Sean McBride <sean@rogue-research.com>.
|
|
e85baf4f
|
2009-01-12T20:01:10
|
|
Fix stdlib dependencies.
Problem reported by Mickey Gabel <mickey@monfort.co.il>.
* include/freetype/config/ftstdlib.h (ft_exit): Removed. Unused.
* src/autofit/afhints.c, src/base/ftlcdfil.c, src/smooth/ftsmooth.c:
s/memcpy/ft_memcpy/.
* src/psaux/t1decode.c: s/memset/ft_memset/, s/memcpy/ft_memcpy/.
|
|
759c07d1
|
2009-01-09T11:11:53
|
|
load_flags of FT_Get_Advance(), FT_Get_Advances() and backends are declared as FT_Int32 to match the flags of FT_Load_Glyph()
|
|
68e16e01
|
2009-01-09T08:01:15
|
|
* src/gxvalid/gxvmort.c (gxv_mort_feature_validate): Fix wrong length check, Savannah patch #6682.
|
|
9d83d290
|
2009-01-09T07:58:08
|
|
Fix problem with T1_FIELD_{NUM,FIXED}_TABLE2.
* src/psaux/psobjs.c (ps_parser_load_field_table): Don't handle
`count_offset' if it is zero (i.e., unused). Otherwise, the first
element of the structure which holds the data is erroneously
modified. Problem reported by Chi Nguyen <chint@necsv.com>.
|
|
a7c00b79
|
2009-01-09T07:21:16
|
|
load_flags of FT_Get_Advance(), FT_Get_Advances() and backends are declared as FT_UInt32 for 16-bit platforms
|
|
9b1da084
|
2009-01-09T06:21:04
|
|
tab -> space
|
|
2dc10794
|
2009-01-09T05:07:15
|
|
* src/base/ftobjs.c (FT_Done_Library): Issue an error when FT_Done_Face() is failed and retried
|
|
a86f1b96
|
2009-01-06T09:07:22
|
|
FT_Bitmap_Convert: Support missing pixel modes.
* src/base/ftbitmap.c (FT_Bitmap_Convert): Handle FT_PIXEL_MODE_LCD
and FT_PIXEL_MODE_LCD_V. Problem reported by Chi Nguyen
<chint@necsv.com>.
|
|
f2e33c11
|
2009-01-06T06:59:36
|
|
Minor fixes.
* src/base/ftdbgmem.c (_debug_mem_dummy): Make it static.
* src/base/ftmac.c: Remove some #undefs.
|
|
1ad384d8
|
2008-12-25T23:52:00
|
|
Set `face_index' field in FT_Face for all font formats.
* cff/cffobjs.c (cff_face_init), winfonts/winfnt.c (FNT_Face_Init),
sfnt/sfobjs.c (sfnt_init_face): Do it.
* docs/CHANGES: Document it.
|
|
3c5ad951
|
2008-12-21T17:51:12
|
|
* src/pfr/pfrdrivr.c, src/winfonts/winfnt.c, src/cache/ftcmanag.c,
src/smooth/ftgrays.c, src/base/ftobjc.s, src/sfobjs.c:
s/_Err_Bad_Argument/_Err_Invalid_Argument/. The former is for
errors in the bytecode interpreter only.
|
|
478cca14
|
2008-12-21T17:38:23
|
|
* src/base/ftpfr.c (FT_Get_PFR_Metrics): Protect against NULL
arguments.
Fix return value for non-PFR fonts. Both problems reported by Chi
Nguyen <chint@necsv.com>.
|
|
ce33a312
|
2008-12-21T10:29:30
|
|
FT_USE_MODULE declares things as:
extern const FT_Module_Class
(or similar for C++). However, the actual types of the variables
being declared are often different, e.g., FT_Driver_ClassRec or
FT_Renderer_Class. (Some are, indeed, FT_Module_Class.)
This works with most C compilers (since those structs begin with an
FT_Module_Class struct), but technically it's undefined behavior.
To quote the ISO/IEC 9899:TC2 final committee draft, section 6.2.7
paragraph 2:
All declarations that refer to the same object or function shall
have compatible type; otherwise, the behavior is undefined.
(And they are not compatible types.)
Most C compilers don't reject (or even detect!) code which has this
issue, but the GCC LTO development branch compiler does. (It
outputs the types of the objects while generating .o files, along
with a bunch of other information, then compares them when doing the
final link-time code generation pass.)
Patch from Savannah bug #25133.
* src/base/ftinit.c (FT_USE_MODULE): Include variable type.
* builds/amiga/include/freetype/config/ftmodule.h,
include/freetype/config/ftmodule.h, */module.mk: Updated to declare
pass correct types to FT_USE_MODULE.
|
|
b6fa8451
|
2008-12-21T09:46:31
|
|
* src/autofit/aflatin.c (af_latin_hint_edges),
src/autofit/aflatin2.c (af_latin2_hint_edges), src/autofit/afcjk.c
(af_cjk_hint_edges): Protect against division by zero.
|
|
05bf6877
|
2008-12-18T06:32:10
|
|
* docs/CHANGES: Updated.
Provide API for accessing embedding and subsetting restriction
information.
* include/freetype.h (FT_FSTYPE_INSTALLABLE_EMBEDDING,
FT_FSTYPE_RESTRICTED_LICENSE_EMBEDDING,
FT_FSTYPE_PREVIEW_AND_PRINT_EMBEDDING, FT_FSTYPE_EDITABLE_EMBEDDING,
FT_FSTYPE_NO_SUBSETTING, FT_FSTYPE_BITMAP_EMBEDDING_ONLY): New
macros.
(FT_Get_FSType_Flags): New function declaration.
* src/base/ftobjs.c (FT_Get_FSType_Flags): New function.
* src/cid/cidtoken.h, src/type1/t1tokens.h, src/type42/t42parse.c
(t42_keywords): Handle `FSType'.
* include/freetype/t1tables.h (PS_FontInfoRec): Add `fs_type' field.
|
|
cfc514ea
|
2008-12-17T11:03:26
|
|
* src/base/ftsynth.c (FT_GlyphSlot_Embolden): Don't use internal
macros so that copying the source code into an application works
out of the box.
|
|
c8c4cc83
|
2008-12-17T10:50:31
|
|
* include/freetype/ftsynth.h, src/basae/ftsynth.c: Move
FT_GlyphSlot_Own_Bitmap to...
* include/freetype/ftbitmap.h, src/base/ftbitmap.c: These files.
* docs/CHANGES: Document it.
|
|
b972a2a2
|
2008-12-11T08:55:48
|
|
Generalize the concept of `tricky' fonts by introducing
FT_FACE_FLAG_TRICKY to indicate that the font format's hinting
engine is necessary for correct rendering.
At the same time, slightly modify the behaviour of tricky fonts:
FT_LOAD_NO_HINTING is now ignored. To really force raw loading
of tricky fonts (without hinting), both FT_LOAD_NO_HINTING and
FT_LOAD_NO_AUTOHINT must be used.
Finally, tricky TrueType fonts always use the bytecode interpreter
even if the patented code is used.
* include/freetype/freetype.h (FT_FACE_FLAG_TRICKY, FT_IS_TRICKY):
New macros.
* src/truetype/ttdriver.c (Load_Glyph): Handle new load flags
semantics as described above.
* src/truetype/ttobjs.c (tt_check_trickyness): New function, using
code of ...
(tt_face_init): This function, now simplified and updated to new
semantics.
* src/base/ftobjs.c (FT_Load_Glyph): Don't use autohinter for tricky
fonts.
* docs/CHANGES: Document it.
|
|
1474f439
|
2008-12-09T06:51:56
|
|
Really fix Savannah bug #25010: An SFNT font with neither outlines
nor bitmaps can be considered as containing space `glyphs' only.
* src/truetype/ttpload.c (tt_face_load_loca): Handle the case where
a `glyf' table is missing.
* src/truetype/ttgload.c (load_truetype_glyph): Abort if we have no
`glyf' table but a non-zero `loca' entry.
(tt_loader_init): Handle missing `glyf' table.
* src/base/ftobjs.c (FT_Load_Glyph): Undo change 2008-12-05.
* src/sfnt/sfobjs.c (sfnt_load_face): A font with neither outlines
nor bitmaps is scalable.
|
|
e3b083c6
|
2008-12-05T22:50:40
|
|
* src/autofit/aflatin.c (af_latin_uniranges): Add more ranges. This
fixes Savannah bug #21190 which also provides a basic patch.
|
|
76fffcd8
|
2008-12-05T18:37:44
|
|
* include/freetype/freetype.h (FT_LOAD_ADVANCE_ONLY): Use value
0x100 instead of 0x10000; the latter value is already occupied by
FT_LOAD_TARGET_LIGHT. Bug reported by James Cloos.
Handle SFNT with neither outlines nor bitmaps. This fixes Savannah
bug #25010.
* src/base/ftobjs.c (FT_Load_Glyph): Reject fonts with neither
outlines nor bitmaps.
* src/sfnt/sfobjs.c (sfnt_load_face): Don't return an error if there
is no table with glyphs.
* src/sfnt/ttload.c (tt_face_lookup_table): Improve debugging
message.
Other minor cosmetics.
|
|
afe60160
|
2008-12-01T12:53:00
|
|
GDEF tables need `glyph_count' too for validation. Problem reported
by Chi Nguyen <chint@necsv.com>.
* src/otvalid/otvgdef.c (otv_GDEF_validate), src/otvalid/otvalid.h
(otv_GDEF_validate), src/otvalid/otvmod.c (otv_validate): Pass
`glyph_count'.
|
|
1a5d561d
|
2008-11-29T22:50:24
|
|
* src/autofit/afcjk.c, src/base/ftoutln.c, src/base/ftrfork.c,
src/bdf/bdfdrivr.c, src/gxvalid/gxvmorx.c, src/otvalid/otvmath.c,
src/pcf/pcfdrivr.c, src/psnames/pstables.h, src/smooth/ftgrays.c,
src/tools/glnames.py, src/truetype/ttinterp.c, src/type1/t1load.c,
src/type42/t42objs.c, src/winfonts/winfnt.c: Fix compiler warnings
(Atari PureC).
|
|
8f9b7f50
|
2008-11-29T17:35:58
|
|
* src/type/t1load.c (mm_axis_unmap): Revert previous patch and fix
it correctly by using FT_INT_TO_FIXED (FreeType expects 16.16 values
in the /BlendDesignMap space).
|
|
b2cb6ce6
|
2008-11-29T09:32:12
|
|
* src/type1/t1load.c (mm_axis_unmap): `blend_points' is FT_Fixed*,
whereas `design_points' is FT_Long*. Therefore, return blend rather
than design points.
|
|
02197280
|
2008-11-29T09:31:44
|
|
Formatting.
|
|
c7597edb
|
2008-11-27T21:55:20
|
|
* src/cff/cffparse.c (cff_parse_real): Handle more than nine
significant digits correctly. This fixes Savannah bug #24953.
|
|
0a263a8b
|
2008-11-25T05:44:41
|
|
* src/base/ftstream.c (FT_Stream_ReadFields): Don't access stream
before the NULL check. From Savannah patch #6681.
|
|
52cd0fc8
|
2008-11-24T08:15:05
|
|
Fixes from the gnuwin32 port.
* src/base/ftlcdfil.c: s/EXPORT/EXPORT_DEF/.
* src/base/ftotval.c: Include FT_OPENTYPE_VALIDATE_H.
* src/psaux/psobjs.c (ps_table_add): Check `length'.
|
|
105721a5
|
2008-11-15T10:35:51
|
|
* src/truetype/ttinterp.c (tt_default_graphics_state): The default
value for `scan_type' is zero, as confirmed by Greg Hitchcock from
Microsoft. Problem reported by Michal Nowakowski
<miszka@limes.com.pl>.
|
|
312043f4
|
2008-11-12T06:29:41
|
|
* src/cff/cffdrivr.c (cff_get_cmap_info): Initialize `format' field.
This fixes Savannah bug #24819.
Document `format' field of TT_CMapInfo.
|
|
e7aad025
|
2008-11-08T22:00:55
|
|
* src/sfnt/sfobjs.c (sfnt_load_face): Remove #if 0/#endif guards
since OpenType version 1.5 has been released.
* include/ttnameid.h (TT_NAME_ID_WWS_FAMILY,
TT_NAME_ID_WWS_SUBFAMILY): New macros for OpenType 1.5.
(TT_URC_COPTIC, TT_URC_VAI, TT_URC_NKO, TT_URC_BALINESE,
TT_URC_PHAGSPA, TT_URC_NON_PLANE_0, TT_URC_PHOENICIAN,
TT_URC_TAI_LE, TT_URC_NEW_TAI_LUE, TT_URC_BUGINESE,
TT_URC_GLAGOLITIC, TT_URC_YIJING, TT_URC_SYLOTI_NAGRI,
TT_URC_LINEAR_B, TT_URC_ANCIENT_GREEK_NUMBERS, TT_URC_UGARITIC,
TT_URC_OLD_PERSIAN, TT_URC_SHAVIAN, TT_URC_OSMANYA,
TT_URC_CYPRIOT_SYLLABARY, TT_URC_KHAROSHTHI, TT_URC_TAI_XUAN_JING,
TT_URC_CUNEIFORM, TT_URC_COUNTING_ROD_NUMERALS, TT_URC_SUNDANESE,
TT_URC_LEPCHA, TT_URC_OL_CHIKI, TT_URC_SAURASHTRA, TT_URC_KAYAH_LI,
TT_URC_REJANG, TT_URC_CHAM, TT_URC_ANCIENT_SYMBOLS,
TT_URC_PHAISTOS_DISC, TT_URC_OLD_ANATOLIAN, TT_URC_GAME_TILES): New
macros for OpenType 1.5.
|
|
b6192827
|
2008-11-08T07:28:39
|
|
* src/base/ftobjs.c (ft_glyphslot_free_bitmap): Protect against
slot->internal == NULL. Reported by Graham Asher.
|
|
95120928
|
2008-11-08T07:20:25
|
|
* src/sfnt/sfobjs.c (tt_face_get_name): Modified to return an error
code so that memory allocation problems can be distinguished from
missing table entries. Reported by Graham Asher.
(GET_NAME): New macro.
(sfnt_load_face): Use it.
|
|
e0ed07d7
|
2008-11-04T10:37:30
|
|
* src/type1/t1load.c (parse_subrs): Use an endless loop. There are
fonts (like HELVI.PFB version 003.001, used on OS/2) which define
some `subrs' elements more than once. Problem reported by Peter
Weilbacher <mozilla@weilbacher.org>.
|
|
f31072c8
|
2008-10-15T20:03:37
|
|
* src/sfnt/ttpost.c (tt_post_default_names): Add `const'.
|
|
6922266b
|
2008-10-15T15:22:39
|
|
* src/truetype/ttgxvar.c (TT_Set_MM_Blend): Disambiguate
|
|
5d642573
|
2008-10-15T13:20:17
|
|
add comment
|
|
822604c8
|
2008-10-14T07:28:03
|
|
* src/cff/cffobjs.c (cff_face_init): Remove compiler warning.
Suggested by Bram Tassyns in Savannah patch #6651.
|
|
174b8de3
|
2008-10-12T11:47:29
|
|
* src/sfnt/sfobjs.c (sfnt_load_face): Fix computation of
`underline_position'.
* docs/CHANGES: Updated.
Formatting, minor editing.
|
|
0192230e
|
2008-10-11T06:00:15
|
|
(important) formatting
|
|
cec1d5f8
|
2008-10-09T07:14:08
|
|
typo
|
|
1464bc5a
|
2008-10-09T05:44:23
|
|
* Fix Savannah bug #24468, unexpected conversion between FT_UInt32* and FT_UInt*
|
|
fa9d3994
|
2008-10-08T16:04:46
|
|
Fix Savannah bug #24485.
* src/type1/t1load.c (parse_charstrings): Assure that we always have
a .notdef glyph.
|
|
54dd7cf4
|
2008-10-07T18:15:46
|
|
Make braces balanced throught the whole file.
|
|
cd91bf0a
|
2008-10-07T18:13:23
|
|
Make braces balanced throughout the whole file.
|
|
570b1fdb
|
2008-10-05T06:08:40
|
|
formatting
|
|
96d87bed
|
2008-10-05T03:08:10
|
|
{src/base,builds/mac}/ftobjs.c: Include FT_TRUETYPE_TAGS_H for multi build
|
|
af48cb0b
|
2008-10-05T02:53:06
|
|
src/base/ftobjs.c: Include FT_TRUETYPE_TAGS_H
|
|
2d3e0af9
|
2008-10-05T02:38:57
|
|
* `FT_Open_Face' tries `open_face_PS_from_sfnt_stream' when a sfnt container is found but not OpenType.
|