PostScriptフォント=ベジェ、TrueType=Bスプラインというよくある誤解について

日本で出ているフォントの技術解説記事では8割くらいは「OpenTypeはベジェだけどTrueTypeはスプライン」という誤った記述がされているのが一般的です。 先行書の記述を鵜呑みにせずに、Bézier曲線とかB-スプライン補間とかがどういう物か、ちゃんとした数学書にあたって調べればこういう誤解の再生産は無かったんでしょうが…。
22
小形克宏 @ogwata

[メモ]TrueTypeフォントの曲線は2次Bスプライン曲線とよく言われますが、間違い。アップルの仕様を参照。“TrueType Reference Manual” developer.apple.com/fonts/TrueType… 明確に“Bezier quadratic curves”とある。

2014-12-18 01:10:13
小形克宏 @ogwata

[メモ]昨晩のTrueTypeフォントの曲線の件、要するに巷間言われている2次Bスプライン曲線は誤りで、2次ベジェ曲線 “Bezier quadratic curves” が正しいということです。 developer.apple.com/fonts/TrueType… なんでこの語が流布されたのか…。

2014-12-18 09:55:48

MD5500 @MD5500

@assause あさせんせー TrueTypeはBスプライン?二次のベジェ?

2014-12-18 10:42:53
m_ogawa @m_ogaw

@MD5500 @assause おはようございます。横からすいません。Bスプラインです。 opentype.jp/fontguide_doc2…

2014-12-18 10:46:26
MD5500 @MD5500

@m_ogaw @assause Appleのドキュメントに二次のベジェだって書いてあるからBスプラインと言ってるのは間違いだと昨晩言ってる方がいらっしゃいまして…

2014-12-18 10:48:14
m_ogawa @m_ogaw

@MD5500 @assause ベジェは三次になるそうで、二次なのはBスプラインのほうですので、Appleのドキュメントのミスのような気がします。

2014-12-18 10:58:56
あの字調味料 @assause

@m_ogaw @MD5500 個人的にはいろいろ解説が面倒なので二次式・三次式曲線というてますが。

2014-12-18 11:01:33
MD5500 @MD5500

@assause @m_ogaw で、二次式はベジェなの?スプラインなの??

2014-12-18 11:03:29
あの字調味料 @assause

@MD5500 @m_ogaw 二次ベジェも三次スプラインもあるという認識。(一般論として)

2014-12-18 11:06:24
MD5500 @MD5500

@assause @m_ogaw あざーす! 両方ある。把握。

2014-12-18 11:08:39

きえだ ゆうすけ(清閑堂/ハクバオウジ)@『数式組版』ラムダノート @p_typo

多分B-splineのBをBézierのBとしている気がする… 鹿でそう書いてあるのが気になるところ

2014-12-18 12:30:02
きしもと @ksmakoto

たぶんそこそこ昔に「スプライン曲線」と「ベジェ曲線」を知っていて、なんとなくBがつくからBスプラインはベジェのことだろうとか思ってテケトーな解説をおそらくスタイリングデザインか何かの記事に書いた人がいたのだろうなぁ(海外の、かも)

2014-12-18 12:36:57
きしもと @ksmakoto

B木をバイナリ木の略だと思ってた、とかみたいなパターン

2014-12-18 12:37:56
ものかの @monokano

ほんとだ。B-スプライン曲線の制御点って、ベジェ曲線と全然ちがうpling.org.uk/cs/cgvimg/bspl… TrueTypeのパスはこんなんじゃない…

2014-12-18 12:43:56
狩野宏樹 @KAN0U

@ogwata 日本だけの誤解かと思いきや linotype.com/de/1755/postsc… にもB-splineとありますね。その直後に「各スプラインは2次Bézier曲線で、3個のオフカーブ点で定義される」とある(3個あったら4次曲線になってしまう!)。明らかに両者混同してます。

2014-12-18 12:25:02
狩野宏樹 @KAN0U

@ogwata おそらく、MSのTrueType Specificationの第1章(microsoft.com/typography/tt/…(.docファイル注意))に「Bezier spline」とあるのを、誰かが聞きかじっていたB-splineのBはBezierの略と誤解したものかと。

2014-12-18 12:35:36
狩野宏樹 @KAN0U

@ogwata 「Bezier spline」という表現はMicrosoftの文書に多数使われています。google.com/search?q=%22be… en.wikipedia.org/wiki/Bézier_sp… によるとベジェ曲線1本を指す流儀と複合ベジェ曲線を指す流儀があるとか(MSは前者)

2014-12-18 12:39:46
小形克宏 @ogwata

@KAN0U 正直、数学の分野のことなので、あまり自信たっぷりに言えませんが、2次Bスプライン曲線と2次ベジェ曲線とでは制御点~分割点の位置等が違うので、見るだけで違うと分かりそうなんですが。

2014-12-18 12:36:11
狩野宏樹 @KAN0U

@ogwata 今ならja.wikipedia.org/wiki/B-スプライン曲線 を見れば図が見られて「なお、B-splineはBasis spline(Basis=基底)の省略形である。基本的に曲線は制御点を通らない」という説明が得られますが、20世紀に広まった誤解ですから。

2014-12-18 12:44:56
狩野宏樹 @KAN0U

@ogwata 日本では少なくとも佐藤友治『Macintoshフォントブック』(1992/12、みずき出版)p.93には遡ります。オブスキュアインク編『デザイン、DTPのための フォントの鉄則』(2003、毎日コミュニケーションズ)p.44もその誤解を孫引きしたのではないかと。

2014-12-18 13:01:51
小形克宏 @ogwata

@KAN0U なるほど、“B-spline” と “Bezier spline” をめぐる誤解とはありそうな話ですね。それにつけても英語の壁の高さよ…。

2014-12-18 12:47:27

きしもと @ksmakoto

@ogwata @KAN0U 両端点含めて3点を指定したBスプラインは2次ベジェ、4点を指定した3次Bスプラインは3次ベジェそのものになる、という関連はあるのですが... (すいません、メンションミスったので投げ直しました)

2014-12-18 12:51:51