GNU bug report logs - #34663
remove ftx font backend

Previous Next

Package: emacs;

Reported by: Glenn Morris <rgm <at> gnu.org>

Date: Tue, 26 Feb 2019 05:40:02 UTC

Severity: wishlist

Tags: patch

Found in version 26.2

Done: Stefan Kangas <stefan <at> marxist.se>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 34663 in the body.
You can then email your comments to 34663 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Message #1 received at quiet <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: quiet <at> debbugs.gnu.org
Subject: remove ftx font backend
Date: Tue, 26 Feb 2019 00:39:13 -0500
Package: emacs
Severity: wishlist
Version: 26.2

Ref: http://lists.gnu.org/r/emacs-devel/2019-02/msg00340.html




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Sun, 06 Oct 2019 13:00:02 GMT) Full text and rfc822 format available.

Message #4 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 34663 <at> debbugs.gnu.org
Subject: Re: remove ftx font backend
Date: Sun, 6 Oct 2019 14:58:39 +0200
[Message part 1 (text/plain, inline)]
Glenn Morris <rgm <at> gnu.org> writes:

> Package: emacs
> Severity: wishlist
> Version: 26.2
>
> Ref: http://lists.gnu.org/r/emacs-devel/2019-02/msg00340.html

How about the attached patch?

Best regards,
Stefan Kangas
[0001-Remove-unused-ftx-font-backend-driver.patch (text/x-patch, attachment)]

Added tag(s) patch. Request was from Stefan Kangas <stefan <at> marxist.se> to control <at> debbugs.gnu.org. (Sun, 06 Oct 2019 13:00:03 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Sun, 06 Oct 2019 13:02:02 GMT) Full text and rfc822 format available.

Message #9 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Glenn Morris <rgm <at> gnu.org>
Cc: 34663 <at> debbugs.gnu.org
Subject: Re: remove ftx font backend
Date: Sun, 6 Oct 2019 15:01:17 +0200
[Message part 1 (text/plain, inline)]
Stefan Kangas <stefan <at> marxist.se> writes:
> How about the attached patch?

Sorry, attached here is a patch with a fixed commit message.

Best regards,
Stefan Kangas
[0001-Remove-unused-ftx-font-backend-driver.patch (text/x-patch, attachment)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Sun, 06 Oct 2019 18:00:02 GMT) Full text and rfc822 format available.

Message #12 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: rgm <at> gnu.org, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Sun, 06 Oct 2019 20:58:52 +0300
> From: Stefan Kangas <stefan <at> marxist.se>
> Date: Sun, 6 Oct 2019 14:58:39 +0200
> Cc: 34663 <at> debbugs.gnu.org
> 
> > Ref: http://lists.gnu.org/r/emacs-devel/2019-02/msg00340.html
> 
> How about the attached patch?

Thanks, but I'd like to wait with this until Emacs 28.  So let's
revisit the issue once the emacs-27 branch is cut (which should happen
in a few weeks, hopefully).




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Sun, 06 Oct 2019 20:06:01 GMT) Full text and rfc822 format available.

Message #15 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Glenn Morris <rgm <at> gnu.org>, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Sun, 6 Oct 2019 22:04:46 +0200
Eli Zaretskii <eliz <at> gnu.org> writes:

> Thanks, but I'd like to wait with this until Emacs 28.  So let's
> revisit the issue once the emacs-27 branch is cut (which should happen
> in a few weeks, hopefully).

Makes sense, thanks.  Let's do that.

Best regards,
Stefan Kangas




Added tag(s) pending. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 17 Nov 2019 08:49:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Thu, 02 Jan 2020 20:45:01 GMT) Full text and rfc822 format available.

Message #20 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: rgm <at> gnu.org, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Thu, 02 Jan 2020 21:44:41 +0100
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> From: Stefan Kangas <stefan <at> marxist.se>
>> Date: Sun, 6 Oct 2019 14:58:39 +0200
>> Cc: 34663 <at> debbugs.gnu.org
>> 
>> > Ref: http://lists.gnu.org/r/emacs-devel/2019-02/msg00340.html
>> 
>> How about the attached patch?
>
> Thanks, but I'd like to wait with this until Emacs 28.  So let's
> revisit the issue once the emacs-27 branch is cut (which should happen
> in a few weeks, hopefully).

Now that the emacs-27 branch is cut, perhaps it is time to consider
applying this to master?  I have attached a rebased patch.

Best regards,
Stefan Kangas

[0001-Remove-unused-ftx-font-backend-driver.patch (text/x-diff, inline)]
From 447a50f8953b703d254c8fc3abcaa8b9770b038b Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefankangas <at> gmail.com>
Date: Thu, 2 Jan 2020 08:35:19 +0100
Subject: [PATCH] Remove unused ftx font backend driver

