emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Default face problem [was: Re: incomplete header-line with 3d boxes and


From: Kim F. Storm
Subject: Default face problem [was: Re: incomplete header-line with 3d boxes and prop fonts]
Date: Fri, 28 Apr 2006 13:34:08 +0200
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

address@hidden (Kim F. Storm) writes:

> Sascha Wilde <address@hidden> writes:
>
>>>> I still do see a heavy misalignment of the header line in ses (with
>>>> X11), but only when using a font with an odd size
>>>> (-*-terminus-medium-r-*-*-17-*-*-*-*-*-iso8859-1 here).
>
> I see it too.
>
> If I customize the default face, and change the height from 99 to 100,
> it works again.  I'll look into what's wrong.


This goes beyond my capabilites :-/

I put a breakpoint in x_new_font, and got this result:

Breakpoint 6, x_new_font (f=0x86c1678, fontname=0x86af3a0 
"-xos4-terminus-medium-r-normal--17-123-100-100-c-90-iso8859-1") at xterm.c:7848
(gdb) n
(gdb) p *fontp
$11 = {
  font = 0x86c1e28, 
  font_idx = 0, 
  name = 0x86c1d50 
"-xos4-terminus-medium-r-normal--17-123-100-100-c-90-iso8859-1", 
  full_name = 0x86c1de0 
"-xos4-terminus-medium-r-normal--17-123-100-100-c-90-iso8859-1", 
  charset = 0, 
  size = 9, 
  height = 16, 
  space_width = 9, 
  average_width = 9, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x0
}

So the frame's default font width is 9 pixels.

But when I contine and get to the place where an "A" is inserted in the header 
line,
I get this font info for the "A" character:


(gdb) p *face
$13 = {
  id = 17, 
  gc = 0x0, 
  font = 0x85ea4a0, 
  stipple = 0, 
  foreground = 3355443, 
  background = 15066597, 
  underline_color = 0, 
  overline_color = 0, 
  strike_through_color = 0, 
  box_color = 3355443, 
  font_name = 0x85ea408 
"-xos4-Terminus-Medium-R-Normal--16-160-72-72-C-80-ISO8859-1", 
  font_info_id = 1, 
  fontset = 20, 
  pixmap_w = 0, 
  pixmap_h = 0, 
  box_line_width = 2, 
  box = FACE_RAISED_BOX, 
  use_box_color_for_shadows_p = 0, 
  lface = {137881521, 141778755, 137913561, 792, 137913561, 137913561, 
137881137, 137881137, 138504219, 138504203, 137881137, 137881137, 137881137, 
139595989, 141300995, 137881137, 720}, 
  hash = 16929879, 
  charset = 0, 
  underline_p = 0, 
  overline_p = 0, 
  strike_through_p = 0, 
  foreground_defaulted_p = 0, 
  background_defaulted_p = 0, 
  underline_defaulted_p = 0, 
  overline_color_defaulted_p = 0, 
  strike_through_color_defaulted_p = 0, 
  box_color_defaulted_p = 1, 
  tty_bold_p = 0, 
  tty_dim_p = 0, 
  tty_underline_p = 0, 
  tty_alt_charset_p = 0, 
  tty_reverse_p = 0, 
  tty_blinking_p = 0, 
  colors_copied_bitwise_p = 0, 
  overstrike = 0, 
  next = 0x0, 
  prev = 0x87d33c0, 
  ascii_face = 0x8596d68
}
(gdb) n
(gdb) 
(gdb) 
(gdb) n
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) p *font_info
$14 = {
  font = 0x85ea4a0, 
  font_idx = 1, 
  name = 0x85ea1f8 
"-xos4-terminus-medium-r-normal--16-160-72-72-c-80-iso8859-1", 
  full_name = 0x85ea408 
"-xos4-Terminus-Medium-R-Normal--16-160-72-72-C-80-ISO8859-1", 
  charset = 0, 
  size = 8, 
  height = 16, 
  space_width = 8, 
  average_width = 8, 
  vertical_centering = 0, 
  encoding = "\000\377", '\0' <repeats 126 times>, '\001' <repeats 127 times>, 
  baseline_offset = 0, 
  relative_compose = 0, 
  default_ascent = 0, 
  font_encoder = 0x0
}
(gdb) n
(gdb) 
(gdb) 
(gdb) 
(gdb) 
(gdb) p *pcm
$15 = {
  lbearing = 1, 
  rbearing = 7, 
  width = 8, 
  ascent = 10, 
  descent = 0, 
  attributes = 0
}
(gdb) 


So somewhere along the road, something has selected a different font (width 8)
for the characters in the header line -- and in the text area of the window,
but the align-to uses the default frame font of width 9 (that's what it has to 
do).

How can this happen?



To reproduce, get the above font installed, and put this in .Xdefaults:

Emacs.font: -*-terminus-medium-r-*-*-17-*-*-*-*-*-iso8859-1

Then run

emacs -Q ~/tmp/foo.ses

Now hit M-o a few times to add some columns.

and type 1 RET 2 RET 3 RET to insert some data in the sheet.

-- 
Kim F. Storm <address@hidden> http://www.cua.dk





reply via email to

[Prev in Thread] Current Thread [Next in Thread]