📄 changelog.22
字号:
* builds/unix/unixddef.mk: Actually do define PLATFORM (fixing
change from 2006-01-31).
(TOP_DIR, OBJ_DIR): Update.
* builds/unix/install.mk (install): Fix path for ftmodule.h.
* Makefile, *.mk, builds/unix/unix-cc.in, builds/unix-def.in: Use
`?=' where appropriate.
* builds/detect.mk (TOP_DIR), builds/os2/os2-dev.mk (TOP_DIR),
builds/win32/w32-dev.mk (TOP_DIR): Removed. Defined elsewhere.
2006-01-31 Werner Lemberg <wl@gnu.org>
Implement new, simplified module selection. With GNU make it is now
sufficient to modify a single file, `modules.cfg', to control the
inclusion of modules and base extension files.
This change also fixes the creation of ftmodule.h; it now depends on
`modules.cfg' and thus is rebuilt only if necessary.
Finally, a version of `ftoption.h' in OBJ_DIR is preferred over the
default location.
* modules.cfg: New file.
* builds/freetype.mk: Don't include `modules.mk'.
Include all `rules.mk' files as specified in `modules.cfg'.
(FTOPTION_FLAG, FTOPTION_H): New variables.
(FT_CFLAGS): Add macro definition for FT_CONFIG_MODULES_H.
Add FTOPTION_FLAG.
($(FT_INIT_OBJ)): Don't use FT_MODULE_LIST.
(CONFIG_H): Add FTMODULE_H and FTOPTION_H.
(INCLUDES): Add DEVEL_DIR.
(INCLUDE_FLAGS, FTSYS_SRC, FTSYS_OBJ, FTDEBUG_SRC, FTDEBUG_OBJ,
OBJ_M, OBJ_S): Use `:=', not `='.
(remove_ftmodule_h): New phony target to delete `ftmodule.h'.
(distclean): Add remove_ftmodule_h.
* builds/modules.mk: (MODULE_LIST): Removed.
(make_module_list, clean_module_list): Replace targets
with...
(FTMODULE_H_INIT, FTMODULE_H_CREATE, FTMODULE_H_DONE): New
variables. Reason for the change is that it is not possible to have
a phony prerequisite which is run only if the target file must be
rebuilt (phony prerequisites act like subroutines and are *always*
executed). We only want to rebuild `ftmodule.h' if `module.cfg' is
changed.
Update all callers.
($FTMODULE_H)): Rule to create `ftmodule.h', depending on
`modules.cfg'.
* builds/toplevel.mk: Rewrite and simplify module handling.
(MODULES_CFG, FTMODULE_H): New variables.
Include MODULES_CFG.
(MODULES): New variable to include all `module.mk' and `rules.mk'
files. We no longer use make's `wildcard' function for this.
* Makefile (USE_MODULES): Remove. Update all users.
(OBJ_DIR): Define it here.
* src/*/module.mk: Change
make_module_list: foo
foo: ...
to
FTMODULE_H_COMMANDS += FOO
define FOO
...
endef
in all files. `FTMODULE_H_COMMANDS' is used in `FTMODULE_H_CREATE'.
* src/base/rules.mk (BASE_EXT_SRC): Use BASE_EXTENSIONS.
* builds/unix/detect.mk (setup): Always execute `configure' script.
(have_mk): Rename to...
(have_Makefile): This.
Don't use `strip' function.
* builds/unix/unix.mk: Include `install.mk' only if BUILD_PROJECT is
defined.
(have_mk): Don't use `strip' function.
Test for unix-def.mk in OBJ_DIR, not BUILD_DIR (and invert the test
accordingly).
* builds/unix/install.mk (install, uninstall): Handle `ftmodule.h'.
* builds/os2/os2-dev.mk, builds/unix/unix-dev.mk,
builds/win32/w32-bccd.mk, builds/win32/w32-dev.mk: Don't define
BUILD_DIR but DEVEL_DIR for development header files.
* builds/ansi/ansi-def.mk (TOP_DIR, OBJ_DIR),
builds/beos/beos-def.mk (TOP_DIR, OBJ_DIR), builds/unix/unix-def.in
(TOP_DIR, OBJ_DIR): Removed. Defined elsewhere.
* builds/dos/dos-def.mk (OBJ_DIR), builds/os2/os2-def.mk (OBJ_DIR),
builds/win32/win32-def.mk (OBJ_DIR): Removed. Defined elsewhere.
* builds/unix/unixddef.mk: Don't define BUILD_DIR but DEVEL_DIR for
development header files.
Don't define PLATFORM.
* configure: Copy `modules.cfg' to builddir if builddir != srcdir.
Update snippet taken from autoconf's m4sh.m4 to current CVS version.
Be more verbose.
* include/freetype/config/ftmodule.h: Add comments -- this file is
no longer used if FreeType is built with GNU make.
* docs/CHANGES, docs/CUSTOMIZE, docs/INSTALL, docs/INSTALL.ANY,
docs/INSTALL.GNU, docs/INSTALL.UNX: Document new build mechanism.
Other minor updates.
* modules.txt: Removed. Contents included in `modules.cfg'.
* include/freetype/internal/ftmemory.h (FT_QAlloc_Debug,
FT_Free_Debug) [FT_STRICT_ALIASING]: Fix typos.
* src/base/ftdbgmem.c (FT_Alloc_Debug, FT_Realloc_Debug,
FT_QAlloc_Debug, FT_QRealloc_Debug, FT_Free_Debug)
[FT_STRICT_ALIASING]: Implement.
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
* src/cff/cffobjs.c (cff_face_init), src/cid/cidobjs.c
(cid_face_init), src/pfr/pfrobjs.c (pfr_face_init),
src/type1/t1objs.c (T1_Face_Init): Set face->height to MAX(1.2 *
units_per_EM, ascender - descender).
2006-01-31 Chia-I Wu <b90201047@ntu.edu.tw>
* include/freetype/internal/t1types.h (AFM_FontInfo),
src/psaux/afmparse.c, src/tools/test_afm.c: Read `FontBBox',
`Ascender', and `Descender' from an AFM.
* src/type1/t1afm.c (T1_Read_Metrics): Use the metrics from the AFM.
* include/freetype/freetype.h (FT_FaceRec): Mention that fields may
be changed after file attachment.
2006-01-28 Werner Lemberg <wl@gnu.org>
* src/*/module.mk (.PHONY): Add.
2006-01-27 Werner Lemberg <wl@gnu.org>
* README, docs/FTL.TXT: Fix email address for bug reports.
Other minor formatting.
* devel/ftoption.h: Synchronize with
include/freetype/config/ftoption.h.
* src/autofit/module.mk (add_autofit_module), src/bdf/module.mk
(add_bdf_module), src/type42/module.mk (add_type42_driver): Fix
whitespace.
* src/smooth/module.mk (add_smooth_renderer): Add lcd and lcdv
renderer classes.
2006-01-27 David Turner <david@freetype.org>
* builds/unix/configure.ac: Fix build problem on Cygwin.
* builds/unix/install.mk (install): Don't install the internal
headers, and remove existing ones if found in the target install
directory.
* src/autofit/afwarp.c: Add simple #ifdef to prevent compilation
if the warp hinter isn't active (it shouldn't, still experimental).
* Jamfile, include/freetype/config/ftmodule.h: Remove `gxvalid'
and `otvalid' from the list of modules that are linked statically
to a given FreeType library. Functionality has been moved to the
`ftvalid' CVS module.
Note also that current Make-based build system still compiles the
modules though.
* include/freetype/config/ftoption.h (FT_STRICT_ALIASING): New macro
which controls the definitions of the memory management functions to
avoid warnings with recent versions of GCC. This macro is only here
to be disabled, in case we detect problems with the new scheme.
NOTE: Disable macro to use the memory debugger -- this will be fixed
later!
* include/freetype/internal/ftmemory.h, src/base/ftutil.c (FT_Alloc,
FT_QAlloc, FT_Realloc, FT_QRealloc, FT_Free) [FT_STRICT_ALIASING]:
New versions.
* builds/win32/visualc/freetype.dsp: Updating project file to
define FT2_BUILD_LIBRARY, and remove gxvalid + otvalid modules from
compilation.
* builds/freetype.mk (FT_CFLAGS), Jamfile (DEFINES): Define the
macro FT2_BUILD_LIBRARY when compiling the library.
* include/freetype/config/ftheader.h: Remove inclusions of internal
headers except if the macro FT2_BUILD_LIBRARY is defined.
* include/freetype/internal/psaux.h (AFM_KernPair, AFM_TrackKern,
AFM_FontInfo): Move structure declarations to...
* include/freetype/internal/t1types.h: This file.
* (many files): Fix compiler warnings.
Various minor reorganizations.
* src/cff/cffload.c (cff_font_done): Don't free static array
`subfonts'.
* src/otvalid/otvcommn.c (otv_ClassDef_validate),
src/otvalid/otvgpos.c (otv_x_sxy): Fix debugging information.
Get rid of writable static variables (i.e., the string table) in
afmparse, and fix compilation in FT2_MULTI mode.
* src/psaux/afmparse.c: Include ft2build.h and FT_FREETYPE_H.
(AFM_MAX_ARGUMENTS): Define...
* src/psaux/afmparse.h: Here.
* src/psaux/Jamfile (_sources): Add afmparse.
* src/psaux/psconv.c: Include psconv.h.
* src/type1/t1afm.c: Don't include FT_INTERNAL_TYPE1_TYPES_H but
FT_INTERNAL_POSTSCRIPT_AUX_H.
* src/type1/t1afm.h: Include FT_INTERNAL_TYPE1_TYPES_H.
2006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
* include/freetype/freetype.h (FT_Select_Size): Rename the second
argument from `idx' to `strike_index'.
(FT_Size_Request_Type): Add FT_SIZE_REQUEST_TYPE_MAX to the end of
this enum.
* include/freetype/internal/ftobjs.h (FT_REQUEST_WIDTH,
FT_REQUEST_HEIGHT): New macros to get the width and height of a
request, in fractional pixels.
* include/freetype/internal/ftobjs.h (FT_Select_Metrics,
FT_Request_Metrics), src/base/ftobjs.c (FT_Select_Metrics,
FT_Request_Metrics): New base functions to set the font metrics. They
were part of FT_Select_Size/FT_Request_Size and are made independent
functions so that metrics are not set again and again.
* src/base/ftobjs.c (FT_Select_Size, FT_Request_Size): Metrics are set
only when driver's size_select/size_request is NULL. That is, drivers
should set the metrics themselves.
(FT_Match_Size): Round before matching. This was what we did and it
does cause some problems without rounding.
* src/cff/cffobjs.c (cff_size_select), src/truetype/ttdriver.c
(tt_size_select): Set the font metrics.
s/index/strike_index/.
The scaled metrics are always preferred over strikes' metrics, even
when some strike is selected. This is done because the strikes'
metrics are not reliable, e.g., the sign of the descender is wrong for
some fonts.
* src/cff/cffobjs.c (cff_size_request), src/truetype/ttdriver.c
(tt_size_request): Set the font metrics.
Call cff_size_select/tt_size_select when some strike is matched.
* src/bdf/bdfdrivr.c, src/cff/cffobjs.c, src/cid/cidobjs.c,
src/pcf/pcfdrivr.c, src/truetype/ttdriver.c, src/type1/t1objs.c,
src/type1/t1objs.h, src/type42/t42objs.c, src/winfonts/winfnt.c:
Set the font metrics.
s/index/strike_index/.
* src/tools/test_afm.c, src/psaux/psconv.c: Older versions of these
files were committed. Just a catch-up.
(PS_Conv_ToFixed): Remove the `goto'.
(PS_Conv_ASCIIHexDecode, PS_Conv_EexecDecode): Speed up a little.
* src/sfnt/ttsbit.c (tt_face_load_sbit_strikes,
tt_face_load_strike_metrics), src/sfnt/ttsbit0.c
(tt_face_load_sbit_strikes, tt_face_load_strike_metrics): The
advertised metrics in `available_sizes' are different from those
actually used.
2006-01-23 Chia-I Wu <b90201047@ntu.edu.tw>
* src/psaux/psaux.c src/psaux/psauxmod.c src/type1/t1driver.c: Make
AFM parser optional, controlled by `T1_CONFIG_OPTION_NO_AFM'.
2006-01-22 Werner Lemberg <wl@gnu.org>
* builds/unix/install-sh, builds/unix/mkinstalldirs: Updated from
`texinfo' CVS module at savannah.gnu.org.
2006-01-21 Werner Lemberg <wl@gnu.org>
* src/autofit/rules.mk (AUTOF_DRV_SRC): Add afwarp.c.
* src/autofit/afloader.c (af_loader_load_g): Move AF_USE_WARPER up
to avoid compiler warnings.
* src/autofit/afwarp.c (af_warper_compute_line_best): Remove
shadowing variable declarations.
Fix warning parameters and replace printf with AF_LOG.
(af_warper_compute): Remove unused variable.
2006-01-20 David Turner <david@freetype.org>
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.
* src/autofit/afhints.c (af_glyph_hints_scale_dim) [AF_USE_WARPER]:
New function.
* src/autofit/afhints.h: Updated.
* src/autofit/aflatin.c [AF_USE_WARPER]: Include afwarp.h.
(af_latin_hints_init) [AF_USE_WARPER]: Reset mode to
FT_RENDER_MODE_NORMAL if an LCD mode is selected.
(af_latin_hints_apply) [AF_USE_WARPER]: Call af_warper_compute
appropriately.
* src/autofit/afloader.c (af_loader_load_g) [!AF_USER_WARPER]:
Isolate code for adjusting metrics.
* src/autofit/aftypes.h (AF_USE_WARPER): New macro (commented out by
default).
* src/autofit/afwarp.c, src/autofit/afwarp.h: New files.
* src/autofit/autofit.c [AF_USE_WARPER]: Include afwarp.c.
* src/autofit/Jamfile (_sources): Add afwarp.
2006-01-19 David Turner <david@freetype.org>
* src/sfnt/ttsbit0.c (tt_face_load_strike_metrics): Fix small bug
that prevented compilation when FT_OPTIMIZE_MEMORY is defined.
2006-01-19 Brian Weed <bw@imaginengine.com>
* builds/win32/visualc/freetype.dsp: Updated.
2006-01-17 Werner Lemberg <wl@gnu.org>
Use pscmap service in CFF module.
* src/cff/cffcmap.c (cff_cmap_uni_pair_compare): Removed.
(cff_sid_to_glyph_name): New function.
(cff_cmap_unicode_init, cff_cmap_unicode_done,
cff_cmap_unicode_char_index, cff_cmap_unicode_char next): Use pscmap
service.
(cff_cmap_unicode_class_rec): Updated.
* src/cff/cffcmap.h (CFF_CMapUnicode, CFF_CMap_UniPair): Removed.
* src/psnames/psmodule.c (ps_unicodes_char_next): Fix `unicode'
return value.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -