aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2008-05-25 11:19:50 +0000
committerKenichi Handa2008-05-25 11:19:50 +0000
commit505ecc496904f64f9725c2cadc962fc1c48933bc (patch)
tree6746b26726b33ff5e1ceb403c9c58b187dc49ff6 /src
parenta6c4ecbc324627a24ed12afe91c112c6537801ed (diff)
downloademacs-505ecc496904f64f9725c2cadc962fc1c48933bc.tar.gz
emacs-505ecc496904f64f9725c2cadc962fc1c48933bc.zip
(x_draw_glyph_string): Fix calculation of underline
position.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog28
-rw-r--r--src/w32term.c4
-rw-r--r--src/xterm.c4
3 files changed, 32 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 5de6cd8a75e..f9a137c290e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,31 @@
12008-05-25 Kenichi Handa <handa@m17n.org>
2
3 * w32term.c (x_draw_glyph_string): Fix calculation of underline
4 position.
5
6 * xterm.c (x_draw_glyph_string): Fix calculation of underline
7 position.
8
9 * xfaces.c: Delete unused function prototypes.
10 (xstrlwr, font_frame): Delete them.
11 (clear_face_cache): Delete unused variable.
12
13 * xftfont.c (xftfont_open): Delete unused variable. If
14 underline_thickness is not 1, adjust underline_position.
15
16 * ftxfont.c (ftxfont_open): Delete unused variable.
17
18 * fontset.c (face_for_char): Optimize for the case of no charset
19 property.
20
21 * font.c (LGSTRING_HEADER_SIZE, LGSTRING_GLYPH_SIZE)
22 (check_gstring, check_otf_features, otf_list, otf_tag_symbol)
23 (otf_open, font_otf_capability, generate_otf_features)
24 (font_otf_DeviceTable, font_otf_ValueRecord, font_otf_Anchor):
25 Commented out by surrounding "#if 0" and "#endif" for the moment.
26 (Ffont_drive_otf, Ffont_otf_alternates): Likewise.
27 (syms_of_font): Codes for accessing above commented out.
28
12008-05-24 Eli Zaretskii <eliz@gnu.org> 292008-05-24 Eli Zaretskii <eliz@gnu.org>
2 30
3 * w32proc.c: Include dispextern.h. 31 * w32proc.c: Include dispextern.h.
diff --git a/src/w32term.c b/src/w32term.c
index 5f5a3f954a9..0fbbf370fa2 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -2891,7 +2891,7 @@ x_draw_glyph_string (s)
2891 else 2891 else
2892 thickness = 1; 2892 thickness = 1;
2893 if (x_underline_at_descent_line) 2893 if (x_underline_at_descent_line)
2894 position = (s->height - thickness) - s->ybase; 2894 position = (s->height - thickness) - (s->ybase - s->y);
2895 else 2895 else
2896 { 2896 {
2897 /* Get the underline position. This is the recommended 2897 /* Get the underline position. This is the recommended
@@ -2912,7 +2912,7 @@ x_draw_glyph_string (s)
2912 /* Check the sanity of thickness and position. We should 2912 /* Check the sanity of thickness and position. We should
2913 avoid drawing underline out of the current line area. */ 2913 avoid drawing underline out of the current line area. */
2914 if (s->y + s->height <= s->ybase + position) 2914 if (s->y + s->height <= s->ybase + position)
2915 position = s->y + s->height - 1; 2915 position = (s->height - 1) - (s->ybase - s->y);
2916 if (s->y + s->height < s->ybase + position + thickness) 2916 if (s->y + s->height < s->ybase + position + thickness)
2917 thickness = (s->y + s->height) - (s->ybase + position); 2917 thickness = (s->y + s->height) - (s->ybase + position);
2918 s->underline_thickness = thickness; 2918 s->underline_thickness = thickness;
diff --git a/src/xterm.c b/src/xterm.c
index b2683298ca0..03f06f33f04 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -2725,7 +2725,7 @@ x_draw_glyph_string (s)
2725 else 2725 else
2726 thickness = 1; 2726 thickness = 1;
2727 if (x_underline_at_descent_line) 2727 if (x_underline_at_descent_line)
2728 position = (s->height - thickness) - s->ybase; 2728 position = (s->height - thickness) - (s->ybase - s->y);
2729 else 2729 else
2730 { 2730 {
2731 /* Get the underline position. This is the recommended 2731 /* Get the underline position. This is the recommended
@@ -2746,7 +2746,7 @@ x_draw_glyph_string (s)
2746 /* Check the sanity of thickness and position. We should 2746 /* Check the sanity of thickness and position. We should
2747 avoid drawing underline out of the current line area. */ 2747 avoid drawing underline out of the current line area. */
2748 if (s->y + s->height <= s->ybase + position) 2748 if (s->y + s->height <= s->ybase + position)
2749 position = s->y + s->height - 1; 2749 position = (s->height - 1) - (s->ybase - s->y);
2750 if (s->y + s->height < s->ybase + position + thickness) 2750 if (s->y + s->height < s->ybase + position + thickness)
2751 thickness = (s->y + s->height) - (s->ybase + position); 2751 thickness = (s->y + s->height) - (s->ybase + position);
2752 s->underline_thickness = thickness; 2752 s->underline_thickness = thickness;