<!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>