TrueTypeフォントのポイントとカーブの説明と解釈


8

最近、別のフォーラムで質問があり、ベクター形式に対する私の理解を再考させました。TrueTypeフォントはベクター形式であり、以前は考えていましたが、ベクターエディターがそれらを編集用に提示する場合、元のフォント形状で記述された点のみを提示し、曲線がある場合は、適切なハンドルのみを提示するとしましたそれらのポイント。

あるソフトウェアパッケージ(Glyphs)がArialのaを20ポイントとして解釈し別の(Illustrator)パッケージがアウトラインに変換または展開したときに37ポイントとして解釈する方法がわかりません。グリフは手元にありませんが、Illustratorを試してみたところ、Illustratorが37ポイントを提示したことを確認できます。元のポスターには、次のように両方の結果が示されています。

AでのArialからグリフ

Illustratorでは同じフォントのarialという単語(文字aの点とグリフでは同じ)に注目:

ベクター画像ファイルの基本的な概念を理解しています。データは、ポイントの一連の座標と、ポイント間のカーブの量(または不足量)を数学的に詳細に示すその他の情報であること 私が理解していないのは次の2つです。

  1. TrueTypeフォントのデータは、アウトライン化されたときにIllustratorで文字通り編集可能な形状に変換できるような方法で記述されていませんか?イラストレーターが追加ポイントを追加したのはなぜですか?または、TrueTypeフォーマットはポイントを使用してまったく記述されていませんか(方法がわかりません)?

  2. グリフは、限られた数のポイントで特定のカーブを記述することが可能であることを示しているようです。Illustratorのような評判の高いソフトウェアで、同じ曲線を記述するためにさらに多くのポイントが必要なのはなぜですか?私はこれを貧弱な翻訳だと思いますし、ほとんどのユーザーもこれを期待していると思います。これは質問1と少し重複しているため、おそらく1つの回答で両方をカバーできます。


前のディスカッション(および画像のソース、IIUC)へのリンクを含めていただけますか?
Wrzlprmft

元の投稿は不愉快な混乱であり、この点の問題を引き起こしたマルウェア/ウイルスの問題について語られていたと思います(そして、グラフィックデザインフォーラムではなかったため、人々は議論にあまりメリットのないこのアイデアを楽しんでいました)。私はそれに踏み込みませんでしたが、ここで私が尋ねた質問について熟考するようになりました。
biscuitstack

注:Illustratorのarialの画像には、36ではなく37の文字aのアンカーポイントが示されています。また、Illustratorの例に示されているように、CorelDRAWのノードとまったく同じ(37)ノードに見えるので、変換Illustrator実行していることは、おそらくCorelでも同じです(したがって、完全に恣意的ではありません)。
1006a 2017年

@ 1006a検証に時間を割いて感動しました!面白いことにCorelDRAWのが一致したイラストレーターを。私はそれらが任意にポイントを追加することを期待しません(そして、ラインが特定の角度を超えて曲がる場合、それが中点アンカーを追加するパターンを見ることができると思います)が、それがなぜであるかについてはまだわかりません。
biscuitstack

1
ええと、私は最初は実際には数えていませんでした。CorelDrawで変換を試したところ、37ノードと表示されていることに気付きました。すると、それが画像とどこが違うのかわからなかったので、もちろん数えなければなりませんでした;-)。SOに関するこのQ&Aは「TrueTypeフォントのグリフは2次ベジェで構成されています。グリフのアウトラインに複数の連続したカーブしていない点が表示されるのはなぜですか?」「余分な」ポイントがどこから来ているのかという質問に役立つように見えます(回答にリンクされているリソースも)。
1006a 2017年

回答:


4

これは確認できませんが(グリフマニュアルとオンラインヘルプ/チュートリアルを確認しました)、グリフアプリがTrueTypeアウトラインをPostScriptアウトラインに自動的に変換しているようです(TTアウトラインは2次、PSアウトラインは3次であることを忘れないでください。また、 OTFにはTTまたはPSアウトラインを含めることができますが、TTFにはTTアウトラインを含めることができます)。

