63 if ( boldenAmount == 0 && !stemDarkened )
78 stemWidthPer1000 =
FT_MulFix( stemWidth + boldenAmount, emRatio );
81 stemWidthPer1000 <= ( stemWidth + boldenAmount ) )
88 scaledStem =
FT_MulFix( stemWidthPer1000, ppem );
91 scaledStem <= stemWidthPer1000 )
128 *darkenAmount =
FT_DivFix( *darkenAmount, 2 * emRatio );
132 *darkenAmount += boldenAmount / 2;
166 if ( font->
ppem != ppem )
169 needExtraSetup =
TRUE;
195 needExtraSetup =
TRUE;
210 needExtraSetup =
TRUE;
215 if ( needExtraSetup )
231 if ( unitsPerEm == 0 )
240 emRatio = cf2_fixedFracMul(
cf2_intToFixed( 1000 ), fontMatrix->a );
249 if ( font->
stdVW <= 0 )
256 boldenX =
FT_MAX( boldenX,
264 cf2_computeDarkening( emRatio,
272 cf2_computeDarkening( emRatio,
283 emRatio = cf2_fixedFracMul(
cf2_intToFixed( 1000 ), fontMatrix->d );
291 if ( stdHW > 0 && font->
stdVW > 2 * stdHW )
299 cf2_computeDarkening( emRatio,
341 translation.
x = transform->tx;
342 translation.
y = transform->ty;
345 cf2_font_setup( font, transform );
350 font->reverseWinding =
FALSE;
353 needWinding = font->darkened;
377 if ( font->outline.root.windingMomentum >= 0 )
382 font->reverseWinding =
TRUE;
391 *glyphWidth = advWidth;
cf2_getStdVW(CFF_Decoder *decoder)
FT_DivFix(FT_Long a, FT_Long b)
CF2_Fixed syntheticEmboldeningAmountY
#define CF2_FlagsDarkened
cf2_blues_init(CF2_Blues blues, CF2_Font font)
cf2_interpT2CharString(CF2_Font font, CF2_Buffer buf, CF2_OutlineCallbacks callbacks, const FT_Vector *translation, FT_Bool doingSeac, CF2_Fixed curX, CF2_Fixed curY, CF2_Fixed *width)
CF2_Fixed syntheticEmboldeningAmountX
CF2_Matrix outerTransform
FT_BEGIN_HEADER typedef unsigned char FT_Bool
CF2_RenderingFlags renderingFlags
cf2_getGlyphWidth(CF2_Font font, CF2_Buffer charstring, const CF2_Matrix *transform, CF2_F16Dot16 *glyphWidth)
CF2_Matrix innerTransform
cf2_getSubfont(CFF_Decoder *decoder)
#define cf2_intToFixed(i)
cf2_outline_reset(CF2_Outline outline)
CF2_Matrix currentTransform
FT_MulFix(FT_Long a, FT_Long b)
cf2_getPpemY(CFF_Decoder *decoder)
#define cf2_floatToFixed(f)
cf2_outline_close(CF2_Outline outline)
GLuint GLenum GLenum transform
cf2_getStdHW(CFF_Decoder *decoder)
FT_BEGIN_HEADER struct CF2_BufferRec_ * CF2_Buffer
cf2_setError(FT_Error *error, FT_Error value)