From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?K=C3=A9vin_Le_Gouguec?= Newsgroups: gmane.emacs.devel Subject: Re: Display of undisplayable characters: \U01F3A8 instead of diamond Date: Fri, 26 Aug 2022 19:41:15 +0200 Message-ID: <87o7w6oqbo.fsf@gmail.com> References: <87bks77azu.fsf@gmail.com> <83zgfr1nnh.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="21487"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Aug 26 19:58:36 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oRdbH-0005PJ-3h for ged-emacs-devel@m.gmane-mx.org; Fri, 26 Aug 2022 19:58:35 +0200 Original-Received: from localhost ([::1]:35326 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oRdbG-0001Xu-3c for ged-emacs-devel@m.gmane-mx.org; Fri, 26 Aug 2022 13:58:34 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45268) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oRdKc-0008Sx-0D for emacs-devel@gnu.org; Fri, 26 Aug 2022 13:41:26 -0400 Original-Received: from mail-wm1-x334.google.com ([2a00:1450:4864:20::334]:43525) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1oRdKa-0005YE-7h; Fri, 26 Aug 2022 13:41:21 -0400 Original-Received: by mail-wm1-x334.google.com with SMTP id ay39-20020a05600c1e2700b003a5503a80cfso1216584wmb.2; Fri, 26 Aug 2022 10:41:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:from:to:cc; bh=5/EZ95s8Qs0sDn8McVWra8zVEslK+IsJFLK0fVFofTk=; b=NaTQIWSlm4BNfZFZztVtV2DWRUh2GBhvVgbP3hfq7dcoT2XDcEGs9QHoQ8uFIaajdn FJQjyeAgisCKdPok64+Ta1oPupOwIndCQ80kLFA92gCRw9V38Hm3bJwyo7SpQO/B+ut3 TtxeMghrfdAGOIP2hwZrEh4Z42R0J0daeDhSev6Qxx5aHOA3nJIvE+nPgY8ZwdxYsiYn X4VdF+erFqUXXA/+s93xCKYUhYBAhC2WBKJj42PPszLrB2VbVgpwaqEBq53L3221/hzW TTMDHBoKBpfm2ywq7aDFLIMqIXeK238nvHTBzwUC0fWYAdKApSb8QY0ESQkHjNB6BnrP WRfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:x-gm-message-state :from:to:cc; bh=5/EZ95s8Qs0sDn8McVWra8zVEslK+IsJFLK0fVFofTk=; b=6p2FA5vnziUYVZgT1yJUfhqbUBMpH/M8mTY27LQJnlX6pz53R1Lv5ufnDod82CCZf2 K6vGUJADAdWItXz9sWTfoo+ll+sP1/LPsbyc7YHIlcWtLnuEXiMCq2xC+VNmQvNmDoo6 McCyDe0P8YVYmwp156J4PI4GLyai/Y7JkOpCqt9xHC+9JxTsvfXvuZzg5cLJkFjvfNsj /bB2BHMgiyrrxeZ4VNLbocNI+81xWkh2QXJHT5dRxInhWq8bxrFvjLrLeS6I2wc/Fyj8 qP28c2TbkeXm/g5MGZ13UTB2MCtR9IfyXQDQqUSjQj+f0mLSk1myALOeY9am3B6X+AGe I89g== X-Gm-Message-State: ACgBeo38ukMQg/4UNF0qSVOoJxgO7jw1AhUzk5XRab5wW8a/O3Tg2oyG xnHINlQwdBIR0Inf3ZWEZCzgc1DGxqQ= X-Google-Smtp-Source: AA6agR5UveFVIhoeZU0IAKkMyeIas4qYMo+RrzY5jOYWUSgcZA6rEGd/EZF55pttZK51yrby3w33lA== X-Received: by 2002:a05:600c:ad4:b0:3a5:50b2:f991 with SMTP id c20-20020a05600c0ad400b003a550b2f991mr412282wmr.146.1661535677231; Fri, 26 Aug 2022 10:41:17 -0700 (PDT) Original-Received: from amdahl30 ([2a01:e0a:253:fe0:2ef0:5dff:fed2:7b49]) by smtp.gmail.com with ESMTPSA id a3-20020a05600c224300b003a6a3595edasm268520wmm.27.2022.08.26.10.41.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 26 Aug 2022 10:41:16 -0700 (PDT) In-Reply-To: <83zgfr1nnh.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 26 Aug 2022 10:15:14 +0300") Received-SPF: pass client-ip=2a00:1450:4864:20::334; envelope-from=kevin.legouguec@gmail.com; helo=mail-wm1-x334.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:294159 Archived-At: Eli Zaretskii writes: >> From: K=C3=A9vin Le Gouguec >> Date: Fri, 26 Aug 2022 08:52:05 +0200 >>=20 >> I can't find a way to tweak glyphless-char-display-control to let TTY >> frames show diamonds again=E2=80=A6 maybe a new value display method wo= uld be >> needed for that purpose? > > The diamond is a non-ASCII character, so to display it by default, > we'd need to make sure the terminal is capable of displaying it. > > Also, do you really mean diamond, or do you mean U+FFFD REPLACEMENT > CHARACTER (which on GUI display is shown as a diamond with a question > mark inside)? Based on that past discussion, my assumption was that when Richard said in his OP: > In Emacs 29, display of undisplayable characters has > changed. It used to show them with a diamond. =E2=80=A6 he was referring to the diamond-like symbol that the Linux console shows for glyphless characters (so not U+FFFD), and that Emacs (in a TTY) used to show as well, until your patch which made these characters fall into the 'no-font group, which means they are now displayed with the 'hex-code method. I tried to find out precisely what Unicode codepoint that symbol is supposed to correspond to, if any, but haven't reached any conclusion. > And why the diamond, of all the possible characters? why not simply > '?', for example? I'll let Richard answer that one, but I suspect any single-column character would be fine: the problem, as I understand it, is that (1) they are no more informative than a single placeholder char: > To find out what > character a code represents, I have to use C-u C-x =3D, just as I did > before. =E2=80=A6 and (2) they make reading more difficult: > I find that change quite inconvenient. It makes the text harder to > read. I'm guessing Richard is faced with mostly-legible ASCII paragraphs with just a couple of glyphless chars strewn within; then I'd imagine the hex codes impair the reading experience more than single-column characters (diamonds, '?', what-have-you). *shrug* I don't live in a TTY, so I don't have an informed opinion on what the most useful representation would be. Off the top of my head, I see * a minimalist approach: add a new 'char method that lets you pick your favourite placeholder character for the 'no-font group, * a maximalist approach: embark on a quest to add legible and informative display methods for every category that might be susceptible to lack glyphs[1]. (And allow to express these categories in glyphless-char-display-control=E2=80=A6 perhaps allowing GROUP to be a script symbol, like set-fontset-font's CHARACTERS argument?) Can't speak for Richard, but I'm getting the sense the minimalist approach would suit him just fine. [1] E.g. * 'phonetic for international alphabets (sort of the opposite of an input method like cyrillic-translit, a table that would map ?=D1=8F to "ja", ?=D1=88 to "sh"), * 'cldr for emoji (?=F0=9F=98=80 =E2=86=92 "*grinning face*"), or 'smiley= (?=F0=9F=99=8C =E2=86=92 \o/), * 'tex for symbols (?=E2=86=A6 =E2=86=92 "\mapsto"), =E2=80=A6