Arial書体(ほぼ間違いなくTTFファイルです)をインポートする場合は、TTアウトラインをインポートすることを意味し、その後GlyphsがPSアウトラインに変換されます。したがって、ポイントが少なくなります。以下は、Arial.ttfがFontLab VI(29ノード)でPSアウトラインに変換されたものです。

Arial PSの概要

TTアウトラインを保持したまま同じフォントを開くと(この例では、FontLab Studio 5で開いています)、37のノードが取得されます(連続する制御点間に暗黙のノードがあることに注意してください)。

Arial TTの概要

イラストレーターでは、タイプは、アウトライン形式を保持するタイプエンジンによって処理される可能性が高く、2次ポイントは、[アウトラインの作成]コマンドで変換されます(弾丸のアウトラインを作成してみてください。円:8つのノードが作成され、二次隣接フォーマット...)したがって、より多くのポイントが作成されます。ここでは、イラストレーターcs6で:

ここに画像の説明を入力してください

同じ37ノード。

編集:ところで、質問に答えます。グリフは、ベジェ次数標高を使用してTTカーブを「単純化」します。つまり、TTアウトラインをPSに変換します。


1
いいえ、実際には、精度を失わずに2次のアウトラインを3次のアウトラインに減らすことができます。つまり、グリフは精度を保持しますが、フォーマットを変更します。一方、Illustratorは、2次ノードごとに3次ノードを作成しているため、それを過剰に使用しています(作成されたアウトラインを確認すると、すべてのノードに2つの制御点があるため、3次ノードになります)。不必要な精度が導入されますが、少なくとも計算は高速で正確です。ところで、その逆(3次から2次への変換、またはPSアウトラインからTTアウトラインへの変換)では精度が失われます。
Pepe Ochoa

1
私は、おそらくに関する声明過大評価イラストレーターをthat preserves the outlines format示唆として、グリフはアウトラインを維持していることを結論描いていなかったグリフの変換がわずかに少ない忠実だったし。私は今、元の仮定に戻ります(とにかくそれはより理にかなっています)。ありがとう。
biscuitstack

1
Illustratorが過剰に殺し、不必要な詳細を追加していて、Glyphs が元の曲線を簡略化している場合-どちらも、どちらの結果も忠実な表現ではないことを示唆しています。私が元のアーティストで、意図的にアンカーポイントを配置して各キャラクターの形状を描画し、ハンドルをドラッグしてカーブを制御しなければならなかった場合、デザインの元のプロパティとしてどの翻訳を認識しますか?上記の議論から、私はグリフを考えたでしょうが、簡略化という用語は再び私を投げ出しました。それとも、アンカーポイントの密度ではなく、ベジェアルゴリズムが簡略化されていることを示唆していますか?
biscuitstack

1
それが、単純化に引用符を使用する理由です。私はwiki(引用15で本を引用しています)を引用します。「次数nのベジエ曲線は、同じ形状の次数n + 1のベジエ曲線に変換できます。」数学的に言えば、TTアウトライン(2次)をPSアウトライン(3次)に変換することで、元のデザインを失うことはありません。PSからTTに戻そうとすると、一部の情報失われる可能性があります。現在、歪みを引き起こす可能性のある多くの要因もあります:形状の内部表現、丸め誤差など
Pepe Ochoa '22

1
続き:一部のエディターは、ノード/ポイントに10進座標を使用してから、丸められた整数座標をエクスポートします。これは、曲線の正確な形状に影響します。忠実度を維持したい場合は、ツールを使用してフォントを元の形式で編集することをお勧めします。それ以外の場合、私の好みは常にPSアウトラインを使用することです。(TTのアウトラインでは、いくつかの邪悪なヒンティング手順を使用できます!:PIは、非常に低解像度のデバイスで作業するときに役立つと思います...)
Pepe Ochoa

11

TrueTypeは2次ベジエ曲線を使用しますが、他のほとんどのベクトルプログラム(グリフやイラストレーターを含む)は3次ベジエ曲線を使用します。隣接するアンカーのハンドルが接続されていないため、Glyphsの例では2次ベジェ曲線を使用していないことがわかります。

