aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog5
-rw-r--r--src/nsfont.m8
-rw-r--r--src/nsterm.m3
3 files changed, 11 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 7ceacd2d97b..aa372dd23df 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
12008-09-27 Adrian Robert <Adrian.B.Robert@gmail.com>
2
3 * nsfont.m (nsfont_draw): Fix up composition rendering (cmp_from,
4 etc.).
5
12008-09-27 Eli Zaretskii <eliz@gnu.org> 62008-09-27 Eli Zaretskii <eliz@gnu.org>
2 7
3 * composite.c (Fcomposition_get_gstring) 8 * composite.c (Fcomposition_get_gstring)
diff --git a/src/nsfont.m b/src/nsfont.m
index 42507f08eac..8761e57ca6e 100644
--- a/src/nsfont.m
+++ b/src/nsfont.m
@@ -902,16 +902,16 @@ nsfont_draw (struct glyph_string *s, int from, int to, int x, int y,
902 XCharStruct *cs; 902 XCharStruct *cs;
903 int cwidth, twidth = 0; 903 int cwidth, twidth = 0;
904 int hi, lo; 904 int hi, lo;
905 char isComposite = 0; /* s->first_glyph->type == COMPOSITE_GLYPH; */ 905 char isComposite = s->first_glyph->type == COMPOSITE_GLYPH;
906 /* FIXME: composition: no vertical displacement is considered. */ 906 /* FIXME: composition: no vertical displacement is considered. */
907 t+= s->cmp_from; /* advance into composition */ 907 t += s->cmp_from; /* advance into composition */
908 for (i =0; i<s->nchars - s->cmp_from; i++, t++) 908 for (i = s->cmp_from; i < s->nchars; i++, t++)
909 { 909 {
910 hi = (*t & 0xFF00) >> 8; 910 hi = (*t & 0xFF00) >> 8;
911 lo = *t & 0x00FF; 911 lo = *t & 0x00FF;
912 if (isComposite) 912 if (isComposite)
913 { 913 {
914 cwidth = s->cmp->offsets[s->cmp_from++ * 2] - twidth; 914 cwidth = s->cmp->offsets[i * 2] /* (H offset) */ - twidth;
915 } 915 }
916 else 916 else
917 { 917 {
diff --git a/src/nsterm.m b/src/nsterm.m
index 651b400d8bf..202f4a2d306 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -2536,11 +2536,11 @@ hide_hourglass ()
2536 2536
2537 2537
2538static inline NSRect 2538static inline NSRect
2539ns_fix_rect_ibw (NSRect r, int fibw, int frame_pixel_width)
2539/* -------------------------------------------------------------------------- 2540/* --------------------------------------------------------------------------
2540 Under NS we draw internal borders inside fringes, and want full-width 2541 Under NS we draw internal borders inside fringes, and want full-width
2541 rendering to go all the way to edge. This function makes that correction. 2542 rendering to go all the way to edge. This function makes that correction.
2542 -------------------------------------------------------------------------- */ 2543 -------------------------------------------------------------------------- */
2543ns_fix_rect_ibw (NSRect r, int fibw, int frame_pixel_width)
2544{ 2544{
2545 if (r.origin.y <= fibw+1) 2545 if (r.origin.y <= fibw+1)
2546 { 2546 {
@@ -5040,6 +5040,7 @@ if (NS_KEYLOG) NSLog (@"attributedSubstringFromRange request");
5040 5040
5041 if (emacsframe != old_focus) 5041 if (emacsframe != old_focus)
5042 dpyinfo->x_focus_frame = emacsframe; 5042 dpyinfo->x_focus_frame = emacsframe;
5043
5043 /*/last_mouse_frame = emacsframe;? */ 5044 /*/last_mouse_frame = emacsframe;? */
5044 5045
5045 if (val >= 0) 5046 if (val >= 0)