зеркало из https://github.com/stride3d/freetype.git
[truetype] Fix handling of MIRP instruction.
Thanks to Greg Hitchcock who explained the issue. * src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with `>' since the description in the specification is incorrect. This fixes, for example, glyph `two' in font `Helvetica Neue LT Com 65 medium' at 15ppem.
This commit is contained in:
Родитель
17f54bc66c
Коммит
dcdb3167dc
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
2011-01-18 Werner Lemberg <wl@gnu.org>
|
||||
|
||||
[truetype] Fix handling of MIRP instruction.
|
||||
|
||||
Thanks to Greg Hitchcock who explained the issue.
|
||||
|
||||
* src/truetype/ttinterp.c (Ins_MIRP): Replace a `>=' operator with
|
||||
`>' since the description in the specification is incorrect.
|
||||
This fixes, for example, glyph `two' in font `Helvetica Neue LT Com
|
||||
65 medium' at 15ppem.
|
||||
|
||||
2011-01-15 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
|
||||
|
||||
Fix ARM assembly code in include/freetype/config/ftconfig.h.
|
||||
|
|
|
@ -6244,8 +6244,22 @@
|
|||
/* refer to the same zone. */
|
||||
|
||||
if ( CUR.GS.gep0 == CUR.GS.gep1 )
|
||||
if ( FT_ABS( cvt_dist - org_dist ) >= CUR.GS.control_value_cutin )
|
||||
{
|
||||
/* XXX: According to Greg Hitchcock, the following wording is */
|
||||
/* the right one: */
|
||||
/* */
|
||||
/* When the absolute difference between the value in */
|
||||
/* the table [CVT] and the measurement directly from */
|
||||
/* the outline is _greater_ than the cut_in value, the */
|
||||
/* outline measurement is used. */
|
||||
/* */
|
||||
/* This is from `instgly.doc'. The description in */
|
||||
/* `ttinst2.doc', version 1.66, is thus incorrect since */
|
||||
/* it implies `>=' instead of `>'. */
|
||||
|
||||
if ( FT_ABS( cvt_dist - org_dist ) > CUR.GS.control_value_cutin )
|
||||
cvt_dist = org_dist;
|
||||
}
|
||||
|
||||
distance = CUR_Func_round(
|
||||
cvt_dist,
|
||||
|
|
Загрузка…
Ссылка в новой задаче