unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: David Reitter <david.reitter@gmail.com>
To: 5503@debbugs.gnu.org
Subject: bug#5503: Font choice in Emacs 23 does not match weight/traits
Date: Sun, 31 Jan 2010 23:44:49 -0500	[thread overview]
Message-ID: <5E320729-F909-4BEA-ACD1-0A23E35552A7@gmail.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 2436 bytes --]

The fonts chosen for non-latin (here: Asian) characters are not very similar to the face font.

For example, if "Lucida Grande" is selected as the frame's default font, the following:

DOUBLETはあなたと->世 界をつなげる翻訳会社です。

is displayed using a much to lightweight (skinny) font for all the non-Latin glyphs.  The Hiragana portion at the beginning is set in PMingLiU, while the Kanji (Han script) is displayed in LiSung.

These fonts appear very thin compared to the Latin text.
This is despite there being the "Osaka" font present on my system, which is a medium-weight, very suitable font.

-apple-PMingLiU-medium-normal-normal-*-13-*-*-*-p-0-iso10646-1 (#x303)
-apple-Apple_LiSung-medium-normal-normal-*-13-*-*-*-p-0-iso10646-1 (#x7CD)

This is under NS, whereas I am not positive that this is actually due to NS.

This worked great on Emacs 22 - Osaka is chosen there [well, I have tried with Aquamacs].
I have received concrete complaints from users who say that they're not using Emacs 23 because of that.  
The user also said that matching the font according to further traits (serif/sans) would be desirable/expected.

I advised the user of setting Osaka directly (which works), and of fontsets (which appear inappropriate for such simple use-cases in 2010).

For what it's worth, I have been trying to fix this myself.
So far I know that Osaka has 95% "han" script coverage and is returned among the list of (many) fonts in the font driver's "list" function.

It seems that exact weight and more specific traits are not being made available to Emacs by the NS font driver (e.g., nsfont.m:532, call to ns_descriptor_to_entity, last argument is NULL).  Font weight should go into "ADSTYLE", which is one matching criterion in font_find_for_lface.  font_select_entity() presumably doesn't have enough weight information.

ns_descriptor_to_entity() sets weight, but only to Qbold and Qmedium.  If I comment some code in:
   FONT_SET_STYLE (font_entity, FONT_WEIGHT_INDEX,
		    make_number (100 + 100
			* ns_attribute_fvalue (desc, NSFontWeightTrait)));
.. then the "han" portion in the above examples is rendered with a matching font (LiGothic), but not any of the Hiragana text (still in PMingLiU).

FWIW, the AppKit port of 23 shows the same behavior as NS.
Again, Emacs 22 got it right - unfortunately I haven't managed to figure out how the Emacs 22 code works.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 203 bytes --]

             reply	other threads:[~2010-02-01  4:44 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-01  4:44 David Reitter [this message]
2016-08-18  5:04 ` bug#5503: Font choice in Emacs 23 does not match weight/traits Andrew Hyatt
2016-08-18  8:51   ` David Reitter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5E320729-F909-4BEA-ACD1-0A23E35552A7@gmail.com \
    --to=david.reitter@gmail.com \
    --cc=5503@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).