diff options
| author | Kenichi Handa | 2008-08-29 07:55:02 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-08-29 07:55:02 +0000 |
| commit | 8057d3c0149f7ee04a46825e94bee5c9247624a0 (patch) | |
| tree | 7df68d097696161e2f3174984ef16f461088e027 | |
| parent | 071132a958b5c4e4673cdf6e5057db1bc65837fe (diff) | |
| download | emacs-8057d3c0149f7ee04a46825e94bee5c9247624a0.tar.gz emacs-8057d3c0149f7ee04a46825e94bee5c9247624a0.zip | |
* font.h (enum lgstring_indices): Delete it.
(LGSTRING_XXX, LGLYPH_XXX): These macros moved to composite.h.
(enum lglyph_indices): Likewise.
(font_range): Extern adjusted.
(font_fill_lglyph_metrics): Extern it.
| -rw-r--r-- | src/font.h | 100 |
1 files changed, 14 insertions, 86 deletions
diff --git a/src/font.h b/src/font.h index 2c0bc516bde..0235463e548 100644 --- a/src/font.h +++ b/src/font.h | |||
| @@ -489,77 +489,6 @@ struct font_bitmap | |||
| 489 | #define FONT_PIXEL_SIZE_QUANTUM 1 | 489 | #define FONT_PIXEL_SIZE_QUANTUM 1 |
| 490 | 490 | ||
| 491 | struct face; | 491 | struct face; |
| 492 | struct composition; | ||
| 493 | |||
| 494 | /* Macros for lispy glyph-string. */ | ||
| 495 | enum lgstring_indices | ||
| 496 | { | ||
| 497 | LGSTRING_IX_FONT, LGSTRING_IX_WIDTH, | ||
| 498 | LGSTRING_IX_LBEARING, LGSTRING_IX_RBEARING, | ||
| 499 | LGSTRING_IX_ASCENT, LGSTRING_IX_DESCENT | ||
| 500 | }; | ||
| 501 | #define LGSTRING_SLOT(lgs, ix) AREF (AREF ((lgs), 0), ix) | ||
| 502 | #define LGSTRING_FONT(lgs) LGSTRING_SLOT (lgs, LGSTRING_IX_FONT) | ||
| 503 | #define LGSTRING_WIDTH(lgs) XINT (LGSTRING_SLOT (lgs, LGSTRING_IX_WIDTH)) | ||
| 504 | #define LGSTRING_LBEARING(lgs) XINT (LGSTRING_SLOT (lgs, LGSTRING_IX_LBEARING)) | ||
| 505 | #define LGSTRING_RBEARING(lgs) XINT (LGSTRING_SLOT (lgs, LGSTRING_IX_RBEARING)) | ||
| 506 | #define LGSTRING_ASCENT(lgs) XINT (LGSTRING_SLOT (lgs, LGSTRING_IX_ASCENT)) | ||
| 507 | #define LGSTRING_DESCENT(lgs) XINT (LGSTRING_SLOT (lgs, LGSTRING_IX_DESCENT)) | ||
| 508 | #define LGSTRING_SET_SLOT(lgs, ix, val) ASET (AREF ((lgs), 0), ix, (val)) | ||
| 509 | #define LGSTRING_SET_FONT(lgs, val) \ | ||
| 510 | LGSTRING_SET_SLOT(lgs, LGSTRING_IX_FONT, (val)) | ||
| 511 | #define LGSTRING_SET_WIDTH(lgs, val) \ | ||
| 512 | LGSTRING_SET_SLOT(lgs, LGSTRING_IX_WIDTH, make_number (val)) | ||
| 513 | #define LGSTRING_SET_LBEARING(lgs, val) \ | ||
| 514 | LGSTRING_SET_SLOT(lgs, LGSTRING_IX_LBEARING, make_number (val)) | ||
| 515 | #define LGSTRING_SET_RBEARING(lgs, val) \ | ||
| 516 | LGSTRING_SET_SLOT(lgs, LGSTRING_IX_RBEARING, make_number (val)) | ||
| 517 | #define LGSTRING_SET_ASCENT(lgs, val) \ | ||
| 518 | LGSTRING_SET_SLOT(lgs, LGSTRING_IX_ASCENT, make_number (val)) | ||
| 519 | #define LGSTRING_SET_DESCENT(lgs, val) \ | ||
| 520 | LGSTRING_SET_SLOT(lgs, LGSTRING_IX_DESCENT, make_number (val)) | ||
| 521 | |||
| 522 | #define LGSTRING_LENGTH(lgs) (ASIZE ((lgs)) - 1) | ||
| 523 | #define LGSTRING_GLYPH(lgs, idx) AREF ((lgs), (idx) + 1) | ||
| 524 | #define LGSTRING_SET_GLYPH(lgs, idx, val) ASET ((lgs), (idx) + 1, (val)) | ||
| 525 | |||
| 526 | /* Vector size of Lispy glyph. */ | ||
| 527 | enum lglyph_indices | ||
| 528 | { | ||
| 529 | LGLYPH_IX_FROM, LGLYPH_IX_TO, LGLYPH_IX_CHAR, LGLYPH_IX_CODE, | ||
| 530 | LGLYPH_IX_WIDTH, LGLYPH_IX_LBEARING, LGLYPH_IX_RBEARING, | ||
| 531 | LGLYPH_IX_ASCENT, LGLYPH_IX_DESCENT, LGLYPH_IX_ADJUSTMENT, | ||
| 532 | /* Not an index. */ | ||
| 533 | LGLYPH_SIZE | ||
| 534 | }; | ||
| 535 | #define LGLYPH_FROM(g) XINT (AREF ((g), LGLYPH_IX_FROM)) | ||
| 536 | #define LGLYPH_TO(g) XINT (AREF ((g), LGLYPH_IX_TO)) | ||
| 537 | #define LGLYPH_CHAR(g) XINT (AREF ((g), LGLYPH_IX_CHAR)) | ||
| 538 | #define LGLYPH_CODE(g) XUINT (AREF ((g), LGLYPH_IX_CODE)) | ||
| 539 | #define LGLYPH_WIDTH(g) XINT (AREF ((g), LGLYPH_IX_WIDTH)) | ||
| 540 | #define LGLYPH_LBEARING(g) XINT (AREF ((g), LGLYPH_IX_LBEARING)) | ||
| 541 | #define LGLYPH_RBEARING(g) XINT (AREF ((g), LGLYPH_IX_RBEARING)) | ||
| 542 | #define LGLYPH_ASCENT(g) XINT (AREF ((g), LGLYPH_IX_ASCENT)) | ||
| 543 | #define LGLYPH_DESCENT(g) XINT (AREF ((g), LGLYPH_IX_DESCENT)) | ||
| 544 | #define LGLYPH_ADJUSTMENT(g) AREF ((g), LGLYPH_IX_ADJUSTMENT) | ||
| 545 | #define LGLYPH_SET_FROM(g, val) ASET ((g), LGLYPH_IX_FROM, make_number (val)) | ||
| 546 | #define LGLYPH_SET_TO(g, val) ASET ((g), LGLYPH_IX_TO, make_number (val)) | ||
| 547 | #define LGLYPH_SET_CHAR(g, val) ASET ((g), LGLYPH_IX_CHAR, make_number (val)) | ||
| 548 | /* FIXME: we should use make_uint_number here. */ | ||
| 549 | #define LGLYPH_SET_CODE(g, val) ASET ((g), LGLYPH_IX_CODE, make_number (val)) | ||
| 550 | #define LGLYPH_SET_WIDTH(g, val) ASET ((g), LGLYPH_IX_WIDTH, make_number (val)) | ||
| 551 | #define LGLYPH_SET_LBEARING(g, val) ASET ((g), LGLYPH_IX_RBEARING, make_number (val)) | ||
| 552 | #define LGLYPH_SET_RBEARING(g, val) ASET ((g), LGLYPH_IX_LBEARING, make_number (val)) | ||
| 553 | #define LGLYPH_SET_ASCENT(g, val) ASET ((g), LGLYPH_IX_ASCENT, make_number (val)) | ||
| 554 | #define LGLYPH_SET_DESCENT(g, val) ASET ((g), LGLYPH_IX_DESCENT, make_number (val)) | ||
| 555 | #define LGLYPH_SET_ADJUSTMENT(g, val) ASET ((g), LGLYPH_IX_ADJUSTMENT, (val)) | ||
| 556 | |||
| 557 | #define LGLYPH_XOFF(g) (VECTORP (LGLYPH_ADJUSTMENT (g)) \ | ||
| 558 | ? XINT (AREF (LGLYPH_ADJUSTMENT (g), 0)) : 0) | ||
| 559 | #define LGLYPH_YOFF(g) (VECTORP (LGLYPH_ADJUSTMENT (g)) \ | ||
| 560 | ? XINT (AREF (LGLYPH_ADJUSTMENT (g), 1)) : 0) | ||
| 561 | #define LGLYPH_WADJUST(g) (VECTORP (LGLYPH_ADJUSTMENT (g)) \ | ||
| 562 | ? XINT (AREF (LGLYPH_ADJUSTMENT (g), 2)) : 0) | ||
| 563 | 492 | ||
| 564 | #define FONT_INVALID_CODE 0xFFFFFFFF | 493 | #define FONT_INVALID_CODE 0xFFFFFFFF |
| 565 | 494 | ||
| @@ -696,7 +625,7 @@ struct font_driver | |||
| 696 | 625 | ||
| 697 | /* Optional. | 626 | /* Optional. |
| 698 | Make the font driver ready for frame F. Usually this function | 627 | Make the font driver ready for frame F. Usually this function |
| 699 | makes some data specific to F and store it in F by calling | 628 | makes some data specific to F and stores it in F by calling |
| 700 | font_put_frame_data (). */ | 629 | font_put_frame_data (). */ |
| 701 | int (*start_for_frame) P_ ((FRAME_PTR f)); | 630 | int (*start_for_frame) P_ ((FRAME_PTR f)); |
| 702 | 631 | ||
| @@ -707,17 +636,18 @@ struct font_driver | |||
| 707 | 636 | ||
| 708 | /* Optional. | 637 | /* Optional. |
| 709 | 638 | ||
| 710 | Shape text in LGSTRING. See the docstring of `font-make-gstring' | 639 | Shape text in GSTRING. See the docstring of |
| 711 | for the format of LGSTRING. If the (N+1)th element of LGSTRING | 640 | `composition-get-gstring' for the format of GSTRING. If the |
| 712 | is nil, input of shaping is from the 1st to (N)th elements. In | 641 | (N+1)th element of GSTRING is nil, input of shaping is from the |
| 713 | each input glyph, FROM, TO, CHAR, and CODE are already set. | 642 | 1st to (N)th elements. In each input glyph, FROM, TO, CHAR, and |
| 643 | CODE are already set. | ||
| 714 | 644 | ||
| 715 | This function updates all fields of the input glyphs. If the | 645 | This function updates all fields of the input glyphs. If the |
| 716 | output glyphs (M) are more than the input glyphs (N), (N+1)th | 646 | output glyphs (M) are more than the input glyphs (N), (N+1)th |
| 717 | through (M)th elements of LGSTRING are updated possibly by making | 647 | through (M)th elements of GSTRING are updated possibly by making |
| 718 | a new glyph object and storing it in LGSTRING. If (M) is greater | 648 | a new glyph object and storing it in GSTRING. If (M) is greater |
| 719 | than the length of LGSTRING, nil should be return. In that case, | 649 | than the length of GSTRING, nil should be return. In that case, |
| 720 | this function is called again with the larger LGSTRING. */ | 650 | this function is called again with the larger GSTRING. */ |
| 721 | Lisp_Object (*shape) P_ ((Lisp_Object lgstring)); | 651 | Lisp_Object (*shape) P_ ((Lisp_Object lgstring)); |
| 722 | 652 | ||
| 723 | /* Optional. | 653 | /* Optional. |
| @@ -827,12 +757,10 @@ extern void free_font_driver_list P_ ((FRAME_PTR f)); | |||
| 827 | extern Lisp_Object font_update_drivers P_ ((FRAME_PTR f, Lisp_Object list)); | 757 | extern Lisp_Object font_update_drivers P_ ((FRAME_PTR f, Lisp_Object list)); |
| 828 | extern Lisp_Object font_at P_ ((int c, EMACS_INT pos, struct face *face, | 758 | extern Lisp_Object font_at P_ ((int c, EMACS_INT pos, struct face *face, |
| 829 | struct window *w, Lisp_Object object)); | 759 | struct window *w, Lisp_Object object)); |
| 830 | extern EMACS_INT font_range P_ ((EMACS_INT pos, EMACS_INT limit, | 760 | extern EMACS_INT font_range P_ ((EMACS_INT, EMACS_INT *, |
| 831 | struct face *face, FRAME_PTR f, | 761 | struct window *, struct face *, |
| 832 | Lisp_Object object)); | 762 | Lisp_Object)); |
| 833 | 763 | extern void font_fill_lglyph_metrics P_ ((Lisp_Object, Lisp_Object)); | |
| 834 | extern struct font *font_prepare_composition P_ ((struct composition *cmp, | ||
| 835 | FRAME_PTR f)); | ||
| 836 | 764 | ||
| 837 | extern Lisp_Object font_put_extra P_ ((Lisp_Object font, Lisp_Object prop, | 765 | extern Lisp_Object font_put_extra P_ ((Lisp_Object font, Lisp_Object prop, |
| 838 | Lisp_Object val)); | 766 | Lisp_Object val)); |