comparison src/objects-xlike-inc.c @ 4757:a23ac8f90a49

Improve warning and error messages from Xft. Default debug-level messages off. Cast away Xft warnings from C compiler.
author Stephen J. Turnbull <stephen@xemacs.org>
date Wed, 18 Nov 2009 15:25:00 +0900
parents 5d67242595a8
children 75975fd0b7fc
comparison
equal deleted inserted replaced
4756:5d67242595a8 4757:a23ac8f90a49
445 PRINT_XFT_PATTERN (2, "FcConfigSubstitute'ed name is %s\n", p); 445 PRINT_XFT_PATTERN (2, "FcConfigSubstitute'ed name is %s\n", p);
446 FcDefaultSubstitute (p); 446 FcDefaultSubstitute (p);
447 PRINT_XFT_PATTERN (3, "FcDefaultSubstitute'ed name is %s\n", p); 447 PRINT_XFT_PATTERN (3, "FcDefaultSubstitute'ed name is %s\n", p);
448 /* #### check fcresult of following match? */ 448 /* #### check fcresult of following match? */
449 fontxft = FcFontMatch (fcc, p, &fcresult); 449 fontxft = FcFontMatch (fcc, p, &fcresult);
450 /* this prints the long fontconfig name */ 450 switch (fcresult)
451 PRINT_XFT_PATTERN (1, "FcFontMatch'ed name is %s\n", fontxft); 451 {
452 /* case FcResultOutOfMemory: */
453 case FcResultNoMatch:
454 case FcResultTypeMismatch:
455 case FcResultNoId:
456 break;
457 case FcResultMatch:
458 /* this prints the long fontconfig name */
459 PRINT_XFT_PATTERN (1, "FcFontMatch'ed name is %s\n", fontxft);
460 break;
461 }
452 FcPatternDestroy (p); 462 FcPatternDestroy (p);
453 } 463 }
454 464
455 /* heuristic to give reasonable-length names for debug reports 465 /* heuristic to give reasonable-length names for debug reports
456 466
462 FcPattern *p = FcFontRenderPrepare (fcc, fontxft, fontxft); 472 FcPattern *p = FcFontRenderPrepare (fcc, fontxft, fontxft);
463 FcChar8 *name; 473 FcChar8 *name;
464 474
465 /* full name, including language coverage and repertoire */ 475 /* full name, including language coverage and repertoire */
466 name = FcNameUnparse (p); 476 name = FcNameUnparse (p);
467 eicpy_ext (eistr_fullname, (Extbyte *) name, Qfc_font_name_encoding); 477 eicpy_ext (eistr_fullname,
478 (Extbyte *) (name ? name : "NOT FOUND"),
479 Qfc_font_name_encoding);
468 free (name); 480 free (name);
469 481
470 /* long name, omitting coverage and repertoire, plus a number 482 /* long name, omitting coverage and repertoire, plus a number
471 of rarely useful properties */ 483 of rarely useful properties */
472 FcPatternDel (p, FC_CHARSET); 484 FcPatternDel (p, FC_CHARSET);
481 FcPatternDel (p, FC_GLOBAL_ADVANCE); 493 FcPatternDel (p, FC_GLOBAL_ADVANCE);
482 FcPatternDel (p, FC_INDEX); 494 FcPatternDel (p, FC_INDEX);
483 FcPatternDel (p, FC_SCALE); 495 FcPatternDel (p, FC_SCALE);
484 FcPatternDel (p, FC_FONTVERSION); 496 FcPatternDel (p, FC_FONTVERSION);
485 name = FcNameUnparse (p); 497 name = FcNameUnparse (p);
486 eicpy_ext (eistr_longname, (Extbyte *) name, Qfc_font_name_encoding); 498 eicpy_ext (eistr_longname,
499 (Extbyte *) (name ? name : "NOT FOUND"),
500 Qfc_font_name_encoding);
487 free (name); 501 free (name);
488 502
489 /* nickname, just family and size, but 503 /* nickname, just family and size, but
490 "family" names usually have style, slant, and weight */ 504 "family" names usually have style, slant, and weight */
491 FcPatternDel (p, FC_FOUNDRY); 505 FcPatternDel (p, FC_FOUNDRY);
495 FcPatternDel (p, FC_PIXEL_SIZE); 509 FcPatternDel (p, FC_PIXEL_SIZE);
496 FcPatternDel (p, FC_OUTLINE); 510 FcPatternDel (p, FC_OUTLINE);
497 FcPatternDel (p, FC_SCALABLE); 511 FcPatternDel (p, FC_SCALABLE);
498 FcPatternDel (p, FC_DPI); 512 FcPatternDel (p, FC_DPI);
499 name = FcNameUnparse (p); 513 name = FcNameUnparse (p);
500 eicpy_ext (eistr_shortname, (Extbyte *) name, Qfc_font_name_encoding); 514 eicpy_ext (eistr_shortname,
515 (Extbyte *) (name ? name : "NOT FOUND"),
516 Qfc_font_name_encoding);
501 free (name); 517 free (name);
502 518
503 FcPatternDestroy (p); 519 FcPatternDestroy (p);
504 } 520 }
505 521