From unknown Fri Sep 19 21:15:48 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#2667 <2667@debbugs.gnu.org> To: bug#2667 <2667@debbugs.gnu.org> Subject: Status: 23.0.91; Inconsistent fonts Reply-To: bug#2667 <2667@debbugs.gnu.org> Date: Sat, 20 Sep 2025 04:15:48 +0000 retitle 2667 23.0.91; Inconsistent fonts reassign 2667 emacs submitter 2667 David Kastrup severity 2667 serious thanks From dak@gnu.org Fri Mar 13 14:29:40 2009 Received: (at submit) by emacsbugs.donarmstrong.com; 13 Mar 2009 21:29:40 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=0.1 required=4.0 tests=FOURLA autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from fencepost.gnu.org (fencepost.gnu.org [140.186.70.10]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n2DLTaVb001265 for ; Fri, 13 Mar 2009 14:29:37 -0700 Received: from localhost ([127.0.0.1]:35017 helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.67) (envelope-from ) id 1LiEwi-0000WU-04 for emacs-pretest-bug@gnu.org; Fri, 13 Mar 2009 17:29:36 -0400 Received: by lola.goethe.zz (Postfix, from userid 1002) id 5FC9B1CEE4E0; Fri, 13 Mar 2009 22:28:05 +0100 (CET) From: David Kastrup To: emacs-pretest-bug@gnu.org Subject: 23.0.91; Inconsistent fonts Date: Fri, 13 Mar 2009 22:28:05 +0100 Message-ID: <85r6115d0a.fsf@lola.goethe.zz> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Please write in English if possible, because the Emacs maintainers usually do not have translators to read other languages for them. Your bug report will be posted to the emacs-pretest-bug@gnu.org mailing lis= t. Please describe exactly what actions triggered the bug and the precise symptoms of the bug: If I write something like "Sch=C3=A4tzchen" after selecting a Unicode-capab= le font in the font menu (in this case LMSans12), I get on the S character: S (83, #o123, #x53) preferred charset: ascii (ASCII (ISO646 IRV)) code point: 0x53 syntax: w which means: word category: .:Base, a:ASCII, l:Latin, r:Roman buffer code: #x53 file code: #x53 (encoded by coding system utf-8-emacs-unix) display: by this font (glyph code) xft:-unknown-LMSans12-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#= x10C) Character code properties: customize what to show name: LATIN CAPITAL LETTER S general-category: Lu (Letter, Uppercase) There are text properties here: fontified t [back] But on the =C3=A4 I get character: =C3=A4 (228, #o344, #xe4) preferred charset: unicode (Unicode (ISO10646)) code point: 0xE4 syntax: w which means: word category: .:Base, j:Japanese, l:Latin buffer code: #xC3 #xA4 file code: #xC3 #xA4 (encoded by coding system utf-8-emacs-unix) display: by this font (glyph code) x:-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 (#xE4) Character code properties: customize what to show name: LATIN SMALL LETTER A WITH DIAERESIS old-name: LATIN SMALL LETTER A DIAERESIS general-category: Ll (Letter, Lowercase) decomposition: (97 776) ('a' '=CC=88') There are text properties here: fontified t [back] What is wrong here? Why does it not use the LM font? If Emacs crashed, and you have the Emacs process in the gdb debugger, please include the output from the following gdb commands: `bt full' and `xbacktrace'. If you would like to further debug the crash, please read the file /usr/local/emacs-21/share/emacs/23.0.91/etc/DEBUG for instructions. In GNU Emacs 23.0.91.1 (i686-pc-linux-gnu, GTK+ Version 2.14.4) of 2009-03-13 on lola Windowing system distributor `The X.Org Foundation', version 11.0.10502000 configured using `configure 'CFLAGS=3D-g -O2 -fno-crossjumping' '--prefix= =3D/usr/local/emacs-21' '--without-toolkit-scroll-bars'' Important settings: value of $LC_ALL: nil value of $LC_COLLATE: nil value of $LC_CTYPE: nil value of $LC_MESSAGES: nil value of $LC_MONETARY: nil value of $LC_NUMERIC: nil value of $LC_TIME: nil value of $LANG: en_US.UTF-8 value of $XMODIFIERS: nil locale-coding-system: utf-8-unix default-enable-multibyte-characters: t Major mode: Message Minor modes in effect: buffer-face-mode: t shell-dirtrack-mode: t mml-mode: t gnus-message-citation-mode: t TeX-PDF-mode: t desktop-save-mode: t minibuffer-electric-default-mode: t tooltip-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t global-auto-composition-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t Recent input: h SPC a u c h SPC i m SPC P r o i v =20 i v a t l e b e n SPC r e c h t SPC e r=20 f o l g r e i c h SPC d u r c h g e z o=20 g e n . M-q C-k C-k C-k M-q u SPC g l a u b s=20 t SPC g a r SPC n i c h t , SPC w i e v i e l e SPC=20 SPC A u f w a n f =20 d SPC m a n SPC s i c h SPC s p a r e n SPC k a n n=20 , SPC w e n n SPC m a n SPC E r o b e r u n g e n SPC=20 s c h o n SPC i m SPC K e i m SPC a b s c h =C3=BC t t e=20 l t . M-q M-q C-e =20 C-e =20 =20 =20 =20 M-q C-e M-q =20 =20 =20 =20 =20 C-u=20 C-x =3D C-u C-x =3D M-x e m a c s - r e [ p =20 p o =20 b u =20 C-a r e p o r t - C-e - b u Recent messages: Generating summary...done call-interactively: Beginning of buffer Mark set [2 times] Auto-saving...done Auto-saving...done Auto-saving...done Buffer-Face mode enabled Type C-x 1 to delete the help window, C-M-v to scroll help. Char: h (104, #o150, #x68) point=3D1549 of 2036 (76%) <791-2037> column=3D2 Char: =C3=A4 (228, #o344, #xe4, file ...) point=3D1550 of 2036 (76%) <791-2= 037> column=3D3 --=20 David Kastrup From handa@m17n.org Tue Mar 17 00:39:41 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 17 Mar 2009 07:39:41 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=FOURLA,HAS_BUG_NUMBER, IMPRONONCABLE_2 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mx1.aist.go.jp (mx1.aist.go.jp [150.29.246.133]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n2H7dbNu011012 for <2667@emacsbugs.donarmstrong.com>; Tue, 17 Mar 2009 00:39:39 -0700 Received: from rqsmtp1.aist.go.jp (rqsmtp1.aist.go.jp [150.29.254.115]) by mx1.aist.go.jp with ESMTP id n2H7dafc018634; Tue, 17 Mar 2009 16:39:36 +0900 (JST) env-from (handa@m17n.org) Received: from smtp3.aist.go.jp by rqsmtp1.aist.go.jp with ESMTP id n2H7dabJ009685; Tue, 17 Mar 2009 16:39:36 +0900 (JST) env-from (handa@m17n.org) Received: by smtp3.aist.go.jp with ESMTP id n2H7dZxF020110; Tue, 17 Mar 2009 16:39:35 +0900 (JST) env-from (handa@m17n.org) Received: from handa by etlken with local (Exim 4.69) (envelope-from ) id 1LjTu0-0005hF-S3; Tue, 17 Mar 2009 16:39:56 +0900 From: Kenichi Handa To: David Kastrup , 2667@debbugs.gnu.org In-reply-to: <85r6115d0a.fsf@lola.goethe.zz> (message from David Kastrup on Fri, 13 Mar 2009 22:28:05 +0100) Subject: Re: bug#2667: 23.0.91; Inconsistent fonts References: <85r6115d0a.fsf@lola.goethe.zz> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-Id: Date: Tue, 17 Mar 2009 16:39:56 +0900 In article <85r6115d0a.fsf@lola.goethe.zz>, David Kastrup writes: > If I write something like "Schätzchen" after selecting a Unicode-capable > font in the font menu (in this case LMSans12), I get on the S > character: S (83, #o123, #x53) [...] > xft:-unknown-LMSans12-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x10C) [...] > But on the ä I get > character: ä (228, #o344, #xe4) [...] > x:-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 (#xE4) [...] > What is wrong here? Why does it not use the LM font? I can't reproduce it with the latest code. Please show me the result of this: % emacs -Q M-x set-default-font RET lmsans12 RET ESC : (setq font-log nil) RET ESC : (insert "Schätzchen") RET M-x font-show-log RET What I get in *Help* buffer is this: ---------------------------------------------------------------------- font for: (228) list: -unknown-LMSans12-*-iso10646-1 -unknown-LMSans12-normal-oblique-normal-*-0-iso10646-1 -unknown-LMSans12-normal-normal-normal-*-0-iso10646-1 sort-by: -*-normal-normal-normal-*-17-* xft:-unknown-LMSans12-normal-normal-normal-*-0-iso10646-1 font for: (228) list: -unknown-LMSans12-normal-*-normal-*-0-iso10646-1 -unknown-LMSans12-normal-normal-normal-*-0-iso10646-1 -unknown-LMSans12-normal-oblique-normal-*-0-iso10646-1 sort-by: -*-normal-italic-normal-*-17-* xft:-unknown-LMSans12-normal-oblique-normal-*-0-iso10646-1 open: -unknown-LMSans12-normal-oblique-normal-*-0-iso10646-1 xft:-unknown-LMSans12-normal-oblique-normal-*-17-*-0-iso10646-1 ---------------------------------------------------------------------- --- Kenichi Handa handa@m17n.org From monnier@iro.umontreal.ca Tue May 5 21:17:40 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 6 May 2009 04:17:40 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-0.9 required=4.0 tests=AWL,FOURLA,MDO_DATING2, XIRONPORT autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from ironport2-out.teksavvy.com (ironport2-out.pppoe.ca [206.248.154.182]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n464HTmP023922 for <2667@emacsbugs.donarmstrong.com>; Tue, 5 May 2009 21:17:30 -0700 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArUFAKSrAErO+IYe/2dsb2JhbACBUM1DhAEFhU4 X-IronPort-AV: E=Sophos;i="4.40,301,1238990400"; d="scan'208";a="38052667" Received: from 206-248-134-30.dsl.teksavvy.com (HELO ceviche.home) ([206.248.134.30]) by ironport2-out.teksavvy.com with ESMTP; 06 May 2009 00:17:23 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 4E159B523F; Wed, 6 May 2009 00:17:23 -0400 (EDT) From: Stefan Monnier To: 2667@debbugs.gnu.org Subject: Still seeing inconsistent fonts Message-ID: Date: Wed, 06 May 2009 00:17:23 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii I also noticed recently that my fonts are inconsistent: when writing math symbols (mostly greek letters), I notice that they do not use my misc-fixed font but "DejaVu Sans" instead. E.g.: > xrdb -remove; rm ~/.Xdefaults > emacs -Q ~/re/papers/comp-deptypes/main.tex M-: (setq font-log nil) RET M-: (set-face-font 'default "-misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-*-*") And now all my latin text uses my beloved misc-fixed: x:-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 (#x3A) but all the math symbols use "DejaVu Sans": xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-13-*-*-*-*-0-iso10646-1 (#xC3E) The output of font-show-log is appended. The same steps with Emacs-22 correctly use the misc-fixed font, of course. Stefan font for: (8322) ftfont-list: -misc-fixed-*--*-iso8859-1 xfont-list: -misc-fixed-*-*-*--*-*-*-*-*-*-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-normal--9-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-normal--9-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-normal--8-*-75-75-c-50-iso8859-1 -misc-fixed-medium-r-normal--8-*-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--7-*-75-75-c-50-iso8859-1 -misc-fixed-medium-r-normal--7-*-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--6-*-75-75-c-40-iso8859-1 -misc-fixed-medium-r-normal--20-*-75-75-c-100-iso8859-1 -misc-fixed-medium-r-normal--20-*-100-100-c-100-iso8859-1 -misc-fixed-medium-r-normal--18-*-100-100-c-90-iso8859-1 -misc-fixed-medium-r-normal--15-*-75-75-c-90-iso8859-1 -misc-fixed-medium-r-normal--15-*-100-100-c-90-iso8859-1 -misc-fixed-medium-r-normal--14-*-75-75-c-70-iso8859-1 -misc-fixed-medium-r-normal--14-*-100-100-c-70-iso8859-1 -misc-fixed-medium-r-normal--13-*-75-75-c-80-iso8859-1 ... list: -misc-fixed-medium-r-semicondensed--*-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 sort-by: -*-unspecified-unspecified-unspecified-*-13-* x:-misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 open: -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 x:-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 list: -misc-fixed-medium-r-semicondensed--*-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 sort-by: -*-normal-normal-normal-*-13-* x:-misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 ftfont-list: -misc-fixed-*--*-c-*-iso8859-1 xfont-list: -misc-fixed-*-*-*--*-*-*-*-c-*-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-normal--9-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-normal--9-*-100-100-c-60-iso8859-1 -misc-fixed-medium-r-normal--8-*-75-75-c-50-iso8859-1 -misc-fixed-medium-r-normal--8-*-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--7-*-75-75-c-50-iso8859-1 -misc-fixed-medium-r-normal--7-*-100-100-c-50-iso8859-1 -misc-fixed-medium-r-normal--6-*-75-75-c-40-iso8859-1 -misc-fixed-medium-r-normal--20-*-75-75-c-100-iso8859-1 -misc-fixed-medium-r-normal--20-*-100-100-c-100-iso8859-1 -misc-fixed-medium-r-normal--18-*-100-100-c-90-iso8859-1 -misc-fixed-medium-r-normal--15-*-75-75-c-90-iso8859-1 -misc-fixed-medium-r-normal--15-*-100-100-c-90-iso8859-1 -misc-fixed-medium-r-normal--14-*-75-75-c-70-iso8859-1 -misc-fixed-medium-r-normal--14-*-100-100-c-70-iso8859-1 -misc-fixed-medium-r-normal--13-*-75-75-c-80-iso8859-1 ... list: -misc-fixed-*-r-semicondensed--*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 -misc-fixed-bold-r-semicondensed--13-*-75-75-c-60-iso8859-1 sort-by: -*-light-r-semicondensed-*-13-* x:-misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 open: -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 x:-misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso8859-1 list: -misc-fixed-*-r-semicondensed--*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 -misc-fixed-bold-r-semicondensed--13-*-75-75-c-60-iso8859-1 sort-by: -*-light-r-semicondensed-*-13-* x:-misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 font for: (8321) ftfont-list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*--*-iso10646-1:script=symbol ftfont-list: -misc-fixed-*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol ftfont-list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol ftfont-list: -*-fixed-*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol ftfont-list: -misc-*--*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol ftfont-list: -misc-*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol ftfont-list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 open: -unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1:script=symbol xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-13-*-0-iso10646-1 font for: (8704) list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 font for: (928) list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 font for: (964) list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 font for: (8614) list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 font for: (8594) list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 font for: (937) list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 font for: (8658) list: -misc-fixed-*--*-iso10646-1:script=symbol list: -misc-fixed-*-iso10646-1:script=symbol list: -*-fixed-*--*-iso10646-1:script=symbol list: -*-fixed-*-iso10646-1:script=symbol list: -misc-*--*-iso10646-1:script=symbol list: -misc-*-iso10646-1:script=symbol list: -*--*-iso10646-1:script=symbol -microsoft-Georgia-normal-italic-normal-*-0-iso10646-1 -monotype-Arial-bold-normal-normal-*-0-iso10646-1 -urw-Nimbus Mono L-normal-normal-normal-*-m-0-iso10646-1 -unknown-DejaVu Serif-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-normal-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-normal-italic-normal-*-0-iso10646-1 -unknown-Liberation Sans-normal-normal-normal-*-0-iso10646-1 -bitstream-Courier 10 Pitch-normal-italic-normal-*-m-0-iso10646-1 -monotype-Andale Mono-normal-normal-normal-*-m-0-iso10646-1 -urw-URW Bookman L-normal-italic-normal-*-0-iso10646-1 -microsoft-Verdana-bold-italic-normal-*-0-iso10646-1 -unknown-DejaVu Serif-normal-italic-normal-*-0-iso10646-1 -urw-Nimbus Sans L-normal-normal-normal-*-0-iso10646-1 -microsoft-Trebuchet MS-bold-italic-normal-*-0-iso10646-1 -monotype-Arial Black-normal-normal-normal-*-0-iso10646-1 -monotype-Times New Roman-bold-normal-normal-*-0-iso10646-1 -unknown-DejaVu Sans-bold-oblique-semi-condensed-*-0-iso10646-1 -monotype-Times New Roman-bold-italic-normal-*-0-iso10646-1 ... sort-by: -*-medium-r-semicondensed-*-13-* xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-0-iso10646-1 font for: (937) list: -misc-fixed-*-r-semicondensed--*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 -misc-fixed-bold-r-semicondensed--13-*-75-75-c-60-iso8859-1 sort-by: -*-bold-r-semicondensed-*-13-* x:-misc-fixed-bold-r-semicondensed--13-*-75-75-c-60-iso8859-1 open: -misc-fixed-bold-r-semicondensed--13-*-75-75-c-60-iso8859-1 x:-misc-fixed-bold-r-semicondensed--13-120-75-75-c-60-iso8859-1 font for: (937) list: -misc-fixed-medium-*-semicondensed--*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--13-*-75-75-c-60-iso8859-1 -misc-fixed-medium-r-semicondensed--12-*-75-75-c-60-iso8859-1 -misc-fixed-medium-o-semicondensed--13-*-75-75-c-60-iso8859-1 sort-by: -*-medium-italic-semicondensed-*-13-* x:-misc-fixed-medium-o-semicondensed--13-*-75-75-c-60-iso8859-1 open: -misc-fixed-medium-o-semicondensed--13-*-75-75-c-60-iso8859-1 x:-misc-fixed-medium-o-semicondensed--13-120-75-75-c-60-iso8859-1 From monnier@iro.umontreal.ca Tue May 5 21:18:56 2009 Received: (at control) by emacsbugs.donarmstrong.com; 6 May 2009 04:18:56 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-0.5 required=4.0 tests=AWL,ONEWORD,VALID_BTS_CONTROL, XIRONPORT autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from ironport2-out.teksavvy.com (ironport2-out.teksavvy.com [206.248.154.182]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n464Iqql024012 for ; Tue, 5 May 2009 21:18:54 -0700 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArUFANusAErO+IYe/2dsb2JhbACBUM06hAEFhU4 X-IronPort-AV: E=Sophos;i="4.40,301,1238990400"; d="scan'208";a="38052698" Received: from 206-248-134-30.dsl.teksavvy.com (HELO ceviche.home) ([206.248.134.30]) by ironport2-out.teksavvy.com with ESMTP; 06 May 2009 00:18:47 -0400 Received: by ceviche.home (Postfix, from userid 20848) id 7642CB523F; Wed, 6 May 2009 00:18:47 -0400 (EDT) From: Stefan Monnier To: control@debbugs.gnu.org Subject: blabla Message-ID: Date: Wed, 06 May 2009 00:18:47 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii severity 2667 serious thanks From cyd@stupidchicken.com Thu May 7 20:41:22 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 8 May 2009 03:41:22 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL,MDO_DATING2 autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n483fJhZ019001 for <2667@emacsbugs.donarmstrong.com>; Thu, 7 May 2009 20:41:20 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id 04ADE57E25A; Thu, 7 May 2009 23:41:29 -0400 (EDT) From: Chong Yidong To: Stefan Monnier Cc: 2667@debbugs.gnu.org Subject: Re: Still seeing inconsistent fonts Date: Thu, 07 May 2009 23:41:28 -0400 Message-ID: <87zldo8dnb.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > I also noticed recently that my fonts are inconsistent: when writing > math symbols (mostly greek letters), I notice that they do not use my > misc-fixed font but "DejaVu Sans" instead. > > > xrdb -remove; rm ~/.Xdefaults > > emacs -Q ~/re/papers/comp-deptypes/main.tex > M-: (setq font-log nil) RET > M-: (set-face-font 'default > > "-misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-*-*") > > And now all my latin text uses my beloved misc-fixed > but all the math symbols use "DejaVu Sans" I can't reproduce this. Could you provide a self-contained testcase? From monnier@IRO.UMontreal.CA Fri May 8 12:58:36 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 8 May 2009 19:58:36 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.6 required=4.0 tests=AWL,REMOVEDOT autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from pruche.dit.umontreal.ca (pruche.dit.umontreal.ca [132.204.246.22]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n48JwWrh015714 for <2667@emacsbugs.donarmstrong.com>; Fri, 8 May 2009 12:58:33 -0700 Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id n48JwWFN030226; Fri, 8 May 2009 15:58:33 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 557CD3A907; Fri, 8 May 2009 15:58:31 -0400 (EDT) From: Stefan Monnier To: Chong Yidong Cc: 2667@debbugs.gnu.org Subject: Re: Still seeing inconsistent fonts Message-ID: References: <87zldo8dnb.fsf@cyd.mit.edu> Date: Fri, 08 May 2009 15:58:31 -0400 In-Reply-To: <87zldo8dnb.fsf@cyd.mit.edu> (Chong Yidong's message of "Thu, 07 May 2009 23:41:28 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV3271=0 > I can't reproduce this. Could you provide a self-contained testcase? Sure: > xrdb -remove > rm ~/.Xdefaults > src/emacs -Q --eval '(set-face-font (quote default) \ "-misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-*-*")' C-u C-\ TeX RET a \ ' e \ ' r \ f o r a l l "a=C3=A9=C5=95" use misc-fixed-semicondensed (the first two with iso8859-1 = and the last with iso8859-2), but "=E2=88=80" is displayed with xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-13-*-*-*-*-0-iso106= 46-1 Note that Emacs-22.3 used -Misc-Fixed-Medium-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1 for both "=C5=95" and "=E2=88=80". Stefan From handa@m17n.org Mon May 11 05:21:54 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 11 May 2009 12:21:55 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.3 required=4.0 tests=AWL,FOURLA,FVGT_m_MULTI_ODD, HAS_BUG_NUMBER,IMPRONONCABLE_2,MURPHY_DRUGS_REL8,PHONENUMBER,REMOVEDOT, SPF_HELO_PASS autolearn=no version=3.2.5-bugs.debian.org_2005_01_02 Received: from mx1.aist.go.jp (mx1.aist.go.jp [150.29.246.133]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4BCLlTt032072 for <2667@emacsbugs.donarmstrong.com>; Mon, 11 May 2009 05:21:49 -0700 Received: from rqsmtp1.aist.go.jp (rqsmtp1.aist.go.jp [150.29.254.115]) by mx1.aist.go.jp with ESMTP id n4BCLhC1019369; Mon, 11 May 2009 21:21:43 +0900 (JST) env-from (handa@m17n.org) Received: from smtp3.aist.go.jp by rqsmtp1.aist.go.jp with ESMTP id n4BCLhuH018990; Mon, 11 May 2009 21:21:43 +0900 (JST) env-from (handa@m17n.org) Received: by smtp3.aist.go.jp with ESMTP id n4BCLfm8005511; Mon, 11 May 2009 21:21:41 +0900 (JST) env-from (handa@m17n.org) Received: from handa by etlken with local (Exim 4.69) (envelope-from ) id 1M3UVt-0000EV-8d; Mon, 11 May 2009 21:21:45 +0900 From: Kenichi Handa To: Stefan Monnier , 2667@debbugs.gnu.org CC: cyd@stupidchicken.com, 2667@debbugs.gnu.org In-reply-to: (message from Stefan Monnier on Fri, 08 May 2009 15:58:31 -0400) Subject: Re: bug#2667: Still seeing inconsistent fonts References: <87zldo8dnb.fsf@cyd.mit.edu> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Message-Id: Date: Mon, 11 May 2009 21:21:45 +0900 Sorry for the late response on this matter. In article , Stefan Monnier writes: > > I can't reproduce this. Could you provide a self-contained testcase? > Sure: > xrdb -remove > rm ~/.Xdefaults > src/emacs -Q --eval '(set-face-font (quote default) \ > "-misc-fixed-medium-r-semicondensed--13-*-*-*-*-*-*-*")' > C-u C-\ TeX RET > a > \ ' e > \ ' r > \ f o r a l l > "aéŕ" use misc-fixed-semicondensed (the first two with iso8859-1 and > the last with iso8859-2), but "∀" is displayed with > xft:-unknown-DejaVu Sans-normal-normal-semi-condensed-*-13-*-*-*-*-0-iso10646-1 ∀ belongs to `symbol' script, but the xfont backend didn't support :script font property. That is because I was afraid that it made the font listing extremely slow (we must open all iso10646-1 fonts to check if it supports the requested characters). Actually my trial implementation of :script property supports took more than 1 minute to display HELLO file. But, if we can use this heuristic: X fonts that have the same property values except for size related properties supports the same set of characters on all display. For example, all these fonts -adobe-courier-medium-r-normal--8-80-75-75-m-50-iso10646-1 -adobe-courier-medium-r-normal--10-100-75-75-m-60-iso10646-1 -adobe-courier-medium-r-normal--11-80-100-100-m-60-iso10646-1 -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1 -adobe-courier-medium-r-normal--14-100-100-100-m-90-iso10646-1 -adobe-courier-medium-r-normal--14-140-75-75-m-90-iso10646-1 -adobe-courier-medium-r-normal--17-120-100-100-m-100-iso10646-1 -adobe-courier-medium-r-normal--18-180-75-75-m-110-iso10646-1 -adobe-courier-medium-r-normal--20-140-100-100-m-110-iso10646-1 -adobe-courier-medium-r-normal--24-240-75-75-m-150-iso10646-1 -adobe-courier-medium-r-normal--25-180-100-100-m-150-iso10646-1 -adobe-courier-medium-r-normal--34-240-100-100-m-200-iso10646-1 suports the same set of characters. we can list fonts in a realistic time. Attached is the patch to try it. Could you please test it? As the change is not simple, I have not yet installed it. --- Kenichi Handa handa@m17n.org Index: xfont.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/xfont.c,v retrieving revision 1.28 diff -u -r1.28 xfont.c --- xfont.c 8 May 2009 06:22:40 -0000 1.28 +++ xfont.c 11 May 2009 12:03:16 -0000 @@ -256,20 +256,172 @@ return len; } -static Lisp_Object xfont_list_pattern P_ ((Lisp_Object, Display *, char *)); +static int xfont_chars_supported P_ ((Lisp_Object, XFontStruct *, + struct charset *, struct charset *)); + +/* Check if CHARS (cons or vector) is supported by XFONT whose + encoding charset is ENCODING (XFONT is NULL) or by a font whose + registry corresponds to ENCODING and REPERTORY. + Return 1 if supported, return 0 otherwise. */ + +static int +xfont_chars_supported (chars, xfont, encoding, repertory) + Lisp_Object chars; + XFontStruct *xfont; + struct charset *encoding, *repertory; +{ + struct charset *charset = repertory ? repertory : encoding; + + if (CONSP (chars)) + { + for (; CONSP (chars); chars = XCDR (chars)) + { + int c = XINT (XCAR (chars)); + unsigned code = ENCODE_CHAR (charset, c); + XChar2b char2b; + + if (code == CHARSET_INVALID_CODE (charset)) + break; + if (! xfont) + continue; + if (code >= 0x10000) + break; + char2b.byte1 = code >> 8; + char2b.byte2 = code & 0xFF; + if (! xfont_get_pcm (xfont, &char2b)) + break; + } + return (NILP (chars)); + } + else if (VECTORP (chars)) + { + int i; + + for (i = ASIZE (chars) - 1; i >= 0; i--) + { + int c = XINT (AREF (chars, i)); + unsigned code = ENCODE_CHAR (charset, c); + XChar2b char2b; + + if (code == CHARSET_INVALID_CODE (charset)) + continue; + if (! xfont) + break; + if (code >= 0x10000) + continue; + char2b.byte1 = code >> 8; + char2b.byte2 = code & 0xFF; + if (xfont_get_pcm (xfont, &char2b)) + break; + } + return (i >= 0); + } + return 0; +} + +/* A hash table recoding which font supports which scritps. Each key + is a vector of characteristic font propertis FOUNDRY to WIDTH and + ADDSTYLE, and each value is a list of script symbols. + + We assume that fonts that have the same value in the above + properties supports the same set of characters on all displays. */ + +static Lisp_Object xfont_scripts_cache; + +/* Return a list of scripts supported by the font of FONTNAME whose + characteristic properties are in PROPS and whose encoding charset + is ENCODING. A caller must call BLOCK_INPUT in advance. */ static Lisp_Object -xfont_list_pattern (frame, display, pattern) - Lisp_Object frame; +xfont_supported_scripts (display, fontname, props, encoding) + Display *display; + char *fontname; + Lisp_Object props; + struct charset *encoding; +{ + Lisp_Object scripts; + + /* Two special cases to avoid opening rather big fonts. */ + if (AREF (props, 2), Qja) + return Fcons (intern ("kana"), Fcons (intern ("han"), Qnil)); + if (AREF (props, 2), Qko) + return Fcons (intern ("hangul"), Qnil); + scripts = Fgethash (props, xfont_scripts_cache, Qt); + if (EQ (scripts, Qt)) + { + XFontStruct *xfont; + Lisp_Object val; + + scripts = Qnil; + xfont = XLoadQueryFont (display, fontname); + if (xfont) + { + if (xfont->per_char) + { + for (val = Vscript_representative_chars; CONSP (val); + val = XCDR (val)) + if (CONSP (XCAR (val)) && SYMBOLP (XCAR (XCAR (val)))) + { + Lisp_Object script = XCAR (XCAR (val)); + Lisp_Object chars = XCDR (XCAR (val)); + + if (xfont_chars_supported (chars, xfont, encoding, NULL)) + scripts = Fcons (script, scripts); + } + } + XFreeFont (display, xfont); + } + Fputhash (Fcopy_sequence (props), scripts, xfont_scripts_cache); + } + return scripts; +} + +extern Lisp_Object Vscalable_fonts_allowed; + +static Lisp_Object xfont_list_pattern P_ ((Display *, char *, + Lisp_Object, Lisp_Object)); + +static Lisp_Object +xfont_list_pattern (display, pattern, registry, script) Display *display; char *pattern; + Lisp_Object registry, script; { Lisp_Object list = Qnil; + Lisp_Object chars = Qnil; + struct charset *encoding, *repertory = NULL; int i, limit, num_fonts; char **names; /* Large enough to decode the longest XLFD (255 bytes). */ char buf[512]; + if (! NILP (registry) + && font_registry_charsets (registry, &encoding, &repertory) < 0) + /* Unknown REGISTRY, not supported. */ + return Qnil; + if (! NILP (script)) + { + chars = assq_no_quit (script, Vscript_representative_chars); + if (NILP (chars)) + /* We can't tell whether or not a font supports SCRIPT. */ + return Qnil; + chars = XCDR (chars); + if (repertory) + { + if (! xfont_chars_supported (chars, NULL, encoding, repertory)) + return Qnil; + script = Qnil; + } + } + if (! repertory && NILP (xfont_scripts_cache)) + { + Lisp_Object args[2]; + + args[0] = QCtest; + args[1] = Qequal; + xfont_scripts_cache = Fmake_hash_table (2, args); + } + BLOCK_INPUT; x_catch_errors (display); @@ -292,6 +444,8 @@ if (num_fonts > 0) { char **indices = alloca (sizeof (char *) * num_fonts); + Lisp_Object props = Fmake_vector (make_number (9), Qnil); + Lisp_Object scripts = Qnil; for (i = 0; i < num_fonts; i++) indices[i] = names[i]; @@ -300,47 +454,68 @@ for (i = 0; i < num_fonts; i++) { Lisp_Object entity; - int result; - char *p; if (i > 0 && xstrcasecmp (indices[i - 1], indices[i]) == 0) continue; - entity = font_make_entity (); - ASET (entity, FONT_TYPE_INDEX, Qx); xfont_decode_coding_xlfd (indices[i], -1, buf); - result = font_parse_xlfd (buf, entity); - if (result < 0) + font_parse_xlfd (buf, entity); + ASET (entity, FONT_TYPE_INDEX, Qx); + /* Avoid auto-scaled fonts. */ + if (XINT (AREF (entity, FONT_DPI_INDEX)) != 0 + && XINT (AREF (entity, FONT_AVGWIDTH_INDEX)) == 0) + continue; + /* Avoid not-allowed scalable fonts. */ + if (NILP (Vscalable_fonts_allowed)) { - /* This may be an alias name. Try to get the full XLFD name - from XA_FONT property of the font. */ - XFontStruct *font = XLoadQueryFont (display, indices[i]); - unsigned long value; - - if (! font) + if (XINT (AREF (entity, FONT_SIZE_INDEX)) == 0) continue; - if (XGetFontProperty (font, XA_FONT, &value)) - { - char *name = (char *) XGetAtomName (display, (Atom) value); - int len = strlen (name); + } + else if (CONSP (Vscalable_fonts_allowed)) + { + Lisp_Object tail, elt; - /* If DXPC (a Differential X Protocol Compressor) - Ver.3.7 is running, XGetAtomName will return null - string. We must avoid such a name. */ - if (len > 0) - { - xfont_decode_coding_xlfd (indices[i], -1, buf); - result = font_parse_xlfd (buf, entity); - } - XFree (name); + for (tail = Vscalable_fonts_allowed; CONSP (tail); + tail = XCDR (tail)) + { + elt = XCAR (tail); + if (STRINGP (elt) + && fast_c_string_match_ignore_case (elt, indices[i]) >= 0) + break; } - XFreeFont (display, font); + if (! CONSP (tail)) + continue; } - if (result == 0 - /* Avoid auto-scaled fonts. */ - && (XINT (AREF (entity, FONT_DPI_INDEX)) == 0 - || XINT (AREF (entity, FONT_AVGWIDTH_INDEX)) > 0)) + /* Update encoding and repertory if necessary. */ + if (! EQ (registry, AREF (entity, FONT_REGISTRY_INDEX))) + { + registry = AREF (entity, FONT_REGISTRY_INDEX); + if (font_registry_charsets (registry, &encoding, &repertory) < 0) + encoding = NULL; + } + if (! encoding) + /* Unknown REGISTRY, not supported. */ + continue; + if (repertory) + { + if (NILP (script) + || xfont_chars_supported (chars, NULL, encoding, repertory)) + list = Fcons (entity, list); + continue; + } + if (memcmp (&(AREF (props, 0)), &(AREF (entity, FONT_FOUNDRY_INDEX)), + sizeof (Lisp_Object) * 7) + || ! EQ (AREF (entity, FONT_SPACING_INDEX), AREF (props, 8))) + { + memcpy (&(AREF (props, 0)), &(AREF (entity, FONT_FOUNDRY_INDEX)), + sizeof (Lisp_Object) * 7); + ASET (props, 8, AREF (entity, FONT_SPACING_INDEX)); + scripts = xfont_supported_scripts (display, indices[i], + props, encoding); + } + if (NILP (script) + || ! NILP (Fmemq (script, scripts))) list = Fcons (entity, list); } XFreeFontNames (names); @@ -359,7 +534,7 @@ { FRAME_PTR f = XFRAME (frame); Display *display = FRAME_X_DISPLAY_INFO (f)->display; - Lisp_Object registry, list, val, extra; + Lisp_Object registry, list, val, extra, script; int len; /* Large enough to contain the longest XLFD (255 bytes) in UTF-8. */ char name[512]; @@ -370,9 +545,6 @@ val = assq_no_quit (QCotf, extra); if (! NILP (val)) return Qnil; - val = assq_no_quit (QCscript, extra); - if (! NILP (val)) - return Qnil; val = assq_no_quit (QClang, extra); if (! NILP (val)) return Qnil; @@ -382,8 +554,13 @@ len = font_unparse_xlfd (spec, 0, name, 512); if (len < 0 || (len = xfont_encode_coding_xlfd (name)) < 0) return Qnil; - ASET (spec, FONT_REGISTRY_INDEX, registry); - list = xfont_list_pattern (frame, display, name); + + val = assq_no_quit (QCscript, extra); + if (NILP (val)) + script = Qnil; + else + script = XCDR (val); + list = xfont_list_pattern (display, name, registry, script); if (NILP (list) && NILP (registry)) { /* Try iso10646-1 */ @@ -392,7 +569,7 @@ if (r - name + 10 < 256) /* 10 == strlen (iso10646-1) */ { strcpy (r, "iso10646-1"); - list = xfont_list_pattern (frame, display, name); + list = xfont_list_pattern (display, name, Qiso10646_1, script); } } if (NILP (list) && ! NILP (registry)) @@ -412,7 +589,7 @@ && ((r - name) + SBYTES (XCAR (alter))) < 256) { strcpy (r, (char *) SDATA (XCAR (alter))); - list = xfont_list_pattern (frame, display, name); + list = xfont_list_pattern (display, name, registry, script); if (! NILP (list)) break; } @@ -427,7 +604,7 @@ bcopy (SDATA (XCDR (val)), name, SBYTES (XCDR (val)) + 1); if (xfont_encode_coding_xlfd (name) < 0) return Qnil; - list = xfont_list_pattern (frame, display, name); + list = xfont_list_pattern (display, name, registry, script); } } @@ -996,6 +1173,8 @@ void syms_of_xfont () { + staticpro (&xfont_scripts_cache); + xfont_scripts_cache = Qnil; xfont_driver.type = Qx; register_font_driver (&xfont_driver, NULL); } From cyd@stupidchicken.com Mon May 11 08:56:07 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 11 May 2009 15:56:07 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.5 required=4.0 tests=AWL,HAS_BUG_NUMBER, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4BFu4jR032204 for <2667@emacsbugs.donarmstrong.com>; Mon, 11 May 2009 08:56:05 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id 32D1A57E246; Mon, 11 May 2009 11:56:16 -0400 (EDT) From: Chong Yidong To: Stefan Monnier Cc: Kenichi Handa , 2667@debbugs.gnu.org Subject: Re: bug#2667: Still seeing inconsistent fonts References: <87zldo8dnb.fsf@cyd.mit.edu> Date: Mon, 11 May 2009 11:56:16 -0400 In-Reply-To: (Kenichi Handa's message of "Mon, 11 May 2009 21:21:45 +0900") Message-ID: <87tz3rab1b.fsf@cyd.mit.edu> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Kenichi Handa writes: > But, if we can use this heuristic: > > X fonts that have the same property values except for > size related properties supports the same set of > characters on all display. > > we can list fonts in a realistic time. Attached is the > patch to try it. Could you please test it? As the change > is not simple, I have not yet installed it. I don't have a good sense of whether this problem is serious enough to justify the change, at this stage in the pretest. Stefan, what's your feeling about this? From monnier@iro.umontreal.ca Mon May 11 10:23:55 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 11 May 2009 17:23:55 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-4.8 required=4.0 tests=AWL,HAS_BUG_NUMBER, MURPHY_DRUGS_REL8 autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from ironport2-out.teksavvy.com (ironport2-out.teksavvy.com [206.248.154.182]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4BHNl5t026536 for <2667@emacsbugs.donarmstrong.com>; Mon, 11 May 2009 10:23:48 -0700 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AvIEAIf8B0pLd+1m/2dsb2JhbACBUMtDhAIFhVk X-IronPort-AV: E=Sophos;i="4.40,329,1238990400"; d="scan'208";a="38405772" Received: from 75-119-237-102.dsl.teksavvy.com (HELO pastel.home) ([75.119.237.102]) by ironport2-out.teksavvy.com with ESMTP; 11 May 2009 13:23:32 -0400 Received: by pastel.home (Postfix, from userid 20848) id 896877ED8; Mon, 11 May 2009 13:23:38 -0400 (EDT) From: Stefan Monnier To: Chong Yidong Cc: Kenichi Handa , 2667@debbugs.gnu.org Subject: Re: bug#2667: Still seeing inconsistent fonts Message-ID: References: <87zldo8dnb.fsf@cyd.mit.edu> <87tz3rab1b.fsf@cyd.mit.edu> Date: Mon, 11 May 2009 13:23:38 -0400 In-Reply-To: <87tz3rab1b.fsf@cyd.mit.edu> (Chong Yidong's message of "Mon, 11 May 2009 11:56:16 -0400") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii >> But, if we can use this heuristic: >> X fonts that have the same property values except for >> size related properties supports the same set of >> characters on all display. >> we can list fonts in a realistic time. Attached is the >> patch to try it. Could you please test it? As the change >> is not simple, I have not yet installed it. > I don't have a good sense of whether this problem is serious enough to > justify the change, at this stage in the pretest. Stefan, what's your > feeling about this? Not sure either. I'll come back when I've tried it out some more. Stefan From monnier@IRO.UMontreal.CA Wed May 20 12:43:07 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 20 May 2009 19:43:07 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.7 required=4.0 tests=AWL,FOURLA,FVGT_m_MULTI_ODD, HAS_BUG_NUMBER,MURPHY_DRUGS_REL8,PHONENUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from pruche.dit.umontreal.ca (pruche.dit.umontreal.ca [132.204.246.22]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4KJh1aX019439 for <2667@emacsbugs.donarmstrong.com>; Wed, 20 May 2009 12:43:03 -0700 Received: from faina.iro.umontreal.ca (faina.iro.umontreal.ca [132.204.26.177]) by pruche.dit.umontreal.ca (8.14.1/8.14.1) with ESMTP id n4KJh2LY000630; Wed, 20 May 2009 15:43:02 -0400 Received: by faina.iro.umontreal.ca (Postfix, from userid 20848) id 29BFB3A183; Wed, 20 May 2009 15:43:00 -0400 (EDT) From: Stefan Monnier To: Kenichi Handa Cc: 2667@debbugs.gnu.org, cyd@stupidchicken.com Subject: Re: bug#2667: Still seeing inconsistent fonts Message-ID: References: <87zldo8dnb.fsf@cyd.mit.edu> Date: Wed, 20 May 2009 15:43:00 -0400 In-Reply-To: (Kenichi Handa's message of "Mon, 11 May 2009 21:21:45 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-NAI-Spam-Score: 0 X-NAI-Spam-Rules: 1 Rules triggered RV3279=0 > =E2=88=80 belongs to `symbol' script, but the xfont backend didn't > support :script font property. That is because I was afraid > that it made the font listing extremely slow (we must open > all iso10646-1 fonts to check if it supports the requested > characters). Actually my trial implementation of :script > property supports took more than 1 minute to display HELLO > file. 1 minute would be a problem, indeed. > But, if we can use this heuristic: > X fonts that have the same property values except for > size related properties supports the same set of > characters on all display. For example, all these fonts=20 > -adobe-courier-medium-r-normal--8-80-75-75-m-50-iso10646-1 > -adobe-courier-medium-r-normal--10-100-75-75-m-60-iso10646-1 > -adobe-courier-medium-r-normal--11-80-100-100-m-60-iso10646-1 > -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso10646-1 > -adobe-courier-medium-r-normal--14-100-100-100-m-90-iso10646-1 > -adobe-courier-medium-r-normal--14-140-75-75-m-90-iso10646-1 > -adobe-courier-medium-r-normal--17-120-100-100-m-100-iso10646-1 > -adobe-courier-medium-r-normal--18-180-75-75-m-110-iso10646-1 > -adobe-courier-medium-r-normal--20-140-100-100-m-110-iso10646-1 > -adobe-courier-medium-r-normal--24-240-75-75-m-150-iso10646-1 > -adobe-courier-medium-r-normal--25-180-100-100-m-150-iso10646-1 > -adobe-courier-medium-r-normal--34-240-100-100-m-200-iso10646-1 > suports the same set of characters. That assumption is obviously not guaranteed to hold, and I don't think it really holds in practice, but it looks like an acceptable tradeoff, since the cases where it doesn't hold shouldn't be too frequent. > we can list fonts in a realistic time. Attached is the > patch to try it. Could you please test it? As the change > is not simple, I have not yet installed it. I tried it on my smallest machine, and it seems fast enough: C-h h takes approximately the same amount of time with it than it did under Emacs-22.3 (around 3s to 4s). [ And this even though the Emacs-22.3 I used was built with -O2 and such, whereas my Emacs-CVS is built with -O1, USE_LISP_UNION_TYPE, ENABLE_CHECKING, and a few additional runtime tests. ] The machines I used to test it were all running Debian testing, with a fairly standard set of fonts. I don't know how it would behave for people with many more fonts installed (most of which would presumably be scalable and hence wouldn't be affected by the heuristic). > -static Lisp_Object xfont_list_pattern P_ ((Lisp_Object, Display *, char = *)); > +static int xfont_chars_supported P_ ((Lisp_Object, XFontStruct *, > + struct charset *, struct charset *)); Please just use ANSI-style declarations rather than K&R in new code. > + /* Two special cases to avoid opening rather big fonts. */ > + if (AREF (props, 2), Qja) > + return Fcons (intern ("kana"), Fcons (intern ("han"), Qnil)); > + if (AREF (props, 2), Qko) > + return Fcons (intern ("hangul"), Qnil); You need EQ (..) around those two tests. > + if (NILP (val)) > + script =3D Qnil; > + else > + script =3D XCDR (val); Aka: script =3D CDR (val); > + if (! repertory && NILP (xfont_scripts_cache)) > + { > + Lisp_Object args[2]; > + > + args[0] =3D QCtest; > + args[1] =3D Qequal; > + xfont_scripts_cache =3D Fmake_hash_table (2, args); > + } [...] > @@ -996,6 +1173,8 @@ > void > syms_of_xfont () > { > + staticpro (&xfont_scripts_cache); > + xfont_scripts_cache =3D Qnil; > xfont_driver.type =3D Qx; > register_font_driver (&xfont_driver, NULL); > } Why not just: @@ -996,6 +1173,8 @@ void syms_of_xfont () { + staticpro (&xfont_scripts_cache); + { + Lisp_Object args[2]; + args[0] =3D QCtest; + args[1] =3D Qequal; + xfont_scripts_cache =3D Fmake_hash_table (2, args); + } xfont_driver.type =3D Qx; register_font_driver (&xfont_driver, NULL); } Stefan From handa@m17n.org Wed May 20 18:15:49 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 21 May 2009 01:15:49 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.2 required=4.0 tests=AWL,FOURLA,FVGT_m_MULTI_ODD, HAS_BUG_NUMBER,IMPRONONCABLE_1,MURPHY_DRUGS_REL8,MURPHY_WRONG_WORD1, MURPHY_WRONG_WORD2,SPF_HELO_PASS autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mx1.aist.go.jp (mx1.aist.go.jp [150.29.246.133]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4L1FeT4025185 for <2667@emacsbugs.donarmstrong.com>; Wed, 20 May 2009 18:15:42 -0700 Received: from rqsmtp1.aist.go.jp (rqsmtp1.aist.go.jp [150.29.254.115]) by mx1.aist.go.jp with ESMTP id n4L1FdjW012370; Thu, 21 May 2009 10:15:39 +0900 (JST) env-from (handa@m17n.org) Received: from smtp1.aist.go.jp by rqsmtp1.aist.go.jp with ESMTP id n4L1FcnH019250; Thu, 21 May 2009 10:15:38 +0900 (JST) env-from (handa@m17n.org) Received: by smtp1.aist.go.jp with ESMTP id n4L1FbQd029610; Thu, 21 May 2009 10:15:37 +0900 (JST) env-from (handa@m17n.org) Received: from handa by etlken with local (Exim 4.69) (envelope-from ) id 1M6wt2-0001YM-IL; Thu, 21 May 2009 10:15:56 +0900 From: Kenichi Handa To: Stefan Monnier CC: 2667@debbugs.gnu.org, cyd@stupidchicken.com In-reply-to: (message from Stefan Monnier on Wed, 20 May 2009 15:43:00 -0400) Subject: Re: bug#2667: Still seeing inconsistent fonts References: <87zldo8dnb.fsf@cyd.mit.edu> Message-Id: Date: Thu, 21 May 2009 10:15:56 +0900 In article , Stefan Monnier writes: > > But, if we can use this heuristic: > > X fonts that have the same property values except for > > size related properties supports the same set of > > characters on all display. For example, all these fonts [...] > That assumption is obviously not guaranteed to hold, and I > don't think it really holds in practice, but it looks like > an acceptable tradeoff, since the cases where it doesn't > hold shouldn't be too frequent. So, you mean that we should install that change, right? > > -static Lisp_Object xfont_list_pattern P_ ((Lisp_Object, Display *, char *)); > > +static int xfont_chars_supported P_ ((Lisp_Object, XFontStruct *, > > + struct charset *, struct charset *)); > Please just use ANSI-style declarations rather than K&R in new code. Ah, I didn't realize that we switched to ANSI-style. > > + /* Two special cases to avoid opening rather big fonts. */ > > + if (AREF (props, 2), Qja) > > + return Fcons (intern ("kana"), Fcons (intern ("han"), Qnil)); > > + if (AREF (props, 2), Qko) > > + return Fcons (intern ("hangul"), Qnil); > You need EQ (..) around those two tests. Of course, sorry for the incorrect patch. > > + if (NILP (val)) > > + script = Qnil; > > + else > > + script = XCDR (val); > Aka: script = CDR (val); Ok. I didn't know CDR macro. > > + if (! repertory && NILP (xfont_scripts_cache)) > > + { > > + Lisp_Object args[2]; > > + > > + args[0] = QCtest; > > + args[1] = Qequal; > > + xfont_scripts_cache = Fmake_hash_table (2, args); > > + } > [...] > > @@ -996,6 +1173,8 @@ > > void > > syms_of_xfont () > > { > > + staticpro (&xfont_scripts_cache); > > + xfont_scripts_cache = Qnil; > > xfont_driver.type = Qx; > > register_font_driver (&xfont_driver, NULL); > > } > Why not just: > @@ -996,6 +1173,8 @@ > void > syms_of_xfont () > { > + staticpro (&xfont_scripts_cache); > + { > + Lisp_Object args[2]; > + args[0] = QCtest; > + args[1] = Qequal; > + xfont_scripts_cache = Fmake_hash_table (2, args); > + } > xfont_driver.type = Qx; > register_font_driver (&xfont_driver, NULL); > } I usually hesitate using a Lisp symbol Qxxxx in syms_of_XXX if I don't know where it is initialized, and wanted to avoid increasing the temacs size where possible. --- Kenichi Handa handa@m17n.org From handa@m17n.org Thu May 21 04:26:44 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 21 May 2009 11:26:45 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.2 required=4.0 tests=AWL,FVGT_m_MULTI_ODD, HAS_BUG_NUMBER,IMPRONONCABLE_1,MURPHY_WRONG_WORD1,MURPHY_WRONG_WORD2, SPF_HELO_PASS autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from mx1.aist.go.jp (mx1.aist.go.jp [150.29.246.133]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4LBQeCg010853 for <2667@emacsbugs.donarmstrong.com>; Thu, 21 May 2009 04:26:42 -0700 Received: from rqsmtp1.aist.go.jp (rqsmtp1.aist.go.jp [150.29.254.115]) by mx1.aist.go.jp with ESMTP id n4LBQcN9013420; Thu, 21 May 2009 20:26:38 +0900 (JST) env-from (handa@m17n.org) Received: from smtp1.aist.go.jp by rqsmtp1.aist.go.jp with ESMTP id n4LBQcGC027940; Thu, 21 May 2009 20:26:38 +0900 (JST) env-from (handa@m17n.org) Received: by smtp1.aist.go.jp with ESMTP id n4LBQbXS002788; Thu, 21 May 2009 20:26:37 +0900 (JST) env-from (handa@m17n.org) Received: from handa by etlken with local (Exim 4.69) (envelope-from ) id 1M76QL-00030E-Fa; Thu, 21 May 2009 20:26:57 +0900 From: Kenichi Handa To: 2667@debbugs.gnu.org CC: monnier@IRO.UMontreal.CA, cyd@stupidchicken.com, 2667@debbugs.gnu.org In-reply-to: (message from Kenichi Handa on Thu, 21 May 2009 10:15:56 +0900) Subject: Re: bug#2667: Still seeing inconsistent fonts References: <87zldo8dnb.fsf@cyd.mit.edu> Message-Id: Date: Thu, 21 May 2009 20:26:57 +0900 In article , Kenichi Handa writes: > In article , Stefan Monnier writes: > > > But, if we can use this heuristic: > > > X fonts that have the same property values except for > > > size related properties supports the same set of > > > characters on all display. For example, all these fonts > [...] > > That assumption is obviously not guaranteed to hold, and I > > don't think it really holds in practice, but it looks like > > an acceptable tradeoff, since the cases where it doesn't > > hold shouldn't be too frequent. > So, you mean that we should install that change, right? As Yidong said "go ahead", I've just installed the change (with slight modifications). --- Kenichi Handa handa@m17n.org From cyd@stupidchicken.com Thu May 21 06:21:51 2009 Received: (at control) by emacsbugs.donarmstrong.com; 21 May 2009 13:21:51 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-1.9 required=4.0 tests=AWL autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from cyd.mit.edu (CYD.MIT.EDU [18.115.2.24]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4LDLmHb013896 for ; Thu, 21 May 2009 06:21:49 -0700 Received: by cyd.mit.edu (Postfix, from userid 1000) id 09CC057E233; Thu, 21 May 2009 09:22:07 -0400 (EDT) From: Chong Yidong To: control@debbugs.gnu.org Subject: close 2667 Date: Thu, 21 May 2009 09:22:07 -0400 Message-ID: <87ws8awpz4.fsf@cyd.mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii close 2667 reassign 3337 spam reassign 3339 spam reassign 3341 spam reassign 3342 spam thanks From monnier@iro.umontreal.ca Thu May 21 07:53:05 2009 Received: (at 2667) by emacsbugs.donarmstrong.com; 21 May 2009 14:53:05 +0000 X-Spam-Checker-Version: SpamAssassin 3.2.5-bugs.debian.org_2005_01_02 (2008-06-10) on rzlab.ucr.edu X-Spam-Level: X-Spam-Bayes: score:0.5 Bayes not run. spammytokens:Tokens not available. hammytokens:Tokens not available. X-Spam-Status: No, score=-3.7 required=4.0 tests=AWL,HAS_BUG_NUMBER autolearn=ham version=3.2.5-bugs.debian.org_2005_01_02 Received: from ironport2-out.teksavvy.com (ironport2-out.pppoe.ca [206.248.154.182]) by rzlab.ucr.edu (8.13.8/8.13.8/Debian-3) with ESMTP id n4LEr0d6009824 for <2667@emacsbugs.donarmstrong.com>; Thu, 21 May 2009 07:53:02 -0700 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AisFAHAHFUrO+JgG/2dsb2JhbACBT9A4hAkFhXk X-IronPort-AV: E=Sophos;i="4.41,227,1241409600"; d="scan'208";a="38873816" Received: from 206-248-152-6.dsl.teksavvy.com (HELO pastel.home) ([206.248.152.6]) by ironport2-out.teksavvy.com with ESMTP; 21 May 2009 10:52:55 -0400 Received: by pastel.home (Postfix, from userid 20848) id E9ECF7F29; Thu, 21 May 2009 10:52:54 -0400 (EDT) From: Stefan Monnier To: Kenichi Handa Cc: 2667@debbugs.gnu.org, cyd@stupidchicken.com Subject: Re: bug#2667: Still seeing inconsistent fonts Message-ID: References: <87zldo8dnb.fsf@cyd.mit.edu> Date: Thu, 21 May 2009 10:52:54 -0400 In-Reply-To: (Kenichi Handa's message of "Thu, 21 May 2009 10:15:56 +0900") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.93 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii > I usually hesitate using a Lisp symbol Qxxxx in syms_of_XXX > if I don't know where it is initialized, and wanted to avoid > increasing the temacs size where possible. Since syms_of_ are all called very late, it's safe. Marginally increasing the temacs size is a non-issue in the light of the resulting code simplification. Stefan From unknown Fri Sep 19 21:15:48 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: $requester Subject: Internal Control Message-Id: bug archived. Date: Fri, 19 Jun 2009 14:24:13 +0000 User-Agent: Fakemail v42.6.9 # A New Hope # A log time ago, in a galaxy far, far away # something happened. # # Magically this resulted in the following # action being taken, but this fake control # message doesn't tell you why it happened # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator