<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Maybe I'm being utopian but I can't help thinking that either
      there's some token ("dialect"?) that Unicode should be tracking
      and formalizing but isn't, or Unicode is doing that and we haven't
      tilted the font specifications enough in its direction to use it.
      There's already all of that script and language infrastructure
      there that is meant for this flavor of need, and it seems like a
      much better place to be solving these problems than rapping stuff
      up in a TTC and having the client side pick out the sub-font by
      name or whatever.</p>
    <p>Skef<br>
    </p>
    <div class="moz-cite-prefix">On 12/21/23 15:00, Peter Constable
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:PH7PR21MB335625644DA8528B125C7D57DE95A@PH7PR21MB3356.namprd21.prod.outlook.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <meta name="Generator"
        content="Microsoft Word 15 (filtered medium)">
      <style>@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}@font-face
        {font-family:Aptos;}@font-face
        {font-family:Helvetica-Bold;
        panose-1:0 0 0 0 0 0 0 0 0 0;}@font-face
        {font-family:"Helvetica Light";}p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;
        mso-ligatures:standardcontextual;}a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#467886;
        text-decoration:underline;}p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;
        mso-ligatures:standardcontextual;}span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Aptos",sans-serif;
        color:windowtext;}.MsoChpDefault
        {mso-style-type:export-only;
        font-size:11.0pt;
        font-family:"Aptos",sans-serif;}div.WordSection1
        {page:WordSection1;}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]-->
      <div class="WordSection1">
        <p class="MsoNormal"><span lang="EN-CA">During the recent AHG
            meeting, I mentioned that Apple, Adobe and Microsoft, some
            years ago, had started discussing a ‘dmap’ (delta character
            map) table proposal. This was in late fall of 2016; the
            focus was on pan-CJK fonts, and in that timeframe Ken Lunde
            has submitted a proposal to UTC (</span><a
href="https://www.unicode.org/L2/L2016/16063-pancjkv-ivd-collection.pdf"
            moz-do-not-send="true">L2/16-063 Proposal to accept the
            submission to register the “PanCJKV” IVD collection</a>) to
          define variation sequences for ideographs that designated a
          range of variation selector characters to correspond to
          several regions for which regional glyph variants of CJK
          ideographs might need to be supported. I managed to find an
          archive of some emails from discussions at the time, so can
          summarize:<o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal">The aim was to be able to support distinct
          fonts for regional CJK variants without duplication of data. A
          TTC could allow de-duplication of glyph data, but there would
          be other duplication. We agreed the biggest concern was with
          ‘cmap’ data: If any one of the regional variant fonts in the
          collection were taken as a point of reference, then any of the
          other regional variants would have many of the same mappings
          (perhaps most), though not all the same mappings. But there
          wasn’t any existing means to share common mappings across
          fonts while there were also some different mappings. Dwane
          Robinson suggested that we define a new ‘dmap’ table that uses
          ‘cmap’ formats but is just used to describe the differences in
          mappings from a common ‘cmap’.
          <o:p></o:p></p>
        <p class="MsoNormal"><o:p> </o:p></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">We
            agreed that a ‘dmap’ table doesn’t need the duplication of
            different platforms/encodings, and that we can converge on
            only one platform/encoding (hence, no encoding records are
            necessary). We discussed format 4 versus 12, and agreed to
            allow either, but that both are never required. Now, we had
            teleconfs between Apple and MS, but the emails I found
            indicate that Behdad was also kept informed: one of the
            emails records that Behdad requested that format 13 also be
            allowed.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">We
            hadn’t settled, however, on what to do about format 14
            subtables. It wasn’t a priority for Apple at the time, but
            it seemed like it would be incomplete if we ignored it.
            Knowing that Ken Lunde was dealing a lot with VSes and also
            working on pan CJK Source Han Sans CJK, we brought Adobe
            into our discussion at that point.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">The
            issue with format 14 is that it divides variation sequences
            into two groups: (i) VSes that map to the same glyph already
            mapped in a format 4 or 12 subtable (DefaultUVS), and (ii)
            VSes that map to a different glyph. Certainly the default
            mappings would be different in the various regional variant
            fonts, and some of the non-default mappings could also be
            different. (Even if a given VS never mapped to different
            glyphs in the different fonts, the fonts could still differ
            in what VSes they need to support.) So it’s necessary to
            resolve
          </span><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">how
            a dmap/14 subtable should interacts with a cmap/4 (or
            cmap/12) subtable, with a cmap/14 subtable, with a dmap/4
            (or dmap/12) subtable, and with a dmap/14 subtable. One
            possible approach would be that the dmap/14 subtable
            completely supersedes the cmap/14 subtable (i.e., the latter
            is not used at all, and there is no de-duplication of that
            data). Another approach could be that a dmap/14 subtable
            complements the cmap/14 subtable by providing select
            replacement mappings (a delta—though there are still further
            details about how that would work exactly).
          </span><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">There
            were some useful points brought up along the way:
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l0 level1 lfo1"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">Ned
              Holbrook pointed out that the format 14 DefaultUVS
              subtable is just a space-saving variant of the
              NonDevaultUVS subtable. A font doesn’t need to have any
              DefaultUVS table: the same sequences could be handled in
              NonDefaultUVS subtables — less efficiently… _<i>in a
                single font</i>_.<o:p></o:p></span></li>
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l0 level1 lfo1"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">For
              CJK, Ken Lunde pointed out that there are two kinds of
              UVSes to consider:
              <o:p></o:p></span></li>
          <ul style="margin-top:0in" type="circle">
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level2 lfo1"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">“Standardized”
                VSs: these are defined in the Unicode Standard (see
              </span><a
href="https://www.unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt"
                moz-do-not-send="true">unicode.org/Public/UCD/latest/ucd/StandardizedVariants.txt</a>)
              for CJK Compatibility Ideographs. They are defined in
              Unicode in a region-independent manner, but most represent
              region-specific glyphs.<span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p></o:p></span></li>
            <li class="MsoListParagraph"
              style="margin-left:0in;mso-list:l0 level2 lfo1">“Ideographic”
              VSes: these are VSes registered in the Ideographic
              Variation Database (<a href="https://www.unicode.org/ivd/"
                moz-do-not-send="true">Ideographic Variation Database
                (unicode.org)</a>) in region-specific collections. <span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">
                <o:p></o:p></span></li>
          </ul>
        </ul>
        <p class="MsoListParagraph"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">Because
            of the nature of each type, Ken thought there might be
            limited sharing across fonts. (E.g., at least some font
            developers would want to support a given IVS collection only
            in the one regional font for the corresponding region.) He
            did identify cases, however, in which the same SVS would
            need to map to different glyphs in different fonts.<o:p></o:p></span></p>
        <ul style="margin-top:0in" type="disc">
          <li class="MsoListParagraph"
            style="margin-left:0in;mso-list:l0 level1 lfo1"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">Again,
              for CJK, there would be cases in which different fonts
              would need to support the same VSes, but they would differ
              wrt DefaultUVS vs. NonDefaultUVS mappings.<o:p></o:p></span></li>
        </ul>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">Ken
            also called out some other uses in email exchanges. It all
            suggested that an ideal solution
          </span><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">would
            make it possible to construct a collection file in which
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">-
            two or more fonts can share some UVS mapping data while also
            having some font-specific mapping data; and<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">-
            it's also possible to have other fonts that do not share any
            UVS mapping data with other fonts.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">That
            would allow the fonts to support only UVSs that are relevant
            for their respective markets, while also having an
            efficiency benefit from data-sharing between certain of the
            fonts.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
            style="mso-ligatures:none;mso-fareast-language:JA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-family:"Calibri",sans-serif;mso-ligatures:none;mso-fareast-language:JA">That
            was in December 2016. We ran into end-of-year holidays and
            never resumed to closed on an approach that optimizes size
            of VS mapping data.
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">The following is the
            last draft proposal that we exchanged.
            <o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">—-<o:p></o:p></span></p>
        <p class="MsoNormal"><b><span
