見出し画像

FontLab 8 解説その2

まぁ、それで、前回のつづき。このシリーズ、急いでやっているから普段の2割増しでハイコンテクスト気味になっているかも知れないけど、別に高尚なはなしをしているわけではないよ。検索すれば出てくるような用語ぐらいしか使ってないから大丈夫。まぁ、余裕があればそのうち用語解説も追加します……ともかく、こんなお話。

さて、FontLab8では従来までのツールとはうって変わって進化したモジュレーション可能なストロークのツールが導入された。フォント制作のエディタは、ドローしたストロークを太らせることが可能とは言っても基本的には単調で、実作業は結局文字の輪郭を囲んで中を塗りつぶしてアウトラインデータを作成するということに尽きるので、最終的にはそういうことに特化したアウトライン制作のためのツールでしかなかったのだが……まぁそういう面がなくなったわけではないが、今までよりは柔軟性も高くなりレタリングチックな輪郭ベースのデザインからカリグラフチックなストロークベースでのデザインのツールに……いや、まぁ、そこまで言って良いかどうかはともかく、ツールとして見れば、そんなところも、より実用的なレベルにまで到達するほどになってきた……ってまぁ、話すより見て貰った方がいいか。

Power Strokeという機能でこんな感じ。分かる人は分かると思うけど、手作業のストロークはグリフの輪郭の中に引いた骨骼に当たる線1本だけ。これにStroksパネルで指定した幅に太らせた輪郭を作ったら、ノードの始点終点位置の始末は、タテヨコなりゆきボコデコ丸角が指定できて、線のコーナーもマイターとベベルとラウンドが選択出来る。輪郭と骨骼の関係も調整できて、輪郭の幅をノードの位置で個別に調整するツールは磁石のツールの下に新しくできたThicknessという、ストロークぽっちゃりツールを使う。ちょっとまだ慣れないのでツールに遊ばされている感はあるけど、使いこなせれば筆文字なんかはわりと結構良い感じのところまではもっていけそうな気がしない? ということで、今回はここの使い方から。といっても基本的にはGlyphsでLTTR/INK触ったことがある人ならそんなに違和感なく使いこなせるはず。なのでLTTR/INK同様の欠点というか、まぁ苦手な部分も同様なのだけれどそこは割り切って筆記用具の一つとして見れば、こういう筆記用具を使って描いたフォントを作る用途としては……これだけでもかなり実用度の高いグリフセットを……まぁ、作れそうな気がしないでもない……よね?

それで、作業は従来の輪郭ベースの文字デザインから、文字の骨骼を基本としたグリフのデザインへ……という考え方になるので、G2曲線がどうだのカーブのテンションがどうこうという話は……まぁとりあえず一旦は忘れておく。どんなにツールが賢くても現状では、最終的には、輪郭のカーブをアウトラインに落としてフォーマットし直さなきゃならないことには変わりないので、そういうことを言い出すとホント身も蓋もないからね。

さて、売り文句を真に受けると、このストロークブラシは輪郭が必ずしも中央を通っていなければいけないなどという制約がないので、上の図でも示したとおり左右どの部分にどれだけ肉付けをするかということが自由に指定できる。さまざまな種類のキャップコンポーネントで開始ノードと終了ノードを指定でき……つまり起筆と終筆も自由にデザインできる? ってこと、これは下の図のような感じ、波をうったカーブの終端に魔法使いの杖みたいな下の図形を接続してストロークの幅を弄ってみた。それから、水平に対する垂直方向の比率をストローク全体で指定できて、もちろん各ノードごとにもローカルに調整できる……っていうのは上の図の通りだね。あとは、カラーフォントにも対応していて、カラーも塗り潰し以外に色のグラデーションの指定もできる……と、まぁ、カラーフォントは今はいいや……とりあえずは、まぁ、こんな感じの新機能ということになる。

_cap.ナントカという名前でコンポーネントグリフを作ってあればそれがストロークブラシの終筆、若しくは起筆のストロークと差し替わるのだが…

