196 lines
6.4 KiB
Plaintext
196 lines
6.4 KiB
Plaintext
List of known FreeType 2 Bugs
|
||
-----------------------------
|
||
|
||
"Identifier" is a string to uniquely identify the bug. A more detailed
|
||
description of the bug is found below the table of opened bugs.
|
||
|
||
"Date" is the date when the bug was first reported or entered in this
|
||
document. Dates are in _European_ format, i.e day/month/year.
|
||
|
||
"Opened By" is the name of the person who first spotted the bug. Note that
|
||
we can use abbreviations here, like:
|
||
|
||
"David" for David Turner
|
||
"Werner" for Werner Lemberg
|
||
etc.
|
||
|
||
"Reproduceable" indicates whether the bug could be reproduced by the
|
||
development team or not (it can be specific to a given platform), whether it
|
||
always happens, or only sporadically, etc.
|
||
|
||
|
||
|
||
I. Opened bugs
|
||
==============
|
||
|
||
|
||
Identifier Date Opened by Reproduceable
|
||
------------------------------------------------------------------------------
|
||
NO-CID-CMAPS 13-09-2001 David always
|
||
AUTOHINT-NO-SBITS 13-09-2001 David always
|
||
BAD-TT-RENDERING 12-09-2001 Paul Pedriana ?
|
||
BAD-THIN-LINES 13-09-2001 David ?
|
||
NOT-WINDOWS-METRICS 07-10-2001 David always
|
||
ADVANCED-COMPOSITES 25-10-2001 George Williams always
|
||
|
||
--------------------END-OF-OPENED-BUGS-TABLE----------------------------------
|
||
|
||
|
||
|
||
II. Table of closed bugs
|
||
========================
|
||
|
||
|
||
Identifier Date Closed by Closure date
|
||
------------------------------------------------------------------------------
|
||
BAD-TTNAMEID.H 12-09-2001 Antoine N/A
|
||
BAD-T1-CHARMAP 15-06-2001 David 2.0.5
|
||
BAD-UNIXXX-NAMES 30-07-2001 David 2.0.5
|
||
|
||
--------------------END-OF-CLOSED-BUGS-TABLE----------------------------------
|
||
|
||
|
||
|
||
III. Bug descriptions
|
||
=====================
|
||
|
||
|
||
NO-CID-CMAPS
|
||
|
||
Not exactly a bug, but the CFF font driver doesn't build a Unicode charmap
|
||
from the contents of font files, which prevents efficiently using fonts in
|
||
this format.
|
||
|
||
|
||
BAD-TTNAMEID.H
|
||
|
||
The file "ttnameid.h" contains various constant macro definitions
|
||
corresponding to important values defined by the TrueType specification.
|
||
|
||
Joe Man <trmetal@yahoo.com.hk> reports that:
|
||
|
||
According to the information from TrueType v1.66:
|
||
|
||
Platform ID = 3 (Microsoft)
|
||
the Encoding ID of GB2312 = 4
|
||
the Encoding ID of big5 = 3
|
||
|
||
However, I have found that in ttnameid.h:
|
||
|
||
TT_MS_ID_GB2312 = 3
|
||
TT_MS_ID_BIG_5 = 4
|
||
|
||
Which one is correct?
|
||
|
||
Antoine replied that this was a bug in the TT 1.66 specification, and that
|
||
FreeType followed the most recent TrueType/OpenType specification here!
|
||
|
||
|
||
AUTOHINT-SBITS
|
||
|
||
When trying to load a glyph, with the auto-hinter activated (i.e., when
|
||
using FT_LOAD_FORCE_AUTOHINT, or when the font driver doesn't provide its
|
||
own hinter), embedded bitmaps are _never_ loaded, unlike the default
|
||
behaviour described by the API specification.
|
||
|
||
This seems to be a bug in FT_Load_Glyph(), but there is no way to solve it
|
||
efficiently without making a few important internal changes to the
|
||
library's design (more importantly, to the font driver interface).
|
||
|
||
|
||
BAD-TT-RENDERING
|
||
|
||
According to Paul Pedriana <PPedriana@maxis.com>, there is a rather
|
||
important difference between the rendering of TrueType-hinted glyphs of
|
||
current FT2 and old betas.
|
||
|
||
Tests and comparisons show a _major_ discrepancy of monochrome truetype
|
||
bytecode-hinted glyphs! Something seems to be really broken here!
|
||
|
||
|
||
|
||
BAD-THIN-LINES
|
||
|
||
It seems that the anti-aliased renderer in FreeType has problems rendering
|
||
extremely thin straight lines correctly, at least when using the
|
||
FT_Outline_Render() function.
|
||
|
||
|
||
|
||
NOT-WINDOWS-METRICS
|
||
|
||
FreeType doesn't always return the same metrics as Windows for ascender,
|
||
descender, and text height, depending on character pixel sizes. A lot of
|
||
testing on Windows is needed to debug this properly. It might be due to a
|
||
rounding bug when computing the "x_scale" and "y_scale" values.
|
||
|
||
|
||
BAD-T1-CHARMAP
|
||
|
||
Type1 driver doesn't read "cacute" and "lslash" characters from iso8859-2
|
||
charset. Those characters are mapped as MAC-one in glnames.py, so they
|
||
cannot be shown in Adobe Type1 fonts.
|
||
|
||
(this was due to a bug in the "glnames.py" script used to generate the
|
||
table of glyph names in 'src/psaux/pstables.h')
|
||
|
||
|
||
BAD-UNIXXX-NAMES
|
||
|
||
Glyph names like uniXXXX are not recognized as they should be.
|
||
It seems that code in psmodule.c for uniXXXX glyph names was
|
||
never tested. The patch is very simple.
|
||
|
||
(a simple bug that was left un-noticed due to the fact that I don't have
|
||
any Postscript font that use this convention, unfortunately..)
|
||
|
||
|
||
ADVANCED-COMPOSITES
|
||
|
||
Provided by George Williams <pfaedit@users.sourceforge.net>:
|
||
|
||
I notice that truetype/ttgload.c only supports Apple's
|
||
definition of offsets for composit glyphs. Apple and
|
||
Microsoft behave differently if there is a scale
|
||
factor. OpenType defines some bits to disambiguate.
|
||
|
||
(a problem in both 2.0.4 and 2.0.5)
|
||
|
||
Apple says
|
||
(http://fonts.apple.com/TTRefMan/RM06/Chap6glyf.html)
|
||
that if flags&ARGS_ARE_XY is set then the offsets
|
||
should be scaled by the scale factors (as you have
|
||
done), but they also say something very cryptic about
|
||
what happens when the component is rotated at 45<34>
|
||
(which you do not support)-- See the "Important" note
|
||
at the bottom.
|
||
|
||
The old truetype spec from Microsoft did not mention
|
||
this. The OpenType spec
|
||
(http://www.microsoft.com/typography/otspec/glyf.htm,
|
||
http://partners.adobe.com/asn/developer/opentype/glyf.html)
|
||
efines two new bits to disambiguate:
|
||
SCALED_COMPONENT_OFFSET 11
|
||
Composite designed to have the component offset scaled
|
||
(designed for Apple rasterizer)
|
||
UNSCALED_COMPONENT_OFFSET 12
|
||
Composite designed not to have the component offset
|
||
scaled (designed for the Microsoft TrueType rasterizer)
|
||
|
||
Perhaps you could add a load_flag to allow the user to
|
||
define the default setting?
|
||
|
||
David says:
|
||
|
||
Wow, I was not even aware of this, it will probably take a little
|
||
time to implement since I don't have any font that implement these
|
||
"features", and also because I believe that we're running out of
|
||
bits for "load_flag", some other way to set preferences is probably
|
||
needed..
|
||
|
||
|
||
|
||
|
||
|
||
=== end of file ===
|