* src/ftxfont.c: Remove file.
* admin/notes/font-backend:
* configure.ac:
* src/Makefile.in:
* src/deps.mk (ftxfont.o):
* src/font.c (syms_of_font):
* src/font.h (top-level, font_property_index):
* src/xfns.c (Fx_create_frame, x_create_tip_frame): Remove unused ftx
font backend driver.  Thanks to Glenn Morris for pointing out that it
can be removed.  (Bug#34663)
---
 admin/notes/font-backend | 2 --
 configure.ac             | 6 ++----
 src/Makefile.in          | 6 +++---
 src/deps.mk              | 3 ---
 src/font.c               | 1 -
 src/font.h               | 6 ++----
 src/xfns.c               | 4 ----
 7 files changed, 7 insertions(+), 21 deletions(-)

diff --git a/admin/notes/font-backend b/admin/notes/font-backend
index 7572182a84..644bacfbef 100644
--- a/admin/notes/font-backend
+++ b/admin/notes/font-backend
@@ -15,8 +15,6 @@ The new files are:
 		device-independent methods of struct font_driver.
 	xftfont.c -- font-driver on X using Xft for FreeType fonts
 		utilizing methods provided by ftfont.c.
-	ftxfont.c -- font-driver on X directly using FreeType fonts
-		utilizing methods provided by ftfont.c.
 	w32font.c -- font driver on w32 using Windows native fonts,
 		corresponding to xfont.c
 	w32uniscribe.c -- font driver on w32, using the uniscribe API
diff --git a/configure.ac b/configure.ac
index 24d21c7afd..2f737b5d8d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3382,8 +3382,6 @@ AC_DEFUN
       fi                          # "$HAVE_XFT" != no
     fi                            # "x${with_xft}" != "xno"
 
-    ## We used to allow building with FreeType and without Xft.
-    ## However, the ftx font backend driver is not in good shape.
     if test "$HAVE_XFT" != "yes"; then
        dnl For the "Does Emacs use" message at the end.
        HAVE_XFT=no
@@ -5267,9 +5265,9 @@ AC_DEFUN
   if test "$HAVE_CAIRO" = "yes"; then
     FONT_OBJ="$FONT_OBJ ftfont.o ftcrfont.o"
   elif test "$HAVE_XFT" = "yes"; then
-    FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o ftxfont.o"
+    FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o"
   elif test "$HAVE_FREETYPE" = "yes"; then
-    FONT_OBJ="$FONT_OBJ ftfont.o ftxfont.o"
+    FONT_OBJ="$FONT_OBJ ftfont.o"
   fi
 fi
 if test "${HAVE_HARFBUZZ}" = "yes" ; then
diff --git a/src/Makefile.in b/src/Makefile.in
index ab63b92627..552dd2e50a 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -295,8 +295,8 @@ EMACSRES =
 W32_RES_LINK=@W32_RES_LINK@
 
 ## Empty if !HAVE_X_WINDOWS
-## xfont.o ftfont.o xftfont.o ftxfont.o if HAVE_XFT
-## xfont.o ftfont.o ftxfont.o if HAVE_FREETYPE
+## xfont.o ftfont.o xftfont.o if HAVE_XFT
+## xfont.o ftfont.o if HAVE_FREETYPE
 ## xfont.o ftfont.o ftcrfont.o if USE_CAIRO
 ## else xfont.o
 ## if HAVE_HARFBUZZ, hbfont.o is added regardless of the rest
@@ -436,7 +436,7 @@ SOME_MACHINE_OBJECTS =
   nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o macfont.o \
   w32.o w32console.o w32cygwinx.o w32fns.o w32heap.o w32inevt.o w32notify.o \
   w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \
-  w16select.o widget.o xfont.o ftfont.o xftfont.o ftxfont.o gtkutil.o \
+  w16select.o widget.o xfont.o ftfont.o xftfont.o gtkutil.o \
   xsettings.o xgselect.o termcap.o hbfont.o
 
 ## gmalloc.o if !SYSTEM_MALLOC && !DOUG_LEA_MALLOC, else empty.
diff --git a/src/deps.mk b/src/deps.mk
index a7e1b55917..4d162eeb0f 100644
--- a/src/deps.mk
+++ b/src/deps.mk
@@ -239,9 +239,6 @@ xfont.o:
 xftfont.o: xftfont.c dispextern.h xterm.h frame.h blockinput.h character.h \
    charset.h font.h lisp.h globals.h $(config_h) atimer.h systime.h \
    fontset.h ccl.h ftfont.h composite.h
-ftxfont.o: ftxfont.c dispextern.h xterm.h frame.h blockinput.h character.h \
-   charset.h font.h lisp.h globals.h $(config_h) atimer.h systime.h \
-   fontset.h ccl.h
 menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \
    dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \
    lisp.h globals.h $(config_h) systime.h coding.h composite.h window.h \
diff --git a/src/font.c b/src/font.c
index 2b90903c90..bb39aef92d 100644
--- a/src/font.c
+++ b/src/font.c
@@ -5545,7 +5545,6 @@ syms_of_font (void)
 #ifdef USE_CAIRO
   syms_of_ftcrfont ();
 #else
-  syms_of_ftxfont ();
 #ifdef HAVE_XFT
   syms_of_xftfont ();
 #endif  /* HAVE_XFT */
diff --git a/src/font.h b/src/font.h
index 633d92709c..0561e3c83f 100644
--- a/src/font.h
+++ b/src/font.h
@@ -69,8 +69,8 @@ #define EMACS_FONT_H
 
 enum font_property_index
   {
-    /* FONT-TYPE is a symbol indicating a font backend; currently `x',
-       `xft', and `ftx' are available on X, `uniscribe' and `gdi' on
+    /* FONT-TYPE is a symbol indicating a font backend; currently `x'
+       and `xft' are available on X, `uniscribe' and `gdi' on
        Windows, and `ns' under Cocoa / GNUstep.  */
     FONT_TYPE_INDEX,
 
@@ -938,7 +938,6 @@ valid_font_driver (struct font_driver const *d)
 extern struct font_driver const xfont_driver;
 extern Lisp_Object xfont_get_cache (struct frame *);
 extern void syms_of_xfont (void);
-extern void syms_of_ftxfont (void);
 #ifdef HAVE_XFT
 extern struct font_driver const xftfont_driver;
 #ifdef HAVE_HARFBUZZ
@@ -946,7 +945,6 @@ valid_font_driver (struct font_driver const *d)
 #endif	/* HAVE_HARFBUZZ */
 #endif
 #if defined HAVE_FREETYPE || defined HAVE_XFT
-extern struct font_driver const ftxfont_driver;
 extern void syms_of_xftfont (void);
 #endif
 #ifdef HAVE_BDFFONT
diff --git a/src/xfns.c b/src/xfns.c
index d0d5d399dc..1699d9930c 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3878,8 +3878,6 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame,
 #ifdef HAVE_HARFBUZZ
   register_font_driver (&xfthbfont_driver, f);
 #endif
-#else	/* not HAVE_XFT */
-  register_font_driver (&ftxfont_driver, f);
 #endif	/* not HAVE_XFT */
 #endif	/* HAVE_FREETYPE */
 #endif	/* not USE_CAIRO */
@@ -6362,8 +6360,6 @@ x_create_tip_frame (struct x_display_info *dpyinfo, Lisp_Object parms)
 #ifdef HAVE_HARFBUZZ
   register_font_driver (&xfthbfont_driver, f);
 #endif
-#else	/* not HAVE_XFT */
-  register_font_driver (&ftxfont_driver, f);
 #endif	/* not HAVE_XFT */
 #endif	/* HAVE_FREETYPE */
 #endif	/* not USE_CAIRO */
-- 
2.20.1


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Fri, 03 Jan 2020 07:36:01 GMT) Full text and rfc822 format available.

Message #23 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: rgm <at> gnu.org, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Fri, 03 Jan 2020 09:35:27 +0200
> From: Stefan Kangas <stefan <at> marxist.se>
> Cc: rgm <at> gnu.org,  34663 <at> debbugs.gnu.org
> Date: Thu, 02 Jan 2020 21:44:41 +0100
> 
> Now that the emacs-27 branch is cut, perhaps it is time to consider
> applying this to master?  I have attached a rebased patch.

Yes, but:

  . please add a NEWS entry about ftx's removal (in the "Installation
    Changes" section)
  . please add a NEWS entry on the emacs-27 branch saying that this
    font backend is deprecated and will be removed

Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Mon, 06 Jan 2020 23:06:02 GMT) Full text and rfc822 format available.

