Mercurial > emacs
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)); \ |