[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 81fc5d83fe7: Repair displaying compound glyph components with anc
From: |
Po Lu |
Subject: |
master 81fc5d83fe7: Repair displaying compound glyph components with anchor points |
Date: |
Wed, 23 Aug 2023 00:09:42 -0400 (EDT) |
branch: master
commit 81fc5d83fe71ef218f59d65040474bf4b5d2228e
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
Repair displaying compound glyph components with anchor points
* src/sfnt.c (sfnt_interpret_compound_glyph_1): Move
initialization of x and y out of conditional.
---
src/sfnt.c | 31 +++++++++++++++----------------
1 file changed, 15 insertions(+), 16 deletions(-)
diff --git a/src/sfnt.c b/src/sfnt.c
index bf55e9302b0..c987ec42441 100644
--- a/src/sfnt.c
+++ b/src/sfnt.c
@@ -11891,7 +11891,7 @@ sfnt_interpret_compound_glyph_1 (struct sfnt_glyph
*glyph,
/* The offset is determined by matching a point location in
a preceeding component with a point location in the
current component. The index of the point in the
- previous component can be determined by adding
+ previous component is established by adding
component->argument1.a or component->argument1.c to
point. argument2 contains the index of the point in the
current component. */
@@ -11920,30 +11920,29 @@ sfnt_interpret_compound_glyph_1 (struct sfnt_glyph
*glyph,
if (!subglyph->compound)
{
+ /* Detect invalid child anchor points within simple
+ glyphs in advance. */
+
if (point2 >= subglyph->simple->number_of_points + 2)
{
- /* If POINT2 is placed within a phantom point, use
- that. */
-
if (need_free)
free_glyph (subglyph, dcontext);
return "Invalid component anchor point";
}
+ }
- /* First, set offsets to 0, because it is not yet
- possible to ascertain the position of the anchor
- point in the child. That position cannot be
- established prior to the completion of
- grid-fitting. */
- x = 0;
- y = 0;
+ /* First, set offsets to 0, because it is not yet possible
+ to ascertain the position of the anchor point in the
+ child. That position cannot be established prior to the
+ completion of grid-fitting. */
+ x = 0;
+ y = 0;
- /* Set a flag which indicates that offsets must be
- resolved from the child glyph after it is loaded, but
- before it is incorporated into the parent glyph. */
- defer_offsets = true;
- }
+ /* Set a flag which indicates that offsets must be resolved
+ from the child glyph after it is loaded, but before it is
+ incorporated into the parent glyph. */
+ defer_offsets = true;
}
/* Obtain the glyph metrics. If doing so fails, then cancel
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 81fc5d83fe7: Repair displaying compound glyph components with anchor points,
Po Lu <=