見出し画像

OpenType Featuresの勉強中その2

前回、「平野活版の4号続き仮名みたいなのがつくりたいなあ」などと寝言を言って取り組んで、またデータをいじっている。

調べてみると、すでに連綿のフォントをつくっている人がいた。

ダウンロードしてみたが、フォントの切替は手動だった。

語頭の文字と語末の文字

そもそもなぜ「続き仮名(連綿)」の活字が広がらなかったかといえば、色々面倒だったからだと推察は容易に立つ。
「あ」を作ろうと思っても、以下の4つを作成する必要がある。

a)連続しない単体字/平野活版での「甲之部」/OpenType Featuresでは「.isol」
b)語頭用に次の活字に続くもの/平野活版での「乙之部」/OpenType Featuresでは「.init」
c)前後に続くもの/平野活版での「丙之部」
d)語末用に前の活字を受ける文字/平野活版での「丁之部」/OpenType Featuresでは「.fina」
(先の例では、a)が存在せず、b)〜d)を手動で書体を切り替える仕様。)

また、組む人にとっても使い分けをする必要があった。
字形に関しても、全角の文字をベースにしていることもあるし、「すべての文字が連続する」という仕様上、活字の左右センターに接続するような字形にならざるをえないので、どうしても不自然になる。

・つくるの面倒
・組むのも面倒
・面倒の割に、組み上がりは手書きのようにはならず不自然
続ける理由はあまりない。

OpenType Featureを使えば、なんかいい感じにできないだろうか。
と考えたのが前回。語頭と語末の文字を自動で切り替えることがひとまず実装できた。

1字種につき、4字形を作成する。
打つと、語頭と語末の文字が切り替わる。

自然さとはなにか

組む面倒は割りとなんとかなりそう。
つくる面倒は、Glyphsとかプラグインでなんとかなってきているとして、では、「自然に見える」とはなにか。
今回、丸ゴシックのような形で取り組んでいるのは、いきなり再現は難しいので、線の抑揚は置いておいて、
・線の連続は機械的な処理で、どのように自然にできるか
・フォントとしてどう実装できるか
というように、ある部分を単純化して取り組んむことが必要だと思ったからだ。

「自然」ということで、では、「どのように連綿を捉える」のか。
これにも変数が色々とありそうだ。
(検証段階はひとまずすっ飛ばして)今回は「継色紙」を見ていく。
正方形に近い紙に、散らし書きで書かれている。
ものによっては、行が右下の方に流れているものがある。

上記の前フリで、「すべての文字が連続するという仕様上、活字の左右センターに接続するような字形にならざるをえない」と書いたが、適当に縦書きでばばばーっと書くと、たしかに右下に流れる。(継色紙がそう書かれた、というわけではないが)

ある意味「日本語の仕様として、あるいは身体的な構造上、縦にずらずらと書いていくと、右下に流れるのがしょうがない(ある意味正しい)」と仮定することができる。(本当か?)

「自然にしてみる」というものの実験として、今回は
1)字形に無理をさせない
2)とはいえ、連綿させる
という2点に注目してみる。

いきなり「自然に」はならない。
自然であるための条件を抽出し、仮説を立て、他の要素を単純化して、検証をしていくしかないのだ、多分。

「甲之部/.isol」の文字が字形に無理をさせていないものだとすると、そのままつければよいが、このままではうまく繋がらない。
ためしに、前回制作していた「.fina」の字形で、終りの部分から次の文字を始めるとどうなるだろうか。

Illustrator上で、字形を選択し、位置調整を行うと、右下に流れるような組み上がりになることがわかる。

左から
1)デフォルトで組んだもの
2)「ひ」を「.fina」の字形で置き換えたもの(右にズレる)
3)さらに字形を「.fina」に置き換えて、大きさと位置を調整したもの
4)バリアブルフォントで太さの調整をおこなったもの
5)太さ調整のバリエーション
すべてIllustrator上で手動で調整をおこなった。
太さをバリアブルにしておくと、文字の大きさを変えても連綿で均質な線に調整できる。

連綿のOpenType Featuresによる実装(?)

これをOpenType Featuresで実装してみる。
考えとしては文字の終端にアンカーを置いて、次の文字をそこから始めるようにすれば良い。
OpenType Featureでどう実装できるか、前回同様、やはり検索に頼る。

