View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0035036 | Lazarus | LazUtils | public | 2019-02-07 20:49 | 2019-02-08 07:01 |
Reporter | Ondrej Pokorny | Assigned To | Michl | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Target Version | 2.0.2 | Fixed in Version | 2.1 (SVN) | ||
Summary | 0035036: Wrong offsets in free type font subclips | ||||
Description | The TrueType glyph loader (ttgload.pas) has a bug in loading composite subglyphs. The glyph offsets are loaded as unsigned values but they should be loaded as signed values. This results in wrong subglyph position if the first bit of the value is 1 (= negative). | ||||
Steps To Reproduce | See the attached project. | ||||
Additional Information | Patch included. | ||||
Tags | No tags attached. | ||||
Fixed in Revision | 60362 | ||||
LazTarget | 2.0.2 | ||||
Widgetset | |||||
Attached Files |
|
|
|
|
|
|
|
|
ttgload.pas.patch (789 bytes)
Index: components/lazutils/ttgload.pas =================================================================== --- components/lazutils/ttgload.pas (revision 60354) +++ components/lazutils/ttgload.pas (working copy) @@ -1003,13 +1003,13 @@ if new_flags and ARGS_ARE_WORDS <> 0 then begin - k := ftstream.Get_Short; - l := ftstream.Get_Short; + k := SmallInt(ftstream.Get_Short); + l := SmallInt(ftstream.Get_Short); end else begin - k := ftstream.Get_Byte; - l := ftstream.Get_Byte; + k := ShortInt(ftstream.Get_Byte); + l := ShortInt(ftstream.Get_Byte); end; subglyph^.arg1 := k; |
|
Applied. Thank you! |
|
Thank you! |
Date Modified | Username | Field | Change |
---|---|---|---|
2019-02-07 20:49 | Ondrej Pokorny | New Issue | |
2019-02-07 20:49 | Ondrej Pokorny | File Added: LazFreeTypeITest.zip | |
2019-02-07 20:51 | Ondrej Pokorny | File Added: before.png | |
2019-02-07 20:51 | Ondrej Pokorny | File Added: after.png | |
2019-02-07 20:52 | Ondrej Pokorny | File Added: ttgload.pas.patch | |
2019-02-07 21:16 | Michl | Assigned To | => Michl |
2019-02-07 21:16 | Michl | Status | new => assigned |
2019-02-07 23:31 | Michl | Fixed in Revision | => 60363 |
2019-02-07 23:31 | Michl | LazTarget | => 2.0.2 |
2019-02-07 23:31 | Michl | Note Added: 0113937 | |
2019-02-07 23:31 | Michl | Status | assigned => resolved |
2019-02-07 23:31 | Michl | Fixed in Version | => 2.1 (SVN) |
2019-02-07 23:31 | Michl | Resolution | open => fixed |
2019-02-07 23:31 | Michl | Target Version | => 2.0.2 |
2019-02-07 23:32 | Michl | Status | resolved => assigned |
2019-02-07 23:32 | Michl | Resolution | fixed => reopened |
2019-02-07 23:32 | Michl | Fixed in Revision | 60363 => 60362 |
2019-02-07 23:32 | Michl | Status | assigned => resolved |
2019-02-07 23:32 | Michl | Resolution | reopened => fixed |
2019-02-08 07:01 | Ondrej Pokorny | Note Added: 0113942 | |
2019-02-08 07:01 | Ondrej Pokorny | Status | resolved => closed |