style="font-size:13.5pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">dmap
              - Character to Glyph Index Differences Table</span></b><span
style="font-size:13.5pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:8.5pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">This
            table is an optional adjunct to the ‘cmap’ table defining
            differences from the nominal mappings in order to increase
            sharing of the ‘cmap’ itself across fonts in a TTC.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">If
            a font production tool determines that the ‘cmap’ tables
            across the fonts in a TTC are largely but not entirely
            identical, it can choose one font to be used as the basis
            for the others in terms of character to glyph index mapping,
            expressing the mappings of the other fonts using only the
            mappings that are different from those of the former font.
            An example would be a CJK font family with region-specific
            fonts, where most characters would map to the same glyph
            index.<o:p></o:p></span></p>
        <p class="MsoNormal" style="margin-bottom:1.5pt"><span
style="font-size:9.0pt;font-family:"Helvetica Light";color:black;letter-spacing:.15pt;mso-ligatures:none"><o:p> </o:p></span></p>
        <p class="MsoNormal" style="margin-bottom:1.5pt"><span
style="font-size:9.0pt;font-family:"Helvetica Light";color:black;letter-spacing:.15pt;mso-ligatures:none">The
            ‘dmap’ table</span><span
style="font-size:9.0pt;font-family:"Helvetica Light";color:black;mso-ligatures:none"><o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p> </o:p></span></p>
        <table class="MsoNormalTable" style="border-collapse:collapse"
          cellspacing="0" cellpadding="0" border="0">
          <tbody>
            <tr style="height:9.75pt">
              <td
