all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: mituharu@math.s.chiba-u.ac.jp
To: "Stephen Berman" <stephen.berman@gmx.net>
Cc: emacs-devel@gnu.org
Subject: Re: Cairo font selection for Ethiopic
Date: Fri, 21 Jun 2019 19:52:36 +0900	[thread overview]
Message-ID: <7b3affad6a618d027a13322a7c9f0a51.squirrel@weber.math.s.chiba-u.ac.jp> (raw)
In-Reply-To: <87zhmbicrk.fsf@gmx.net>

> On Fri, 21 Jun 2019 10:54:03 +0900 YAMAMOTO Mitsuharu
> <mituharu@math.s.chiba-u.ac.jp> wrote:
>
>> On Fri, 21 Jun 2019 04:30:09 +0900,
>> Stephen Berman wrote:
>>>
>>> I don't know if this is a bug or just the way Cairo works.  On two
>>> different GNU/Linux systems I have built Emacs both --with-cairo and
>>> without.  The non-Cairo builds use Xft as the font backend.  On those
>>> builds the Ethiopic scripts (Amharic and Tigrinya) in HELLO are
>>> displayed with the Goha-Tibeb Zemen font.  In the Cairo builds this
>>> font
>>> is not used for these scripts; instead, on one system they are
>>> displayed
>>> with a mix of GNU Unifont and mutt-clearlyu, and on the other system,
>>> which lacks these fonts, only hex boxes are displayed.  Is there
>>> something about Goha-Tibeb Zemen that is incompatible with Cairo?
>>
>> Goha-Tibeb Zemen does not have glyphs for ASCII printables that the
>> ftcr font backend relies on computing minimum/average/space width when
>> opening the font.  The patch below should simulate the Xft behavior.
>
> Thanks.  I rebuilt Emacs --with-cairo with this patch but the Ethiopic
> scripts in HELLO are still not displayed with Goha-Tibeb Zemen but also
> not with the same fonts as before: now they are uniformly displayed with
>
> -Misc-Misc Fixed Wide-normal-normal-normal-ja-13-*-*-*-c-120-iso10646-1
>
> Is this the intended result of the patch?

The patch enables us to use the Goha-Tibeb Zemen font on cairo
build.  If you manually specify the font for Ethiopic characters,
then they should be displayed with the font.

(let ((script 'ethiopic)
      (coverage))
  (map-char-table
   #'(lambda (range val)
       (when (eq val script)
	 (if (consp range)
	     (setq range (cons (car range) (cdr range))))
	 (push range coverage)))
   char-script-table)
  (dolist (range coverage)
    (set-fontset-font t range (font-spec :family "Goha-Tibeb Zemen"))))

Whether it is selected automatically in the default setting is
another problem and depends on several factors.  What are the
outputs of the ldd command for both non-cairo and cairo builds?

					YAMAMOTO Mitsuharu
				mituharu@math.s.chiba-u.ac.jp





  reply	other threads:[~2019-06-21 10:52 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-20 19:30 Cairo font selection for Ethiopic Stephen Berman
2019-06-21  1:54 ` YAMAMOTO Mitsuharu
2019-06-21  8:05   ` Stephen Berman
2019-06-21 10:52     ` mituharu [this message]
2019-06-21 11:28       ` Stephen Berman
2019-06-22  3:08         ` YAMAMOTO Mitsuharu
2019-06-22  9:06           ` Stephen Berman
2019-06-22  9:32             ` mituharu
2019-06-22  9:48               ` Stephen Berman

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

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

  git send-email \
    --in-reply-to=7b3affad6a618d027a13322a7c9f0a51.squirrel@weber.math.s.chiba-u.ac.jp \
    --to=mituharu@math.s.chiba-u.ac.jp \
    --cc=emacs-devel@gnu.org \
    --cc=stephen.berman@gmx.net \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.