Message #26 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34663 <at> debbugs.gnu.org, Stefan Kangas <stefan <at> marxist.se>
Subject: Re: bug#34663: remove ftx font backend
Date: Tue, 07 Jan 2020 00:05:36 +0100
>>>>> On Fri, 03 Jan 2020 09:35:27 +0200, Eli Zaretskii <eliz <at> gnu.org> said:

    >> From: Stefan Kangas <stefan <at> marxist.se>
    >> Cc: rgm <at> gnu.org,  34663 <at> debbugs.gnu.org
    >> Date: Thu, 02 Jan 2020 21:44:41 +0100
    >> 
    >> Now that the emacs-27 branch is cut, perhaps it is time to consider
    >> applying this to master?  I have attached a rebased patch.

    Eli> Yes, but:

    Eli>   . please add a NEWS entry about ftx's removal (in the "Installation
    Eli>     Changes" section)
    Eli>   . please add a NEWS entry on the emacs-27 branch saying that this
    Eli>     font backend is deprecated and will be removed

Can we do something similar for XFT (and flip --with-cairo to
enabled)?

Robert




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Tue, 07 Jan 2020 03:35:02 GMT) Full text and rfc822 format available.

Message #29 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: 34663 <at> debbugs.gnu.org, stefan <at> marxist.se
Subject: Re: bug#34663: remove ftx font backend
Date: Tue, 07 Jan 2020 05:34:42 +0200
> From: Robert Pluim <rpluim <at> gmail.com>
> Cc: Stefan Kangas <stefan <at> marxist.se>,  34663 <at> debbugs.gnu.org
> Date: Tue, 07 Jan 2020 00:05:36 +0100
> 
>     Eli>   . please add a NEWS entry about ftx's removal (in the "Installation
>     Eli>     Changes" section)
>     Eli>   . please add a NEWS entry on the emacs-27 branch saying that this
>     Eli>     font backend is deprecated and will be removed
> 
> Can we do something similar for XFT (and flip --with-cairo to
> enabled)?

I understand about enabling Cairo, but what exactly are you proposing
to do with XFT?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Tue, 07 Jan 2020 07:15:01 GMT) Full text and rfc822 format available.

Message #32 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34663 <at> debbugs.gnu.org, stefan <at> marxist.se
Subject: Re: bug#34663: remove ftx font backend
Date: Tue, 07 Jan 2020 08:14:48 +0100
>>>>> On Tue, 07 Jan 2020 05:34:42 +0200, Eli Zaretskii <eliz <at> gnu.org> said:

    >> From: Robert Pluim <rpluim <at> gmail.com>
    >> Cc: Stefan Kangas <stefan <at> marxist.se>,  34663 <at> debbugs.gnu.org
    >> Date: Tue, 07 Jan 2020 00:05:36 +0100
    >> 
    Eli> . please add a NEWS entry about ftx's removal (in the "Installation
    Eli> Changes" section)
    Eli> . please add a NEWS entry on the emacs-27 branch saying that this
    Eli> font backend is deprecated and will be removed
    >> 
    >> Can we do something similar for XFT (and flip --with-cairo to
    >> enabled)?

    Eli> I understand about enabling Cairo, but what exactly are you proposing
    Eli> to do with XFT?

Add an entry to NEWS on master that itʼs deprecated and will be
removed, and add verbiage to configure telling people to install cairo
development packages if XFT is detected. That means weʼd remove XFT in
emacs-29.

Robert




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Tue, 07 Jan 2020 15:56:02 GMT) Full text and rfc822 format available.

Message #35 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: 34663 <at> debbugs.gnu.org, stefan <at> marxist.se
Subject: Re: bug#34663: remove ftx font backend
Date: Tue, 07 Jan 2020 17:55:27 +0200
> From: Robert Pluim <rpluim <at> gmail.com>
> Cc: 34663 <at> debbugs.gnu.org,  stefan <at> marxist.se
> Date: Tue, 07 Jan 2020 08:14:48 +0100
> 
>     >> Can we do something similar for XFT (and flip --with-cairo to
>     >> enabled)?
> 
>     Eli> I understand about enabling Cairo, but what exactly are you proposing
>     Eli> to do with XFT?
> 
> Add an entry to NEWS on master that itʼs deprecated and will be
> removed, and add verbiage to configure telling people to install cairo
> development packages if XFT is detected. That means weʼd remove XFT in
> emacs-29.

But removing XFT basically means we are deprecating non-Cairo builds
on X.  Is that really what we want to do?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Tue, 07 Jan 2020 16:00:02 GMT) Full text and rfc822 format available.

Message #38 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34663 <at> debbugs.gnu.org, stefan <at> marxist.se
Subject: Re: bug#34663: remove ftx font backend
Date: Tue, 07 Jan 2020 16:59:41 +0100
>>>>> On Tue, 07 Jan 2020 17:55:27 +0200, Eli Zaretskii <eliz <at> gnu.org> said:

    >> From: Robert Pluim <rpluim <at> gmail.com>
    >> Cc: 34663 <at> debbugs.gnu.org,  stefan <at> marxist.se
    >> Date: Tue, 07 Jan 2020 08:14:48 +0100
    >> 
    >> >> Can we do something similar for XFT (and flip --with-cairo to
    >> >> enabled)?
    >> 
    Eli> I understand about enabling Cairo, but what exactly are you proposing
    Eli> to do with XFT?
    >> 
    >> Add an entry to NEWS on master that itʼs deprecated and will be
    >> removed, and add verbiage to configure telling people to install cairo
    >> development packages if XFT is detected. That means weʼd remove XFT in
    >> emacs-29.

    Eli> But removing XFT basically means we are deprecating non-Cairo builds
    Eli> on X.  Is that really what we want to do?

'we' I donʼt know. 'I' have a very definite opinion :-)

How about I just start by flipping cairo on master?

Robert




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Tue, 07 Jan 2020 16:15:02 GMT) Full text and rfc822 format available.

