diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 13 | ||||
| -rw-r--r-- | src/s/cygwin.h | 3 | ||||
| -rw-r--r-- | src/xftfont.c | 21 |
3 files changed, 37 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 7046d13262f..c9d0e80c12f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2010-10-19 Ken Brown <kbrown@cornell.edu> | ||
| 2 | |||
| 3 | * s/cygwin.h (SIGNALS_VIA_CHARACTERS): New define (bug#7225). | ||
| 4 | |||
| 5 | 2010-10-19 Kenichi Handa <handa@m17n.org> | ||
| 6 | |||
| 7 | Fix incorrect font metrics when the same font is opened with | ||
| 8 | different pixelsizes. | ||
| 9 | |||
| 10 | * xftfont.c: Include composite.h. | ||
| 11 | (xftfont_shape): New function. | ||
| 12 | (syms_of_xftfont): Set xftfont_driver.shape. | ||
| 13 | |||
| 1 | 2010-10-18 Julien Danjou <julien@danjou.info> | 14 | 2010-10-18 Julien Danjou <julien@danjou.info> |
| 2 | 15 | ||
| 3 | * frame.c (Fframe_pointer_visible_p): | 16 | * frame.c (Fframe_pointer_visible_p): |
diff --git a/src/s/cygwin.h b/src/s/cygwin.h index 4d58542e660..157ef72f550 100644 --- a/src/s/cygwin.h +++ b/src/s/cygwin.h | |||
| @@ -101,5 +101,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 101 | returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ | 101 | returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */ |
| 102 | #define G_SLICE_ALWAYS_MALLOC | 102 | #define G_SLICE_ALWAYS_MALLOC |
| 103 | 103 | ||
| 104 | /* Send signals to subprocesses by "typing" special chars at them. */ | ||
| 105 | #define SIGNALS_VIA_CHARACTERS | ||
| 106 | |||
| 104 | /* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b | 107 | /* arch-tag: 5ae7ba00-83b0-4ab3-806a-3e845779191b |
| 105 | (do not change this comment) */ | 108 | (do not change this comment) */ |
diff --git a/src/xftfont.c b/src/xftfont.c index dc82c28b215..a44921a11df 100644 --- a/src/xftfont.c +++ b/src/xftfont.c | |||
| @@ -32,6 +32,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 32 | #include "blockinput.h" | 32 | #include "blockinput.h" |
| 33 | #include "character.h" | 33 | #include "character.h" |
| 34 | #include "charset.h" | 34 | #include "charset.h" |
| 35 | #include "composite.h" | ||
| 35 | #include "fontset.h" | 36 | #include "fontset.h" |
| 36 | #include "font.h" | 37 | #include "font.h" |
| 37 | #include "ftfont.h" | 38 | #include "ftfont.h" |
| @@ -664,6 +665,23 @@ xftfont_draw (struct glyph_string *s, int from, int to, int x, int y, int with_b | |||
| 664 | return len; | 665 | return len; |
| 665 | } | 666 | } |
| 666 | 667 | ||
| 668 | Lisp_Object | ||
| 669 | xftfont_shape (Lisp_Object lgstring) | ||
| 670 | { | ||
| 671 | struct font *font; | ||
| 672 | struct xftfont_info *xftfont_info; | ||
| 673 | FT_Face ft_face; | ||
| 674 | Lisp_Object val; | ||
| 675 | |||
| 676 | CHECK_FONT_GET_OBJECT (LGSTRING_FONT (lgstring), font); | ||
| 677 | xftfont_info = (struct xftfont_info *) font; | ||
| 678 | ft_face = XftLockFace (xftfont_info->xftfont); | ||
| 679 | xftfont_info->ft_size = ft_face->size; | ||
| 680 | val = ftfont_driver.shape (lgstring); | ||
| 681 | XftUnlockFace (xftfont_info->xftfont); | ||
| 682 | return val; | ||
| 683 | } | ||
| 684 | |||
| 667 | static int | 685 | static int |
| 668 | xftfont_end_for_frame (FRAME_PTR f) | 686 | xftfont_end_for_frame (FRAME_PTR f) |
| 669 | { | 687 | { |
| @@ -753,6 +771,9 @@ syms_of_xftfont (void) | |||
| 753 | xftfont_driver.draw = xftfont_draw; | 771 | xftfont_driver.draw = xftfont_draw; |
| 754 | xftfont_driver.end_for_frame = xftfont_end_for_frame; | 772 | xftfont_driver.end_for_frame = xftfont_end_for_frame; |
| 755 | xftfont_driver.cached_font_ok = xftfont_cached_font_ok; | 773 | xftfont_driver.cached_font_ok = xftfont_cached_font_ok; |
| 774 | #if defined (HAVE_M17N_FLT) && defined (HAVE_LIBOTF) | ||
| 775 | xftfont_driver.shape = xftfont_shape; | ||
| 776 | #endif | ||
| 756 | 777 | ||
| 757 | register_font_driver (&xftfont_driver, NULL); | 778 | register_font_driver (&xftfont_driver, NULL); |
| 758 | } | 779 | } |