Re: Flocale text width problem [Was: Notification: incoming/1397]

2004-08-20 Thread Marcus Lundblad



On Mon, 16 Aug 2004, Dominik Vogt wrote:


On Sun, Aug 15, 2004 at 10:48:13AM -0500, fvwm-bug wrote:

 my MenuStyle is

 MenuStyle   Black grey SlateGrey
 -*-helvetica-medium-o-*-*-12-*-*-*-*-*-*-* mwm

 if the last character of a menu entry is for example an l or an
 R, the upper right part of the glyph is not displayed, as if the
 width of the text would be measured at the base line and the slant
 causes the characters to go outside this box, the outside parts are
 not displayed.  When i highlight the entry with the mouse, the
 missing part is drawn and stays this way (until the menu vanishes).


I pinned down the problem, but have no fix.  In Flocale.c, the
function XmbTextEscapement is used to get the width of a string.
It returns the offset from the start of the string where the next
character would be printed, but for slanted fonts that is not the
width of the bounding box:

normal font:

 |
 |
 |
 |
 |
   ^
   |
 start of next character, width = 1

slanted font:

 /
/ ^
   /  |___ width of bounding box = 5
  /
 /
   ^
   |
 start of next character, width = 1

Any idea what we can do about it?



Is there some property of the font telling how much slated it is? (in 
radians, or so... :-) )


And then, there's also xft to take care of. Or perhaps the corresponding 
xft functions compensate for this? It was a while since I messed with that 
code. But I could do some research in the matter...


//Marcus


Ciao

Dominik ^_^  ^_^

--
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]


--
Visit the official FVWM web page at URL:http://www.fvwm.org/.
To unsubscribe from the list, send unsubscribe fvwm-workers in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]


Flocale text width problem [Was: Notification: incoming/1397]

2004-08-16 Thread Dominik Vogt
On Sun, Aug 15, 2004 at 10:48:13AM -0500, fvwm-bug wrote:
  my MenuStyle is  
   
   
   
  MenuStyle   Black grey SlateGrey 
   
  -*-helvetica-medium-o-*-*-12-*-*-*-*-*-*-* mwm   
   
   
   
  if the last character of a menu entry is for example an l or an
  R, the upper right part of the glyph is not displayed, as if the
  width of the text would be measured at the base line and the slant
  causes the characters to go outside this box, the outside parts are
  not displayed.  When i highlight the entry with the mouse, the
  missing part is drawn and stays this way (until the menu vanishes).

I pinned down the problem, but have no fix.  In Flocale.c, the
function XmbTextEscapement is used to get the width of a string.
It returns the offset from the start of the string where the next
character would be printed, but for slanted fonts that is not the
width of the bounding box:

normal font:

  |
  |
  |
  |
  | 
^
|
  start of next character, width = 1

slanted font:

  /
 / ^
/  |___ width of bounding box = 5
   /
  /
^
|
  start of next character, width = 1

Any idea what we can do about it?

Ciao

Dominik ^_^  ^_^

 --
Dominik Vogt, [EMAIL PROTECTED]
Reply-To: [EMAIL PROTECTED]


pgpCjsF73bMuN.pgp
Description: PGP signature