Togetter/min.tで作ったまとめの「下書き保存」機能が便利になりました
2012年2月21日

クロソイド曲線を使ったフォントデザイン

クロソイド曲線(Spiro)でフォントデザインをする利点と、利用可能なツールについて。
15
大曲 都市 @Tosche_J

.@mashabow さんとの話でInkscapeが出てきた。Spiroカーブが使えるほぼ唯一のソフトだったので気になっていたが、よく見たらMac版があるじゃないか。Spiroのコードの実装はGoogleのRaph Levien氏だが、なんとInkscapeの前身のソフトも(続)

2012-02-16 08:22:14
大曲 都市 @Tosche_J

…手掛けておられた。Levienさんは卒業制作でもかなりお世話になった人で、ATypIレイキャビクで初めてお会いすることができた(その時はSpiroカーブを使った新たなフォントソフトの実演をしていた)。こりゃ「イラレがあるから」とか言ってる場合じゃなくて、さっさと試すべきだな。

2012-02-16 08:24:34
大曲 都市 @Tosche_J

ちなみにSpiro(スパイロ、スピロ)曲線とはベジェ曲線とは全く違う方式で記述される物で、FontForgeでも使えるし彼の作ったInconsolataもこのSpiro曲線で作られたという。関係ないがInconsolataはTerminalでも常用するお気に入りの等幅書体だ。

2012-02-16 08:28:47
大曲 都市 @Tosche_J

Spiroの制御点にはハンドルが無く、制御点の前後関係を読み取って自動的にスムーズに繋いでくれるのが売り。この動画にあるように、点を動かすと前後のカーブを自動で調整してくれているのが分かるだろう(最初の1分ぐらい)。http://t.co/Yg0Vo9Pk

2012-02-16 08:33:49
拡大
大曲 都市 @Tosche_J

あとGoogleフォント立ち上げ時に第一陣として僕のTangerineを採用してくれたのもLevienさん。そのときは卒業制作から随分経っていて僕のことは完全に忘れられていたが、そのときの礼をすると「なんだ、あのときの君か!こりゃ驚いた!」と盛り上がったもの。

2012-02-16 08:46:56
大曲 都市 @Tosche_J

話はまたSpiroに戻るが、どうやら日本ではスパイロカーブと言わずクロソイド曲線と呼ぶようだ。この螺旋曲線にはあらゆるカーブの情報が入っているため、制御点をいくつか指定するだけで綺麗に繋げられるというのがSpiroの根本のアイデアらしい。

2012-02-16 08:57:25
大曲 都市 @Tosche_J

ただ個人的にSpiroの弱点だと感じる点は、全てのカーブがスムースに繋がるべきだという前提があるらしいこと。Adobe JensonやPoliphilus、BladoをSpiroで描くのがベジェに比べてどれぐらい大変なのか(また楽なのか)は興味深いところ。試してないので何とも…。

2012-02-16 08:59:51
aisasaki @mashcosan

@Tosche_J クロソイドって制御点少なくて済むっていう印象あるんですけど、実際のデータどうなるんですか?

2012-02-16 09:15:06
大曲 都市 @Tosche_J

@mashcosan Wikiにもそう書いてありますね。クロソイド曲線(アルゴリズム)そのものが曲線データを保持していますので、各ファイルの容量は絶対軽いはずです。ただSpiroからベジェに変換してフォント化するときはそんな利点は関係なくなりますが。

2012-02-16 09:16:36
大曲 都市 @Tosche_J

.@mashcosan LevienさんがSpiroを中心に研究している理由は、Google Docsみたいに共有&共同作業が可能なブラウザベースのフォントエディターを作ろうとしているからです。そのためには書類データの軽量化が非常に大事なのです。

2012-02-16 09:18:31
大曲 都市 @Tosche_J

.@mashcosan ちなみにSpiroがLevienさんの20%プロジェクトだそうで。その前はGoogle Fontが20%プロジェクトだったそうです。

2012-02-16 09:19:30
aisasaki @mashcosan

@Tosche_J なーるほど!描きやすいカーブでデータ量軽く制御してあげたいんですね。変換誤差は心配ですが、マスター用のフォーマットとしてはアリですねー。

