![見出し画像](https://assets.st-note.com/production/uploads/images/114634020/rectangle_large_type_2_457529f4a60765bdf3ae92e7258dd2df.jpeg?width=1200)
OpenType Featuresの勉強中その2
前回、「平野活版の4号続き仮名みたいなのがつくりたいなあ」などと寝言を言って取り組んで、またデータをいじっている。
調べてみると、すでに連綿のフォントをつくっている人がいた。
ダウンロードしてみたが、フォントの切替は手動だった。
語頭の文字と語末の文字
そもそもなぜ「続き仮名(連綿)」の活字が広がらなかったかといえば、色々面倒だったからだと推察は容易に立つ。
「あ」を作ろうと思っても、以下の4つを作成する必要がある。
a)連続しない単体字/平野活版での「甲之部」/OpenType Featuresでは「.isol」
b)語頭用に次の活字に続くもの/平野活版での「乙之部」/OpenType Featuresでは「.init」
c)前後に続くもの/平野活版での「丙之部」
d)語末用に前の活字を受ける文字/平野活版での「丁之部」/OpenType Featuresでは「.fina」
(先の例では、a)が存在せず、b)〜d)を手動で書体を切り替える仕様。)
また、組む人にとっても使い分けをする必要があった。
字形に関しても、全角の文字をベースにしていることもあるし、「すべての文字が連続する」という仕様上、活字の左右センターに接続するような字形にならざるをえないので、どうしても不自然になる。
・つくるの面倒
・組むのも面倒
・面倒の割に、組み上がりは手書きのようにはならず不自然
続ける理由はあまりない。
OpenType Featureを使えば、なんかいい感じにできないだろうか。
と考えたのが前回。語頭と語末の文字を自動で切り替えることがひとまず実装できた。
![](https://assets.st-note.com/img/1693213250768-tnGMRiCr84.jpg?width=1200)
![](https://assets.st-note.com/img/1693213421155-0BcVgMTQjp.jpg?width=1200)
自然さとはなにか
組む面倒は割りとなんとかなりそう。
つくる面倒は、Glyphsとかプラグインでなんとかなってきているとして、では、「自然に見える」とはなにか。
今回、丸ゴシックのような形で取り組んでいるのは、いきなり再現は難しいので、線の抑揚は置いておいて、
・線の連続は機械的な処理で、どのように自然にできるか
・フォントとしてどう実装できるか
というように、ある部分を単純化して取り組んむことが必要だと思ったからだ。
「自然」ということで、では、「どのように連綿を捉える」のか。
これにも変数が色々とありそうだ。
(検証段階はひとまずすっ飛ばして)今回は「継色紙」を見ていく。
正方形に近い紙に、散らし書きで書かれている。
ものによっては、行が右下の方に流れているものがある。
上記の前フリで、「すべての文字が連続するという仕様上、活字の左右センターに接続するような字形にならざるをえない」と書いたが、適当に縦書きでばばばーっと書くと、たしかに右下に流れる。(継色紙がそう書かれた、というわけではないが)
ある意味「日本語の仕様として、あるいは身体的な構造上、縦にずらずらと書いていくと、右下に流れるのがしょうがない(ある意味正しい)」と仮定することができる。(本当か?)
「自然にしてみる」というものの実験として、今回は
1)字形に無理をさせない
2)とはいえ、連綿させる
という2点に注目してみる。
いきなり「自然に」はならない。
自然であるための条件を抽出し、仮説を立て、他の要素を単純化して、検証をしていくしかないのだ、多分。
「甲之部/.isol」の文字が字形に無理をさせていないものだとすると、そのままつければよいが、このままではうまく繋がらない。
ためしに、前回制作していた「.fina」の字形で、終りの部分から次の文字を始めるとどうなるだろうか。
Illustrator上で、字形を選択し、位置調整を行うと、右下に流れるような組み上がりになることがわかる。
![](https://assets.st-note.com/img/1693214235995-IQHn0uo6Lb.jpg?width=1200)
1)デフォルトで組んだもの
2)「ひ」を「.fina」の字形で置き換えたもの(右にズレる)
3)さらに字形を「.fina」に置き換えて、大きさと位置を調整したもの
4)バリアブルフォントで太さの調整をおこなったもの
5)太さ調整のバリエーション
すべてIllustrator上で手動で調整をおこなった。
太さをバリアブルにしておくと、文字の大きさを変えても連綿で均質な線に調整できる。
連綿のOpenType Featuresによる実装(?)
これをOpenType Featuresで実装してみる。
考えとしては文字の終端にアンカーを置いて、次の文字をそこから始めるようにすれば良い。
OpenType Featureでどう実装できるか、前回同様、やはり検索に頼る。
自力の知識から言えば「特定の条件で文字を移動させるやつがあったはずだ」くらい。調べると、TypeProjectさんの記事にあたる。
OpenTypeフィーチャーには、「グリフの位置を動かして調整するもの」と「グリフを置き換えるもの」があります。前者をGPOS、後者をGSUBと呼びます。GPOSはGlyph POSitioningの略で、日本語(?)では「じーぽす」と発音します。GSUBはGlyph SUBstitutionの略で、「じーさぶ」です。
TypeProjectさんは他の記事でもOpenTypeの仕様をまとめてくださっており、非常にありがたい。
で、GPOSというのに関係ありそうだと、調査を続ける。
検索キーワードの精度を上げていけば良い。
さらに、今回は「Glyphs 3のハンドブック」の非公式翻訳を行っている「たぬきフォント」さんに頼る。
続け書きの接続位置調整(curs)フィーチャーは、編集ビューで「exit」と「entry」のアンカーを配置することで定義されます。詳細は4.4.4「連綿(続け書き)の位置合わせ」を参照してください。
アラビア語の文字では、語頭、語中、語尾の字形のそれぞれのストロークの終わりと始まりにexitとentryのアンカーを追加することで、適切な連綿体の作成を可能にします。書き始めの「entry」アンカーは、直前の書き終わりの「exit」アンカーに接続されます。右から左への組版が有効な場合、編集ビューで連綿体の作成結果をすぐにプレビューできます(4.9.4「書字方向」参照)。
どうやらアラビア語ではデフォルトで必要な機能っぽい。
前回は「.init」とかをつければあとはGlyphsが勝手に書いてくてるっしょ、と思ってうまくいかなかったので、その辺をもう少し調べる。
上記ガイドでは「暗黙的なフィーチャーは、Glyphsによって自動的に生成されますが「フィーチャー」タブには表示されないフィーチャーをいいます。」とある。特に書かなくてもいいっぽい。
ということでアンカーを追加。
![](https://assets.st-note.com/img/1693214855124-rse9Z3Waro.png?width=1200)
で、当然、自動で繋がったりはしない。
何故か。
このフィーチャーは「アラビア語で使う」という前提なので、「右から左へ書く横書きのコンポーザー」に対応しているのだ。
https://helpx.adobe.com/jp/illustrator/using/arabic-hebrew.html
段落パネルメニューから利用可能なコンポーザーを選択できます(ウィンドウ/段落/パネルメニュー)。例えば、中東言語および南アジア言語単数行コンポーザーや中東言語および南アジア言語段落コンポーザーを使用できます。
Illustrator でサポートされているその他のアジア言語 について詳しくは、「アジア言語スクリプト用コンポーザー」を参照してください。
注意: Illustrator インターフェイスで中東言語の文字ツールオプションを表示するには、環境設定/テキスト/インド言語のオプションを表示を選択します。
というわけで、いつもの「東アジアの言語オプション」を「インド言語のオプション」に切り替えると段落パネルに「中東言語および南アジア言語単数行コンポーザー」という見慣れないものが出る。
これを選択する。
![](https://assets.st-note.com/img/1693215007591-1NtUteI2tz.jpg?width=1200)
できた時は、少し笑った。
日本語のコンポーザーでは効かんのだ。
蛇足
もちろん、うまく設定すれば縦組みでも使えるようにはできそうだが、デフォルトではできないとわかった。
ひとまず、組み上がりは、一つは仮定通りに右下へ流れる連綿となった。
「exit」のアンカーは、文字の右半分の側にくるものが多いので、自然に右方向へ流れる。
もちろん、角度まではコントロールできない。
そこが面白いとも言えるが、実験的にバリアブルフォントにしてみる。
(考えとしては「.fina」をベースにしていたものと「.midi」のものとインターポレーションをとるイメージ。)
これで、ある程度は角度の調整が効くようになる。
「だからなんだ」と言われればそれまでだ。
検証が続くのかも知らん。