From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Alan Third Newsgroups: gmane.emacs.devel Subject: Re: NS port cleanups Date: Tue, 19 Oct 2021 21:22:37 +0100 Message-ID: References: <87czo3bxog.fsf.ref@yahoo.com> <87czo3bxog.fsf@yahoo.com> <8735ox9wtu.fsf_-_@yahoo.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="28106"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs-Devel devel To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Oct 19 22:23:49 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mcveF-00076t-QO for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Oct 2021 22:23:48 +0200 Original-Received: from localhost ([::1]:36054 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mcveD-0000BF-Kp for ged-emacs-devel@m.gmane-mx.org; Tue, 19 Oct 2021 16:23:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:38326) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mcvdT-0007wi-Mr for emacs-devel@gnu.org; Tue, 19 Oct 2021 16:22:59 -0400 Original-Received: from outbound.soverin.net ([2a01:4f8:fff0:65::8:228]:40971) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mcvdR-0006gT-Cu for emacs-devel@gnu.org; Tue, 19 Oct 2021 16:22:59 -0400 Original-Received: from smtp.soverin.net (unknown [10.10.3.28]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by outbound.soverin.net (Postfix) with ESMTPS id 50DCE52; Tue, 19 Oct 2021 20:22:42 +0000 (UTC) Original-Received: from smtp.soverin.net (smtp.soverin.net [159.69.232.142]) by soverin.net DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=idiocy.org; s=soverin; t=1634674961; bh=3bvT7axaaoTgV0Qnpc/DC+jY41nO0mGE8OaZst7jCqY=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=YBA7FYKXfR6uSWagv+/arHojMl7329QgnBvZ4CJK4mRPHj2CiT/VSD/HNILHYFt6o RdhXTG88lhd+G6zlbxcyAQWqrwi3bsGn4mhmhO29bNCFKdI2ZHSzb4HkoP/X4jW8Se h/M6Gim9TgCL4E3FjFhyXAIsrSyEq2LmnBGFYylOFe1D4R4lfFmEWyLpI80PWFR9MG qv7sYXDpE3T/AuEZ22xT72J0Fbwvze199XH2yxZb/sh6u38FiZQ0pliSqG6JqYPQWh U1D7zJDZhg2ummwqccXSKawJaU5LxDl8jVv5XF10uoPfSPGEM7S1UqHOHBqc5BBiZF GKeo8V5n4BEog== Original-Received: from alan by faroe.holly.idiocy.org with local (Exim 4.95-RC2) (envelope-from ) id 1mcvd7-000SJ5-R0; Tue, 19 Oct 2021 21:22:37 +0100 Mail-Followup-To: Alan Third , Po Lu , Emacs-Devel devel Content-Disposition: inline In-Reply-To: <8735ox9wtu.fsf_-_@yahoo.com> Received-SPF: pass client-ip=2a01:4f8:fff0:65::8:228; envelope-from=alan@idiocy.org; helo=outbound.soverin.net X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:277406 Archived-At: On Tue, Oct 19, 2021 at 05:40:29PM +0800, Po Lu wrote: > > If you want to improve the GNUstep experience I think the best place > > to start would be improving nsfont. I've tried, but frankly I don't > > understand fonts and my motivation ran out pretty quickly, especially > > since some of the GNUstep side is completely undocumented. > > I did a best effort job at cleaning up nsfont and getting it into a > presentable state. I've also implemented some changes to the NS port in > general that implement some missing features (such as overhangs), and > fix some issues preventing nsfont from behaving correctly (namely the > horrid cursor drawing logic that I changed to behave closer to the > X-Windows code), and some changes to the menu logic. This looks really good on GNUstep! I am no longer faced with a wide selection of random fonts when I open xdisp.c! A few wee things: Except for the first line the commit message should be made up of full sentences with full stops at the end. I feel it might be good to split this into two separate patches, one with the GNUstep stuff and the other with the changes to cursor drawing, but that's up to you. The cursor mostly doesn't draw under macOS, and when it does draw the glyph is its normal colour instead of the inverted colours I see on GNUstep and GTK. I had a quick look and can't see anything obviously causing this. If you have no ideas I'll investigate further. You missed a comment in ns_draw_window_cursor that refers to drawing the text on top of the cursor. > There are still two problems with this code: the first being that if a > glyph with a left overhang is preceeded by a glyph with both a left and > a right overhang, the glyph with just the left overhang will be drawn > twice. I haven't been able to solve this problem, could someone please > take a look? Thanks. I don't really understand this, but I'll have a look if I can. > The second problem is that, on startup, the toolbar is too tall unless > the frame is resized. I can't profess to understand the toolbar code > well enough to fix this problem. This is not a new issue. I can't work out why it happens, but I think it has to do with the frame resizing on startup. -- Alan Third