Message #41 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Robert Pluim <rpluim <at> gmail.com>
Cc: 34663 <at> debbugs.gnu.org, stefan <at> marxist.se
Subject: Re: bug#34663: remove ftx font backend
Date: Tue, 07 Jan 2020 18:14:11 +0200
> From: Robert Pluim <rpluim <at> gmail.com>
> Cc: 34663 <at> debbugs.gnu.org,  stefan <at> marxist.se
> Date: Tue, 07 Jan 2020 16:59:41 +0100
> 
>     >> Add an entry to NEWS on master that itʼs deprecated and will be
>     >> removed, and add verbiage to configure telling people to install cairo
>     >> development packages if XFT is detected. That means weʼd remove XFT in
>     >> emacs-29.
> 
>     Eli> But removing XFT basically means we are deprecating non-Cairo builds
>     Eli> on X.  Is that really what we want to do?
> 
> 'we' I donʼt know. 'I' have a very definite opinion :-)
> 
> How about I just start by flipping cairo on master?

Sure, that's definitely fine.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 08 Jan 2020 10:10:01 GMT) Full text and rfc822 format available.

Message #44 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Glenn Morris <rgm <at> gnu.org>, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 8 Jan 2020 11:09:10 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

> > Now that the emacs-27 branch is cut, perhaps it is time to consider
> > applying this to master?  I have attached a rebased patch.
>
> Yes, but:
>
>   . please add a NEWS entry about ftx's removal (in the "Installation
>     Changes" section)
>   . please add a NEWS entry on the emacs-27 branch saying that this
>     font backend is deprecated and will be removed

Thanks.  Things are a bit busy currently but I hope to find some time
in the next week or two.

Best regards,
Stefan Kangas




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 15 Jan 2020 00:58:02 GMT) Full text and rfc822 format available.

Message #47 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: rgm <at> gnu.org, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 01:57:30 +0100
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Now that the emacs-27 branch is cut, perhaps it is time to consider
>> applying this to master?  I have attached a rebased patch.
>
> Yes, but:
>
>   . please add a NEWS entry about ftx's removal (in the "Installation
>     Changes" section)
>   . please add a NEWS entry on the emacs-27 branch saying that this
>     font backend is deprecated and will be removed

Please find below one patch for the emacs-27 and one for the master
branch with the requested NEWS entries.  WDYT?

Best regards,
Stefan Kangas

[bug-34663-emacs27.patch (text/x-diff, inline)]
From 3ef971cb0e21e51cb9353d52ba93ef0a920aaee6 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefankangas <at> gmail.com>
Date: Wed, 15 Jan 2020 01:38:44 +0100
Subject: [PATCH] Declare the ftx font backend driver obsolete