それで、キャップコンポーネントの機能はその上の図のようになるのだけれど……う〜ん、いろいろなパラメータが相互に関係し合ってしまうので、結構コントロールが難しい……思ったような曲線にならない……もう少しツールの性格に馴染まないとうまく付き合えそうな気がしない……ただ、まぁやり方は簡単で、キャップコンポーネントに使いたい図形を、_cap.ナントカという名前を付けたグリフを作ってそれに描画したら、接続の起点にnode1という名前でアンカーを打っておいて、キャップを付けたいグリフに戻ってパスを選択し、ElementメニューのAdd Skin Filterを選ぶとウインドウが出るので、いま作ったグリフの_cap.ナントカを探して選択するだけ、実に簡単。

単純にパスが差し替わるだけの非破壊変換なので元のグリフを台無しにしないところも……ぁ……って、FontLabのほうが落ちやがった! パスは非破壊かも知れないけれど、ここまでの作業が破壊されたよ! う〜ん、なんか、まだ、ちょっと、不安定な感じ……リスタートしてやりなおし……って、言ってるそばからまた!

まぁコンポーネントのフィルターは、他にも輪郭を装飾したり、コーナーの図形を差し替えたりっていう、Glyphsのそれと同様に機能するので、あれに慣れていれば使うのに苦労は無いと思う。ただ、ちょっとした方言の違いみたいなものはあるので……まぁ、エレメントとコンポーネントの話はそのうち出てくると思うのでそちらでまとめてやる。ともかくストロークベースでのデザインで起筆と終筆も自由にデザインできるということだけはわかったけど、今のところオレには上手く扱えそうな気がしない……トホホ。

さて、実はFontLabではこのストロークベースの筆記用具以外にもう一つ、従来からのブラシツールというやはり同様な骨骼ベースの筆記用具も持っているのだが、この2つは考え方がちょっと違っていて、相互に融通が利くようには出来てはいない。これは、まぁ、もちろんパスは同じモノをコピーすればそれを利用することは可能なのだけれど、アプリ上に表示されているグリフの絵面のデータが最終的に計算機のオペレーティングシステムに理解可能なフォントのデータとしての輪郭のアウトラインを生成する場合、ストロークエンジンのほうは骨骼をオフセットして輪郭を生成するのに対して、ブラシツールの場合は描かれたストロークに沿って移動する楕円をトレースすることによって輪郭を生成する……と、まぁ一件なにを言っているかわからないかもしれないし、どうせ輪郭が生成されるなら一緒じゃねえか! とお怒りかもしれないけれど、説明するとストロークエンジンはオフセットされて生成されたノードの数が骨骼のノードの数と比例するのに対して、ブラシツールの場合は楕円によって塗られた部分をトレースして出来た輪郭が、どれだけのノードを吐き出すかはストロークのノード数とはまったく無関係で一意に決定しないのだ。なので、まぁ単独で見ると確かに出来上がりはどっちでも同じようなモノに見える代物でも、システム的には……例えばストロークの肉付きのデブり具合をみてバリアブルフォントを生成しようとする場合に、ストロークエンジンはノードが一致するのでそれほど無理をしなくてもいいのだけれど、ブラシツールの場合はお察し下さい……ということになる。まぁ、そういう意味ではLTTR/INKの場合だと……いや、まぁ、その話はいいか。

それで、まぁブラシツールというのは、まぁそういうことなので、FontLabしか持っていないというなら話は終わるが、イラレのブラシツールが使えるなら、イラレのブラシの方が多機能なのでストロークのデータはそっちで管理しておいて生成した輪郭をFontLabに持ち込んだ方がまだマシという感じではあったのだけれど……いままでは、まぁ今回のバージョンアップではストロークエンジン同様、ラインのぽっちゃり度をThicknessツールで個別に調整できるようにはなったので、ラウンドハンドなスクリプトの制作にはわりと向いてきているといえばいえるのかも。こういうツールの利点はさっきも言ったけど曲線を非破壊的に扱えるところなので全体をストロークのコピーだけで、がさっと一気に仕上げてしまうという乱暴な方法を採用する場合には大変便利……いや、それが悪いって言ってるわけじゃないよ。

