gnustep-dev
[Top][All Lists]
Advanced

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

Re: ANN: Emacs on GNUstep / OS X 8.0-rc1


From: Fred Kiefer
Subject: Re: ANN: Emacs on GNUstep / OS X 8.0-rc1
Date: Wed, 09 Mar 2005 20:36:17 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2) Gecko/20040906

Adrian Robert wrote:

On Mar 8, 2005, at 10:15 AM, M. Uli Kusterer wrote:

At 16:42 Uhr -0500 07.03.2005, Adrian Robert wrote:

http://emacs-on-aqua.sf.net/

Status respecting backends on GNUstep is unchanged: works on Xlib, has
rendering anomalies under Art.  Specifically, menus are rendered blank
when they change, and the letter 'f' is rendered in proportional spacing
(from NSString -drawAtPoint:withAttributes:) in all fonts tried (in some
cases the character after the 'f' must be 'i' or another 'f').
"defaults write Emacs GSBackend libgnustep-xlib" is necessary.


Not sure whether you already know the source of the "f" problem and simplified the explanation, or whether you don't know where this comes from, but this looks to me like ligatures are turned on where they shouldn't. Ligatures are a typographical fanciness for representing certain character pairs with a single character that looks like an amalgamation of the two. Often done for fi, fl and a few others.

I think there should be a way to turn of ligatures, but you may have to use the Cocoa text system directly instead of using NSString's drawAtPoint:.


Yes, the rendering issue did have to do with ligature, but the fault is not in Art, but in GUI. Art just reveals the issue because it implements ligature whereas Xlib does not.

The problem is in [GSLayoutManager -_run_cache_attributes], where it currently sets a glyph run's 'ligature' attribute by default to '1'. Either it should set this to '0' if the font is monospaced, or some lower level should ignore ligature=1 for fixed fonts.


Not sure if this really is the problem. Having the ligature attribute at 1 is some sort of default value, meaning: use ligatures as much as suitable for the font. The back art code tries to only use ligatures if they are available. I would rather expect that the code there somehow fails (_generateGlyphsForRun:at:). Or are you saying that you are using a monospaced font which has ligatures available as well? But even then, where would be the problem? Looks like somebody needs to dig deeper into the art font handling to find out.

Fred




reply via email to

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