* etc/NEWS: Document that the ftx font driver is now
obsolete and will be removed in Emacs 28.  (Bug#34663)
---
 etc/NEWS | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/etc/NEWS b/etc/NEWS
index cea5d500c7..9c3070083b 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -150,6 +150,10 @@ builds respectively.
 Pass '--without-modules' to 'configure' to disable dynamic module
 support.
 
+---
+** The ftx font backend driver is obsolete and will be removed in
+Emacs 28.
+
 
 * Startup Changes in Emacs 27.1
 
-- 
2.20.1

[bug-34663-emacs28.patch (text/x-diff, inline)]
From c23802d4f26c4cca6fba383cfd5c0668785bea37 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefankangas <at> gmail.com>
Date: Thu, 2 Jan 2020 08:35:19 +0100
Subject: [PATCH] Remove unused ftx font backend driver

* src/ftxfont.c: Remove file.
* admin/notes/font-backend:
* configure.ac:
* src/Makefile.in:
* src/deps.mk (ftxfont.o):
* src/font.c (syms_of_font):
* src/font.h (top-level, font_property_index):
* src/xfns.c (Fx_create_frame, x_create_tip_frame): Remove unused ftx
font backend driver.  Thanks to Glenn Morris for pointing out that it
can be removed.  (Bug#34663)
---
 admin/notes/font-backend |   2 -
 configure.ac             |   6 +-
 etc/NEWS                 |   4 +
 src/Makefile.in          |   6 +-
 src/deps.mk              |   3 -
 src/font.c               |   1 -
 src/font.h               |   6 +-
 src/ftxfont.c            | 371 ---------------------------------------
 src/xfns.c               |   4 -
 9 files changed, 11 insertions(+), 392 deletions(-)
 delete mode 100644 src/ftxfont.c

diff --git a/admin/notes/font-backend b/admin/notes/font-backend
index 7572182a84..644bacfbef 100644
--- a/admin/notes/font-backend
+++ b/admin/notes/font-backend
@@ -15,8 +15,6 @@ The new files are:
 		device-independent methods of struct font_driver.
 	xftfont.c -- font-driver on X using Xft for FreeType fonts
 		utilizing methods provided by ftfont.c.
-	ftxfont.c -- font-driver on X directly using FreeType fonts
-		utilizing methods provided by ftfont.c.
 	w32font.c -- font driver on w32 using Windows native fonts,
 		corresponding to xfont.c
 	w32uniscribe.c -- font driver on w32, using the uniscribe API
diff --git a/configure.ac b/configure.ac
index 592d745797..3fa031d807 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3372,8 +3372,6 @@ AC_DEFUN
       fi                          # "$HAVE_XFT" != no
     fi                            # "x${with_xft}" != "xno"
 
-    ## We used to allow building with FreeType and without Xft.
-    ## However, the ftx font backend driver is not in good shape.
     if test "$HAVE_XFT" != "yes"; then
        dnl For the "Does Emacs use" message at the end.
        HAVE_XFT=no
@@ -5280,9 +5278,9 @@ AC_DEFUN
   if test "$HAVE_CAIRO" = "yes"; then
     FONT_OBJ="$FONT_OBJ ftfont.o ftcrfont.o"
   elif test "$HAVE_XFT" = "yes"; then
-    FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o ftxfont.o"
+    FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o"
   elif test "$HAVE_FREETYPE" = "yes"; then
-    FONT_OBJ="$FONT_OBJ ftfont.o ftxfont.o"
+    FONT_OBJ="$FONT_OBJ ftfont.o"
   fi
 fi
 if test "${HAVE_HARFBUZZ}" = "yes" ; then
diff --git a/etc/NEWS b/etc/NEWS
index d5a1d27267..0e43c321d8 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -28,6 +28,10 @@ applies, and please also update docstrings as needed.
 '--with-cairo' is now the default, if the appropriate development files
 are found by 'configure'
 
+---
+** The ftx font backend driver has been removed.
+It was declared obsolete in Emacs 27.1.
+
 
 * Startup Changes in Emacs 28.1
 
diff --git a/src/Makefile.in b/src/Makefile.in
index ab63b92627..552dd2e50a 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -295,8 +295,8 @@ EMACSRES =
 W32_RES_LINK=@W32_RES_LINK@
 
 ## Empty if !HAVE_X_WINDOWS
-## xfont.o ftfont.o xftfont.o ftxfont.o if HAVE_XFT
-## xfont.o ftfont.o ftxfont.o if HAVE_FREETYPE
+## xfont.o ftfont.o xftfont.o if HAVE_XFT
+## xfont.o ftfont.o if HAVE_FREETYPE
 ## xfont.o ftfont.o ftcrfont.o if USE_CAIRO
 ## else xfont.o
 ## if HAVE_HARFBUZZ, hbfont.o is added regardless of the rest
@@ -436,7 +436,7 @@ SOME_MACHINE_OBJECTS =
   nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o macfont.o \
   w32.o w32console.o w32cygwinx.o w32fns.o w32heap.o w32inevt.o w32notify.o \
   w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \
-  w16select.o widget.o xfont.o ftfont.o xftfont.o ftxfont.o gtkutil.o \
+  w16select.o widget.o xfont.o ftfont.o xftfont.o gtkutil.o \
   xsettings.o xgselect.o termcap.o hbfont.o
 
 ## gmalloc.o if !SYSTEM_MALLOC && !DOUG_LEA_MALLOC, else empty.
diff --git a/src/deps.mk b/src/deps.mk
index a7e1b55917..4d162eeb0f 100644
--- a/src/deps.mk
+++ b/src/deps.mk
@@ -239,9 +239,6 @@ xfont.o:
 xftfont.o: xftfont.c dispextern.h xterm.h frame.h blockinput.h character.h \
    charset.h font.h lisp.h globals.h $(config_h) atimer.h systime.h \
    fontset.h ccl.h ftfont.h composite.h
-ftxfont.o: ftxfont.c dispextern.h xterm.h frame.h blockinput.h character.h \
-   charset.h font.h lisp.h globals.h $(config_h) atimer.h systime.h \
-   fontset.h ccl.h
 menu.o: menu.c lisp.h keyboard.h keymap.h frame.h termhooks.h blockinput.h \
    dispextern.h $(srcdir)/../lwlib/lwlib.h xterm.h gtkutil.h menu.h \
    lisp.h globals.h $(config_h) systime.h coding.h composite.h window.h \
diff --git a/src/font.c b/src/font.c
index 2b90903c90..bb39aef92d 100644
--- a/src/font.c
+++ b/src/font.c
@@ -5545,7 +5545,6 @@ syms_of_font (void)
 #ifdef USE_CAIRO
   syms_of_ftcrfont ();
 #else
-  syms_of_ftxfont ();
 #ifdef HAVE_XFT
   syms_of_xftfont ();
 #endif  /* HAVE_XFT */
diff --git a/src/font.h b/src/font.h
index 633d92709c..0561e3c83f 100644
--- a/src/font.h
+++ b/src/font.h
@@ -69,8 +69,8 @@ #define EMACS_FONT_H
 
 enum font_property_index
   {
-    /* FONT-TYPE is a symbol indicating a font backend; currently `x',
-       `xft', and `ftx' are available on X, `uniscribe' and `gdi' on
+    /* FONT-TYPE is a symbol indicating a font backend; currently `x'
+       and `xft' are available on X, `uniscribe' and `gdi' on
        Windows, and `ns' under Cocoa / GNUstep.  */
     FONT_TYPE_INDEX,
 
@@ -938,7 +938,6 @@ valid_font_driver (struct font_driver const *d)
 extern struct font_driver const xfont_driver;
 extern Lisp_Object xfont_get_cache (struct frame *);
 extern void syms_of_xfont (void);
-extern void syms_of_ftxfont (void);
 #ifdef HAVE_XFT
 extern struct font_driver const xftfont_driver;
 #ifdef HAVE_HARFBUZZ
@@ -946,7 +945,6 @@ valid_font_driver (struct font_driver const *d)
 #endif	/* HAVE_HARFBUZZ */
 #endif
 #if defined HAVE_FREETYPE || defined HAVE_XFT
-extern struct font_driver const ftxfont_driver;
 extern void syms_of_xftfont (void);
 #endif
 #ifdef HAVE_BDFFONT
diff --git a/src/ftxfont.c b/src/ftxfont.c
deleted file mode 100644
index 9bbb2c064c..0000000000
--- a/src/ftxfont.c
+++ /dev/null
@@ -1,371 +0,0 @@
-/* ftxfont.c -- FreeType font driver on X (without using XFT).
-   Copyright (C) 2006-2020 Free Software Foundation, Inc.
-   Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011
-     National Institute of Advanced Industrial Science and Technology (AIST)
-     Registration Number H13PRO009
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or (at
-your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.  */
-
-#include <config.h>
-#include <X11/Xlib.h>
-
-#include "lisp.h"
-#include "xterm.h"
-#include "frame.h"
-#include "blockinput.h"
-#include "font.h"
-#include "pdumper.h"
-
-/* FTX font driver.  */
-
-struct ftxfont_frame_data
-{
-  /* Background and foreground colors.  */
-  XColor colors[2];
-  /* GCs interpolating the above colors.  gcs[0] is for a color
-   closest to BACKGROUND, and gcs[5] is for a color closest to
-   FOREGROUND.  */
-  GC gcs[6];
-  struct ftxfont_frame_data *next;
-};
-
-
-/* Return an array of 6 GCs for antialiasing.  */
-
-static GC *
-ftxfont_get_gcs (struct frame *f, unsigned long foreground, unsigned long background)
-{
-  XColor color;
-  XGCValues xgcv;
-  int i;
-  struct ftxfont_frame_data *data = font_get_frame_data (f, Qftx);
-  struct ftxfont_frame_data *prev = NULL, *this = NULL, *new;
-
-  if (data)
-    {
-      for (this = data; this; prev = this, this = this->next)
-	{
-	  if (this->colors[0].pixel < background)
-	    continue;
-	  if (this->colors[0].pixel > background)
-	    break;
-	  if (this->colors[1].pixel < foreground)
-	    continue;
-	  if (this->colors[1].pixel > foreground)
-	    break;
-	  return this->gcs;
-	}
-    }
-
-  new = xmalloc (sizeof *new);
-  new->next = this;
-  if (prev)
-      prev->next = new;
-  font_put_frame_data (f, Qftx, new);
-
-  new->colors[0].pixel = background;
-  new->colors[1].pixel = foreground;
-
-  block_input ();
-  XQueryColors (FRAME_X_DISPLAY (f), FRAME_X_COLORMAP (f), new->colors, 2);
-  for (i = 1; i < 7; i++)
-    {
-      /* Interpolate colors linearly.  Any better algorithm?  */
-      color.red
-	= (new->colors[1].red * i + new->colors[0].red * (8 - i)) / 8;
-      color.green
-	= (new->colors[1].green * i + new->colors[0].green * (8 - i)) / 8;
-      color.blue
-	= (new->colors[1].blue * i + new->colors[0].blue * (8 - i)) / 8;
-      if (! x_alloc_nearest_color (f, FRAME_X_COLORMAP (f), &color))
-	break;
-      xgcv.foreground = color.pixel;
-      new->gcs[i - 1] = XCreateGC (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
-				   GCForeground, &xgcv);
-    }
-  unblock_input ();
-
-  if (i < 7)
-    {
-      block_input ();
-      for (i--; i >= 0; i--)
-	XFreeGC (FRAME_X_DISPLAY (f), new->gcs[i]);
-      unblock_input ();
-      if (prev)
-	prev->next = new->next;
-      else if (data)
-	font_put_frame_data (f, Qftx, new->next);
-      xfree (new);
-      return NULL;
-    }
-  return new->gcs;
-}
-
-static int
-ftxfont_draw_bitmap (struct frame *f, GC gc_fore, GC *gcs, struct font *font,
-                     unsigned int code, int x, int y, XPoint *p, int size,
-                     int *n, bool flush)
-{
-  struct font_bitmap bitmap;
-  unsigned char *b;
-  int i, j;
-
-  if (ftfont_get_bitmap (font, code, &bitmap, size > 0x100 ? 1 : 8) < 0)
-    return 0;
-  if (size > 0x100)
-    {
-      for (i = 0, b = bitmap.buffer; i < bitmap.rows;
-	   i++, b += bitmap.pitch)
-	{
-	  for (j = 0; j < bitmap.width; j++)
-	    if (b[j / 8] & (1 << (7 - (j % 8))))
-	      {
-		p[n[0]].x = x + bitmap.left + j;
-		p[n[0]].y = y - bitmap.top + i;
-		if (++n[0] == size)
-		  {
-                    XDrawPoints (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
-				 gc_fore, p, size, CoordModeOrigin);
-		    n[0] = 0;
-		  }
-	      }
-	}
-      if (flush && n[0] > 0)
-        XDrawPoints (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
-		     gc_fore, p, n[0], CoordModeOrigin);
-    }
-  else
-    {
-      for (i = 0, b = bitmap.buffer; i < bitmap.rows;
-	   i++, b += bitmap.pitch)
-	{
-	  for (j = 0; j < bitmap.width; j++)
-	    {
-	      int idx = (bitmap.bits_per_pixel == 1
-			 ? ((b[j / 8] & (1 << (7 - (j % 8)))) ? 6 : -1)
-			 : (b[j] >> 5) - 1);
-
-	      if (idx >= 0)
-		{
-		  XPoint *pp = p + size * idx;
-
-		  pp[n[idx]].x = x + bitmap.left + j;
-		  pp[n[idx]].y = y - bitmap.top + i;
-		  if (++(n[idx]) == size)
-		    {
-                      XDrawPoints (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
-				   idx == 6 ? gc_fore : gcs[idx], pp, size,
-				   CoordModeOrigin);
-		      n[idx] = 0;
-		    }
-		}
-	    }
-	}
-      if (flush)
-	{
-	  for (i = 0; i < 6; i++)
-	    if (n[i] > 0)
-              XDrawPoints (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
-			   gcs[i], p + 0x100 * i, n[i], CoordModeOrigin);
-	  if (n[6] > 0)
-            XDrawPoints (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f),
-			 gc_fore, p + 0x600, n[6], CoordModeOrigin);
-	}
-    }
-
-  /* There is no ftfont_free_bitmap, so do not try to free BITMAP.  */
-
-  return bitmap.advance;
-}
-
-static void
-ftxfont_draw_background (struct frame *f, struct font *font, GC gc, int x, int y,
-			 int width)
-{
-  XGCValues xgcv;
-
-  XGetGCValues (FRAME_X_DISPLAY (f), gc,
-		GCForeground | GCBackground, &xgcv);
-  XSetForeground (FRAME_X_DISPLAY (f), gc, xgcv.background);
-  XFillRectangle (FRAME_X_DISPLAY (f), FRAME_X_DRAWABLE (f), gc,
-		  x, y - FONT_BASE (font), width, FONT_HEIGHT (font));
-  XSetForeground (FRAME_X_DISPLAY (f), gc, xgcv.foreground);
-}
-
-static Lisp_Object
-ftxfont_list (struct frame *f, Lisp_Object spec)
-{
-  return ftfont_list2 (f, spec, Qftx);
-}
-
-static Lisp_Object
-ftxfont_match (struct frame *f, Lisp_Object spec)
-{
-  return ftfont_match2 (f, spec, Qftx);
-}
-
-static Lisp_Object
-ftxfont_open (struct frame *f, Lisp_Object entity, int pixel_size)
-{
-  Lisp_Object font_object = ftfont_open (f, entity, pixel_size);
-  if (NILP (font_object))
-    return Qnil;
-  struct font *font = XFONT_OBJECT (font_object);
-  font->driver = &ftxfont_driver;
-  return font_object;
-}
-
-static void
-ftxfont_close (struct font *font)
-{
-  ftfont_close (font);
-}
-
-static int
-ftxfont_draw (struct glyph_string *s, int from, int to, int x, int y,
-              bool with_background)
-{
-  struct frame *f = s->f;
-  struct face *face = s->face;
-  struct font *font = s->font;
-  XPoint p[0x700];
-  int n[7];
-  unsigned *code = s->char2b + from;
-  int len = to - from;
-  int i;
-  GC *gcs;
-  int xadvance;
-
-  n[0] = n[1] = n[2] = n[3] = n[4] = n[5] = n[6] = 0;
-
-  block_input ();
-  if (with_background)
-    ftxfont_draw_background (f, font, s->gc, x, y, s->width);
-
-  if (face->gc == s->gc)
-    {
-      gcs = ftxfont_get_gcs (f, face->foreground, face->background);
-    }
-  else
-    {
-      XGCValues xgcv;
-      unsigned long mask = GCForeground | GCBackground;
-
-      XGetGCValues (FRAME_X_DISPLAY (f), s->gc, mask, &xgcv);
-      gcs = ftxfont_get_gcs (f, xgcv.foreground, xgcv.background);
-    }
-
-  if (gcs)
-    {
-      if (s->num_clips)
-	for (i = 0; i < 6; i++)
-	  XSetClipRectangles (FRAME_X_DISPLAY (f), gcs[i], 0, 0,
-			      s->clip, s->num_clips, Unsorted);
-
-      for (i = 0; i < len; i++)
-	{
-	  xadvance = ftxfont_draw_bitmap (f, s->gc, gcs, font, code[i], x, y,
-					  p, 0x100, n, i + 1 == len);
-	  x += (s->padding_p ? 1 : xadvance);
-	}
-      if (s->num_clips)
-	for (i = 0; i < 6; i++)
-	  XSetClipMask (FRAME_X_DISPLAY (f), gcs[i], None);
-    }
-  else
-    {
-      /* We can't draw with antialiasing.
-	 s->gc should already have a proper clipping setting. */
-      for (i = 0; i < len; i++)
-	{
-	  xadvance = ftxfont_draw_bitmap (f, s->gc, NULL, font, code[i], x, y,
-					  p, 0x700, n, i + 1 == len);
-	  x += (s->padding_p ? 1 : xadvance);
-	}
-    }
-
-  unblock_input ();
-
-  return len;
-}
-
-static int
-ftxfont_end_for_frame (struct frame *f)
-{
-  struct ftxfont_frame_data *data = font_get_frame_data (f, Qftx);
-
-  block_input ();
-  while (data)
-    {
-      struct ftxfont_frame_data *next = data->next;
-      int i;
-
-      for (i = 0; i < 6; i++)
-	XFreeGC (FRAME_X_DISPLAY (f), data->gcs[i]);
-      xfree (data);
-      data = next;
-    }
-  unblock_input ();
-  font_put_frame_data (f, Qftx, NULL);
-  return 0;
-}
-
-
-
-static void syms_of_ftxfont_for_pdumper (void);
-
-struct font_driver const ftxfont_driver =
-  {
-  /* We can't draw a text without device dependent functions.  */
-  .type = LISPSYM_INITIALLY (Qftx),
-  .get_cache = ftfont_get_cache,
-  .list = ftxfont_list,
-  .match = ftxfont_match,
-  .list_family = ftfont_list_family,
-  .open_font = ftxfont_open,
-  .close_font = ftxfont_close,
-  .has_char = ftfont_has_char,
-  .encode_char = ftfont_encode_char,
-  .text_extents = ftfont_text_extents,
-  .draw = ftxfont_draw,
-  .get_bitmap = ftfont_get_bitmap,
-  .anchor_point = ftfont_anchor_point,
-#ifdef HAVE_LIBOTF
-  .otf_capability = ftfont_otf_capability,
-#endif
-  .end_for_frame = ftxfont_end_for_frame,
-#if defined HAVE_M17N_FLT && defined HAVE_LIBOTF
-  .shape = ftfont_shape,
-#endif
-#if defined HAVE_OTF_GET_VARIATION_GLYPHS || defined HAVE_FT_FACE_GETCHARVARIANTINDEX
-  .get_variation_glyphs = ftfont_variation_glyphs,
-#endif
-  .filter_properties = ftfont_filter_properties,
-  .combining_capability = ftfont_combining_capability,
-  };
-
-void
-syms_of_ftxfont (void)
-{
-  DEFSYM (Qftx, "ftx");
-  pdumper_do_now_and_after_load (syms_of_ftxfont_for_pdumper);
-}
-
-static void
-syms_of_ftxfont_for_pdumper (void)
-{
-  register_font_driver (&ftxfont_driver, NULL);
-}
diff --git a/src/xfns.c b/src/xfns.c
index 276ea1c393..5758bb7a18 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3878,8 +3878,6 @@ DEFUN ("x-create-frame", Fx_create_frame, Sx_create_frame,
 #ifdef HAVE_HARFBUZZ
   register_font_driver (&xfthbfont_driver, f);
 #endif
-#else	/* not HAVE_XFT */
-  register_font_driver (&ftxfont_driver, f);
 #endif	/* not HAVE_XFT */
 #endif	/* HAVE_FREETYPE */
 #endif	/* not USE_CAIRO */
@@ -6364,8 +6362,6 @@ x_create_tip_frame (struct x_display_info *dpyinfo, Lisp_Object parms)
 #ifdef HAVE_HARFBUZZ
   register_font_driver (&xfthbfont_driver, f);
 #endif
-#else	/* not HAVE_XFT */
-  register_font_driver (&ftxfont_driver, f);
 #endif	/* not HAVE_XFT */
 #endif	/* HAVE_FREETYPE */
 #endif	/* not USE_CAIRO */
-- 
2.20.1


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 15 Jan 2020 08:14:02 GMT) Full text and rfc822 format available.

Message #50 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Robert Pluim <rpluim <at> gmail.com>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 09:12:57 +0100
>>>>> On Wed, 15 Jan 2020 01:57:30 +0100, Stefan Kangas <stefan <at> marxist.se> said:

    Stefan> Eli Zaretskii <eliz <at> gnu.org> writes:
    >>> Now that the emacs-27 branch is cut, perhaps it is time to consider
    >>> applying this to master?  I have attached a rebased patch.
    >> 
    >> Yes, but:
    >> 
    >> . please add a NEWS entry about ftx's removal (in the "Installation
    >> Changes" section)
    >> . please add a NEWS entry on the emacs-27 branch saying that this
    >> font backend is deprecated and will be removed

    Stefan> Please find below one patch for the emacs-27 and one for the master
    Stefan> branch with the requested NEWS entries.  WDYT?

LGTM. (and thanks. Any reduction in complexity in that section of the
code is welcome.)

Robert




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 15 Jan 2020 16:17:01 GMT) Full text and rfc822 format available.

Message #53 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: rgm <at> gnu.org, 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 18:16:20 +0200
> From: Stefan Kangas <stefan <at> marxist.se>
> Cc: rgm <at> gnu.org,  34663 <at> debbugs.gnu.org
> Date: Wed, 15 Jan 2020 01:57:30 +0100
> 
> Please find below one patch for the emacs-27 and one for the master
> branch with the requested NEWS entries.  WDYT?

LGTM, thanks.

> +** The ftx font backend driver is obsolete and will be removed in
> +Emacs 28.                      ^^^^^^^^^^^

"is now obsolete"




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 15 Jan 2020 17:25:01 GMT) Full text and rfc822 format available.