設定した楕円率と角度は変えられないけど、内側に向いた矢印を個別に調整するだけでそのノードにおける楕円の直径についてだけはやはり個別に調整が可能だ


さて、まぁそういうことでブラシツールの紹介は大まかこんな感じでいいとして、ストロークの続きを始めよう。

あぁ……っと、まぁ、その前にフォントのデザインを決めてしまうわけだが、設計図というか基本的な考え方は、もう以下のように決定している。ただし、まぁいろいろと調整しないといけないので、この通りにはならないのはお約束で……とくにこのアホみたいなテンションの縛りが、もうそれだけでこのフォントが制作過程に問題を抱え込むだろうということに関してだけは誰が見ても想像できる。トラブルは立派にご予約済みとなっている。

実は、ほんとは、ここへ辿り着く前段の話もあるのだが、それも話す機会があればまたそのうち。なんか、小難しそうなことを考えていたように思うかも知れないけど基本的にはたいした事を考えていたわけではない。まぁ結果単純な白銀比になってしまっているところも笑いどころといえば笑いどころではあるのだけれど、こういうものは人類が長年かけて育ててきた工業規格みたいなものなので、ある種の呪いがかかっているから、誰がどこをどう弄っても四角の対角線に線を引けばピタゴラスの三角形できるのと同様、こういうことをするとこういうことになってしまう……なので個人的には黄金分割で審美性が云々なんていうのはアホ議論だとは思っているのだが、まぁ、また、こういうはなしは燃えやすいし誤解されないように説明しだすと長くなるので……ホント勘弁して下さい……ただ、そうはいっても、全体を調和させるためのなんらかの指標は何をするにも必ず入り用でその所為で工業規格が登場する。そういうわけでわざわざこんなところにアタマのおかしい都市伝説を持ち込んできているというわけではないということだけは注意しておく。今回のケースではたまたま偶然そうなるべくしてそうなっているだけだからね……というくらいの理解でお願いしますよ。ホント。

さて、まぁそういうわけでフォントに戒名をつけて、xとcapsのライン決めをしてしまうわけだが計算するとeMが1000だと、仮にxを500とするとcapsはだいたい707、逆にcapsを700でとると約495か……どっちも端数が微妙なので、ちょうどいい感じの近似値を取ると680と480という何処かで聞いたことのあるような図ったように都合のいい数字の組み合わせが出来上がる。これであとグローバルテンションを95%にすればFont Infoの設定は終了。これでフォントの制作に入る。

さて、まぁ前にも言ったこともあるけど個人的にはSから始めるのが好きなんだが、このフォントは、設計図もあるし問題無いとも思うけど、その馬鹿みたいなテンションの縛りで、オレの危機を察知する能力がそこから始めると面倒なことになるといっているので、普通に小文字nとoから作ってしまう。横680高さ480をFontInfoパネルで作ったラインの位置に合わせてnとoのグリフを選んで機械的に突っこんでしまえば……図のような感じ。まぁ、簡単。グローバルテンションが指定されているので楕円ツールでシェイプを作る場合、Ovalツールをクリックすると表示されるAdd OvalウィンドウのShapeの右を押し込んでおくと作った楕円がFont Infoパネルで指定したグローバルテンションのかかった丸に勝手に仕上げてくれる。ただ、このとき左側のFullのボタンで楕円の塗り潰しの指定をしてもしていなくてもパスが閉じていると中まで塗りつぶされてしまうため、メニューバーのElementメニューからMake Power Strokeを選択する必要がある。なんだろうツールのバグか……使い方間違えたか……まぁでもともかく、Make Power Strokeさえ覚えておけば、閉じたパスでも開いたパスでも問題無くPower Strokeで中抜きができる。簡単だね。

あとは、まぁ前回説明した感じで、図形をコピー、転換、反転、複製とやっていけば、設計図も決まっているし、こんな単純な図形で良いならアルファベットはあっという間に完成する。このあたり、図形の再利用の話もあるのでエレメントとコンポーネントの話のところで解説する。