2012-02-16 09:43:18
大曲 都市 @Tosche_J

@mashcosan デモを見たところスパイロ→ベジェは一見したところ問題はなさそうでした。逆はどうだったか覚えてませんが。あとマルチプルマスターにも柔軟性が高いとか言ってましたが、そちらはデモを見たわけではないので何とも分かりません。

2012-02-16 09:50:55
大曲 都市 @Tosche_J

ATypIでのSpiroデモは本当にChrome上で動くクロソイド曲線ベースのフォントエディターだったが、まだα段階なため公開できないとのこと。他の人に聞いたら「2年前も同じようなレベルだったよ」とのこと。それは待てん。FontLabとかRoboFontとかに実装して欲しいなぁ。

2012-02-16 10:11:53
きえだ ゆうすけ(清閑堂)@『数式組版』ラムダノート @p_typo

spiro curveではピンとこなかったがclothoid curveなら何のことだか判るぞ!とりあえずLevienのD論はダウンロードしてみた.

2012-02-16 10:14:11
大曲 都市 @Tosche_J

@p_typo ちなみに英語だとオイラースパイラルというのが主流の呼び方らしいです(スパイロはマイナーな様子)。

2012-02-16 10:20:38
きえだ ゆうすけ(清閑堂)@『数式組版』ラムダノート @p_typo

@Tosche_J Euler spiral (clothoid curve)は基本的な図形で,私の数学上の専門(topology)にも一部関連します.しかし,それがフォント描画に応用されているとは知りませんでした.

2012-02-16 10:31:03
大曲 都市 @Tosche_J

@p_typo クロソイドでのフォント制作は全然浸透してませんが、なかなか面白そうな技術ですよね。今まで「ふーん」という感じで見てただけですが、これを機会に深入りしてみようかと思います。

2012-02-16 10:40:05
大曲 都市 @Tosche_J

寝る前にSpiroの最大の難点を思い出した。最大の長所であるところの"空気を読む自動修整"が邪魔ということ。「そこの曲線を勝手に変えるな!」とイライラしながらの作業になりそうな予感がするのだ。まぁそういうのを断言するのは試してからにしよう。それではお休みなさいませ。

2012-02-16 10:53:28
狩野宏樹 @KAN0U

FontForgeで実装されているSpiroの弱点。G4 curveという曲率の連続性を最適化しようとするカーブを使うと、図形を歪ませた時に異常が起こる。左の図(一部隠れているが滑らか)と右の図は、黄色い点を少し移動しただけ。 http://t.co/B7ejn3Jy

2012-02-16 17:55:20
拡大
狩野宏樹 @KAN0U

@KAN0U 図で丸で表示されているのがG4ポイント、菱形がG2のカーブポイント。左側のメニュー表示を見ていただければ解る通り、コーナーやタンジェントに相当する点も設定できる。基本的にはG2だけ使って形をとり、ファインチューニングしたい時だけ必要に応じてG4にするのがよいと思う。

2012-02-16 18:00:39
狩野宏樹 @KAN0U

@KAN0U それにしてもこの図、素粒子実験の泡箱写真にそっくりである。(参考: http://t.co/RSUUdjul ) 実際、磁場の影響を受けて運動する荷電粒子はほぼ一定の率で曲率半径が小さくなっていくのだろう。

2012-02-16 18:09:45
狩野宏樹 @KAN0U

Spiroを使ってみたいのは丸ゴ。角丸を正確な円弧と直線の組合せで作ると、拡大時に継ぎ目が尖って見える。直線が曲率ゼロなのに、円弧が有限一定値の曲率を持つため。車で言えば、正面向きのハンドルを突然斜めに切ったり戻すような物。実際、高速道のカーブはクロソイドの緩和曲線が入っている。

2012-02-16 18:43:18
@horuf

あるある。尖るというか膨らんで見えますね。 RT @KAN0U: 角丸を正確な円弧と直線の組合せで作ると、拡大時に継ぎ目が尖って見える。

2012-02-17 15:12:13
残りを読む(81)

コメント

コメントがまだありません。感想を最初に伝えてみませんか?