comparison src/font.h @ 109099:e16f43875a48

Remove P_ and __P macros. * lwlib/lwlib-Xaw.h: Remove P_ and __P macros. * lwlib/lwlib-Xlw.h: * lwlib/lwlib-Xm.h: * lwlib/lwlib-int.h: * lwlib/lwlib-utils.h: * lwlib/lwlib.h: Likewise. * src/buffer.h: Remove P_ and __P macros. * src/category.h: * src/ccl.h: * src/character.h: * src/charset.h: * src/cm.h: * src/coding.h: * src/composite.h: * src/dispextern.h: * src/disptab.h: * src/font.h: * src/fontset.h: * src/frame.h: * src/gtkutil.h: * src/indent.h: * src/intervals.h: * src/keyboard.h: * src/keymap.h: * src/lisp.h: * src/macros.h: * src/md5.h: * src/menu.h: * src/msdos.h: * src/nsterm.h: * src/puresize.h: * src/region-cache.h: * src/syntax.h: * src/syssignal.h: * src/systime.h: * src/termhooks.h: * src/w32term.h: * src/widget.h: * src/window.h: * src/xgselect.h: * src/xsettings.h: * src/xterm.h: Likewise.
author Jan D <jan.h.d@swipnet.se>
date Fri, 02 Jul 2010 11:26:33 +0200
parents 1d1d5d9bd884
children c11d07f3d731
comparison
equal deleted inserted replaced
109098:a17732ef349e 109099:e16f43875a48
505 sensitve. */ 505 sensitve. */
506 int case_sensitive; 506 int case_sensitive;
507 507
508 /* Return a cache of font-entities on frame F. The cache must be a 508 /* Return a cache of font-entities on frame F. The cache must be a
509 cons whose cdr part is the actual cache area. */ 509 cons whose cdr part is the actual cache area. */
510 Lisp_Object (*get_cache) P_ ((FRAME_PTR F)); 510 Lisp_Object (*get_cache) (FRAME_PTR F);
511 511
512 /* List fonts exactly matching with FONT_SPEC on FRAME. The value 512 /* List fonts exactly matching with FONT_SPEC on FRAME. The value
513 is a list of font-entities. The font properties to be considered 513 is a list of font-entities. The font properties to be considered
514 are: :foundry, :family, :adstyle, :registry, :script, :lang, and 514 are: :foundry, :family, :adstyle, :registry, :script, :lang, and
515 :otf. See the function `font-spec' for their meanings. Note 515 :otf. See the function `font-spec' for their meanings. Note
528 information to be used in `open' method, this method can add any 528 information to be used in `open' method, this method can add any
529 Lispy value by the property :font-entity to the entities. 529 Lispy value by the property :font-entity to the entities.
530 530
531 This and the following `match' are the only APIs that allocate 531 This and the following `match' are the only APIs that allocate
532 font-entities. */ 532 font-entities. */
533 Lisp_Object (*list) P_ ((Lisp_Object frame, Lisp_Object font_spec)); 533 Lisp_Object (*list) (Lisp_Object frame, Lisp_Object font_spec);
534 534
535 /* Return a font-entity most closely matching with FONT_SPEC on 535 /* Return a font-entity most closely matching with FONT_SPEC on
536 FRAME. Which font property to consider, and how to calculate the 536 FRAME. Which font property to consider, and how to calculate the
537 closeness is determined by the font backend, thus 537 closeness is determined by the font backend, thus
538 `face-font-selection-order' is ignored here. 538 `face-font-selection-order' is ignored here.
539 539
540 The properties that the font-entity has is the same as `list' 540 The properties that the font-entity has is the same as `list'
541 method. */ 541 method. */
542 Lisp_Object (*match) P_ ((Lisp_Object frame, Lisp_Object font_spec)); 542 Lisp_Object (*match) (Lisp_Object frame, Lisp_Object font_spec);
543 543
544 /* Optional. 544 /* Optional.
545 List available families. The value is a list of family names 545 List available families. The value is a list of family names
546 (symbols). */ 546 (symbols). */
547 Lisp_Object (*list_family) P_ ((Lisp_Object frame)); 547 Lisp_Object (*list_family) (Lisp_Object frame);
548 548
549 /* Optional (if FONT_EXTRA_INDEX is not Lisp_Save_Value). 549 /* Optional (if FONT_EXTRA_INDEX is not Lisp_Save_Value).
550 Free FONT_EXTRA_INDEX field of FONT_ENTITY. */ 550 Free FONT_EXTRA_INDEX field of FONT_ENTITY. */
551 void (*free_entity) P_ ((Lisp_Object font_entity)); 551 void (*free_entity) (Lisp_Object font_entity);
552 552
553 /* Open a font specified by FONT_ENTITY on frame F. If the font is 553 /* Open a font specified by FONT_ENTITY on frame F. If the font is
554 scalable, open it with PIXEL_SIZE. */ 554 scalable, open it with PIXEL_SIZE. */
555 Lisp_Object (*open) P_ ((FRAME_PTR f, Lisp_Object font_entity, 555 Lisp_Object (*open) (FRAME_PTR f, Lisp_Object font_entity,
556 int pixel_size)); 556 int pixel_size);
557 557
558 /* Close FONT on frame F. */ 558 /* Close FONT on frame F. */
559 void (*close) P_ ((FRAME_PTR f, struct font *font)); 559 void (*close) (FRAME_PTR f, struct font *font);
560 560
561 /* Optional (if FACE->extra is not used). 561 /* Optional (if FACE->extra is not used).
562 Prepare FACE for displaying characters by FONT on frame F by 562 Prepare FACE for displaying characters by FONT on frame F by
563 storing some data in FACE->extra. If successful, return 0. 563 storing some data in FACE->extra. If successful, return 0.
564 Otherwise, return -1. */ 564 Otherwise, return -1. */
565 int (*prepare_face) P_ ((FRAME_PTR f, struct face *face)); 565 int (*prepare_face) (FRAME_PTR f, struct face *face);
566 566
567 /* Optional. 567 /* Optional.
568 Done FACE for displaying characters by FACE->font on frame F. */ 568 Done FACE for displaying characters by FACE->font on frame F. */
569 void (*done_face) P_ ((FRAME_PTR f, struct face *face)); 569 void (*done_face) (FRAME_PTR f, struct face *face);
570 570
571 /* Optional. 571 /* Optional.
572 If FONT (FONT-ENTITY or FONT-OBJECT) has a glyph for character C 572 If FONT (FONT-ENTITY or FONT-OBJECT) has a glyph for character C
573 (Unicode code point), return 1. If not, return 0. If FONT is 573 (Unicode code point), return 1. If not, return 0. If FONT is
574 FONT-ENTITY and it must be opened to check it, return -1. */ 574 FONT-ENTITY and it must be opened to check it, return -1. */
575 int (*has_char) P_ ((Lisp_Object font, int c)); 575 int (*has_char) (Lisp_Object font, int c);
576 576
577 /* Return a glyph code of FONT for characer C (Unicode code point). 577 /* Return a glyph code of FONT for characer C (Unicode code point).
578 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */ 578 If FONT doesn't have such a glyph, return FONT_INVALID_CODE. */
579 unsigned (*encode_char) P_ ((struct font *font, int c)); 579 unsigned (*encode_char) (struct font *font, int c);
580 580
581 /* Computate the total metrics of the NGLYPHS glyphs specified by 581 /* Computate the total metrics of the NGLYPHS glyphs specified by
582 the font FONT and the sequence of glyph codes CODE, and store the 582 the font FONT and the sequence of glyph codes CODE, and store the
583 result in METRICS. */ 583 result in METRICS. */
584 int (*text_extents) P_ ((struct font *font, 584 int (*text_extents) (struct font *font,
585 unsigned *code, int nglyphs, 585 unsigned *code, int nglyphs,
586 struct font_metrics *metrics)); 586 struct font_metrics *metrics);
587 587
588 /* Optional. 588 /* Optional.
589 Draw glyphs between FROM and TO of S->char2b at (X Y) pixel 589 Draw glyphs between FROM and TO of S->char2b at (X Y) pixel
590 position of frame F with S->FACE and S->GC. If WITH_BACKGROUND 590 position of frame F with S->FACE and S->GC. If WITH_BACKGROUND
591 is nonzero, fill the background in advance. It is assured that 591 is nonzero, fill the background in advance. It is assured that
592 WITH_BACKGROUND is zero when (FROM > 0 || TO < S->nchars). */ 592 WITH_BACKGROUND is zero when (FROM > 0 || TO < S->nchars). */
593 int (*draw) P_ ((struct glyph_string *s, int from, int to, 593 int (*draw) (struct glyph_string *s, int from, int to,
594 int x, int y, int with_background)); 594 int x, int y, int with_background);
595 595
596 /* Optional. 596 /* Optional.
597 Store bitmap data for glyph-code CODE of FONT in BITMAP. It is 597 Store bitmap data for glyph-code CODE of FONT in BITMAP. It is
598 intended that this method is callled from the other font-driver 598 intended that this method is callled from the other font-driver
599 for actual drawing. */ 599 for actual drawing. */
600 int (*get_bitmap) P_ ((struct font *font, unsigned code, 600 int (*get_bitmap) (struct font *font, unsigned code,
601 struct font_bitmap *bitmap, 601 struct font_bitmap *bitmap,
602 int bits_per_pixel)); 602 int bits_per_pixel);
603 603
604 /* Optional. 604 /* Optional.
605 Free bitmap data in BITMAP. */ 605 Free bitmap data in BITMAP. */
606 void (*free_bitmap) P_ ((struct font *font, struct font_bitmap *bitmap)); 606 void (*free_bitmap) (struct font *font, struct font_bitmap *bitmap);
607 607
608 /* Optional. 608 /* Optional.
609 Return an outline data for glyph-code CODE of FONT. The format 609 Return an outline data for glyph-code CODE of FONT. The format
610 of the outline data depends on the font-driver. */ 610 of the outline data depends on the font-driver. */
611 void *(*get_outline) P_ ((struct font *font, unsigned code)); 611 void *(*get_outline) (struct font *font, unsigned code);
612 612
613 /* Optional. 613 /* Optional.
614 Free OUTLINE (that is obtained by the above method). */ 614 Free OUTLINE (that is obtained by the above method). */
615 void (*free_outline) P_ ((struct font *font, void *outline)); 615 void (*free_outline) (struct font *font, void *outline);
616 616
617 /* Optional. 617 /* Optional.
618 Get coordinates of the INDEXth anchor point of the glyph whose 618 Get coordinates of the INDEXth anchor point of the glyph whose
619 code is CODE. Store the coordinates in *X and *Y. Return 0 if 619 code is CODE. Store the coordinates in *X and *Y. Return 0 if
620 the operations was successfull. Otherwise return -1. */ 620 the operations was successfull. Otherwise return -1. */
621 int (*anchor_point) P_ ((struct font *font, unsigned code, int index, 621 int (*anchor_point) (struct font *font, unsigned code, int index,
622 int *x, int *y)); 622 int *x, int *y);
623 623
624 /* Optional. 624 /* Optional.
625 Return a list describing which scripts/languages FONT 625 Return a list describing which scripts/languages FONT
626 supports by which GSUB/GPOS features of OpenType tables. */ 626 supports by which GSUB/GPOS features of OpenType tables. */
627 Lisp_Object (*otf_capability) P_ ((struct font *font)); 627 Lisp_Object (*otf_capability) (struct font *font);
628 628
629 /* Optional. 629 /* Optional.
630 Apply FONT's OTF-FEATURES to the glyph string. 630 Apply FONT's OTF-FEATURES to the glyph string.
631 631
632 FEATURES specifies which OTF features to apply in this format: 632 FEATURES specifies which OTF features to apply in this format:
639 following elements. 639 following elements.
640 640
641 Return the number of output codes. If none of the features are 641 Return the number of output codes. If none of the features are
642 applicable to the input data, return 0. If GSTRING-OUT is too 642 applicable to the input data, return 0. If GSTRING-OUT is too
643 short, return -1. */ 643 short, return -1. */
644 int (*otf_drive) P_ ((struct font *font, Lisp_Object features, 644 int (*otf_drive) (struct font *font, Lisp_Object features,
645 Lisp_Object gstring_in, int from, int to, 645 Lisp_Object gstring_in, int from, int to,
646 Lisp_Object gstring_out, int idx, int alternate_subst)); 646 Lisp_Object gstring_out, int idx, int alternate_subst);
647 647
648 /* Optional. 648 /* Optional.
649 Make the font driver ready for frame F. Usually this function 649 Make the font driver ready for frame F. Usually this function
650 makes some data specific to F and stores it in F by calling 650 makes some data specific to F and stores it in F by calling
651 font_put_frame_data (). */ 651 font_put_frame_data (). */
652 int (*start_for_frame) P_ ((FRAME_PTR f)); 652 int (*start_for_frame) (FRAME_PTR f);
653 653
654 /* Optional. 654 /* Optional.
655 End using the driver for frame F. Usually this function free 655 End using the driver for frame F. Usually this function free
656 some data stored for F. */ 656 some data stored for F. */
657 int (*end_for_frame) P_ ((FRAME_PTR f)); 657 int (*end_for_frame) (FRAME_PTR f);
658 658
659 /* Optional. 659 /* Optional.
660 660
661 Shape text in GSTRING. See the docstring of 661 Shape text in GSTRING. See the docstring of
662 `composition-get-gstring' for the format of GSTRING. If the 662 `composition-get-gstring' for the format of GSTRING. If the
668 output glyphs (M) are more than the input glyphs (N), (N+1)th 668 output glyphs (M) are more than the input glyphs (N), (N+1)th
669 through (M)th elements of GSTRING are updated possibly by making 669 through (M)th elements of GSTRING are updated possibly by making
670 a new glyph object and storing it in GSTRING. If (M) is greater 670 a new glyph object and storing it in GSTRING. If (M) is greater
671 than the length of GSTRING, nil should be return. In that case, 671 than the length of GSTRING, nil should be return. In that case,
672 this function is called again with the larger GSTRING. */ 672 this function is called again with the larger GSTRING. */
673 Lisp_Object (*shape) P_ ((Lisp_Object lgstring)); 673 Lisp_Object (*shape) (Lisp_Object lgstring);
674 674
675 /* Optional. 675 /* Optional.
676 676
677 If FONT is usable on frame F, return 0. Otherwise return -1. 677 If FONT is usable on frame F, return 0. Otherwise return -1.
678 This method is used only for debugging. If this method is NULL, 678 This method is used only for debugging. If this method is NULL,
679 Emacs assumes that the font is usable on any frame. */ 679 Emacs assumes that the font is usable on any frame. */
680 int (*check) P_ ((FRAME_PTR F, struct font *font)); 680 int (*check) (FRAME_PTR F, struct font *font);
681 681
682 /* Optional. 682 /* Optional.
683 683
684 Return the number of variation glyphs of character C supported by 684 Return the number of variation glyphs of character C supported by
685 FONT. VARIATIONS is an array of 256 elements. If the variation 685 FONT. VARIATIONS is an array of 256 elements. If the variation
686 selector N (1..256) defines a glyph, that glyph code is stored in 686 selector N (1..256) defines a glyph, that glyph code is stored in
687 the (N-1)th element of VARIATIONS. */ 687 the (N-1)th element of VARIATIONS. */
688 int (*get_variation_glyphs) P_ ((struct font *font, 688 int (*get_variation_glyphs) (struct font *font,
689 int c, unsigned variations[256])); 689 int c, unsigned variations[256]);
690 690
691 void (*filter_properties) P_ ((Lisp_Object font, Lisp_Object properties)); 691 void (*filter_properties) (Lisp_Object font, Lisp_Object properties);
692 692
693 /* Optional. 693 /* Optional.
694 694
695 Return non-zero if FONT_OBJECT can be used as a (cached) font 695 Return non-zero if FONT_OBJECT can be used as a (cached) font
696 for ENTITY on frame F. */ 696 for ENTITY on frame F. */
697 int (*cached_font_ok) P_ ((struct frame *f, 697 int (*cached_font_ok) (struct frame *f,
698 Lisp_Object font_object, 698 Lisp_Object font_object,
699 Lisp_Object entity)); 699 Lisp_Object entity);
700 }; 700 };
701 701
702 702
703 /* Chain of font drivers. There's one global font driver list 703 /* Chain of font drivers. There's one global font driver list
704 (font_driver_list in font.c). In addition, each frame has it's own 704 (font_driver_list in font.c). In addition, each frame has it's own
737 EXFUN (Flist_fonts, 4); 737 EXFUN (Flist_fonts, 4);
738 EXFUN (Ffont_family_list, 1); 738 EXFUN (Ffont_family_list, 1);
739 EXFUN (Fclear_font_cache, 0); 739 EXFUN (Fclear_font_cache, 0);
740 EXFUN (Ffont_xlfd_name, 2); 740 EXFUN (Ffont_xlfd_name, 2);
741 741
742 extern Lisp_Object font_make_spec P_ ((void)); 742 extern Lisp_Object font_make_spec (void);
743 extern Lisp_Object font_make_entity P_ ((void)); 743 extern Lisp_Object font_make_entity (void);
744 extern Lisp_Object font_make_object P_ ((int, Lisp_Object, int)); 744 extern Lisp_Object font_make_object (int, Lisp_Object, int);
745 745
746 extern Lisp_Object find_font_encoding P_ ((Lisp_Object)); 746 extern Lisp_Object find_font_encoding (Lisp_Object);
747 extern int font_registry_charsets P_ ((Lisp_Object, struct charset **, 747 extern int font_registry_charsets (Lisp_Object, struct charset **,
748 struct charset **)); 748 struct charset **);
749 extern int font_style_to_value P_ ((enum font_property_index prop, 749 extern int font_style_to_value (enum font_property_index prop,
750 Lisp_Object name, int noerror)); 750 Lisp_Object name, int noerror);
751 extern Lisp_Object font_style_symbolic P_ ((Lisp_Object font, 751 extern Lisp_Object font_style_symbolic (Lisp_Object font,
752 enum font_property_index prop, 752 enum font_property_index prop,
753 int for_face)); 753 int for_face);
754 754
755 extern int font_match_p P_ ((Lisp_Object spec, Lisp_Object font)); 755 extern int font_match_p (Lisp_Object spec, Lisp_Object font);
756 extern Lisp_Object font_list_entities P_ ((Lisp_Object frame, 756 extern Lisp_Object font_list_entities (Lisp_Object frame,
757 Lisp_Object spec)); 757 Lisp_Object spec);
758 758
759 extern Lisp_Object font_get_name P_ ((Lisp_Object font_object)); 759 extern Lisp_Object font_get_name (Lisp_Object font_object);
760 extern Lisp_Object font_spec_from_name P_ ((Lisp_Object font_name)); 760 extern Lisp_Object font_spec_from_name (Lisp_Object font_name);
761 extern Lisp_Object font_get_frame P_ ((Lisp_Object font_object)); 761 extern Lisp_Object font_get_frame (Lisp_Object font_object);
762 extern int font_has_char P_ ((FRAME_PTR, Lisp_Object, int)); 762 extern int font_has_char (FRAME_PTR, Lisp_Object, int);
763 extern unsigned font_encode_char P_ ((Lisp_Object, int)); 763 extern unsigned font_encode_char (Lisp_Object, int);
764 764
765 extern void font_clear_prop P_ ((Lisp_Object *attrs, 765 extern void font_clear_prop (Lisp_Object *attrs,
766 enum font_property_index prop)); 766 enum font_property_index prop);
767 extern void font_update_lface P_ ((FRAME_PTR f, Lisp_Object *attrs)); 767 extern void font_update_lface (FRAME_PTR f, Lisp_Object *attrs);
768 extern Lisp_Object font_find_for_lface P_ ((FRAME_PTR f, Lisp_Object *lface, 768 extern Lisp_Object font_find_for_lface (FRAME_PTR f, Lisp_Object *lface,
769 Lisp_Object spec, int c)); 769 Lisp_Object spec, int c);
770 extern Lisp_Object font_open_for_lface P_ ((FRAME_PTR f, Lisp_Object entity, 770 extern Lisp_Object font_open_for_lface (FRAME_PTR f, Lisp_Object entity,
771 Lisp_Object *lface, 771 Lisp_Object *lface,
772 Lisp_Object spec)); 772 Lisp_Object spec);
773 extern Lisp_Object font_load_for_lface P_ ((FRAME_PTR f, Lisp_Object *lface, 773 extern Lisp_Object font_load_for_lface (FRAME_PTR f, Lisp_Object *lface,
774 Lisp_Object spec)); 774 Lisp_Object spec);
775 extern void font_prepare_for_face P_ ((FRAME_PTR f, struct face *face)); 775 extern void font_prepare_for_face (FRAME_PTR f, struct face *face);
776 extern void font_done_for_face P_ ((FRAME_PTR f, struct face *face)); 776 extern void font_done_for_face (FRAME_PTR f, struct face *face);
777 777
778 extern Lisp_Object font_open_by_spec P_ ((FRAME_PTR f, Lisp_Object spec)); 778 extern Lisp_Object font_open_by_spec (FRAME_PTR f, Lisp_Object spec);
779 extern Lisp_Object font_open_by_name P_ ((FRAME_PTR f, char *name)); 779 extern Lisp_Object font_open_by_name (FRAME_PTR f, char *name);
780 extern void font_close_object (FRAME_PTR f, Lisp_Object font_object); 780 extern void font_close_object (FRAME_PTR f, Lisp_Object font_object);
781 781
782 extern Lisp_Object font_intern_prop P_ ((char *str, int len, int force_symbol)); 782 extern Lisp_Object font_intern_prop (char *str, int len, int force_symbol);
783 extern void font_update_sort_order P_ ((int *order)); 783 extern void font_update_sort_order (int *order);
784 784
785 extern void font_parse_family_registry P_ ((Lisp_Object family, 785 extern void font_parse_family_registry (Lisp_Object family,
786 Lisp_Object registry, 786 Lisp_Object registry,
787 Lisp_Object spec)); 787 Lisp_Object spec);
788 extern Lisp_Object font_spec_from_family_registry P_ ((Lisp_Object family, 788 extern Lisp_Object font_spec_from_family_registry (Lisp_Object family,
789 Lisp_Object registry)); 789 Lisp_Object registry);
790 790
791 extern int font_parse_xlfd P_ ((char *name, Lisp_Object font)); 791 extern int font_parse_xlfd (char *name, Lisp_Object font);
792 extern int font_unparse_xlfd P_ ((Lisp_Object font, int pixel_size, 792 extern int font_unparse_xlfd (Lisp_Object font, int pixel_size,
793 char *name, int bytes)); 793 char *name, int bytes);
794 extern int font_parse_fcname P_ ((char *name, Lisp_Object font)); 794 extern int font_parse_fcname (char *name, Lisp_Object font);
795 extern int font_unparse_fcname P_ ((Lisp_Object font, int pixel_size, 795 extern int font_unparse_fcname (Lisp_Object font, int pixel_size,
796 char *name, int bytes)); 796 char *name, int bytes);
797 extern int font_unparse_gtkname P_ ((Lisp_Object, struct frame *, char *, int)); 797 extern int font_unparse_gtkname (Lisp_Object, struct frame *, char *, int);
798 extern void register_font_driver P_ ((struct font_driver *driver, FRAME_PTR f)); 798 extern void register_font_driver (struct font_driver *driver, FRAME_PTR f);
799 extern void free_font_driver_list P_ ((FRAME_PTR f)); 799 extern void free_font_driver_list (FRAME_PTR f);
800 extern Lisp_Object font_update_drivers P_ ((FRAME_PTR f, Lisp_Object list)); 800 extern Lisp_Object font_update_drivers (FRAME_PTR f, Lisp_Object list);
801 extern Lisp_Object font_at P_ ((int c, EMACS_INT pos, struct face *face, 801 extern Lisp_Object font_at (int c, EMACS_INT pos, struct face *face,
802 struct window *w, Lisp_Object object)); 802 struct window *w, Lisp_Object object);
803 extern Lisp_Object font_range (EMACS_INT, EMACS_INT *, 803 extern Lisp_Object font_range (EMACS_INT, EMACS_INT *,
804 struct window *, struct face *, 804 struct window *, struct face *,
805 Lisp_Object); 805 Lisp_Object);
806 extern void font_fill_lglyph_metrics P_ ((Lisp_Object, Lisp_Object)); 806 extern void font_fill_lglyph_metrics (Lisp_Object, Lisp_Object);
807 807
808 extern Lisp_Object font_put_extra P_ ((Lisp_Object font, Lisp_Object prop, 808 extern Lisp_Object font_put_extra (Lisp_Object font, Lisp_Object prop,
809 Lisp_Object val)); 809 Lisp_Object val);
810 810
811 extern int font_put_frame_data P_ ((FRAME_PTR f, 811 extern int font_put_frame_data (FRAME_PTR f,
812 struct font_driver *driver, 812 struct font_driver *driver,
813 void *data)); 813 void *data);
814 extern void *font_get_frame_data P_ ((FRAME_PTR f, 814 extern void *font_get_frame_data (FRAME_PTR f,
815 struct font_driver *driver)); 815 struct font_driver *driver);
816 816
817 #ifdef HAVE_FREETYPE 817 #ifdef HAVE_FREETYPE
818 extern struct font_driver ftfont_driver; 818 extern struct font_driver ftfont_driver;
819 #endif /* HAVE_FREETYPE */ 819 #endif /* HAVE_FREETYPE */
820 #ifdef HAVE_X_WINDOWS 820 #ifdef HAVE_X_WINDOWS
835 #ifndef FONT_DEBUG 835 #ifndef FONT_DEBUG
836 #define FONT_DEBUG 836 #define FONT_DEBUG
837 #endif 837 #endif
838 838
839 extern Lisp_Object Vfont_log; 839 extern Lisp_Object Vfont_log;
840 extern void font_add_log P_ ((char *, Lisp_Object, Lisp_Object)); 840 extern void font_add_log (char *, Lisp_Object, Lisp_Object);
841 extern void font_deferred_log P_ ((char *, Lisp_Object, Lisp_Object)); 841 extern void font_deferred_log (char *, Lisp_Object, Lisp_Object);
842 842
843 #define FONT_ADD_LOG(ACTION, ARG, RESULT) \ 843 #define FONT_ADD_LOG(ACTION, ARG, RESULT) \
844 do { \ 844 do { \
845 if (! EQ (Vfont_log, Qt)) \ 845 if (! EQ (Vfont_log, Qt)) \
846 font_add_log ((ACTION), (ARG), (RESULT)); \ 846 font_add_log ((ACTION), (ARG), (RESULT)); \