Werner Lemberg
2b428d5787
minor cleanup
2005-10-15 05:49:31 +00:00
David Turner
d23b7b5141
file ftcint.h was initially added on branch CACHE.
2005-10-13 14:30:56 +00:00
Werner Lemberg
4d7447b466
Mention multi-threading.
2005-10-12 05:56:01 +00:00
Werner Lemberg
7734a1f720
Add FT_FACE_FLAG_HINTER to indicate that a specific font driver has
...
a hinting engine of its own.
* include/freetype/freetype.h (FT_FACE_FLAG_HINTER): New macro.
* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
(cid_face_init), src/truetype/ttobjs.c (tt_face_init)
[TT_CONFIG_OPTION_BYTECODE_INTERPRETER], src/type1/t1objs.c
(T1_Face_Init), src/type42/t42objs.c (T42_Face_Init)
[TT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Update face flags.
* docs/CHANGES: Document it.
2005-10-05 15:18:29 +00:00
Werner Lemberg
613ea86674
Grammatical fixes (this is, removing future tense in most cases).
...
Other minor documentation improvements.
2005-10-05 10:21:58 +00:00
Werner Lemberg
7c25946f08
Formatting.
2005-09-28 07:34:45 +00:00
Werner Lemberg
d6e8b3315c
* builds/unix/freetype2.m4: Add license exception so that the file
...
can be used in any other autoconf script.
2005-09-28 06:49:13 +00:00
David Turner
2441513494
file ftrgb.h was initially added on branch RGB.
2005-09-27 16:34:29 +00:00
David Turner
61ce6979cf
file rules.mk was initially added on branch RGB.
2005-09-27 16:25:29 +00:00
David Turner
743731afdc
file ftrgb.c was initially added on branch RGB.
2005-09-27 16:25:29 +00:00
David Turner
fae358aea8
file ftrgbgen.h was initially added on branch RGB.
2005-09-27 16:25:29 +00:00
David Turner
75a39a9044
file ftrgbgn2.h was initially added on branch RGB.
2005-09-27 16:25:29 +00:00
David Turner
98c3c78426
file Jamfile was initially added on branch RGB.
2005-09-27 16:25:29 +00:00
David Turner
f582cf3f95
* src/autofit/aflatin.c (af_latin_compute_stem_width): fixed bad
...
computation of the "vertical" flag, causing ugly things in LCD mode
and others.
2005-09-26 09:27:09 +00:00
David Turner
03ee7c82a3
* src/autofit/afangles.c (af_angle_atan): replaced CORDIC-based
...
implementation with one using lookup tables. This simple thing
speeds glyph loading by 18% according to ftbench !
2005-09-23 14:14:15 +00:00
David Turner
18e44430ae
* src/base/Jamfile: adding src/base/ftgxval.c
...
* src/gxvalid/gxvbsln.c, src/gxvalid/gxvcommn.c, src/gxvalid/gxvfeat.c,
src/gxvalid/gxvjust.c, src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c,
src/gxvalid/gxvmort.c, src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c, src/gxvalid/gxvmort5.c,
src/gxvalid/gxvmorx.c, src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx5.c, src/gxvalid/gxvopbd.c,
src/gxvalid/gxvprop.c, src/sfnt/sfdriver.c, src/truetype/ttgload.c:
removing _many_ compiler warnings when compiling with Visual C++
at maximum level (/W4)
2005-09-23 13:22:10 +00:00
David Turner
99ded0bed7
* src/autofit/aflatin.c (af_latin_hints_init): fixed a bug that
...
prevented internal hint mode bitflags from being computed correctly
2005-09-23 08:00:51 +00:00
Werner Lemberg
b3feb80e02
* docs/CHANGES: Mention SING Glyphlet support.
...
Other minor doc fixes and CRLF issues.
2005-09-23 07:40:28 +00:00
David Turner
ad20e6ba57
* src/base/Jamfile: fixing broken Jamfile
2005-09-22 20:37:51 +00:00
Werner Lemberg
8eacad6daa
* freetype2/src/sfnt/ttload.c (sfnt_dir_check): Modified to allow a
...
font to have no `head' table if tables `SING' and `META' are
present; this is to support `SING Glyphlet'.
`SING Glyphlet' is an extension to OpenType developed by Adobe
primarily to facilitate adding supplemental glyphs to an OpenType
font (with emphasis on, but not necessariy limited to, gaiji to a
CJK font). A SING Glyphlet Font is an OpenType font that contains
the outline(s), either in a `glyf' or `CFF' table, for a glyph;
`cmap', `BASE', and `GSUB' tables are present with the same format
and functionaliy as a regular OpenType font; there are no `name',
`head', `OS/2', and `post' tables; there are two new tables, `SING'
which contains details about the glyphlet, and `META' which contains
metadata.
Further information on the SING Glyphlet format can be found at:
http://www.adobe.com/products/indesign/sing_gaiji.html
* freetype2/include/freetype/ttags.h (TTAG_SING, TTAG_META): New
macros for the OpenType tables `SING' and `META'. These two tables
are used in SING Glyphlet Format fonts.
2005-09-19 07:07:11 +00:00
Werner Lemberg
7e25c688de
* src/sfnt/sfobjs.c (sfnt_load_face): Reactivate code to set
...
FT_FACE_FLAG_KERNING which has been commented out erroneously.
* docs/CHANGES: Document it.
2005-09-09 18:00:06 +00:00
Werner Lemberg
99aa14c226
Fixes for `make multi' and using C++ compiler.
...
* gxvalid/gxvcommn.c (gxv_set_length_by_ushort_offset,
gxv_set_length_by_ulong_offset, gxv_array_getlimits_byte,
gxv_array_getlimits_ushort): Declare with FT_LOCAL_DEF.
(gxv_compare_ranges): Make it static.
(gxv_LookupTable_fmt0_validate, gxv_LookupTable_fmt2_validate,
gxv_LookupTable_fmt4_validate, gxv_LookupTable_fmt6_validate,
gxv_LookupTable_fmt8_validate, gxv_LookupTable_validate): Improve
trace messages.
(gxv_StateArray_validate, gxv_XStateArray_validate): s/class/clazz/.
(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Move to
gxvcommn.h.
* gxvalid/gxvcommn.h: Add prototypes for
gxv_StateTable_subtable_setup, gxv_XStateTable_subtable_setup,
gxv_XStateTable_validate, gxv_array_getlimits_byte,
gxv_array_getlimits_ushort, gxv_set_length_by_ushort_offset,
gxv_set_length_by_ulong_offset, gxv_odtect_add_range,
gxv_odtect_validate.
(GXV_STATETABLE_HEADER_SIZE, GXV_STATEHEADER_SIZE,
GXV_XSTATETABLE_HEADER_SIZE, GXV_XSTATEHEADER_SIZE): Moved from
gxvcommn.c.
* src/gxvalid/gxvbsln.c (gxv_bsln_LookupValue_validate,
gxv_bsln_parts_fmt1_validate): Improve trace messages.
* gxvalid/gxvfeat.c: Split off predefined registry stuff to...
* gxvalid/gxvfeat.h: New file.
* gxvalid/gxvjust.c (gxv_just_wdc_entry_validate): Improve trace
message.
* gxvalid/gxvkern.c (GXV_kern_Dialect): Add KERN_DIALECT_UNKNOWN.
(gxv_kern_subtable_fmt1_valueTable_load,
gxv_kern_subtable_fmt1_subtable_setup,
gxv_kern_subtable_fmt1_entry_validate): Fix C++ compiler errors.
(gxv_kern_coverage_validate): Use KERN_DIALECT_UNKWOWN.
Improve trace message.
(gxv_kern_validate_generic): Fix C++ compiler error.
Improve trace message.
(gxv_kern_validate_classic): Fix C++ compiler error.
* gxvalid/gxvmort0.c (gxv_mort_subtable_type0_validate): Declare
with FT_LOCAL_DEF.
* gxvalid/gxvmort1.c
(gxv_mort_subtable_type1_substitutionTable_load,
gxv_mort_subtable_type1_subtable_setup): Fix C++ compiler errors.
(gxv_mort_subtable_type1_substTable_validate): Improve trace
message.
(gxv_mort_subtable_type1_validate): Declare with FT_LOCAL_DEF.
* gxvalid/gxvmort2.c (gxv_mort_subtable_type2_opttable_load,
gxv_mort_subtable_type2_subtable_setup,
gxv_mort_subtable_type2_ligActionOffset_validate,
gxv_mort_subtable_type2_ligatureTable_validate): Fix C++ compiler
errors.
(gxv_mort_subtable_type2_validate): Declare with FT_LOCAL_DEF.
* gxvalid/gxvmort4.c (gxv_mort_subtable_type4_validate): Declare
with FT_LOCAL_DEF.
* gxvalid/gxvmort5.c (gxv_mort_subtable_type5_subtable_setup,
gxv_mort_subtable_type5_InsertList_validate): Fix C++ compiler
errors.
(gxv_mort_subtable_type5_validate): Declare with FT_LOCAL_DEF.
* gxvalid/gxvmort.c: Include gxvfeat.h.
(gxv_mort_featurearray_validate, gxv_mort_coverage_validate):
Declare with FT_LOCAL_DEF.
(gxv_mort_subtables_validate, gxv_mort_validate): Improve trace
messages.
* gxvalid/gxvmort.h (gxv_mort_feature_validate): Remove.
* gxvalid/gxvmorx0.c (gxv_morx_subtable_type0_validate): Declare
with FT_LOCAL_DEF.
* gxvalid/gxvmorx1.c
(gxv_morx_subtable_type1_substitutionTable_load,
gxv_morx_subtable_type1_subtable_setup,
gxv_morx_subtable_type1_entry_validate,
gxv_morx_subtable_type1_substitutionTable_validate): Fix C++
compiler errors.
(gxv_morx_subtable_type1_validate): Declare with FT_LOCAL_DEF.
* gxvalid/gxvmorx2.c (gxv_morx_subtable_type2_opttable_load,
gxv_morx_subtable_type2_subtable_setup,
gxv_morx_subtable_type2_ligActionIndex_validate,
gxv_morx_subtable_type2_ligatureTable_validate): Fix C++ compiler
errors.
(gxv_morx_subtable_type2_validate): Declare with FT_LOCAL_DEF.
Fix typo.
* gxvalid/gxvmorx4.c (gxv_morx_subtable_type4_validate): Declare
with FT_LOCAL_DEF.
* gxvalid/gxvmorx5.c (gxv_morx_subtable_type5_insertionGlyph_load,
gxv_morx_subtable_type5_subtable_setup): Fix C++ compiler error.
(gxv_morx_subtable_type5_validate): Declare with FT_LOCAL_DEF.
* gxvalid/gxvmorx.c (gxv_morx_subtables_validate,
gxv_morx_validate): Improve trace message.
* gxvalid/gxvopbd.c (gxv_opbd_LookupFmt4_transit): Fix compiler
warnings.
(gxv_opbd_validate): Improve trace message.
* gxvalid/gxvprop.c: Decorate constants with `U' and `L' where
appropriate.
(gxv_prop_zero_advance_validate, gxv_prop_validate): Improve trace
message.
* gxvalid/gxvtrak.c (gxv_trak_trackTable_validate): Remove unused
parameter. Update all callers.
(gxv_trak_validate): Improve trace message.
* rules.mk (GXV_DRV_H): Add gxvfeat.h.
2005-09-05 19:31:27 +00:00
Werner Lemberg
4a7f0b1c7a
* src/gxvalid/gxvbsln.c (GXV_BSLN_VALUE_EMPTY): Add `U'.
...
* src/gxvalid/gxmort1.c (GXV_MORT_SUBTABLE_TYPE1_HEADER_SIZE),
src/gxvalid/gxmort2.c (GXV_MORT_SUBTABLE_TYPE2_HEADER_SIZE): Fix
typo.
* src/gxvalid/gxvmorx0.c, src/gxvalid/gxvmorx1.c,
src/gxvalid/gxvmorx2.c, src/gxvalid/gxvmorx4.c,
src/gxvalid/gxvmorx5.c, src/gxvalid/gxvmort.c: Improve tracing
messages.
Decorate constants with `U' and `L' where appropriate.
Fix compiler warnings.
Formatting.
2005-09-01 07:33:03 +00:00
Werner Lemberg
a4aa1c5bee
* src/gxvalid/gxvbsln.c (gxv_bsln_validate): Fix tracing message.
...
* src/gxvalid/gxvcommn.c (gxv_odtect_add_range): Use `const'.
* src/gxvalid/gxvfeat.c, src/gxvalid/gxvjust.c,
src/gxvalid/gxvkern.c, src/gxvalid/gxvlcar.c, src/gxvalid/gxvmod.c,
src/gxvalid/gxvmort0.c, src/gxvalid/gxvmort1.c,
src/gxvalid/gxvmort2.c, src/gxvalid/gxvmort4.c,
src/gxvalid/gxvmort5.c, src/gxvalid/gxvmort.c: Improve tracing
messages.
Decorate constants with `U' and `L' where appropriate.
Fix compiler warnings.
2005-08-31 22:39:23 +00:00
Werner Lemberg
eff1ee3bd3
* src/truetype/ttgload.c (load_truetype_glyph): Fix typo.
2005-08-31 20:40:00 +00:00
Werner Lemberg
9b71edb0de
* src/gxvalid/gxvbsln.c: Fix compiler warnings.
...
* src/gxvalid/gxvcommn.c: Fix compiler warnings.
(gxv_XEntryTable_validate, gxv_compare_ranges): Remove unused
parameter. Update all callers.
Improve tracing messages.
Some formatting.
2005-08-31 16:29:51 +00:00
Werner Lemberg
4814030bf6
* src/gxvalid/README: Revised.
2005-08-31 07:13:27 +00:00
Werner Lemberg
a723526ae7
* include/freetype/freetype.h, include/freetype/ftchapters.h: Add
...
a preliminary section with some explanations about user allocation.
* src/tools/docmaker/tohtml.py (HtmlFormatter.section_enter):
Don't abort if there are no data types, functions, etc., in a
section.
Print synopsis only if we have a data type, function, etc.
* docs/INSTALL.ANY, docs/INSTALL, docs/INSTALL.UNX, docs/CUSTOMIZE,
docs/INSTALL.GNU, docs/TRUETYPE, docs/DEBUG, docs/UPGRADE.UNX,
docs/VERSION.DLL, docs/formats.txt: Revised, formatted.
2005-08-30 00:22:46 +00:00
Werner Lemberg
3bfb1c08c1
* src/truetype/ttgload.c [TT_MAX_COMPOSITE_RECURSE]: Removed.
...
(load_truetype_glyph): Limit recursion depth by `maxComponentDepth'.
2005-08-29 11:59:18 +00:00
Werner Lemberg
b82e773b34
* builds/unix/freetype2.in (CFlags): Add missing directory.
2005-08-26 05:50:27 +00:00
Werner Lemberg
169a6d8a04
* docs/CHANGES: Mention gxvalid module.
...
Formatting and other minor changes.
2005-08-25 06:00:55 +00:00
Werner Lemberg
55b0908ef5
* src/autofit/aflatin.c (af_latin_metrics_scale): Initialize
...
render mode properly. Reported by chris@dokein.co.uk .
2005-08-24 08:04:56 +00:00
Suzuki, Toshiya (鈴木俊哉)
a438621451
Add gxvalid module to validate TrueType GX/AAT tables.
...
Modifications on existing files:
* Jamfile: Register gxvalid module.
* src/base/Jamfile: Register ftgxval.c.
* src/base/rule.mk: Register ftgxval.c.
* docs/INSTALL.ANY: Register gxvalid/gxvalid.c.
* include/freetype/config/ftheader.h: Add macro to include gxvalid
header file, FT_GX_VALIDATE_H.
* include/freetype/config/ftmodule.h: Register gxv_module_class.
* include/freetype/ftchapters.h: Add comment about gx_validation.
* include/freetype/ftotval.h: Change keyword FT_VALIDATE_XXX
to FT_VALIDATE_OTXXX to co-exist gxvalid.
* include/freetype/tttags.h: Add tag for TrueType GX/AAT tables.
* include/freetype/internal/ftserv.h: Add macro to use gxvalid
service, FT_SERVICE_GX_VALIDATE_H
* include/freetype/internal/fttrace.h: Add trace facilities
for gxvalid.
New files on existing directories:
* include/freetype/internal/services/svgxval.h: Registration of
validation service for TrueType GX/AAT and classic kern table.
* include/freetype/ftgxval.h: Public API definition to use gxvalid.
* src/base/ftgxval.c: Public API of gxvalid.
New files under src/gxvalid/:
* src/gxvalid/Jamfile src/gxvalid/README src/gxvalid/module.mk
src/gxvalid/rules.mk src/gxvalid/gxvalid.c src/gxvalid/gxvalid.h
src/gxvalid/gxvbsln.c src/gxvalid/gxvcommn.c src/gxvalid/gxvcommn.h
src/gxvalid/gxverror.h src/gxvalid/gxvfeat.c src/gxvalid/gxvfgen.c
src/gxvalid/gxvjust.c src/gxvalid/gxvkern.c src/gxvalid/gxvlcar.c
src/gxvalid/gxvmod.c src/gxvalid/gxvmod.h src/gxvalid/gxvmort.c
src/gxvalid/gxvmort.h src/gxvalid/gxvmort0.c src/gxvalid/gxvmort1.c
src/gxvalid/gxvmort2.c src/gxvalid/gxvmort4.c src/gxvalid/gxvmort5.c
src/gxvalid/gxvmorx.c src/gxvalid/gxvmorx.h src/gxvalid/gxvmorx0.c
src/gxvalid/gxvmorx1.c src/gxvalid/gxvmorx2.c src/gxvalid/gxvmorx4.c
src/gxvalid/gxvmorx5.c src/gxvalid/gxvopbd.c src/gxvalid/gxvprop.c
src/gxvalid/gxvtrak.c: New files, gxvalid body.
2005-08-24 04:31:31 +00:00
Werner Lemberg
2752bd1a46
* src/truetype/ttgload.c (TT_Load_Glyph): Only translate outline
...
to (0,0) if bit 1 of the `head' table isn't set. This improves
rendering of buggy fonts.
2005-08-22 07:11:31 +00:00
Wu, Chia-I (吳佳一)
15c1f5d36f
* src/truetype/ttdriver.c (Load_Glyph): Don't check the validity of
...
ttmetrics here. TrueType fonts with only sbits always have
ttmetrics.valid set to false.
* src/truetype/ttgload.c (TT_Load_Glyph): Check that ttmetrics is
valid before loading outline glyph.
* src/cache/ftcimage.c (FTC_INode_New): Fix a memory leak.
2005-08-20 08:17:44 +00:00
Werner Lemberg
3774b997b0
* src/sfnt/ttload.c (tt_face_load_metrics_header): Ignore missing
...
`hhea' table for SFNT Mac fonts. Change based on a patch by
mpsuzuki@hiroshima-u.ac.jp .
2005-08-20 05:45:42 +00:00
Werner Lemberg
53ac64e39f
* src/otvalid/otvmod.c (otv_validate): Use ft_validator_run instead
...
of ft_setjmp.
2005-08-20 05:33:09 +00:00
Werner Lemberg
ffa033b1bc
* src/truetype/ttgload.c (load_truetype_glyph): Fix compiler
...
warnings.
Formatting.
2005-08-19 08:56:29 +00:00
Werner Lemberg
da245ee30a
Forgot to check in last change.
2005-08-18 07:40:32 +00:00
Wu, Chia-I (吳佳一)
d6d73989b0
* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Update copyright
...
messages.
2005-08-16 02:06:01 +00:00
Wu, Chia-I (吳佳一)
0142e6aff1
* src/truetype/ttinterp.c, src/truetype/ttinterp.h: Remove original
...
TT_Done_Context and rename TT_Destroy_Context to TT_Done_Context with
slight changes.
* src/truetype/ttobjs.h (tt_slot_init): New function.
* src/truetype/ttobjs.c (tt_driver_init): Initialize execution context
here.
(tt_slot_init): New function to create extra points for the internal
glyph loader. We then use it directly, instead of face's glyph loader,
when loading glyph.
* src/truetype/ttdriver.c: Use tt_slot_init for glyph slot
initialization.
(TT_Load_Glyph): Load flag dependencies are handled here.
Return error if size is NULL.
* src/truetype/ttgload.c: Heavy cleanup and refactor.
(TT_Hint_Glyph): New funcion to hint a zone, prepared by caller.
(TT_Process_Simple_Glyph): Use loader->pp's instead of recalculating.
Use TT_Hint_Glyph.
No need to save/restore loader->stream before/after
TT_Vary_Get_Glyph_Deltas now.
(TT_LOADER_SET_PP): New macro to calculate and set the four phantom points.
(TT_Process_Composite_Component, TT_Process_Composite_Glyph,
load_truetype_glyph): Refactor load_truetype_glyph into these three functions.
Never set exec->glyphSize to 0. (close #13107 )
Forget glyph frame before calling TT_Process_Simple_Glyph.
(TT_Load_Glyph, load_sbit_image, tt_loader_init): Refactor TT_Load_Glyph into
these three functions.
Set various fields of `glyph' here, instead of in load_truetype_glyph
and compute_glyph_metrics.
2005-08-16 01:54:59 +00:00
Werner Lemberg
f20a4d3527
* docs/INSTALL.ANY: Updated.
2005-08-10 13:24:51 +00:00
Werner Lemberg
b2d65d75bd
* src/sfnt/sfdriver.c (sfnt_interface) [FT_OPTIMIZE_MEMORY]:
...
Reactivate pointers to tt_find_sbit_image and tt_load_sbit_metrics
to make X work again.
2005-08-03 21:21:11 +00:00
Werner Lemberg
8e3fc5ea0c
* src/otvalid/otvcommn.h: Remove dead code.
...
Formatting.
2005-08-03 21:17:53 +00:00
Wu, Chia-I (吳佳一)
89fff9b9d1
* src/truetype/ttobjs.h (tt_size_run_fpgm, tt_size_run_prep): New functions.
...
* src/truetype/ttobjs.c (tt_size_run_fpgm, tt_size_run_prep): New functions.
(tt_size_init): Add 4, instead of 2, (phantom) points to twilight zone.
Move code that runs fpgm to tt_size_run_fpgm.
(Reset_Outline_Size): Move code that runs prep to tt_size_run_prep.
(tt_glyphzone_new): Allocate right size of arrays.
Set max_points and max_contours properly.
2005-07-31 11:41:54 +00:00
Wu, Chia-I (吳佳一)
2a41ab9e88
* src/truetype/ttdriver.c (Set_Char_Sizes): Avoid unnecessary
...
computations and clean up.
* src/truetype/ttobjs.h (struct TT_SizeRec_): Comment on the
internal copy of metrics.
2005-07-26 08:14:03 +00:00
Werner Lemberg
baed3dd044
Oops! Undo private change.
2005-07-13 06:58:13 +00:00
Werner Lemberg
07437dba17
* include/freetype/ftoutln.h (FT_Outline_Embolden): Fix prototype.
...
Reported by Xerxes.
2005-07-13 06:56:08 +00:00
Werner Lemberg
3500df4698
* include/freetype/internal/ftmemory.h (FT_REALLOC_ARRAY): Fix typo.
...
Reported by Brett Hutley.
2005-07-05 09:00:11 +00:00
David Turner
c562162834
* src/sfnt/ftbitmap.c, src/truetype/ttgload.c, src/sfnt/ttcmap.c:
...
removing compiler warnings (Visual C++ /W4)
* Jamfile, src/otvalid/{otvcommn.h,otvgdef.c,otvgpos.c,otvgsub.c,
otvjstf.c}: modified the code to use a different pre-processor trick
to implement the OTV_NEST1, OTV_NEST2 and OTV_NEST3 macros. The code
now compiles neatly with Visual C++. The 'otvalid' module has been
put in the Jamfile build again.
2005-06-30 11:46:46 +00:00