Message #56 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: stefan <at> marxist.se
Cc: 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 19:24:18 +0200
Btw, I think we should remove admin/notes/font-backend instead of
continuing its maintenance.  It is already outdated, and I don't
really see how it could be useful even if we update it to mention
HarfBuzz etc.




Reply sent to Stefan Kangas <stefan <at> marxist.se>:
You have taken responsibility. (Wed, 15 Jan 2020 19:00:02 GMT) Full text and rfc822 format available.

Notification sent to Glenn Morris <rgm <at> gnu.org>:
bug acknowledged by developer. (Wed, 15 Jan 2020 19:00:02 GMT) Full text and rfc822 format available.

Message #61 received at 34663-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: rgm <at> gnu.org, 34663-done <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 19:59:27 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Please find below one patch for the emacs-27 and one for the master
>> branch with the requested NEWS entries.  WDYT?
>
> LGTM, thanks.
>
>> +** The ftx font backend driver is obsolete and will be removed in
>> +Emacs 28.                      ^^^^^^^^^^^
>
> "is now obsolete"

Thanks, fixed the above and pushed both patches.

Best regards,
Stefan Kangas




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 15 Jan 2020 19:07:02 GMT) Full text and rfc822 format available.

Message #64 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 20:06:21 +0100
[Message part 1 (text/plain, inline)]
Eli Zaretskii <eliz <at> gnu.org> writes:

