Alexei Podtelezhnikov pushed to branch master at FreeType / FreeType
Commits:
-
28eee363
by Alexei Podtelezhnikov at 2021-05-27T11:38:56-04:00
2 changed files:
Changes:
1 |
+2021-05-27 Alexei Podtelezhnikov <apodtele@gmail.com>
|
|
2 |
+ |
|
3 |
+ [type42] Fix auto-hinting.
|
|
4 |
+ |
|
5 |
+ The autohinter could not access the base (unscaled) outline in the
|
|
6 |
+ child TrueType glyph slot. We now share the internal parts between
|
|
7 |
+ the parent and child glyph slots. Fixes #1057.
|
|
8 |
+ |
|
9 |
+ * src/type42/t42objs.c (T42_GlyphSlot_Init): Remove the internal parts
|
|
10 |
+ of `T42_GlyphSlot' and replace it with the child TrueType structure.
|
|
11 |
+ (T42_GlyphSlot_Done): Updated accordingly.
|
|
12 |
+ |
|
1 | 13 |
2021-05-25 Werner Lemberg <wl@gnu.org>
|
2 | 14 |
|
3 | 15 |
[psaux] Guard and trace AFM kern data allocation.
|
... | ... | @@ -583,6 +583,7 @@ |
583 | 583 |
FT_Face face = t42slot->face;
|
584 | 584 |
T42_Face t42face = (T42_Face)face;
|
585 | 585 |
FT_GlyphSlot ttslot;
|
586 |
+ FT_Memory memory = face->memory;
|
|
586 | 587 |
FT_Error error = FT_Err_Ok;
|
587 | 588 |
|
588 | 589 |
|
... | ... | @@ -598,6 +599,11 @@ |
598 | 599 |
slot->ttslot = ttslot;
|
599 | 600 |
}
|
600 | 601 |
|
602 |
+ /* share the loader so that the autohinter can see it */
|
|
603 |
+ FT_GlyphLoader_Done( t42slot->internal->loader );
|
|
604 |
+ FT_FREE( t42slot->internal );
|
|
605 |
+ t42slot->internal = slot->ttslot->internal;
|
|
606 |
+ |
|
601 | 607 |
return error;
|
602 | 608 |
}
|
603 | 609 |
|
... | ... | @@ -609,6 +615,7 @@ |
609 | 615 |
|
610 | 616 |
|
611 | 617 |
FT_Done_GlyphSlot( slot->ttslot );
|
618 |
+ t42slot->internal = NULL;
|
|
612 | 619 |
}
|
613 | 620 |
|
614 | 621 |
|