style="width:48.0pt;border:solid black 1.0pt;background:#54A3D7;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="64" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:white;mso-ligatures:none">Type<o:p></o:p></span></p>
              </td>
              <td
style="width:60.75pt;border:solid black 1.0pt;border-left:none;background:#54A3D7;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="81" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:white;mso-ligatures:none">Name<o:p></o:p></span></p>
              </td>
              <td
style="width:219.75pt;border:solid black 1.0pt;border-left:none;background:#54A3D7;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="293" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:white;mso-ligatures:none">Description<o:p></o:p></span></p>
              </td>
            </tr>
            <tr style="height:9.75pt">
              <td
style="width:48.0pt;border:solid black 1.0pt;border-top:none;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="64" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">UInt16<o:p></o:p></span></p>
              </td>
              <td
style="width:60.75pt;border-top:none;border-left:none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="81" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">version<o:p></o:p></span></p>
              </td>
              <td
style="width:219.75pt;border-top:none;border-left:none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="293" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">Set
                    to 0.<o:p></o:p></span></p>
              </td>
            </tr>
            <tr style="height:9.75pt">
              <td
style="width:48.0pt;border:solid black 1.0pt;border-top:none;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="64" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">UInt16<o:p></o:p></span></p>
              </td>
              <td
style="width:60.75pt;border-top:none;border-left:none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="81" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">numTables<o:p></o:p></span></p>
              </td>
              <td
style="width:219.75pt;border-top:none;border-left:none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:9.75pt"
                width="293" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">Number
                    of offset fields to follow.<o:p></o:p></span></p>
              </td>
            </tr>
            <tr style="height:26.25pt">
              <td
style="width:48.0pt;border:solid black 1.0pt;border-top:none;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:26.25pt"
                width="64" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">UInt32<o:p></o:p></span></p>
              </td>
              <td
style="width:60.75pt;border-top:none;border-left:none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:26.25pt"
                width="81" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">offset[numTables]<o:p></o:p></span></p>
              </td>
              <td
