[mpeg-OTspec] Registering new GPOS features? [1 Attachment]

Ken Lunde lunde at adobe.com
Wed May 16 20:39:15 CEST 2018


Peter,

Sorry about that. That was during UTC #155, which kept me very busy, particularly because I was also performing meeting host duties. Thank you for the reminder.

About the features names and tags, what you suggested sound better. About the tags, I have a slight preference for 'chws' and 'vchw'.

The intent is to have a clean separation between these two features and other GPOS features, mainly kern/vkrn, but also halt/vhal and palt/vpal, because they cater to different environments/situations.

It should be possible for a single font to support all eight of these GPOS features. More sophisticated environments, such as MS Word and InDesign that apply JLREQ- or JIS X 4051–based text layout would use kern/halt/palt/vkrn/vhal/vpal as appropriate. Simpler environments, such as terminals and possibly UIs, benefit from the simpler handling of chws/vchw, because it doesn't require that they implement sophisticated text layout tables. Instead, they can simply reference these features and be done with it, giving them results that are more pleasing than simply setting the glyphs solid using full-width metrics.

Does that help?

Regards...

-- Ken

> On May 16, 2018, at 11:18 AM, Peter Constable <petercon at microsoft.com> wrote:
> 
> Ken:
>  
> I didn’t see any response to comments I sent — repeating here:
>  
> The proposed names are very generic, whereas the intent is specifically for CJK. Would better names be "Contextual Half-width Spacing" (mnemonic tag 'chws', or 'chsp'); and "Vertical Contextual Half-width Spacing" ('vchw' or 'vchs')?
>  
> Also, it's unclear how applications should go about implementing support for this. The Feature Interaction details say that other features that otherwise might be enabled by default — notably 'kern' — should be disabled when this is enabled. But how does anyone apply that to the general case? Are applications supposed to check whether a font supports this feature and then decide what features to apply by default? (And what if a font supports both this and 'kern'?) Suggesting that applications check font details and come up with heuristics to decide what features to apply be default is, in general, not a good idea: if done, there will be different heuristics applied; but at least as likely is that apps won't do it. It would be better if this were guidance to font developers, not application developers: i.e., if you use this feature to adjust spacing in some contexts, don't also use other features such as 'kern' for the same contexts.
>  
> (That starts to beg the question: why not just use 'kern', but I assume the answer is that you want to differentiate for apps that do advanced layout to support JLREQ.)
>  
>  
> Peter
>  
>  
> From: mpeg-OTspec at yahoogroups.com <mpeg-OTspec at yahoogroups.com> On Behalf Of Ken Lunde lunde at adobe.com [mpeg-OTspec]
> Sent: April 27, 2018 12:23 PM
> To: mpeg-OTspec at yahoogroups.com; opentype-list at indx.co.uk
> Subject: Re: [mpeg-OTspec] Registering new GPOS features? [1 Attachment]
>  
>   
> [Attachment(s) from Ken Lunde included below]
> Behdad and others,
> 
> If there are no major objections, I'd prefer to simply propose to register two new GPOS features tagged 'cspc' and 'vcsp'. I am not convinced that a catch-all "required" feature would work for this purpose, especially because these features should be on by default only for particular environments. Please find attached draft feature descriptions.
> 
> Regards...
> 
> -- Ken
> 
> > On Apr 25, 2018, at 9:05 PM, Behdad Esfahbod <behdad at behdad.org> wrote:
> > 
> > Thanks Ken.
> > 
> > I agree 'dist' is not ideal, for at least, it's not applied by non-Indic shapers currently.
> > 
> > What I was hinting at was that maybe we should register one catch-all required feature that can be used in the future for any such things.  Separating vertical might be the easiest currently. In some future we will add direction hints to lookups and then it wouldn't be needed anymore.  Currently there's no such catch-all required feature. For GSUB, people do things with 'ccmp' or 'loca' which are supposed to be always on in all shapers.
> > 
> > On Thu, Apr 26, 2018 at 5:25 AM, Ken Lunde lunde at adobe.com [mpeg-OTspec] <mpeg-OTspec-noreply at yahoogroups.com> wrote:
> > Peter & Behdad, 
> > 
> > While I am potentially okay with hanging the functionality that I described off of the 'dist' GPOS feature, especially if there is resistance to register a new feature, I need to point out that a separate feature is definitely needed for vertical. A sufficient number of the target characters have corresponding glyphs that can be used in both writing modes, sometimes as multiples of the same glyph (GID), which is what necessitates a separate vertical feature. Does that mean that the description of 'dist' needs to be modified, and a corresponding vertical feature, perhaps tagged 'vdis', be registered? 
> > 
> > Also, 'kern' and 'vkrn' cannot be used for this purpose, because it is completely reasonable for a font to include both genuine kerning values (for more sophisticated environments) and the contextual spacing that I have described (for simpler environments). 
> > 
> > Regards... 
> > 
> > -- Ken 
> > 
> > > On Apr 25, 2018, at 8:08 PM, Peter Constable <petercon at microsoft.com> wrote: 
> > > 
> > > Agreed: distinct features are needed when a behaviour needs to be independently-controllable by users, or if (generally only in script-specific cases) a particular sequence of feature application is needed to get required GSUB derivations. Otherwise, a separate feature serves no purpose other than a bookkeeping mechanism for the font developer, or a way to declare a supported capability to customers. 
> > > 
> > > From: mpeg-OTspec at yahoogroups.com <mpeg-OTspec at yahoogroups.com> On Behalf Of Behdad Esfahbod behdad at behdad.org [mpeg-OTspec] 
> > > Sent: Wednesday, April 25, 2018 3:02 PM 
> > > To: Ken Lunde <lunde at adobe.com> 
> > > Cc: mpeg-OTspec at yahoogroups.com; opentype-list at indx.co.uk 
> > > Subject: Re: [mpeg-OTspec] Registering new GPOS features? 
> > > 
> > > 
> > > OpenType is designed such that fonts can improve these kinds of things without needing a change to be rolled out to every engine first. We just need one required feature and all kinds of GSUB/GPOS things can be hung onto it. The tags should be reserved for features that are either need to be controlled by shaper, or by user. Everything else should be just one required feature. 
> > > 
> > > On Wed, Apr 25, 2018 at 1:48 AM, Ken Lunde lunde at adobe.com [mpeg-OTspec] <mpeg-OTspec-noreply at yahoogroups.com> wrote: 
> > > 
> > > Behdad, 
> > > 
> > > 
> > > While I see some parallels, the Indic nature of 'dist', along with the fact that a corresponding vertical feature is necessary, makes me think that separate features is better. 
> > > 
> > > Also, and this is for others, I just noticed that a fair number of OpenType feature tags in the spec are surrounded by smart double quotes, while most are surrounded by single straight quotes. I counted that 16 features have this issue. See the attached screenshot to see the first three. 
> > > 
> > > Regards... 
> > > 
> > > -- Ken 
> > > 
> > > 
> > > On Apr 24, 2018, at 3:39 PM, Behdad Esfahbod <behdad at behdad.org> wrote: 
> > > 
> > > 'dist' feature?
> 
>  
> 
> 



More information about the mpeg-otspec mailing list