そういうわけで、やりかたがわかれば実に簡単……なんだけど、ただ、こういうふうに機械的に数値を決めたり、コピペで済ますようなやり方は、以前もやった反知性主義フォントの作り方みたいなソリューションなので実は問題は大いにある。まともな教科書には……というか誰に聞いても、何処を見ても、普通はやってはいけないと大書されているはずで、搭乗客達からのクレームも多い荷物の待ち時間が長すぎるという問題の解決に到着した乗客にあの馬鹿でかいヒューストンの空港をさらに6倍も7倍も遠回りさせるという詐欺的手法でクレーム減らすのがデザイン思考だと語ってしまうくらいに間違っている……クレーム減らすソリューションじゃ無いんだよ、それだと基本的に問題は何も解決してないじゃん! って、まぁ、これ、デザイナーやコンサルなんて詐欺師の同類だと思って見下しているようなNYの左巻きの新聞社が言い始めたはなし……だったと記憶しているのだけど、まぁそういうことなので思考の過程をすっとばして結果だけでいうというデザイン思考していない説明をするからこういうトンチンカンな話になるんだけど……それはともかく。そういうわけで、人間、物事を錯覚させられていても気が付かないどころか正常な事態が進行していると思わされ、かえって何倍も歩かされるなどという酷い目に合っているのにも関わらずクレームすらも思いつかないほどに騙されてしまうようなことなんかはよくあって、ものの見え方にも当然そのことはあるので、ヒトの目の性能限界やらなんやらの問題もあり、たとえば脳に左のような構造を認識させようと思ったら、ここではわかりやすいように極端に変形しすぎてはいるが、まぁおおむね右のような間違った図形を描かないと理解してはくれないという困った傾向があるというようなことにはなっている。

変換であきらかに弄りすぎてまったく別物にはなっているが、実際は右の図形に近づくように左の図形の各点のベクトル移動がちょっとだけ行われる必要があるという話。3次の変数が使用されているけれど実を言うと、これでもまだ錯視の影響を調整するために必要なパラメータの数は、まったくもって足りてはいない

なので、正確に図形を認識させようと考えたら、間違った図形を描かなければいけないのだけれど……イヤ、まぁ、正確に間違えないといけないんだけれど、印刷されるなり、画面でみるなり、街の看板で見かけたりするなど、出力されている文字がその人から見てどの位置どの方向に現出するかなんて想定できる話しでは無いし、どこをどれだけ正確に間違えたら良いかなんて、仮に3Dヘッドデバイスで眼球の動きを追って高性能な計算機で固定でリアルタイムに目の前にその図形を計算通りに現出させるという事に成功したとしてもそれで本当に正確にその図形を正しく認識させることが可能かというと、人類の個体差含めそんな保証はどこにもないので、ある程度のルーズさは必要にはなる。

というか、脳の方でもその程度のルーズさは許容範囲で、脳が文字だと認識すれば正常性バイアスみたいなものも働くのであるていどのことは無視できるようなことにはなっていて、横と縦の線の太さの違いが見た目で大きく変わっていてもわからない程度には騙される……ただこのエンジンは大きな嘘には騙されてしまうが、ちいさな嘘には騙されないと言う、昔のドイツの独裁者が言っていた有名なセリフのような厄介な性質があって、微妙な差異を積み重ねていくような文字のデザインではここが大きな問題になる。

まぁ、それで、Vをひっくり返してそれをそっくりそのままAの部品に使うということは、いままでのの話ではいくらなんでもそれは駄目だろう……上の図に則せば、VよりAのほうが開いていないといけないと言うことは想像はつく……え、ここまでの話を聞いた後では、もう、なにか詐欺師の口上にしか聞こえない? まぁ、そういう側面もあるかもしれないけど、概ねだいたいはそんな感じ。で、詐欺師のことは忘れてもらって、そういった影響を軽減するために、いろいろ微調整をするわけだけど、まぁそういう騙されそうな話はヌキにしても、こういうこともあるので、コピペと反転だけで作ったイージーな代物では文字としてはまったく使い物にならないよ……というようなことを、教科書では一言で、やってはいけないといってるわけ。

