changes
来自「SumatraPDF是一款小型开源的pdf阅读工具。虽然玲珑小巧(只有800多K」· 代码 · 共 1,627 行 · 第 1/5 页
TXT
1,627 行
CHANGES BETWEEN 2.3.7 and 2.3.6
I. IMPORTANT BUG FIXES
- If the library was compiled on an i386 platform using gcc, and
compiler option -O3 was given, `FT_MulFix' sometimes returned
incorrect results which could have caused problems with
`FT_Request_Metrics' and `FT_Select_Metrics', returning an
incorrect descender size.
- Pure CFFs without subfonts were scaled incorrectly if the font
matrix was non-standard. This bug has been introduced in
version 2.3.6.
- The `style_name' field in the `FT_FaceRec' structure often
contained a wrong value for Type 1 fonts. This misbehaviour
has been introduced in version 2.3.6 while trying to fix
another problem. [Note, however, that this value is
informative only since the used algorithm to extract it is
very simplistic.]
II. IMPORTANT CHANGES
- Two new macros, FT_OUTLINE_SMART_DROPOUTS and
FT_OUTLINE_EXCLUDE_STUBS, have been introduced. Together with
FT_OUTLINE_IGNORE_DROPOUTS (which was ignored previously) it is
now possible to control the dropout mode of the `raster' module
(for B&W rasterization), using the `flags' field in the
`FT_Outline' structure.
- The TrueType bytecode interpreter now passes the dropout mode to
the B&W rasterizer. This greatly increases the output for small
ppem values of many fonts like `pala.ttf'.
======================================================================
CHANGES BETWEEN 2.3.6 and 2.3.5
I. IMPORTANT BUG FIXES
- A bunch of potential security problems have been found. All
users should update.
- Microsoft Unicode cmaps in TrueType fonts are now always
preferred over Apple cmaps. This is not a bug per se, but there
exist some buggy fonts created for MS which have broken Apple
cmaps. This affects only the automatic selection of FreeType;
it's always possible to manually select an Apple Unicode cmap if
desired.
- Many bug fixes to the TrueType bytecode interpreter.
- Improved Mac support.
- Subsetted CID-keyed CFFs are now supported correctly.
- CID-keyed CFFs with subfonts which are scaled in a non-standard
way are now handled correctly.
- A call to FT_Open_Face with `face_index' < 0 crashed FreeType if
the font was a Windows (bitmap) FNT/FON.
II. IMPORTANT CHANGES
- The new function `FT_Get_CID_Registry_Ordering_Supplement' gives
access to those fields in a CID-keyed font. The code has been
contributed by Derek Clegg.
- George Williams contributed code to validate the new `MATH'
OpenType table (within the `otvalid' module). The `ftvalid'
demo program has been extended accordingly.
- An API for cmap 14 support (for Unicode Variant Selectors, UVS)
has been contributed by George Williams.
- A new face flag FT_FACE_FLAG_CID_KEYED has been added, together
with a macro FT_IS_CID_KEYED which evaluates to 1 if the font is
CID-keyed.
III. MISCELLANEOUS
- Build support for symbian has been contributed.
- Better WGL4 glyph name support, contributed by Sergey Tolstov.
- Debugging output of the various FT_TRACEX macros is now sent to
stderr.
- The `ftview' demo program now provides artificial slanting too.
- The `ftvalid' demo program has a new option `-f' to select the
font index.
======================================================================
CHANGES BETWEEN 2.3.5 and 2.3.4
I. IMPORTANT BUG FIXES
- Some subglyphs in TrueType fonts were handled incorrectly due to
a missing graphics state reinitialization.
- Large .Z files (as distributed with some X11 packages) weren't
handled correctly, making FreeType increase the heap stack in an
endless loop.
- A large number of bugs have been fixed to avoid crashes and
endless loops with invalid fonts.
II. IMPORTANT CHANGES
- The two new cache functions `FTC_ImageCache_LookupScaler' and
`FTC_SBit_Cache_LookupScaler' have been added to allow lookup of
glyphs using an `FTC_Scaler' object; this makes it possible to
use fractional pixel sizes in the cache. The demo programs have
been updated accordingly to use this feature.
- A new API `FT_Get_CMap_Format' has been added to get the cmap
format of a TrueType font. This is useful in handling PDF
files. The code has been contributed by Derek Clegg.
- The auto-hinter now produces better output by default for
non-Latin scripts like Indic. This was done by using the CJK
hinting module as the default instead of the Latin one. Thanks
to Rahul Bhalerao for this suggestion.
- A new API `FT_Face_CheckTrueTypePatents' has been added to find
out whether a given TrueType font uses patented bytecode
instructions. The `ft2demos' bundle contains a new program
called `ftpatchk' which demonstrates its usage.
- A new API `FT_Face_SetUnpatentedHinting' has been added to
enable or disable the unpatented hinter.
- Support for Windows FON files in PE format has been contributed
by Dmitry Timoshkov.
III. MISCELLANEOUS
- Vincent Richomme contributed Visual C++ project files for Pocket
PCs.
======================================================================
CHANGES BETWEEN 2.3.4 and 2.3.3
I. IMPORTANT BUG FIXES
- A serious bug in the handling of bitmap fonts (and bitmap
strikes of outline fonts) has been introduced in 2.3.3.
======================================================================
CHANGES BETWEEN 2.3.3 and 2.3.2
I. IMPORTANT BUG FIXES
- Remove a serious regression in the TrueType bytecode interpreter
that was introduced in version 2.3.2. Note that this does not
disable the improvements introduced to the interpreter in
version 2.3.2, only some ill cases that occurred with certain
fonts (though a few popular ones).
- The auto-hinter now ignores single-point contours for computing
blue zones. This bug created `wavy' baselines when rendering
text with various fonts that use these contours to model
mark-attach points (these are points that are never rasterized
and are placed outside of the glyph's real outline).
- The `rsb_delta' and `lsb_delta' glyph slot fields are now set to
zero for mono-spaced fonts. Otherwise code that uses them would
essentially ruin the fixed-advance property.
- Fix CVE-2007-1351 which can cause an integer overflow while
parsing BDF fonts, leading to a potentially exploitable heap
overflow condition.
II. MISCELLANEOUS
- Fixed compilation issues on some 64-bit platforms (see ChangeLog
for details).
- A new demo program `ftdiff' has been added to compare TrueType
hinting, FreeType's auto hinting, and rendering without hinting
in three columns.
======================================================================
CHANGES BETWEEN 2.3.2 and 2.3.1
I. IMPORTANT BUG FIXES
- FreeType returned incorrect kerning information from TrueType
fonts when the bytecode interpreter was enabled. This happened
due to a typo introduced in version 2.3.0.
- Negative kerning values from PFM files are now reported
correctly (they were read as 16-bit unsigned values from the
file).
- Fixed a small memory leak when `FT_Init_FreeType' failed for
some reason.
- The Postscript hinter placed and sized very thin and ghost stems
incorrectly.
- The TrueType bytecode interpreter has been fixed to get rid of
most of the rare differences seen in comparison to the Windows
font loader.
II. IMPORTANT CHANGES
- The auto-hinter now better deals with serifs and corner cases
(e.g., glyph '9' in Arial at 9pt, 96dpi). It also improves
spacing adjustments and doesn't change widths for non-spacing
glyphs.
- Many Mac-specific functions are deprecated (but still
available); modern replacements have been provided for them.
See the documentation in file `ftmac.h'.
======================================================================
CHANGES BETWEEN 2.3.1 and 2.3.0
I. IMPORTANT BUG FIXES
- The TrueType interpreter sometimes returned incorrect horizontal
metrics due to a bug in the handling of the SHZ instruction.
- A typo in a security check introduced after version 2.2.1
prevented FreeType to render some glyphs in CFF fonts.
======================================================================
CHANGES BETWEEN 2.3.0 and 2.2.1
I. IMPORTANT BUG FIXES
- The PCF font loader is now much more robust while loading
malformed font files.
- Various memory leaks have been found and fixed.
- The TrueType name loader now deals properly with some fonts that
encode their names in UTF-16 (the specification was vague, and
the code incorrectly assumed UCS-4).
- Fixed the TrueType bytecode loader to deal properly with subtle
monochrome/gray issues when scaling the CVT. Some fonts
exhibited bad rendering artifacts otherwise.
- `FT_GlyphSlot_Embolden' now supports vertical layouts correctly
(it mangled the vertical advance height).
- Fixed byte endian issues of `ftmac.c' to support Mac OS X on
i386.
- The PFR font loader no longer erroneously tags font files
without any outlines as FT_FACE_FLAG_SCALABLE.
II. NEW API FUNCTIONS
- `FT_Library_SetLcdFilter' allows you to select a special filter
to be applied to the bitmaps generated by `FT_Render_Glyph' if
one of the FT_RENDER_MODE_LCD and FT_RENDER_MODE_LCD_V modes has
been selected. This filter is used to reduce color fringes;
several settings are available through the FT_LCD_FILTER_XXX
enumeration.
Its declaration and documentation can be found in file
`include/freetype/ftlcdfil.h' (to be accessed with macro
FT_LCD_FILTER_H).
*IMPORTANT*: This function returns an error
(FT_Err_Unimplemented_Feature) in default builds of the library
for patent reasons. See below.
- `FT_Get_Gasp' allows you to query the flags of the TrueType
`gasp' table for a given character pixel size. This is useful
to duplicate the text rendering of MS Windows when the native
bytecode interpreter is enabled (which isn't the default for
other patent reasons).
Its declaration and documentation can be found in file
`include/freetype/ftgasp.h' (to be accessed with macro
FT_GASP_H).
III. IMPORTANT CHANGES
- The auto-hinter has been tuned a lot to improve its results with
serif fonts, resulting in much better font rendering of many web
pages.
- The unpatented hinter is now part of the default build of the
library; we have added code to automatically support `tricky'
fonts that need it.
This means that FreeType should `just work' with certain Asian
fonts, like MingLiU, which cannot properly be loaded without a
bytecode interpreter, but which fortunately do not use any of
the patented bytecode opcodes. We detect these fonts by name,
so please report any font file that doesn't seem to work with
FreeType, and we shall do what we can to support it in a next
release.
Note that the API hasn't changed, so you can still force
unpatented hinting with a special parameter to `FT_Open_Face' as
well. This might be useful in same cases; for example, a PDF
reader might present a user option to activate it to deal with
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?