style="width:219.75pt;border-top:none;border-left:none;border-bottom:solid black 1.0pt;border-right:solid black 1.0pt;background:white;padding:3.0pt 3.0pt 3.0pt 3.0pt;height:26.25pt"
                width="293" valign="top">
                <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">Array
                    of byte offsets from beginning of table to cmap
                    subtables. All subtables are assumed to use Unicode.
                    There can be at most one subtable of either format
                    4, 12, or 13.<o:p></o:p></span></p>
              </td>
            </tr>
          </tbody>
        </table>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">As
            in the ‘cmap’ table, each ‘dmap’ subtable shall have the
            same structure as in ‘cmap’, starting with a format field
            that determines the remainder. The language field for a
            format 4, 12, or 13 subtable must be set to zero.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">The
            steps for determining the glyph index for a given UVS
            consisting of a base character and optional variation
            selector are as follows:<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p> </o:p></span></p>
        <ol style="margin-top:0in" type="1" start="1">
          <li class="MsoNormal"
            style="color:black;mso-list:l1 level1 lfo2"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;mso-ligatures:none">Apply
              the Unicode ‘cmap’ subtable to the base character to get
              the nominal glyph index.<o:p></o:p></span></li>
          <li class="MsoNormal"
            style="color:black;mso-list:l1 level1 lfo2"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;mso-ligatures:none">If
              the font has a ‘dmap’ format 4 or 12 subtable that maps
              the base character to a non-zero glyph index, it will
              replace the nominal glyph index.<o:p></o:p></span></li>
          <li class="MsoNormal"
            style="color:black;mso-list:l1 level1 lfo2"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;mso-ligatures:none">If
              the ‘cmap’ has a format 14 subtable, apply it in this
              way: <o:p></o:p></span></li>
        </ol>
        <p class="MsoNormal" style="margin-left:1.0in"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">3.1.If
            the Default UVS Table contains the base character, the final
            glyph index will the be one determined by the ‘cmap’.<o:p></o:p></span></p>
        <p class="MsoNormal" style="margin-left:1.0in"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">3.2.Else
            if the Non-Default UVS Table contains the base character, it
            will determine the final glyph index.<o:p></o:p></span></p>
        <p class="MsoNormal" style="margin-left:1.0in"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">3.3.Else
            the final glyph index will remain as it was after step 2.<o:p></o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif;color:black;mso-ligatures:none">Note:
            An earlier draft of this document allowed for a second
            subtable of format 14, which would allow redefinition of
            variation sequences. Owing to uncertainty about usefulness
            and the exact behavior of the Default UVS Table, however, it
            has been removed pending further discussion.<o:p></o:p></span></p>
        <p class="MsoNormal"><b><span
style="font-size:18.0pt;font-family:"Helvetica-Bold",sans-serif"><o:p> </o:p></span></b></p>
        <p class="MsoNormal"><span lang="EN-CA">—<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">In the previous draft, a
            different set of steps for handling UVSes were considered:<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">—<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">The
            steps for determining the glyph index for a given UVS
            consisting of a base character and optional variation
            selector are as follows:<o:p></o:p></span></p>
        <p class="MsoNormal" style="text-autospace:none"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif"><o:p> </o:p></span></p>
        <p class="MsoNormal"
          style="text-indent:.5in;text-autospace:none"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">1.
            Apply the ‘cmap’ to the base character to get the nominal
            glyph index.<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="text-indent:.5in;text-autospace:none"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">2.
            If the font has a ‘dmap’ format 4 or 12 subtable that maps
            the base character to a non-zero glyph index, it will
            replace the nominal glyph index.<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="text-indent:.5in;text-autospace:none"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">3.
            If the ‘dmap’ has a format 14 subtable, it will be used in
            place of the one in the ‘cmap’.<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="text-indent:.5in;text-autospace:none"><span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">4.
            If there is a format 14 subtable, apply it in this way:<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-left:.5in;text-indent:.5in;text-autospace:none">
          <span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">4.1.If
            the Default UVS Table contains the base character, the final
            glyph index will the be one determined by the ‘cmap’.<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-left:.5in;text-indent:.5in;text-autospace:none">
          <span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">4.2.Else
            if the Non-Default UVS Table contains the base character, it
            will determine the final glyph index.<o:p></o:p></span></p>
        <p class="MsoNormal"
          style="margin-left:.5in;text-indent:.5in;text-autospace:none">
          <span
style="font-size:9.0pt;font-family:"Helvetica",sans-serif">4.3.Else
            the final glyph index will remain as it was after step 2.</span><span
            style="font-size:9.0pt" lang="EN-CA"><o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">—<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA">Peter<o:p></o:p></span></p>
        <p class="MsoNormal"><span lang="EN-CA"><o:p> </o:p></span></p>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
mpeg-otspec mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mpeg-otspec@lists.aau.at">mpeg-otspec@lists.aau.at</a>
<a class="moz-txt-link-freetext" href="https://lists.aau.at/mailman/listinfo/mpeg-otspec">https://lists.aau.at/mailman/listinfo/mpeg-otspec</a>
</pre>
    </blockquote>
  </body>
</html>