[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] ewaldhew-wip 81b3131 41/47: reorganize ps_builder fields
From: |
Hew Yih Shiuan Ewald |
Subject: |
[freetype2] ewaldhew-wip 81b3131 41/47: reorganize ps_builder fields |
Date: |
Thu, 6 Jul 2017 04:49:39 -0400 (EDT) |
branch: ewaldhew-wip
commit 81b31310968cde7d0a629764ba0dc6e1a89ab239
Author: Ewald Hew <address@hidden>
Commit: Ewald Hew <address@hidden>
reorganize ps_builder fields
Reorder T1_GlyphSlot fields to like CFF_GlyphSlot (pretend the former is
the latter).
type1 doesn't set glyph slot when not loading actual glyph
(computing
width), so add a check.
For cf2_getScaleAndHintFlag.
Conflicts:
src/psaux/psft.c
---
include/freetype/internal/psaux.h | 2 +-
src/psaux/psft.c | 29 +++++++++++++++++------------
src/psaux/psobjs.c | 6 +++---
src/type1/t1objs.h | 6 +++---
4 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/include/freetype/internal/psaux.h
b/include/freetype/internal/psaux.h
index f86f6e0..9c5e042 100644
--- a/include/freetype/internal/psaux.h
+++ b/include/freetype/internal/psaux.h
@@ -548,7 +548,7 @@ FT_BEGIN_HEADER
struct PS_Builder_
{
FT_Memory memory;
- TT_Face face;
+ FT_Face face;
CFF_GlyphSlot glyph;
FT_GlyphLoader loader;
FT_Outline* base;
diff --git a/src/psaux/psft.c b/src/psaux/psft.c
index 1a5deca..b0f4316 100644
--- a/src/psaux/psft.c
+++ b/src/psaux/psft.c
@@ -293,9 +293,9 @@
cf2_getUnitsPerEm( PS_Decoder* decoder )
{
FT_ASSERT( decoder && decoder->builder.face );
- FT_ASSERT( decoder->builder.face->root.units_per_EM );
+ FT_ASSERT( decoder->builder.face->units_per_EM );
- return decoder->builder.face->root.units_per_EM;
+ return decoder->builder.face->units_per_EM;
}
@@ -355,7 +355,7 @@
FT_Bool no_stem_darkening_driver =
driver->no_stem_darkening;
FT_Char no_stem_darkening_font =
- builder->face->root.internal->no_stem_darkening;
+ builder->face->internal->no_stem_darkening;
/* local error */
FT_Error error2 = FT_Err_Ok;
@@ -384,9 +384,14 @@
&hinted,
&scaled );
- /* copy isCFF2 boolean from TT_Face to CF2_Font */
- font->isCFF2 = builder->face->is_cff2;
- font->isT1 = is_t1;
+ if ( is_t1 )
+ font->isCFF2 = FALSE;
+ else
+ {
+ /* copy isCFF2 boolean from TT_Face to CF2_Font */
+ font->isCFF2 = ((TT_Face)builder->face)->is_cff2;
+ }
+ font->isT1 = is_t1;
font->renderingFlags = 0;
if ( hinted )
@@ -473,7 +478,7 @@
FT_ASSERT( decoder && decoder->builder.face );
FT_ASSERT( vec && len );
- face = decoder->builder.face;
+ face = (TT_Face)decoder->builder.face;
mm = (FT_Service_MultiMasters)face->mm;
return mm->get_var_blend( FT_FACE( face ), len, NULL, vec, NULL );
@@ -487,7 +492,7 @@
{
FT_ASSERT( decoder &&
decoder->builder.face &&
- decoder->builder.face->root.size );
+ decoder->builder.face->size );
/*
* Note that `y_ppem' can be zero if there wasn't a call to
@@ -499,7 +504,7 @@
*
*/
return cf2_intToFixed(
- decoder->builder.face->root.size->metrics.y_ppem );
+ decoder->builder.face->size->metrics.y_ppem );
}
@@ -656,7 +661,7 @@
#ifdef FT_CONFIG_OPTION_INCREMENTAL
/* Incremental fonts don't necessarily have valid charsets. */
/* They use the character code, not the glyph index, in this case. */
- if ( decoder->builder.face->root.internal->incremental_interface )
+ if ( decoder->builder.face->internal->incremental_interface )
gid = code;
else
#endif /* FT_CONFIG_OPTION_INCREMENTAL */
@@ -666,7 +671,7 @@
return FT_THROW( Invalid_Glyph_Format );
}
- error = decoder->get_glyph_callback( decoder->builder.face,
+ error = decoder->get_glyph_callback( (TT_Face)decoder->builder.face,
(CF2_UInt)gid,
&charstring,
&len );
@@ -691,7 +696,7 @@
{
FT_ASSERT( decoder );
- decoder->free_glyph_callback( decoder->builder.face,
+ decoder->free_glyph_callback( (TT_Face)decoder->builder.face,
(FT_Byte**)&buf->start,
(FT_ULong)( buf->end - buf->start ) );
}
diff --git a/src/psaux/psobjs.c b/src/psaux/psobjs.c
index 2fae4ba..b9f4e16 100644
--- a/src/psaux/psobjs.c
+++ b/src/psaux/psobjs.c
@@ -2064,9 +2064,9 @@
{
T1_Builder t1builder = (T1_Builder)builder;
- ps_builder->face = (TT_Face)t1builder->face;
- ps_builder->glyph = t1builder->glyph;
ps_builder->memory = t1builder->memory;
+ ps_builder->face = (FT_Face)t1builder->face;
+ ps_builder->glyph = (CFF_GlyphSlot)t1builder->glyph;
ps_builder->loader = t1builder->loader;
ps_builder->base = t1builder->base;
ps_builder->current = t1builder->current;
@@ -2088,8 +2088,8 @@
{
CFF_Builder* cffbuilder = (CFF_Builder*)builder;
- ps_builder->face = cffbuilder->face;
ps_builder->memory = cffbuilder->memory;
+ ps_builder->face = (FT_Face)cffbuilder->face;
ps_builder->glyph = cffbuilder->glyph;
ps_builder->loader = cffbuilder->loader;
ps_builder->base = cffbuilder->base;
diff --git a/src/type1/t1objs.h b/src/type1/t1objs.h
index 39d26bf..d009b39 100644
--- a/src/type1/t1objs.h
+++ b/src/type1/t1objs.h
@@ -120,12 +120,12 @@ FT_BEGIN_HEADER
FT_Bool hint;
FT_Bool scaled;
- FT_Int max_points;
- FT_Int max_contours;
-
FT_Fixed x_scale;
FT_Fixed y_scale;
+ FT_Int max_points;
+ FT_Int max_contours;
+
} T1_GlyphSlotRec;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] ewaldhew-wip 81b3131 41/47: reorganize ps_builder fields,
Hew Yih Shiuan Ewald <=