<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:"Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\@Yu Gothic";
        panose-1:2 11 4 0 0 0 0 0 0 0;}
@font-face
        {font-family:"\@MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:1182473319;
        mso-list-template-ids:-1256037992;}
@list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
@list l0:level2
        {mso-level-number-format:bullet;
        mso-level-text:o;
        mso-level-tab-stop:1.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:"Courier New";
        mso-bidi-font-family:"Times New Roman";}
@list l0:level3
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:1.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level4
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level5
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:2.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level6
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level7
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:3.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level8
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.0in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
@list l0:level9
        {mso-level-number-format:bullet;
        mso-level-text:;
        mso-level-tab-stop:4.5in;
        mso-level-number-position:left;
        text-indent:-.25in;
        mso-ansi-font-size:10.0pt;
        font-family:Wingdings;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Koji,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Your first post did go out, because I received it. No one has had time to respond. Keep in mind that UTC #157 took place this week, which kept many of us busy.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am CCing both mailing lists for this reply.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Anyway, if we want to move forward with registering these two new GPOS features, we need to come to an understanding that it is possible for a font to include these two new features, along with the usual GPOS features that such fonts (Japanese)
 would include, such as 'kern', 'palt', 'vkrn', and 'vpal'. This is because these two sets of GPOS features serve completely different font consumers, and more importantly, would also specify completely different values for a non-trivial number of glyphs.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The four latter GPOS features, if enabled (they should be disabled by default), would continue to serve font consumers that perform some form of intelligent line layout, such as what is prescribed in JLREQ, and the adjustments that are
 specified in the latter four GPOS features could be applied to the results with no ill effect. Adobe InDesign is an example of such a font consumer.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">The two new GPOS features are meant to be used by font consumers that effectively do not perform any form of meaningful line layout, such as adjustments to full-width punctuation and brackets, which would affect inter-character spacing.
 Examples of such font consumers include terminal emulators, simple text editors, and possibly UIs.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Because the same font could be used by both types of font consumers, we cannot repurpose the 'kern' and 'vkrn' GPOS features, because the values would conflict for a significant number of glyphs, and would be specified for unintended glyphs.
 In other words, neither type of font consumer would be served. It would be a mess.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">To summarize:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">1) Sophisticated font consumers, such as those that follow JLREQ, should continue to use the 'kern', 'palt', 'vkrn', and 'vpal' GPOS features.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">2) Unsophisticated font consumers, such as those that perform no inter-character adjustments at all, should consider using the two proposed GPOS features.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">To refresh our memories, please reference the following CJK Type Blog article that I published back in April that provides visuals:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">https://blogs.adobe.com/CCJKType/2018/04/contextual-spacing.html<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Based on the latest discussions, the following are the proposed names and tags:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Contextual Half-width Spacing: chws (or chsp)<o:p></o:p></p>
<p class="MsoNormal">Vertical Contextual Half-width Spacing: vchw (or vchs)<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">-- Ken<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black">Koji Ishii <kojii@google.com><br>
<b>Date: </b>Thursday, September 20, 2018 at 9:24 PM<br>
<b>To: </b>Ken Lunde <lunde@adobe.com>, "petercon@microsoft.com" <petercon@microsoft.com>, Behdad Esfahbod <behdad@behdad.org><br>
<b>Cc: </b><mpeg-OTspec@yahoogroups.com>, "opentype-list@indx.co.uk" <opentype-list@indx.co.uk><br>
<b>Subject: </b>Fwd: [mpeg-OTspec] Registering new GPOS features?<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif"># It seems that my post didn't go out, re-trying. Please disregard if dup.<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal">---<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif">Hi all, first time to post here, please let me know if I'm not behaving good.</span><o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif">This discussion seems to have stalled, but I'm looking forward to this discussion to move forward. Ken seemed to have answered all the questions so far if I understand correctly, but if anything
 more, I'm more than happy to help the discussion.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif">One thing I noticed, from what Peter wrote:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif">> The Feature Interaction details say that other features that otherwise might be enabled by default — notably 'kern' — should be disabled when this is enabled.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif">Where was this stated? This does not seem correct. As Ken said, this feature should be turned on or off independently from other features such as 'kern', and that is why we would like this to
 be a separate feature. MS Word and Adobe InDesign have this spacing control, and both have a separate check box from the kerning check box.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Arial",sans-serif">I don't have preference for names and tags, whichever Ken, Peter, and people here can agree on look fine to me.<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">2018<span lang="JA" style="font-family:"MS Gothic"">年</span>5<span lang="JA" style="font-family:"MS Gothic"">月</span>18<span lang="JA" style="font-family:"MS Gothic"">日</span>(<span lang="JA" style="font-family:"MS Gothic"">金</span>) 4:43
 Ken Lunde <a href="mailto:lunde@adobe.com" target="_blank">lunde@adobe.com</a> [mpeg-OTspec] <<a href="mailto:mpeg-OTspec-noreply@yahoogroups.com" target="_blank">mpeg-OTspec-noreply@yahoogroups.com</a>>:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal" style="background:white">  <o:p></o:p></p>
