[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] ewaldhew-wip 3f38117 3/6: [callsubr] fix after merging decod
From: |
Hew Yih Shiuan Ewald |
Subject: |
[freetype2] ewaldhew-wip 3f38117 3/6: [callsubr] fix after merging decoders |
Date: |
Tue, 27 Jun 2017 06:21:47 -0400 (EDT) |
branch: ewaldhew-wip
commit 3f381176240509e3b8b8a9254bb3a35efa1cc88d
Author: Ewald Hew <address@hidden>
Commit: Ewald Hew <address@hidden>
[callsubr] fix after merging decoders
---
src/psaux/psft.c | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/src/psaux/psft.c b/src/psaux/psft.c
index c73f489..c9046d7 100644
--- a/src/psaux/psft.c
+++ b/src/psaux/psft.c
@@ -709,37 +709,36 @@
FT_ASSERT( decoder->locals );
- if ( decoder->font->isT1 /* TODO(ewaldhew): actually have this */)
+ buf->start = decoder->locals[idx];
+
+ if ( decoder->builder.face->is_t1 )
{
/* The Type 1 driver stores subroutines without the seed bytes. */
/* The CID driver stores subroutines with seed bytes. This */
/* case is taken care of when decoder->subrs_len == 0. */
- buf->start = decoder->subrs[idx];
-
- if ( decoder->subrs_len )
- buf->end = buf->start + decoder->subrs_len[idx];
+ if ( decoder->locals_len )
+ buf->end = buf->start + decoder->locals_len[idx];
else
{
/* We are using subroutines from a CID font. We must adjust */
/* for the seed bytes. */
buf->start += ( decoder->lenIV >= 0 ? decoder->lenIV : 0 );
- buf->end = decoder->subrs[idx + 1];
+ buf->end = decoder->locals[idx + 1];
}
- buf->ptr = buf->start;
-
if ( !buf->start )
{
- FT_ERROR(( "t1_decoder_parse_charstrings:"
+ FT_ERROR(( "cf2_initLocalRegionBuffer (Type 1 mode):"
" invoking empty subrs\n" ));
}
}
else
{
- buf->start =
- buf->ptr = decoder->locals[idx];
buf->end = decoder->locals[idx + 1];
}
+
+ buf->ptr = buf->start;
+
return FALSE; /* success */
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] ewaldhew-wip 3f38117 3/6: [callsubr] fix after merging decoders,
Hew Yih Shiuan Ewald <=