From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Supporting stylistic sets Date: Sat, 24 Sep 2022 19:14:15 +0300 Message-ID: <83y1u8n414.fsf@gnu.org> References: <83wn9up0es.fsf@gnu.org> <83illeou0j.fsf@gnu.org> <83r101ntwi.fsf@gnu.org> <83illdnpn3.fsf@gnu.org> <83h70xnp43.fsf@gnu.org> <83bkr5ne65.fsf@gnu.org> <83a66pnczg.fsf@gnu.org> <837d1sonyc.fsf@gnu.org> <834jwwolyz.fsf@gnu.org> <8335cgol11.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="7605"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuSBTYW1lZXIgU2luZ2g=?= Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Sep 24 18:15:33 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 1oc7oT-0001sS-Hr for ged-emacs-devel@m.gmane-mx.org; Sat, 24 Sep 2022 18:15:33 +0200 Original-Received: from localhost ([::1]:56700 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oc7oR-0007hP-TV for ged-emacs-devel@m.gmane-mx.org; Sat, 24 Sep 2022 12:15:31 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:37968) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oc7nS-0006qq-Ep for emacs-devel@gnu.org; Sat, 24 Sep 2022 12:14:30 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:41600) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oc7nS-00007o-2C; Sat, 24 Sep 2022 12:14:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From: Date; bh=GavN/zvAgNpqIPTqPAXNrLQvXZgNYSj6fESPOtpz2WQ=; b=ifQeJcK/Q0MhpcThcD4C aPu1mRMWVuIEY/W6A5K+qBHllJ6OyZn84ifEtkSe72LOxwR3cyhClRYJVjcKdKCx/vU/rO2B5e5wB RDaYvFsfJ4/5JrDhqyZdSyD5OR4CYfyFN42ULWbhjN7i/tr9thiZJvXl+wnEBWajloKi7/CFgtoFc 6GccMzWOdOP5Y31Fq/XsNKPqCk+M6mEc16dKpcMNJ3ACXvdEphCxVkl5uxUL+rXy1OLoDmnyNZ2Ik ZS2XqYsSdqGJE/lmN0ooi5JtVNGVJHj5vg58ScDTr8fXq+2NcmOL8CWdAmAhlHStvavYryOLZ5RzM G2VzJa9nlExz8A==; Original-Received: from [87.69.77.57] (port=3951 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oc7nR-0007Ny-G9; Sat, 24 Sep 2022 12:14:29 -0400 In-Reply-To: (message from =?utf-8?B?4KS44KSu4KWA4KSwIOCkuOCkv+CkguCkuQ==?= Sameer Singh on Sat, 24 Sep 2022 21:20:03 +0530) 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:296166 Archived-At: > From: समीर सिंह Sameer Singh > Date: Sat, 24 Sep 2022 21:20:03 +0530 > Cc: emacs-devel@gnu.org > > On Sat, Sep 24, 2022 at 8:52 PM Eli Zaretskii wrote: > > > From: समीर सिंह Sameer Singh > > Date: Sat, 24 Sep 2022 20:32:26 +0530 > > Cc: emacs-devel@gnu.org > > > > no, the same would work > > Then I don't understand how will HarfBuzz know to apply the first tag > to 'i', but the second one to 'l'. > > The font file has a GSUB table for this purpose I'm sorry, I still don't understand. (I'm not an expert on fonts, so I'd appreciate a slightly more detailed explanations.) Are you saying that each tag can be used by a single character in a font? IOW, no feature tag can ever be shared by two or more characters in a font? The HarfBuzz docs says: The hb_feature_t is the structure that holds information about requested feature application. The feature will be applied with the given value to all glyphs which are in clusters between start (inclusive) and end (exclusive). This seems to say that we need to set START and END of each feature to buffer positions of the characters to which we want the feature to be applied. That is why I said that START and END should be set separately for each feature, according to the positions of the corresponding characters in the buffer submitted to hb_shape_full.