2015 年 2 月 26 日
インテリア フォントとは一体何なのか疑問に思ったことはありませんか? 文字が含まれていることは理解していますが、実際には文字の絵が描かれていますが、他には何がありますか? 賢明なことに、もう 1 つの起動をクラックして覗き込み、そこにいる間に、流行語の少ないこの世界を構築するためのモードを袋に入れませんか?
私たちの意見を述べます
Sans Bullshit Sans として知られるフォントを収集します。 )
Sans Bullshit Sans を使用すると、すべての流行語がコメディアン Sans スタイルの検閲バーに置き換えられることは間違いありません。 そして難しいのは、これには CSS や JavaScript を使用しないということですが、確かに昔ながらの OpenType フォント テクノロジーを使用します
このプロジェクトには 3 つのものが必要です:
- 見たり編集したりできるフォント
- texteditor でフォントを編集できるようにするツール
合字を取得する
最初のステップのケアをすぐに根絶します。 私たちはフォントを大まかにリバースエンジニアリングしているので、これを合法的にぶら下げることを許可してくれる人を望んでいます。 起動元のフォント Droid Sans については確かです。Apache ライセンスにより、後で変更して再配布できるからです。 それを手に入れて、お気に入りのフォントハッキングリストに保管しておいてください. 彼らはフォント用の Photoshop が大好きだと思います: 非常にグラフィカルで、検索曲線が適度に急勾配です.
しかし、フォントを編集するための他のコンポーネントがあるかもしれません. 彼らは TTF として保存された後、すべての知識を明確な構造で保留します。 これは OpenType 構造 で、すべての文字がさまざまな 表, それぞれがその文字の特定の特性を記述します.
例として, glyf デスクには、フォント内の文字の形式に関する知識が保持されています —実際には、すべてのキャラクターの描画が保存されます。 他のテーブルは、ファッションのデザイナーの肩書き、フォントの最大の高さ、合字に置き換える必要がある文字の組み合わせなど、さまざまなデータを差し控えています。人に見捨てられたからです。 したがって、これらのテーブルに参加したい場合は、それらをより読みやすく、紛れもないテキスト教材に変換します。 幸運なことに、TTX/Fonttools があります。これは、フォントを XML に、またはその逆に変換するエクスポーズ ライン インストゥルメントです。 XML ファイルはおそらく、お気に入りのテキスト教材エディタで開いたり、教えたり、編集したりすることさえでき、事実上、私たち人間にとって適度に読みやすいものになっています
Sourceforge をモデルにしていますが、私は をお勧めしますBehdad Esfahbod
によるフォーク。 これは積極的にメンテナンスされており、バグ修正と新しい側面が追加されます (実例として、新しいカラー テーブル
のデコード) ). Web ページのセットアップ手順、または Windows の場合は こちらの詳細な手順
を適用します
Droid Sans のボンネットの下で試行中
TTX/Fonttools をインストールしたら、起動してぶら下げて、Droid Sans をデコードします:
$ ttx DroidSans.ttfTTX/Fonttools は全体を翻訳します。
DroidSans.ttf のバイナリ知識 を XML に変換します. そうしている間、出力はちょっと気に入ったように見えます:
ダンピング "DroidSans.ttf"
に "DroidSans.ttx"... ダンプ 'GlyphOrder'デスク... ダンピング 'head' デスク... ダンピング 'へへ' デスク... ダンピング 'maxp' デスク... ダンプ中
TTX/Fonttools は全体を翻訳します。
DroidSans.ttf のバイナリ知識 を XML に変換します. そうしている間、出力はちょっと気に入ったように見えます:
ダンピング "DroidSans.ttf"
「OS/2」 デスク... ダンプ中 'hmtx' デスク…ダンピング
」 cmap' デスク... ダンプ中 'fpgm' デスク... ダンプ中'準備' デスク... ダンピング 'cvt' デスク... ダンピング )'loca' デスク... ダンピング 'glyf' デスク... ダンピング 「タイトル」 デスク。 .. ダンプ 'submit' デスク... ダンピング 「あっ」 デスク... ダンピング 「FFTM」 デスク... ダンピング
'GDEF'デスク... ダンプ中 'GPOS' デスク... ダンプ
'GSUB'
机...
おそらく、グリフ以外にもそれをのぞくかもしれません 私たちが話した机、Droid Sans には他に約 18 のテーブルがあります。 ダングルが少ないフォントもあれば、余分なフォントもありますが、サウンド フォントに追加して非常にうまく機能する従来のテーブル ステーションが常に存在します。フォントに含まれる文字、文字の形、フォントのタイトルなど、すべてです。 Droid Sans の head デスクをすばやく見て根絶しましょう。フォントに関する知識:
value="1.0"/> value="1.0"/> value="0x2e9ffae7"/> value="0x5f0f3cf5"/> value="00000000 00011111"/> value="2048"/> value="Mon May 17 19: 56: 38 2010"/> value="Fri Jul 9 07: 55: 05 2010"/> value="-352"/> value="-492"/> value="1966"/> value="1907"/> value="00000000 00000000"/> value="8"/> value="2"/> value="0"/> value="0"/> 今のところ、em あたりのこれらのデバイスに完全に惹かれています:
value="2048"/>
合字を収集するときは、同じコストを使用します。 キャラクターのサイズ、最も重要な垂直方向の高さを構成する要素は、Droid Sans のサイズと正確に一致します
今のところ、TTX ファイルが何であるかについてハイテールを取り除きます。 正確な合字を追加した後、後でサポートします。
合字のデザイン
今のところ、em あたりのこれらのデバイスに完全に惹かれています:
value="2048"/>
合字を収集するときは、同じコストを使用します。 キャラクターのサイズ、最も重要な垂直方向の高さを構成する要素は、Droid Sans のサイズと正確に一致します
今のところ、TTX ファイルが何であるかについてハイテールを取り除きます。 正確な合字を追加した後、後でサポートします。
合字のデザイン
ここに意見があります。 流行語のリスト、および
の OpenType 機能を (ab) 使用します 合字 これらのフレーズを、私たちが選んだものの 1 つと交換します。でたらめ」:
合字は、文字列 (または グリフ のチェーン) これらの文字を表す) は、1 つのグリフ
合字インプロ ve 読みやすさ: 文字の要素がぎこちなく重なり合う駅で (f の上の曲線が大好きです) と i) のドット、ファッションデザイナーは、より見栄えのするパーソナライズされた形状を収集できます。 合字のもう 1 つの目的は、手書きまたは筆書体のさまざまなコンポーネントで文字を結合することです。 楽しい真実: 有名なアンパサンド & は、ミューズの中にありました
現在、すべてのフォントが合字を提供しているわけではありません。それは、ファッション デザイナーまたはフォントの配布者が収集または包含する順序です。彼ら。 例として、Google の Web バリエーションでは、最終的にファイルが小さくなるように、合字が取り除かれています。 親切な愛好家はおそらくさらに躊躇するかもしれませんが、それはキラリと光っています.Webブラウザーの合字サポートは少し不安定に構成されているため、他の人が使用できない可能性のあるものをダウンロードするのをぶらぶらさせるのはもったいない.
合字が機能するには、フォントが GSUB をぶら下げる必要があります。デスク (グリフ置換デスク) には、どの文字の集合体を合字に置き換える必要があるかについてのエントリがあります。 文字集合に対して「f と
」を発行します。 i、 を指すfi-合字.」
この机を使って愛の「相乗効果」のフレーズを反転させます
ここで行っていることは、合字機能を正確に使用することに大きく依存していることは、おそらく注目に値するでしょう。 正しい多様性 - 他の人々は、これが大好きな機能のこの未熟な誤用を正当に嘲笑するでしょうが、フォントがどのように機能するかについて教えられるのは秩序だったコンポーネントであると信じていました.
コンポーネントからの免責事項についてでは、3 つの合字をマッピングしてみましょう。1 つは一時的なフレーズ用、もう 1 つは中程度のフレーズ用、もう 1 つは長いフレーズ用です。 Illustrator または SVG に影響すると思われるその他のベクトル描画ツールを起動し、間もなく作成される合字をマップします:
正確に入力しようとしていますか? そう思います。 これらを合字に変えてみましょう!
SVG ファイルをフォントに変換する
3 つの SVG ファイルとリバース エンジニアリングされたフォントをぶら下げて、それらを待っています。 しかし、SVG もグリフもベクトル画像だとしても、さまざまなコーデックであるため、それらを鮮やかに複製することはできません。 それらを OpenType が価格を設定できるものに変換したいと考えています。 TTX を介してそのフォントをハイテールにする場合、XML の構成要素を単純に複製して貼り付けることができます
SVG からフォントを収集するには、巨大な一連のエクスポーズ ライン インストゥルメント、Web アプリ、または本格的なフォント エディター。 私は基本的に完全に楽器ベースのWebを微弱にしていますIcomoon.
手順は簡単です: 新しい空のフォントを収集し、SVG 画像をインポートし、フォントをエクスポートします。 すべての Icomoon の設定は、デバイスごとではなく、おそらくデフォルトのままになっている可能性があります。 これらを Droid Sans と同じように差し控えると、寸法とオフセットを再計算することなく、グリフを単純に複製できます。 ダウンロード画面で、設定ボタンをクリックし、フォント メトリックに移動します。 「Em sq. height」の下には、Droid Sans で有名になった 2048 の数値が含まれます
get 合字ロードの整理をより簡単に構築するために、すべての SVG に対して 1 つを既に作成しています。 ディスプレイの端にある「fi」ボタンをクリックして、フォントの合字を許可すると、すべての文字の入力規則が表示されます。 通知を入力し、最小の合字の「忍者」を愛し、GSUB を収集します*) シソーラスの設計図として使用するデスク エントリ
フォントをダウンロードする準備ができました! それを解凍し、TTF をフォント ハッキング リストに追加します
私たちは、文字も句読点もなく、3 つのでたらめな絵をすべて含むフォントをぶら下げます。アイコンはなく、でたらめな写真が鮮やかです。 この時点で、それらは の文字にマップされます) Unicode の PUA
(0xE600、0xE601、および 0xE602)。 すぐに覗いてみると、これらのコードはさらに内部タイトルを構成しています. bullshit.ttf に
bullshit.ttx なので、お気に入りのテキスト教材エディタで開くことができます。 これは、Droid Sans で行ったのと同様のことです:
$ ttxでたらめ.ttf
私たちはしませんこの TTX ファイルのすべてが必要です。 私たちが惹きつけられる全知識は、5 つの表に含まれています:
GlyphOrder (エントリ GlyphID) hmtx (エントリ mtx) cmap (エントリ スキーム) glyf (エントリ TTGlyph) GSUB
先に見たように、すべてのデスクは、フォント内のすべての文字の 1 つの特定の機能または部分を処理します。 見た目を根絶しましょう:
- テーブル 1: GlyphOrder
これは TTX/Fonttools インストルメントによって生成されたデスクであり、常に OpenType 仕様の一部ではありません。 フォント内の文字全体をリストするだけです。 グリフの順序付けは glyf デスク内で明示的かつ暗黙的に保持されます。 TTX/Fonttools ビビッドを使用すると、より単純になり、次の GlyphOrder デスク。 bullshit.ttx と貼り付けて GlyphOrder デスクイン droidsans.ttx。 ID 値を交互にすることを忘れないでください:
独自のグリフから文字へのマッピングに従って、タイトル「uniE600」を探します。 ビビッドなインテリアタイトルなので、ハイテイル離れていきます
表 2: hmtx、水平メトリック このデスクは、OS にキャラクターの水平ステーションをどのように並べるかを指示します。 文字の幅は、文字が占める水平方向の位置を表していると予想されるかもしれませんが、これが常に当てはまることはめったにありません。 一例として、筆文字では、関連する手書きの範囲を収集するために、文字の形状がさらに適度に重なり合っている可能性があります。 したがって、「横送り」はおそらく文字の幅よりもむしろ減少している可能性があります。 そのデータのやり方は hmtx デスク内に保持されており、 3 つのでたらめなグリフを追加するには:
name="uniE600" width="12174" lsb="61"/> name="uniE601" width="6458" lsb="19"/> name="uniE602" width="4138" lsb="107"/>
これらの幅は、em コストごとのデバイスによって概説されるグリッド サイズに従っていると主張します。 他のコストがわずかである場合は、ここでこれらの幅を再計算する必要があります.
表 3: cmap、パーソナリティからグリフ インデックスへのマッピング テーブル
The
cmap デスクは
文字コード
のフォント内のグリフ インデックス値は微弱です。 文字「P」の Unicode コストを、「P」グリフのフォントの内部 ID に一致させます。 このデスクには豪華な追加機能がありますが、とりあえず 3 つの新しいキャラクターを鮮やかに追加しましょう。 2 つの cmap_format_4 テーブルに対してこれを行いたいので、ほとんどの場合、小さい cmap_format_0 デスクをおそらく無視するでしょう。 正直なところ、これらを最後に追加してください:
(正当なヒント: Droid Sans で周りをつつきながら、 Aacute Droid Sans のエントリと、おそらくできた駅にたどり着いたとしても覗き見この手紙はなんと巧妙に書かれているのでしょう!)
表 5: GSUB、グリフ置換デスク
Droid Sans を変換する場合この時点で TTF をサポートするために、3 つのでたらめな文字をそこにぶら下げますが、それらはもはや合字ではありません。 したがって、最高のステップは、GSUB デスクを収集することです。
The GSUB デスクは単純なマッピングを保持します: 文字のどのシーケンスをどのグリフで置き換える必要がありますか? Droid Sans には既に GSUB デスクがありますが、空のプレースホルダーです。 目的がないので、GSUBデスクで代用できます。私たちの合字フォント。 これは、他のすべてのフレーズを追加できる従来の青写真として役立ちます。 GSUB 当社の合字フォントのデスクは、これが気に入っているようです:
index="0"> value="0"/> ) index="0"> glyph="n"> components="i,n,j,a" glyph="uniE602"/> glyph="s"> components="y,n,e,r,g,y" glyph="uniE601"/> glyph="p"> components="a,r,a,d,i,g,m,space,s,h,i,f,t" glyph="uniE600"/>
合字を呼び出す文字の各集合体これでキャプチャされます LigatureSubst リスト。 通知の最初の各文字には、
LigatureSet
があります。 エントリ、および該当するすべての文字は に含まれています合字 エントリ。 したがって、「s」で始まる通知を追加すると、次のようになります:
glyph="s"> components="y,n,e,r,g,y" glyph="uniE601"/> components="t,a,r,t,u,p" glyph="uniE601"/>
私は一緒に平手打ち 分 Pyt
name="uniE600" width="12174" lsb="61"/> name="uniE601" width="6458" lsb="19"/> name="uniE602" width="4138" lsb="107"/>
index="0"> value="0"/> ) index="0"> glyph="n"> components="i,n,j,a" glyph="uniE602"/> glyph="s"> components="y,n,e,r,g,y" glyph="uniE601"/> glyph="p"> components="a,r,a,d,i,g,m,space,s,h,i,f,t" glyph="uniE600"/>