らんだむな記憶

blogというものを体験してみようか!的なー

源ノ角ゴシックいぢり(2)

更に超どーーーでもいーことを。
OpenType specification change log

Version 1.3 - released April, 2001
Summary of Changes:
...
LookupType 9: Extension Positioning
This new lookup type added.

を検証してみよう的な。いや、だからなんだと。
OpenType Feature File Specification | Adobe Developer Connection [ADC]にあるように、

The lookup will be created with a GSUB or GPOS Extension lookup type if and only if the optional "useExtension" keyword is used.

でいける。
さぁ、実験だ。

feature kern {
  pos \843 \843 -50;
  lookup ADDITIONAL useExtension {
    pos \844 \845 -100;
  } ADDITIONAL;
} kern;

とかを食わせてドンッ。

$ ttx -t GPOS -o inspect.xml  SourceHanSansJP-Regular_AJ1.otf

で検証。

<Lookup index="0">
  <!-- LookupType=2 -->
  <LookupFlag value="0"/>
  <!-- SubTableCount=1 -->
  <PairPos index="0" Format="1">
    <Coverage Format="1">
      <Glyph value="cid00843"/>
    </Coverage>
    <ValueFormat1 value="4"/>
    <ValueFormat2 value="0"/>
    <!-- PairSetCount=1 -->
    <PairSet index="0">
      <!-- PairValueCount=1 -->
      <PairValueRecord index="0">
        <SecondGlyph value="cid00843"/>
        <Value1 XAdvance="-50"/>
      </PairValueRecord>
    </PairSet>
  </PairPos>
</Lookup>
<Lookup index="1">
  <!-- LookupType=9 -->
  <LookupFlag value="0"/>
  <!-- SubTableCount=1 -->
  <ExtensionPos index="0" Format="1">
    <!-- ExtensionLookupType=2 -->
    <PairPos Format="1">
      <Coverage Format="1">
        <Glyph value="cid00844"/>
      </Coverage>
      <ValueFormat1 value="4"/>
      <ValueFormat2 value="0"/>
      <!-- PairSetCount=1 -->
      <PairSet index="0">
        <!-- PairValueCount=1 -->
        <PairValueRecord index="0">
          <SecondGlyph value="cid00845"/>
          <Value1 XAdvance="-100"/>
        </PairValueRecord>
      </PairSet>
    </PairPos>
  </ExtensionPos>
</Lookup>

おぉ、確かにっ!LookupType 9 キターーー(゚∀゚)ーーーー!!!!!
というこういう無駄なことも乙なモノ。