ここで、2次ベジエ曲線は3次ベジエ曲線の特殊なケース¹であるため、前者から後者への変換は簡単であり、あなたの例からの私の推測によると、Glyphsはそのような簡単な変換を使用しています。私を超えた理由により、Illustratorは、より多くのアンカーを使用する別の方法で2次ベジエ曲線を3次曲線に変換します²。


¹すべての正方形は長方形でもあるのと同様に、すべての円は楕円形である、というように
² ここでドイツ語フォーラムで同じ現象のより詳細な観察であります


おかげで、さまざまなベジエ曲線の違いに気づきませんでした。2次ベジエ曲線が(多かれ少なかれ)3次ベジエ曲線のサブセットであると示唆している場合でも、リテラルとして変換を提供するのではなく、なぜイラストレーターが不必要な(グリフが示す意味で)ポイントを挿入するのかという疑問を抱きます。それができるように。2次から3次のベジェ曲線についてのあなたの説明は、グリフがポイントの量を減らす可能性が非常に低いことを示唆し、イラストレーターが実際にポイントを追加していることを示唆します。もちろん証明されていません。
biscuitstack

3
イラストレーターが可能な限りリテラルとして変換を提供するのではなく、なぜ(グリフが示した意味で)不必要なポイントを挿入するのかについての疑問を依然として抱いています。–私が言ったように、これの理由は私を超えています。私が言えることは、この現象(Illustratorがアンカーを追加する)が以前に観察されたことです。
Wrzlprmft

この特定のフォローアップの質問は、広く読んだ人を対象としていますが、@ Wrzlprmft宛てに解釈した理由を理解しています。これまでの入力に対する混乱と感謝に謝罪します。
biscuitstack

1
@joojaa:変曲点で曲線を分割する方がより堅牢かもしれません。– 2次ベジェ曲線は、アンカーの外側に変曲点を持つことはできません。したがって、それらとその3次等価物は、変曲点で自動的に分割されます。—また、変換を行うときに特定のケースで変性などが予想される場合は、通常、これがいつ発生するかを予測することもできるため、常に変更する必要はありません。最後に、他の多くのソフトウェアは、2次から3次への簡単な変換でうまく機能しているようです。
Wrzlprmft

-2

著作権侵害により、コントロールポイントの量が変更される可能性がありますか?ポイントの数と正確に一致した場合、それは違法でしょうか?

私はアメリカv1.0のイラストレーターの758番目に登録されたコピーです。Adobeのリリースの初日は1000コピー未満を販売し、2日目は約16,000コピーを販売しました。

私の入力だけで、ポイントを追加または削除するためのパスをいつでも簡略化できます。

私はその頃もfontographerを使っていましたが、すべての文字で完璧な書体を作るのは簡単ではありません。近づくまで45日以上かかりましたが、完璧ではありませんでした。


それは実際にはかなり合理的な理由ですが、推測すると、整数処理のそのような剰余を推測するでしょう
joojaa

3
フォーマットが明確(二次ベジェ曲線)で、簡単に複製できるはずなのに、なぜ著作権侵害となるのでしょうか?それ以外は、IllustratorのリリースとFontographerの残りの話がTrueTypeに関連しているのかどうかはわかりません。
Andrew T.

また、コントロールポイントの数を変更するだけで著作権の問題を回避できる場合は、ピクセル化しても同じことになります。それを心から疑う。(CC @joojaa)
Wrzlprmft

@Wrzlprmft著作権は理由ではありません。曲線をコピーするのが難しくなります。アドビはフォントエンジンを独占していた。したがって、基礎となるデータに直接アクセスする権限を人々に与えないようにすることで、フォントコピー機能の使用が困難になります。この点は今日の議論の余地がありますが、イラストレーターは
信じられないほど

1
@AndrewT。はい、多分著作権は見当違いの考えですが、コピーが少し妨げられ、曲線を2倍にするとフォントの操作が難しくなります。
joojaa 2017年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.