src/autofit/aflatin.c


Log

Author Commit Date CI Message
Werner Lemberg 1e1b6dff 2007-07-07T07:30:40 * src/pfr/pfrcmap.c: Include pfrerror.h. * src/autofit/afindic.c: Add some external declarations to pacify `make multi' compilation. * src/cid/cidgload.c (cid_load_glyph): Pacify compiler. * src/cff/cffdrivr.c (cff_ps_get_font_info), src/cff/cffobjs.c (cff_strcpy), include/freetype/internal/ftmemory.h (FT_MEM_STRDUP), src/autofit/aflatin.c (af_latin_hints_compute_edges), src/autofit/afcjk.c (af_cjk_hints_compute_edges), src/sfnt/ttmtx.c (tt_face_get_metrics), src/base/ftobjs.c (open_face) [FT_CONFIG_OPTION_INCREMENTAL]: Fix compilation with C++ compiler. * docs/release: Mention test compilation targets.
Werner Lemberg 3b0e5006 2007-07-03T04:48:19 * src/autofit/aflatin.c (af_latin_metrics_init_blues): Initialize `round' to pacify compiler. Really commit changes which have been used to build release 2.3.5.
David Turner 74cc0e9e 2007-06-30T22:54:12 * src/truetype/ttinterp.c: add missing variable initialization, gets rid of Valgrind fixes. * src/autofit/aflatin.c: get rid of an infinite loop in the case of degenerate fonts.
Werner Lemberg 46dde495 2007-06-14T03:59:02 * src/autofit/aflatin.c (af_latin_uniranges): Expand structure to cover all ranges which could possibly be handled by the aflatin module (since the default fallback for unknown ranges is now the afcjk module). It might be necessary to fine-tune this further by splitting off modules for Greek, Cyrillic, or other blocks.
Werner Lemberg 49e18b8d 2007-06-11T21:15:09 formatting
David Turner b38c15da 2007-06-11T19:36:48 fix bug #19565, which was caused by an incorrect segment link computation
David Turner b792017f 2007-06-11T05:37:35 experimental changes for the Latin auto-hinter. note that the new code is disabled by default.
Werner Lemberg 94be20ea 2007-05-09T20:02:55 * src/truetype/ttinterp.c (Ins_IP), src/autofit/aflatin.c (af_latin_metrics_scale_dim): Fix compiler warnings.
Werner Lemberg 94f1227f 2007-04-03T07:19:53 formatting; improved ChangeLog entries
David Turner e6472c12 2007-04-02T13:13:54 detect "extra-light" fonts in the auto-hinter in order to avoid producing weird results with them
Werner Lemberg 644b1ad4 2007-03-28T21:17:11 * builds/win32/visualc/index.html, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype.vcproc, README: s/2.3.2/2.3.3/, s/232/233/. * docs/CHANGES: Mention ftdiff.
David Turner f58caa09 2007-03-26T12:39:25 fix autofit's blue zone computations: it now ignores 1-point contours that correspond to mark attach coordinates, and not to the real glyph outline
Werner Lemberg 3d92f08b 2007-03-06T11:59:24 * include/freetype/config/ftstdlib.h (ft_strstr): New wrapper macro for `strstr'. * src/truetype/ttobjs.c (tt_face_init): Use ft_strstr for scanning `trick_names', as suggested by Ivan Nincic.
Werner Lemberg a091517a 2007-02-16T08:12:50 * src/truetype/ttinterp.c (Ins_MD): Remove unused variable. * src/autofit/aflatin.c (af_latin_hints_link_segments): Ditto.
Werner Lemberg 3cd6cc24 2007-02-16T08:10:17 formatting
David Turner a6bdb667 2007-02-12T22:33:48 better handling of serif segments in the Latin auto-fitter, gets rid of broken "9" in Arial 9pt/96dpi
Werner Lemberg b1be9e8b 2007-01-25T11:50:00 * src/cff/cffload.c (cff_index_get_pointers): Handle last entry correctly. This fixes Savannah bug #18867. * docs/CHANGES: Document it. Other formatting.
David Turner b6de8d1d 2007-01-23T15:51:50 * src/autofit/aflatin.c, src/autofit/aftypes.h, src/autofit/afwarp.h, src/autofit/afwarp.c: fix and enable the warper to improve "light" hinting mode. This is not necessarily a final version, but it seems to work well
Werner Lemberg b4142d51 2007-01-17T12:45:26 Whitespace and spelling fixes from Alexei. Formatting, copyright years.
David Turner 22122729 2007-01-16T20:06:44 * src/autofit/aflatin.c, src/cff/cffdriver.c, src/truetype/ttobjs.c, src/truetype/ttinterp.c: fixing compiler warnings
Werner Lemberg 6b87e6f0 2007-01-02T19:20:08 * src/gxvalid/gxvkern.c (gxv_kern_subtable_fmt0_pairs_validate): Remove compiler warning. Formatting.
David Turner 115b442b 2006-12-22T11:37:05 * src/autofit/aflatin.c, src/truetype/ttgload.c: removing compiler warnings * builds/win32/visualc/freetype.vcproj: adding _CRT_SECURE_NO_DEPRECATE to avoid deprecation warnings with Visual C++ 8
Werner Lemberg 960ba59a 2006-12-01T08:20:47 * src/sfnt/sfobjs.c (tt_face_get_name): All Unicode strings are encoded in UTF-16BE. Patch from Rajeev Pahuja <rpahuja@esri.com>. (tt_name_entry_ascii_from_ucs4): Removed. * include/freetype/ftxf86.h: Fix and extend comment so that it appears in the documentation. * include/freetype/ftchapters.h: Add `font_format' section. * src/tools/docmaker/tohtml.py (HtmlFormatter::index_exit): Add link to TOC in index page. Formatting.
David Turner 81e725f5 2006-11-23T14:49:48 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c, src/autofit/aftypes.h: Misc. auto-hinter improvements
Werner Lemberg 0d0d78da 2006-11-14T10:37:10 formatting
David Turner 8765c71b 2006-11-10T16:49:42 * include/freetype/ftlcdfil.h, include/internal/ftobjs.h, src/base/ftlcdfilt.c, src/smooth/ftsmooth.c: API change for the LCD filter, the FT_LcdFilter value is a enum describing which filter to apply, new values FT_LCD_FILTER_LIGHT and FT_LCD_FILTER_LEGACY (the latter implements the LibXft original algorithm which produces incredible color fringes for everything except very-well hinted text) * src/autofit/aflatin.c: various tiny improvements that drastically improve the handling of serif fonts and of LCD/LCD_V hinting modes.
Werner Lemberg 111b5aef 2006-11-03T09:40:12 * src/base/ftcalc.c: Don't use `long long' but `FT_Int64'. Formatting
David Turner 91b44e65 2006-11-02T23:28:09 - improve autofitter's handling of serif fonts (results are much better) - make GCC 4 happy when compiling our zlib sources
David Turner 40604748 2006-11-02T16:37:35 - fixed a bug in af_compute_direction which generated ugly glyphs - added more debug/log messages to help improve the auto-fitter
Werner Lemberg 545c4e56 2006-05-17T22:55:04 * src/truetype/ttgload.c (TT_Load_Composite_Glyph) [FT_CONFIG_OPTION_BYTECODE_INTERPRETER]: Make it compilable again. Formatting, documentation fixes.
David Turner 281679de 2006-05-17T13:34:21 * include/freetype/internal/tttypes.h, src/autofit/afangles.c, src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c, src/autofit/aftypes.h, src/base/ftcalc.c, src/base/ftoutln.c, src/gzip/ftgzip.c, src/psaux/psconv.c, src/truetype/ttgload.c, src/type1/t1gload.c: this is a major patch used to drastically improve the performance of loading glyphs. This both speeds up loading the glypn vector themselves and the auto-fitter. note that we've started using inline assembler with GCC to implement FT_MulFix, given that this function is so damn important for the engine's performance. the resulting speed-up is about 25%.
David Turner 24b9e87b 2006-03-21T16:30:04 * src/autofit/aflatin.c (af_latin_metrics_scale): fixed small bug that crash the auto-hinter (introduce by previous patch). aaah
Werner Lemberg 5a73d8d2 2006-03-20T16:55:32 * builds/freetype.mk (CACHE_DIR, CACHE_H): Remove. (FREETYPE_H): Updated. * src/cache/rules.mk (CACHE_H_DIR): Remove. (CACHE_DRV_H): Updated. Formatting, copyright years.
David Turner e091ce35 2006-03-20T16:01:28 * src/autofit/aflatin.c (af_latin_hints_init): disable horizontal hinting for italic/oblique fonts
David Turner da95af6c 2006-03-20T13:32:33 * builds/win32/visualc/freetype.dsp: updating the project file, adding missing base source files (e.g. ftstroke.c, ftxf86.c, etc...) * src/autofit/afcjk.c, src/autofit/aflatin.c, src/base/ftobjs.c, src/cff/cffobjs.c, src/cid/cidobjs.c, src/pfr/pfrobjs.c, src/sfnt/sfobjs.c, src/sfnt/ttmtx.c, src/truetype/ttpload.c, src/truetype/ttpload.h, src/type1/t1afm.c, src/type1/t1objs.c: removing compiler warnings when building with Visual C++ 6 and /W4
Wu, Chia-I (吳佳一) 4c507ffa 2006-02-11T13:22:37 * src/autofit/afcjk.c (af_cjk_metrics_init): Fix a stupid bug... * src/autofit/aflatin.c (af_latin_metrics_init_widths): Use AF_LatinMetricsRec as the dummy metrics because we cast the metrics to it later in `af_latin_hints_link_segments'.
Wu, Chia-I (吳佳一) f9a69132 2006-02-11T12:12:02 * include/freetype/config/ftoption.h (AF_CONFIG_OPTION_CJK): #define to enable autofit CJK script support. (#define'd by default) * src/autofit/aflatin.h (AF_LATIN_CONSTANT): New macro. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Make sure that `edge_distance_threshold' is always set. (af_latin_hints_link_segments): Potential divide by 0 bug. Use latin constant in the scoring formula. * src/autofit/afcjk.c: Minor updates due to the above three changes. * docs/TODO, docs/CHANGES: Updated.
Wu, Chia-I (吳佳一) 4cdb45c0 2006-02-09T14:17:04 Introduce experimental autofit CJK module based on akito's autohint patch. You need to #define AF_MOD_CJK in afcjk.c to enable it. * src/autofit/afglobal.c, src/autofit/afcjk.h, src/autofit/afcjk.c, src/autofit/rules.mk, src/autofit/autofit.c, src/autofit/aftypes.h: Add CJK module based on akito's autohint patch. * src/autofit/afhints.h (AF_SegmentRec): New field `len' for the overlap length of the segments. (AF_SEGMENT_LEN, AF_SEGMENT_DIST): New macros. * src/autofit/aflatin.h (af_latin_metrics_init_widths), src/autofit/aflatin.c (af_latin_metrics_init_widths): Made `FT_LOCAL'. Use the character given by the caller. (af_latin_metrics_init_widths, af_latin_hints_link_segments): Scale the thresholds. * src/autofit/afloader.c (af_loader_load_g): Respect AF_SCALER_FLAG_NO_ADVANCE.
Werner Lemberg 1be9ebf5 2006-01-22T06:58:16 * src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c. Formatting, copyright notices, copyright years.
David Turner bb4edc92 2006-01-21T14:31:45 * src/autofit/aflatin.c, src/autofit/afwarp.h, src/autofit/afwarp.c, src/autofit/aftypes.h, src/autofit/afloader.c, src/autofit/autofit.c: adding experimental implementation of "warp hinting" (new hinting algorithm for gray-level and LCD rendering). It is disabled by default, you need to #define AF_USE_WARPER in aftypes.h to enable it.
Werner Lemberg b79b5133 2005-12-20T12:01:58 Formatting, improving comments.
David Turner 5b5f382b 2005-12-14T16:37:15 * src/autofit/aflatin.c, src/autofit/afhints.c: changed the implementation of the LIGHT hinting mode to completely disable horizontal hinting. This is an experimental effort to integrate David Chester's latest patch without fucking the other hinting modes as well. Note that this doesn't force auto-hinting for all fonts however.
David Turner f582cf3f 2005-09-26T09:27:09 * src/autofit/aflatin.c (af_latin_compute_stem_width): fixed bad computation of the "vertical" flag, causing ugly things in LCD mode and others.
David Turner 99ded0be 2005-09-23T08:00:51 * src/autofit/aflatin.c (af_latin_hints_init): fixed a bug that prevented internal hint mode bitflags from being computed correctly
Werner Lemberg 55b0908e 2005-08-24T08:04:56 * src/autofit/aflatin.c (af_latin_metrics_scale): Initialize render mode properly. Reported by chris@dokein.co.uk.
Werner Lemberg 22ad9ef0 2005-05-09T22:11:36 Handle unsorted SFNT type 4 cmaps correctly (reported by Dirck Blaskey). * src/sfnt/ttcmap.h (TT_CMap): Add member `unsorted'. * src/sfnt/ttcmac.c: Use SFNT_Err_Ok where appropriate. (tt_cmap0_validate, tt_cmap2_validate, tt_cmap6_validate, tt_cmap8_validate, tt_cmap10_validate, tt_cmap12_validate): Use `FT_Error' as return type. (tt_cmap4_validate): Use `FT_Error' as return type. Return error code for unsorted cmap. (tt_cmap4_char_index, tt_cmap4_char_next): Use old code for unsorted cmaps. (tt_face_build_cmaps): Set `unsorted' variable in cmap. Minor formatting.
David Turner 750fa961 2005-05-01T10:11:32 * Jamfile: removing otvalid from the list of compiled modules * include/freetype/internal/ftserv.h: added compiler pragmas to get rid of annoying warnings with Visual C++ compiler in maximum warning mode * src/autofit/afhints.c, src/autofit/aflatin.c, src/base/ftstroke.c, src/bdf/bdfdrivr.c, src/cache/ftcbasic.c, src/cache/ftccmap.c, src/cache/ftcmanag.c, src/cff/cffload.c, src/cid/cidload.c, src/lzw/zopen.c, src/otvalid/otvgdef.c, src/pcf/pcfread.c, src/sfnt/sfobjs.c, src/truetype/ttgxvar.c: removing compiler warnings
Werner Lemberg a37745ba 2005-03-23T16:45:24 * docs/CHANGES, docs/INSTALL.ANY: Updated. * include/freetype/ftmoderr.h: Replace `Autohint' with `Autofit'. Add `OTvalid'. * src/autofit/aferrors.h: New file. * src/autofit/afglobal.c, src/autofit/afhints.c, src/autofit/aflatin.c, src/autofit/afloader.c: s/FT_Err_/AF_Err_/. Include aferrors.h. * src/autofit/rules.mk (AUTOF_DRV_H): Include aferrors.h. * src/otvalid/otverror.h: s/FT_Mod_Err_OTV/FT_Mod_Err_OTvalid/.
Werner Lemberg 35fd84b9 2005-03-08T06:00:35 Formatting.
David Turner 8d4ccf53 2005-03-06T10:17:28 * src/autofit/aflatin.c (af_latin_metrics_init): fixing bug #12212 (auto-hinter refuses to work if no Unicode charmap in font)
Werner Lemberg f13516c8 2005-03-03T17:09:08 Various fixes for C and C++ compiling. * src/autofit/*: Add copyright messages. Formatting. * src/autofit/afhints.c (af_glyph_hints_done): Don't use `AF_Dimension' but `int' for loop counter. * src/autofit/aflatin.c (af_latin_metrics_init_widths): Don't use `AF_Dimension' but `int' for loop counter. Use proper enumeration value for `render_mode'. (af_latin_metrics_scale_dim): Don't shadow variables. (af_latin_hints_compute_segments): Use proper cast for `major_dir' and `segment_dir'. (af_latin_align_linked_edge, af_latin_hint_edges): Fix arguments of call to `af_latin_compute_stem_width'. (af_latin_hints_apply): Don't use `AF_Dimension' but `int' for loop counter. * src/base/ftdbgmem.c (ft_mem_table_get_source, FT_DumpMemory): Use proper cast for memory allocation. * src/cff/cffdrivr.c (cff_get_kerning): Use proper cast for initialization of `sfnt'. * src/sfnt/sfdriver.c: Include `ttkern.h'. * src/sfnt/ttkern.c (tt_face_get_kerning): Don't shadow variables. * src/truetype/ttgload.c: Include `ttpload.h'. * src/truetype/ttpload.c (tt_face_load_loca) [FT_OPTIMIZE_MEMORY]: Remove redundant variable.
Werner Lemberg b19b0810 2005-03-02T11:24:23 * src/autofit/afdummy.c, src/autofit/afdummy.h (af_dummy_script_class): Fix type. * src/autofit/aflatin.c, src/autofit/aflatin.h (af_latin_script_class): Fix type. * src/autofit/rules.mk (AUTOF_DRV_SRC): Fix typo. Formatting.
David Turner b9c22aff 2005-03-01T15:48:29 * src/autofit/{afhints.h,afhints.c,aflatin.h,aflatin.c,afloader.c}: various bug-fixes and drastic heap usage reduction improvements. * include/freetype/config/ftmodule.h: the auto-fitter is now the only supported auto-hinting module * include/freetype/config/ftstdlib.h: adding FT_INT_MAX definition
David Turner e664efad 2004-06-04T17:41:59 * src/autofit/*: important fixes to the auto-fitter. The output now seems to be 100% equivalent to the auto-hinter, while being about 2% faster (which proves that script-specific algorithm selection isn't a performance problem). to test it, change "autohint" to "autofit" in <freetype/config/ftmodule.h> and recompile. a few more testing is needed before making this the official auto-hinting module
Werner Lemberg 8bb07e63 2004-03-27T08:43:17 Add vertical phantom points. * include/freetype/internal/tttypes.h (TT_LoaderRec): Add `top_bearing', `vadvance', `pp3, and `pp4'. * src/autofit/afloader.c (af_loader_load_g): Handle two more points. * src/autohint/ahhint.c (ah_hinter_load): Handle two more points. * src/truetype/ttgload.c (Get_VMetrics): New function. (TT_Load_Simple_Glyph, TT_Process_Simple_Glyph): Handle two more points. (load_truetype_glyph): Use Get_VMetrics. Handle two more points. (compute_glyph_metrics): Thanks to vertical phantom points we now can always compute `advance_height' and `top_bearing'. * src/truetype/ttobjs.h (TT_SubglyphRec): Add vertical phantom points. * src/autohint/ahglyph.c (ah_outline_load): Fix allocation of `news'. Converting some files to Unix end-of-line convention.
Werner Lemberg dfa46199 2004-03-05T09:26:24 * Jamfile, vms_make.com, builds/win32/visualc/freetype.dsp, builds/win32/visualc/freetype/vcproj, include/freetype/ftmoderr.h: Add LZW module. * Jamfile.in: Removed. * docs/CHANGES: Updated. * include/freetype/internal/ftobjs.h: s/MIN/FT_MIN/, s/MAX/FT_MAX/, s/ABS/FT_ABS/. Updated all callers. * src/type1/t1load.c (parse_dict), src/pcf/pcfdrivr.c (PCF_Face_Init): Use FT_ERROR_BASE. Add support for PCF fonts compressed with LZW (extension .pcf.Z, created with `compress'). * include/freetype/config/ftoption.h, devel/ftoption.h (FT_CONFIG_OPTION_USE_LZW): New macro. * include/freetype/ftlzw.h: New file. * include/freetype/config/ftheader.h (FT_LZW_H): New macro for ftlzw.h. * src/lzw/*: New files. * src/pcf/pcfdrivr.c: Include FT_LZW_H. (PCF_Face_Init): Try LZW also. * src/gzip/ftgzip.c: s/0/Gzip_Err_Ok/ where appropriate. Beautify.
David Turner 9bfbf79c 2004-02-23T21:08:37 adding support for dummy script, i.e. no-hinting for non latin glyphs
David Turner 1029ed26 2004-02-23T20:40:30 * src/autofit/afhints.c, src/autofit/afhints.h, src/autofit/aflatin.c, src/autofit/afloader.c, src/types.h: grave bugs were fixed. The auto-fitter works, doesn't crashes, but still produces unexpected results !!
David Turner f546bacd 2004-02-01T16:59:06 * src/sfnt/Jamfile: removing "ttcmap" from the list of sources * src/cache/*, include/freetype/cache/*: fixing a bug after heavy testing. The current sources are now "release candidates" for the final version of the cache sub-system * Jamfile: updating "refdoc" target, and adding "autohint" to the list of modules to build. Both the autohinter and autofitter will be built by default. But which one will be used is determined by the content of "ftmodule.h" * src/autofit/*: much updates, but the code is still buggy as hell. Aargh..
David Turner 8ccb4552 2004-01-16T09:51:00 updates
David Turner cf2c49c8 2003-12-24T18:42:04 * fixed compilation problems in the cache sub-system * partial updates to src/autofit
David Turner 87c0d30f 2003-12-24T01:10:46 * include/freetype/fttypes.h src/autofit/afangles.c src/autofit/aflatin.c src/autohint/ahglyph.c src/autohint/ahhint.c src/base/ftcalc.c src/base/ftgloadr.c src/base/ftglyph.c src/base/ftobjs.c src/base/ftsynth.c src/base/fttrigon.c src/cff/cffgload.c src/cid/cidgload.c src/cid/cidload.c src/pfr/pfrgload.c src/pfr/pfrload.c src/pfr/pfrsbit.c src/psaux/psobjs.c src/pshinter/pshalgo.c src/pshinter/pshglob.c src/pshinter/pshrec.c src/raster/ftrend1.c src/sfnt/ttcmap0.c src/smooth/ftsmooth.c src/truetype/ttdriver.c src/truetype/ttgload.c src/truetype/ttinterp.c src/truetype/ttobjs.c src/type1/t1gload.c src/winfonts/winfnt.c: use of the FT_PAD_XXX and FT_PIX_XXX macros to avoid compiler warnings with very pedantic compilers. Hints: (x) & -64 will warn if (x) is not signed.. use (x) & ~63 instead !
David Turner 57ecae22 2003-12-19T21:23:58 new version of the cache sub-system - still under debugging
David Turner ff9d2415 2003-11-23T21:39:51 * src/autofit/*: more updates
David Turner d25ad56d 2003-10-02T21:07:10 * src/autofit/*: adding first sources of the new multi-script "auto-fitter" * include/freetype/ftoutln.h, src/base/ftoutln.c: adding the definition of FT_Outline_Get_Orientation, used to compute the fill orientation of a given glyph outline. * include/freetype/internal/ftserv.h: fixed trivial bug which could crashed the font engine when a cached service pointer was retrieved with FT_FACE_LOOKUP_SERVICE