<div id="m_-8521682545812305460m_-4216664016567688089ygrp-mlmsg">
<div id="m_-8521682545812305460m_-4216664016567688089ygrp-msg">
<div id="m_-8521682545812305460m_-4216664016567688089ygrp-text">
<p style="margin-bottom:12.0pt;background:white">Peter, <br>
<br>
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.
<br>
<br>
About the features names and tags, what you suggested sound better. About the tags, I have a slight preference for 'chws' and 'vchw'.
<br>
<br>
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.
<br>
<br>
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.
<br>
<br>
Does that help? <br>
<br>
Regards... <br>
<br>
-- Ken <br>
<br>
> On May 16, 2018, at 11:18 AM, Peter Constable <<a href="mailto:petercon@microsoft.com" target="_blank">petercon@microsoft.com</a>> wrote:
<br>
> <br>
> Ken: <br>
> <br>
> I didn’t see any response to comments I sent — repeating here: <br>
> <br>
> 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')?
<br>
> <br>
> 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.
<br>
> <br>
> (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.)
<br>
> <br>
> <br>
> Peter <br>
> <br>
> <br>
> From: <a href="mailto:mpeg-OTspec@yahoogroups.com" target="_blank">mpeg-OTspec@yahoogroups.com</a> <<a href="mailto:mpeg-OTspec@yahoogroups.com" target="_blank">mpeg-OTspec@yahoogroups.com</a>> On Behalf Of Ken Lunde
<a href="mailto:lunde@adobe.com" target="_blank">lunde@adobe.com</a> [mpeg-OTspec]
<br>
> Sent: April 27, 2018 12:23 PM <br>
> To: <a href="mailto:mpeg-OTspec@yahoogroups.com" target="_blank">mpeg-OTspec@yahoogroups.com</a>;
<a href="mailto:opentype-list@indx.co.uk" target="_blank">opentype-list@indx.co.uk</a>
<br>
> Subject: Re: [mpeg-OTspec] Registering new GPOS features? [1 Attachment] <br>
> <br>
> <br>
> [Attachment(s) from Ken Lunde included below] <br>
> Behdad and others, <br>
> <br>
> 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.
<br>
> <br>
> Regards... <br>
> <br>
> -- Ken <br>
> <br>
> > On Apr 25, 2018, at 9:05 PM, Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>> wrote:
<br>
> > <br>
> > Thanks Ken. <br>
> > <br>
> > I agree 'dist' is not ideal, for at least, it's not applied by non-Indic shapers currently.
<br>
> > <br>
> > 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.
<br>
> > <br>
> > On Thu, Apr 26, 2018 at 5:25 AM, Ken Lunde <a href="mailto:lunde@adobe.com" target="_blank">
lunde@adobe.com</a> [mpeg-OTspec] <<a href="mailto:mpeg-OTspec-noreply@yahoogroups.com" target="_blank">mpeg-OTspec-noreply@yahoogroups.com</a>> wrote:
<br>
> > Peter & Behdad, <br>
> > <br>
> > 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?
<br>
> > <br>
> > 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).
<br>
> > <br>
> > Regards... <br>
> > <br>
> > -- Ken <br>
> > <br>
> > > On Apr 25, 2018, at 8:08 PM, Peter Constable <<a href="mailto:petercon@microsoft.com" target="_blank">petercon@microsoft.com</a>> wrote:
<br>
> > > <br>
> > > 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.
<br>
> > > <br>
> > > From: <a href="mailto:mpeg-OTspec@yahoogroups.com" target="_blank">mpeg-OTspec@yahoogroups.com</a> <<a href="mailto:mpeg-OTspec@yahoogroups.com" target="_blank">mpeg-OTspec@yahoogroups.com</a>> On Behalf Of Behdad Esfahbod
<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a> [mpeg-OTspec]
<br>
> > > Sent: Wednesday, April 25, 2018 3:02 PM <br>
> > > To: Ken Lunde <<a href="mailto:lunde@adobe.com" target="_blank">lunde@adobe.com</a>>
<br>
> > > Cc: <a href="mailto:mpeg-OTspec@yahoogroups.com" target="_blank">mpeg-OTspec@yahoogroups.com</a>;
<a href="mailto:opentype-list@indx.co.uk" target="_blank">opentype-list@indx.co.uk</a>
<br>
> > > Subject: Re: [mpeg-OTspec] Registering new GPOS features? <br>
> > > <br>
> > > <br>
> > > 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.
<br>
> > > <br>
> > > On Wed, Apr 25, 2018 at 1:48 AM, Ken Lunde <a href="mailto:lunde@adobe.com" target="_blank">
lunde@adobe.com</a> [mpeg-OTspec] <<a href="mailto:mpeg-OTspec-noreply@yahoogroups.com" target="_blank">mpeg-OTspec-noreply@yahoogroups.com</a>> wrote:
<br>
> > > <br>
> > > Behdad, <br>
> > > <br>
> > > <br>
> > > 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.
<br>
> > > <br>
> > > 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. <br>
> > > <br>
> > > Regards... <br>
> > > <br>
> > > -- Ken <br>
> > > <br>
> > > <br>
> > > On Apr 24, 2018, at 3:39 PM, Behdad Esfahbod <<a href="mailto:behdad@behdad.org" target="_blank">behdad@behdad.org</a>> wrote:
<br>
> > > <br>
> > > 'dist' feature? <br>
> <br>
> <br>
> <br>
> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="background:white"><span style="color:white"><o:p></o:p></span></p>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>