自力の知識から言えば「特定の条件で文字を移動させるやつがあったはずだ」くらい。調べると、TypeProjectさんの記事にあたる。

OpenTypeフィーチャーには、「グリフの位置を動かして調整するもの」と「グリフを置き換えるもの」があります。前者をGPOS、後者をGSUBと呼びます。GPOSはGlyph POSitioningの略で、日本語(?)では「じーぽす」と発音します。GSUBはGlyph SUBstitutionの略で、「じーさぶ」です。

https://typeproject.com/staffblog/2389

TypeProjectさんは他の記事でもOpenTypeの仕様をまとめてくださっており、非常にありがたい。
で、GPOSというのに関係ありそうだと、調査を続ける。
検索キーワードの精度を上げていけば良い。
さらに、今回は「Glyphs 3のハンドブック」の非公式翻訳を行っている「たぬきフォント」さんに頼る。

続け書きの接続位置調整(curs)フィーチャーは、編集ビューで「exit」と「entry」のアンカーを配置することで定義されます。詳細は4.4.4「連綿(続け書き)の位置合わせ」を参照してください。

https://tanukifont.com/handbook3-8/

アラビア語の文字では、語頭、語中、語尾の字形のそれぞれのストロークの終わりと始まりにexitとentryのアンカーを追加することで、適切な連綿体の作成を可能にします。書き始めの「entry」アンカーは、直前の書き終わりの「exit」アンカーに接続されます。右から左への組版が有効な場合、編集ビューで連綿体の作成結果をすぐにプレビューできます(4.9.4「書字方向」参照)。

https://tanukifont.com/handbook3-8/

どうやらアラビア語ではデフォルトで必要な機能っぽい。
前回は「.init」とかをつければあとはGlyphsが勝手に書いてくてるっしょ、と思ってうまくいかなかったので、その辺をもう少し調べる。
上記ガイドでは「暗黙的なフィーチャーは、Glyphsによって自動的に生成されますが「フィーチャー」タブには表示されないフィーチャーをいいます。」とある。特に書かなくてもいいっぽい。

ということでアンカーを追加。

終端に「exit」というアンカーを置く。(試筆部分には「entry」を置いている)

で、当然、自動で繋がったりはしない。
何故か。

このフィーチャーは「アラビア語で使う」という前提なので、「右から左へ書く横書きのコンポーザー」に対応しているのだ。

https://helpx.adobe.com/jp/illustrator/using/arabic-hebrew.html

段落パネルメニューから利用可能なコンポーザーを選択できます(ウィンドウ/段落/パネルメニュー)。例えば、中東言語および南アジア言語単数行コンポーザーや中東言語および南アジア言語段落コンポーザーを使用できます。
Illustrator でサポートされているその他のアジア言語 について詳しくは、「アジア言語スクリプト用コンポーザー」を参照してください。
注意: Illustrator インターフェイスで中東言語の文字ツールオプションを表示するには、環境設定/テキスト/インド言語のオプションを表示を選択します。

https://helpx.adobe.com/jp/illustrator/using/arabic-hebrew.html

というわけで、いつもの「東アジアの言語オプション」を「インド言語のオプション」に切り替えると段落パネルに「中東言語および南アジア言語単数行コンポーザー」という見慣れないものが出る。
これを選択する。

終筆部分と試筆部分を自動的に連続させるものを実装した(?)

できた時は、少し笑った。
日本語のコンポーザーでは効かんのだ。

蛇足

もちろん、うまく設定すれば縦組みでも使えるようにはできそうだが、デフォルトではできないとわかった。
ひとまず、組み上がりは、一つは仮定通りに右下へ流れる連綿となった。

「exit」のアンカーは、文字の右半分の側にくるものが多いので、自然に右方向へ流れる。
もちろん、角度まではコントロールできない。
そこが面白いとも言えるが、実験的にバリアブルフォントにしてみる。
(考えとしては「.fina」をベースにしていたものと「.midi」のものとインターポレーションをとるイメージ。)

これで、ある程度は角度の調整が効くようになる。
「だからなんだ」と言われればそれまでだ。
検証が続くのかも知らん。

この記事が気に入ったらサポートをしてみませんか?