From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Po Lu via "Bug reports for GNU Emacs, the Swiss army knife of text editors" Newsgroups: gmane.emacs.bugs Subject: bug#65803: 29.1; Noto Sans Mono CJK JP has doubled-width on Windows Date: Sun, 10 Sep 2023 09:00:45 +0800 Message-ID: <87o7iac05e.fsf@yahoo.com> References: <83bkeeytwf.fsf@gnu.org> <838r9iyrky.fsf@gnu.org> <835y4myqtb.fsf@gnu.org> <83jzt1xju6.fsf@gnu.org> <83wmx0x3hj.fsf@gnu.org> <87wmx0dbn6.fsf@yahoo.com> <834jk3v8ux.fsf@gnu.org> <87wmwzbh5z.fsf@yahoo.com> <83pm2rtmvz.fsf@gnu.org> Reply-To: Po Lu Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6156"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: 65803@debbugs.gnu.org, shingo.fg8@gmail.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Sep 10 03:02:23 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qf8qE-0001Pd-Sh for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 10 Sep 2023 03:02:22 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qf8pt-0006Et-MJ; Sat, 09 Sep 2023 21:02:02 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qf8pr-00067K-5y for bug-gnu-emacs@gnu.org; Sat, 09 Sep 2023 21:01:59 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qf8pq-0006AA-T4 for bug-gnu-emacs@gnu.org; Sat, 09 Sep 2023 21:01:58 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qf8pt-0002QT-Op for bug-gnu-emacs@gnu.org; Sat, 09 Sep 2023 21:02:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Po Lu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 10 Sep 2023 01:02:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 65803 X-GNU-PR-Package: emacs Original-Received: via spool by 65803-submit@debbugs.gnu.org id=B65803.16943076729268 (code B ref 65803); Sun, 10 Sep 2023 01:02:01 +0000 Original-Received: (at 65803) by debbugs.gnu.org; 10 Sep 2023 01:01:12 +0000 Original-Received: from localhost ([127.0.0.1]:48638 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qf8p6-0002PQ-1A for submit@debbugs.gnu.org; Sat, 09 Sep 2023 21:01:12 -0400 Original-Received: from sonic305-22.consmr.mail.ne1.yahoo.com ([66.163.185.148]:37677) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qf8p2-0002PB-8X for 65803@debbugs.gnu.org; Sat, 09 Sep 2023 21:01:11 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1694307659; bh=SKYOdm6f5Jtxutv0hA+wrxuiNqJ0tmXE25XqG2BbnnQ=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=RN0gZ0CA0K3g07rK10dSKW9DYT6I9XJ6bbHnfki7elR9KzMG9HgxXaSly+m0Jres+LUHph85vrBfKzvmW/8/V2fVP7hD1RaxvwPdTGtq56Kf0fsZBBqE6C8DEJJzhAMW8fKehG3BQJosP1FXNZ0ynNptZrpFDwJlEDNWe3D1kye+nCXc3kzJEfoGeQfQM7pkPFBCsv5D3sshmeKeEL2J7Hs/kwoalIFOz3Gu11uImEMJxBFnVe+cb4vQS36YIWk0KXTSx82NENa36bZIZamyKoWQ5TRZsADREscr43n/URb9OQdPAKdpbEw/khxTeS4dBFufvIuuAPHn4IyKQ5uCyw== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1694307659; bh=Ih83JWaYlN9wK0fFF3qr67A9ey66dbCYTYuHfxds5n0=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=KYNqgpBQyzdujGKb6HW7a8SwrNV+Nu3cq7Qsuzbg7jGp0Eu0JSpZ7hM+TewKgif/U+Q8XQ2SYtq5Ua4d+ZC6wtkubV3UNIdTKSWKPlEWeuYfo2Qfs2MPHm9lS1m0Z6eP6lKGRTdBWvuf+Empdnq13TuhXhqi4SlcDu9A6sZBQyScr8kYhH05PtSjWHbQ3C4rI3xCpUCELSEjqP6cWYC6vWiGJxfEmOR4ngipURfSzIiBBHUYFnqyXrZ7IO9eKb38hTDGYPk0QZPyR7kSfCh/BLenYT4h8s8tNEY2rtHbw34/rTJneHTxQySWbZlkUywJRtrghOgM6KR7LbHt2VyW1A== X-YMail-OSG: .jT8SaYVM1mI4ZuBkJWgwkTN5hjrnV280kSsuPUhboXbXJ83YQdieU74BETja.I XW.vTOx4J87QXpw4nvvCWULoqDSt2MqMWCJV3348Ndm79v7TxjSFMTdDI5ZTt7ckuwnKWmZo7rDS e9BOOAuYIxPyMej3dtRk3bTmEC7D1bR7Y.2jK27kKuARa_iwzaJFH9kwbaq4lzzSwzEifK7xDg.O LUabIVUlui5.fHMYXo34mJiSVXh7x5UGL6.phhNG7G5zoHPhbTnP7G4vTaGmO9AQ76qZ4OeLX1jN ByJnL_NYe6TxUhl7vuIjy7qkAol7p85B10gh7MBqMcVjkn1fQG1UZmELXgM6gtxAWeudQOgbZHss Isekx.fXXCdBmNX84APRvn8LIMWTghwKggxAyKJSVT1mu4zjdh82Vu_uG0qBIdt1eVUsAbTGAjdK .ZueinsVnuGsOXKeOS5xM4WtRwy77lYfGP0hv8Y8hZV9f5UgxztDvfUmxfOq7Lpfvz3Co85l555O wjKozBN.NVhDfPrP6liNWrO_CWE4gZ1RvnhcVVVa7CT.KEGSRHSSZwEKm4sGZhv2WSmCBZ.Pa3vl ycwUlHuoFfZtkcTI.mFfal3fScisNDlytw.RsuWCdjWR2Vaj1tyBFOehH1ewd.yf0RYnoL9SosiL Bf6ltN8oaQ5syylmgaBgal9YCtN5mCIZLaVlTElW409wPcl6ZWxSFH83mOH644U7Mpuglga.XaSb WaEMMsnuldDuW8r6.dB.r8wjuhtDDnCB5bRBF8rUiyjpw9WScAQoUfWiyetxDgVJ_hsira2k_pyN oeD8EfM5S03YwG60lvoD1V1FOA3cxJ1mt5hIfu1rn7 X-Sonic-MF: X-Sonic-ID: f3e48f4a-7fca-4b88-b2d5-e55a008fdda3 Original-Received: from sonic.gate.mail.ne1.yahoo.com by sonic305.consmr.mail.ne1.yahoo.com with HTTP; Sun, 10 Sep 2023 01:00:59 +0000 Original-Received: by hermes--production-sg3-69654d8bd-752gm (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID b6cb4f231fa1bfd4b258edeab4d8f8e3; Sun, 10 Sep 2023 01:00:52 +0000 (UTC) In-Reply-To: <83pm2rtmvz.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 09 Sep 2023 17:57:36 +0300") X-Mailer: WebService/1.1.21763 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:269902 Archived-At: Eli Zaretskii writes: >> From: Po Lu >> Cc: shingo.fg8@gmail.com, 65803@debbugs.gnu.org >> Date: Sat, 09 Sep 2023 21:38:32 +0800 >> >> font->min_width = font->average_width = font->space_width >> = (scalable ? ft_face->max_advance_width * size / upEM + 0.5 >> : ft_face->size->metrics.max_advance >> 6); >> >> That aside, Fontconfig does not judge Noto Sans Mono CJK JP a fixed >> pitch font on my system. > > Basically, calculating our own estimate of the average width means we > discard the attribute reported by the font, in effect backing up on > the change made in OpenType spec v3, which deprecated the previous > requirement to compute the average width based only on ASCII > characters. This seems to be justified only because Emacs uses the > average width of the font for one purpose only: to calculate the > default column width of a frame. So this calculation is only relevant > for when a font is used as the default face's font. If we ever decide > to use the average width for anything else, we might be bitten by > this. > > So I think a cleaner solution would be to leave the average width > attribute as the font reports it, and introduce a new attribute for > the average width of the ASCII characters. Not sure how urgent this > is, but we should at least describe this subtlety in the comments. However, the only function of the average width property is to provide the average width of ASCII characters; the W32 font driver is AFAIK the only exception to this rule. Moreover, the average width attribute in older TrueType fonts is that of each ASCII glyph, and several fonts provide no average width attribute at all (given that an OS/2 table need not be supplied in fonts that aren't designed to function under MS-Windows), in which case calculating its value for each glyph at load-time will prove prohibitively expensive.