<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>
<body>
<p>I've been looking through the spec and want to ask a question
about delta-set indices (7.2.3.1 in Vladimir's latest).</p>
<p>The whole point of delta-set indices is:</p>
<ul>
<li>They are arrays, indexed by some external field (generally a
GID)</li>
<li>They allow the outer, inner pairs to be packed into 3, 2, or
(I think) even 1 byte when that's possible.</li>
</ul>
<p>OK, but these values map into an Item Variation Store, and that
section (7.2.3.2) says:</p>
<blockquote>
<p>A complete delta-set index involves an outer-level index into
the ItemVariationData subtable array, plus an inner-level index
to a delta-set row within that subtable. A special meaning is
assigned to a delta-set index 0xFFFF/0xFFFF (that is,
outer-level and inner-level portions are both 0xFFFF): this is
used to indicate that there is no variation data for a given
item. Functionally, this would be equivalent to referencing
delta-set data consisting of only deltas of 0 for all regions.</p>
</blockquote>
<p>So 0xFFFF,0xFFFF is used as the index pair for something that
doesn't vary. And you'll often need these (or some substitute) in
a delta-set index because all the elements (e.g. glyphs) are
typically represented in a delta-set index. </p>
<p>However, just on the face of it it seems like you'll need 16 bits
of representation for the outer and 16 for the inner in the
delta-set index just because those are both 0xFFFF.</p>
<p>Is that wrong, or did our ancestors not notice this interaction?
(I'm hoping it's wrong.)</p>
<p>Skef</p>
<p>(One can add a zero-delta row to some subtable in the IVS and
just use its inner and outer indices to work around this, but
obviously that's not ideal.) <br>
</p>
<blockquote>
<p>
<style type="text/css">p { line-height: 0.17in; text-align: justify; orphans: 2; widows: 2; margin-bottom: 0.08in; direction: ltr; background: transparent }p.western { font-size: 11pt }p.cjk { font-family: "Times New Roman"; font-size: 11pt }p.ctl { font-size: 11pt }a:visited { color: #954f72; text-decoration: underline }a:link { color: #0000ff; text-decoration: underline }a.western:link { so-language: fr-FR }a.sdfootnotesym-western { font-family: "Calibri", serif; font-size: 12pt; so-language: en-US; font-style: italic }a.sdfootnotesym-cjk { font-family: "Calibri"; font-size: 12pt; font-style: italic }a.sdfootnotesym-ctl { font-family: "Cordia New"; font-size: 12pt }</style></p>
</blockquote>
</body>
</html>