Subject: Re: bug#15138: Font selection error on OSX

From: Jan Djärv <[email-masked]>
Date: Mon, 2 Sep 2013 17:57:14 +0200

Hello.

2 sep 2013 kl. 16:50 skrev Kenichi Handa <[email-masked]>:

> In article <[email-masked]>, Jan Djärv <[email-masked]> writes:
> 
>> I've made a fix for this in the trunk, please try it.
> 
> Do you mean this change?
> 
> 	* fontset.c (face_for_char): Check char in the current face font first
> 	if HAVE_NS (Bug#15138).
> 
> I agree that this change improves font selection for
> symbols, but it's not good for many scripts for which just
> having a glyph is not enough.  For instance, if the default
> font has Hindi glyphs but doesn't have the OTF features for
> Hindi script, we must find another proper font for Hindi.
> 
> How about modifying the current fontset mechanism as this?
> 
> (1) Allow t for FONT-SPEC of set-fontset-font to tell that
>    the default font should be tried.
> (2) Modiyf the default fontset to include `t' as the
>    font-spec for scripts/characters for which the default
>    font is ok.

libotf is genrelly not available on OSX, and probably not working with GNUStep either (unless they use it at a lower level).  So the OTF case is not relevant to HAVE_NS anyway.

For OSX the way to go is to use Core text for this.  I think GNUStep is looking at implementing Core text to replace their old display postscript implementation.  So this is basically a temporary fix.  Anyway, if you prefer OTF for some script, why not mark those scripts with "prefer-otf" and check if any otf-features are available?  HAVE_NS will not have any OTF features.

	Jan D.