> Btw, I think we should remove admin/notes/font-backend instead of
> continuing its maintenance.  It is already outdated, and I don't
> really see how it could be useful even if we update it to mention
> HarfBuzz etc.

OK.  I've attached a patch.

Do you want this installed on master or the release branch?

Best regards,
Stefan Kangas

[0001-admin-notes-font-backend-Remove-outdated-file.-Bug-3.patch (text/x-diff, inline)]
From 29c96f8ace3bf07d5c1b64f544069b773104edd3 Mon Sep 17 00:00:00 2001
From: Stefan Kangas <stefankangas <at> gmail.com>
Date: Wed, 15 Jan 2020 20:01:25 +0100
Subject: [PATCH] * admin/notes/font-backend: Remove outdated file. 
 (Bug#34663)

---
 admin/notes/font-backend | 67 ----------------------------------------
 1 file changed, 67 deletions(-)
 delete mode 100644 admin/notes/font-backend

diff --git a/admin/notes/font-backend b/admin/notes/font-backend
deleted file mode 100644
index 644bacfbef..0000000000
--- a/admin/notes/font-backend
+++ /dev/null
@@ -1,67 +0,0 @@
-Copyright (C) 2002-2020 Free Software Foundation, Inc.
-See the end of the file for license conditions.
-
-
-New font handling mechanism with font backend method
-----------------------------------------------------
-
-The new files are:
-	font.h -- header providing font-backend related structures
-		(most important ones are "struct font" and "struct
-		font_driver"), macros, and etc.
-	font.c -- main font handling code.
-	xfont.c -- font-driver on X for X core fonts.
-	ftfont.c -- generic font-driver for FreeType fonts providing
-		device-independent methods of struct font_driver.
-	xftfont.c -- font-driver on X using Xft for FreeType fonts
-		utilizing methods provided by ftfont.c.
-	w32font.c -- font driver on w32 using Windows native fonts,
-		corresponding to xfont.c
-	w32uniscribe.c -- font driver on w32, using the uniscribe API
-	        to provide complex script support for opentype fonts on
-		Windows 2000 and later, or earlier versions of Windows
-		with uniscribe installed as an add-on.
-
-So we already have codes for X and w32.  For Mac it seems that we need
-these files:
-	atmfont.c -- font-driver on mac using ATM fonts, corresponding
-		to xfont.c
-As BDF fonts are currently used on w32, we may also implement these:
-	bdffont.c -- generic font-driver for BDF fonts, corresponding to
-		ftfont.c
-	bdfw32font.c -- font-driver on w32 using BDF fonts,
-		corresponding to ftxfont.c
-But, as FreeType already supports BDF fonts, if FreeType and
-Fontconfig are also available on w32, what we need may be:
-	ftw32font.c -- font-driver on w32 directly using FreeType fonts
-		utilizing methods provided by ftfont.c.
-
-It may be interesting if Emacs supports a frame buffer directly and
-has these font driver.
-	ftfbfont.c -- font-driver on FB for FreeType fonts.
-	bdffbfont.c -- font-driver on FB for BDF fonts.
-
-Note: The fontset related codes are not yet matured to work well with
-the font backend method.  So, for instance, even if you start Emacs
-as something like this:
-  % emacs -fn tahoma
-Non-ASCII Latin characters will not be displayed by the font "tahoma".
-In such a case, please try this:
-
-(set-fontset-font "fontset-default" 'latin '("tahoma" . "unicode-bmp"))
-
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
-- 
2.20.1


Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 15 Jan 2020 19:24:02 GMT) Full text and rfc822 format available.

Message #67 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Stefan Kangas <stefan <at> marxist.se>
Cc: 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 21:23:11 +0200
> From: Stefan Kangas <stefan <at> marxist.se>
> Cc: 34663 <at> debbugs.gnu.org
> Date: Wed, 15 Jan 2020 20:06:21 +0100
> 
> > Btw, I think we should remove admin/notes/font-backend instead of
> > continuing its maintenance.  It is already outdated, and I don't
> > really see how it could be useful even if we update it to mention
> > HarfBuzz etc.
> 
> OK.  I've attached a patch.
> 
> Do you want this installed on master or the release branch?

The latter.  Thanks.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#34663; Package emacs. (Wed, 15 Jan 2020 19:58:01 GMT) Full text and rfc822 format available.

Message #70 received at 34663 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Kangas <stefan <at> marxist.se>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 34663 <at> debbugs.gnu.org
Subject: Re: bug#34663: remove ftx font backend
Date: Wed, 15 Jan 2020 20:57:42 +0100
Eli Zaretskii <eliz <at> gnu.org> writes:

>> Do you want this installed on master or the release branch?
>
> The latter.  Thanks.

Thanks, pushed.

Best regards,
Stefan Kangas




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 13 Feb 2020 12:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 67 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.