244 {
245
247
249
252
253
256
259
262
263
265
266
267
269 if (
font->lastSubfont != subFont )
270 {
271 font->lastSubfont = subFont;
272 needExtraSetup =
TRUE;
273 }
274
276 {
277 FT_Service_CFFLoad cffload = (FT_Service_CFFLoad)
font->cffload;
278
279
280
282 hasVariations = ( vstore->
dataCount != 0 );
283
284 if ( hasVariations )
285 {
286#ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
287
288 font->error = cf2_getNormalizedVector( decoder,
289 &lenNormalizedV,
290 &normalizedV );
292 return;
293
294 if ( cffload->blend_check_vector( &subFont->
blend,
296 lenNormalizedV,
297 normalizedV ) )
298 {
299
300 cffload->load_private_dict( decoder->
cff,
301 subFont,
302 lenNormalizedV,
303 normalizedV );
304 needExtraSetup =
TRUE;
305 }
306#endif
307
308
310
311
313
314
316
317
318 font->lenNDV = lenNormalizedV;
319 font->NDV = normalizedV;
320 }
321 }
322
323
324
325
327 if (
font->ppem != ppem )
328 {
330 needExtraSetup =
TRUE;
331 }
332
333
335
336
337
339 &
font->currentTransform,
341 {
342
343
345 font->currentTransform.tx =
347
348
349
351 font->outerTransform.a =
353 font->outerTransform.b =
355
356 needExtraSetup =
TRUE;
357 }
358
359
360
361
362
363
364
365
367 {
370
371
372 needExtraSetup =
TRUE;
373 }
374
375
376
377 if ( needExtraSetup )
378 {
379
380
381
382
383
384
385
386
387
391
392
393 if ( unitsPerEm == 0 )
394 unitsPerEm = 1000;
395
398
399#if 0
400
401
402 emRatio = cf2_fixedFracMul(
cf2_intToFixed( 1000 ), fontMatrix->a );
403#endif
404
405
406
407
410
411 if (
font->stdVW <= 0 )
413
414 if ( boldenX > 0 )
415 {
416
417
418 boldenX =
FT_MAX( boldenX,
420
421
422
423
424
425
427 ppem,
430 boldenX,
432 font->darkenParams );
433 }
434 else
436 ppem,
439 0,
441 font->darkenParams );
442
443#if 0
444
445
446
447 emRatio = cf2_fixedFracMul(
cf2_intToFixed( 1000 ), fontMatrix->d );
448#endif
449
450
451
452
454
457 else
458 {
459
461 }
462
464 ppem,
467 boldenY,
469 font->darkenParams );
470
471 if (
font->darkenX != 0 ||
font->darkenY != 0 )
473 else
475
477
478
480
481 }
482 }
FT_BEGIN_HEADER typedef unsigned char FT_Bool
GLuint GLenum GLenum transform
cf2_blues_init(CF2_Blues blues, CF2_Font font)
static void cf2_computeDarkening(CF2_Fixed emRatio, CF2_Fixed ppem, CF2_Fixed stemWidth, CF2_Fixed *darkenAmount, CF2_Fixed boldenAmount, FT_Bool stemDarkened, FT_Int *darkenParams)
cf2_getVStore(PS_Decoder *decoder)
cf2_getStdVW(PS_Decoder *decoder)
cf2_getPpemY(PS_Decoder *decoder)
cf2_getStdHW(PS_Decoder *decoder)
cf2_getSubfont(PS_Decoder *decoder)
#define CF2_FlagsDarkened
CFF_PrivateRec private_dict
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList