[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] ewaldhew-wip 00f2791 33/52: [callsubr] fix after merging dec
From: |
Hew Yih Shiuan Ewald |
Subject: |
[freetype2] ewaldhew-wip 00f2791 33/52: [callsubr] fix after merging decoders |
Date: |
Mon, 10 Jul 2017 05:10:18 -0400 (EDT) |
branch: ewaldhew-wip
commit 00f27916a6c2783ea5cf0045514112db8c34834c
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 5f66255..1a5deca 100644
--- a/src/psaux/psft.c
+++ b/src/psaux/psft.c
@@ -715,37 +715,36 @@
FT_ASSERT( decoder->locals );
- if ( decoder->font->isT1 /* TODO(ewaldhew): actually have this */)
+ buf->start = decoder->locals[idx];
+
+ if ( decoder->builder.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 00f2791 33/52: [callsubr] fix after merging decoders,
Hew Yih Shiuan Ewald <=