いや、まぁ、そりゃ使おうと思えば使えるかも知れないけれど、素人のDIYでエアコン爆発させちゃう程度には使えない……まぁ何でも無いです。ただ、たとえそういったことに知識が足らないド素人のDIYでも、やっぱり自分の脳で違和感を感じるというようなことがあれば、コンプレッサーがディーゼル爆発して室外機を木っ端微塵に吹き飛ばす前にポンプダウンは停止する必要があるので、作った文字を見て、変だ、おかしい、と思ったり、直す必要があると感じるならば、圧力計の数値より自分の危機察知能力を信じたほうが助かる可能性は高い。人から聞きかじった話や画面に表示される数値ではそれが正確だと表示されていても、なにかおかしいと思ったら、多分それはおかしなことが起きているので、必ず直さなければいけないことにはなるだろうというおはなしもあるから直感を大事にすることも大事になる。仮にコピペで済ますとしても、とりあえず作ったモノには片っ端から触っておけという言い方にもなる。

それで、実際ここで作っているフォントのような、こんなスーパー楕円崩れな形態でもそれなりにオーバーシュートをとって視覚調整しないと、下の説明のために適当にキャプチャーしたスクリーンショットを見てもわかるように膨らんだ楕円の頂点が沈み込んで見えることぐらいは確認出来ると思う。なので、それを調整するためにグリフのリンクを解除して個別にパスの見た目で補正したり、Power StrokeにThicknessツールを使うなどして膨らみ部分の太り具合を少し上下左右に調整する必要があるのだけれども、後でいろいろと気が変わったりしたときには、もう元の形状や依存関係等は破壊されてしまっていることになるので、はじめからやり直しになるということで、それはそれでまた面倒でもある。勿論この手のシンプルなカタチならいくらでもどうにでもなるけれど、もっと複雑な形状を作っていたりした場合、視覚調整のためだけに図形を台無しにされるのには我慢がならん……という事になったりすることもあるので……そのためにFontLabでは、もう少しクレバーな、別のアプローチも用意している。それがDelta Filterだ。

oの図形をコピーしてpを描画しそのpをDelta Filterで変形してbを作っている

Delta Filterは細かい差分を調整して小さな嘘をつくための機能で、もともとフォントのヒント処理に使われる……ってここも説明いるか……簡単にいうと、ヒントというのは画面表示やプリントのときに縦棒の太さが揃わなかったり文字のアタマがキャップのラインからバラバラに飛びだしたりしても困るのでデバイスのグリッドとフォントデーターのアウトラインがズレてしまうような箇所を調整するためにアウトラインポイントの位置を指定された整数値に固定するというフォントに埋められる機能のこと……なので本来ここまで大きくものを動かすためには多用しないだろうなどとは思うのだが、やれば出来るのと、説明するのにもわかりやすいのでこうなっている。まぁ要点はコピペで作った図形の細かい調整を後からグリフごとに調整できるということで、コピー元の図形を破壊しないので、後から……たとえばステムを太くしたり、飾りをいれたりしてもそれが調整されたグリフにも同じように反映されるので大変便利というお話で、いろいろやろうとは思っていたんだけど……細かい事は前回も紹介した、Dave LawrenceによるホワイトなチュートリアルのSpecial Non-Destructive Transfomationの項目にわかりやすく丁寧に解説されているので、そちらがオススメ、ここで話すことは殆ど無い……いや、ホント、こんな非公認でブラックなチュートリアルよりよっぽどためになることがいっぱい書いてあるので是非そちらを参照して欲しい……オレの話を真に受けたりすると空港荷物待ち問題をドヤ顔でデザイン思考だと語ってしまうような恥ずかしいことにもなりかねないのでホント注意して欲しい。ということで、この続きはまた次回。






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