初めに
- Fontforge チョットデキルな人を対象にしています。
- 本記事はとりあえずアウトプットのために書いているので、不完全な可能性があります。もっといい方法をご存じの方がいればコメントで教えてください。
何ができるか?
- 全部の文字に語頭/語中/語末形のある文字を作成できるようなります。
- 文字の向きは左から右です。
というわけで手順です
独立形を作る
ラテン語転写の場合は対応するアルファベットに独立形を登録します。
語頭/語中/語末形を作る
「エンコーディング」→「エンコーディングスロットの追加」で1文字につき3つスロットを追加します。
追加したスロット(?になっているもの)を右クリックし、「グリフの情報」をクリックしてください。
その後、グリフに関する情報ダイアログの「Glyph name:」を語頭形/語中形/語末形でそれぞれ以下のように設定してください。
追加する文字の例 | 語頭形 (.init) | 語中形 (.medi) | 語末形 (.fina) | 備考 |
---|---|---|---|---|
b | b.init | b.medi | b.fina | ASCII 範囲は単純に文字の名前で OK です。 |
Á(Aacute) | Aacute.init | Aacute.medi | Aacute.fina | Fontforge に文字の名前が設定されているものはそれを使用する必要があります。文字の名前は元の文字にカーソルを合わせて確認することができます。 |
ẞ(uni1E9E) | uni1E9E.init | uni1E9E.medi | uni1E9E.fina | 文字によっては UNICODE コードポイントを指定する必要があります。これも元の文字にカーソルを合わせて確認することができます。 |
変更すると文字のタイトルが基となる文字のものに変わります。
すべての文字について上記を実施した後、各字形バリエーションを追加してください。
文字組の設定
文字の字形変化の関連付けの設定
「エレメント」→「フォント情報」をクリックします。
フォント情報ダイアログが開くので「Lookups」をクリックしてください。
まず語頭形の字形変化の関連付けを行います。
「Add Lookup」をクリックして Lookup ダイアログを開きます。
その後、種類の中から「単純置換」を選択します。
続いて機能の下の「<New>」をクリックして「init 語頭形」を選択します。
Lookup Name は何でもいいのですが、後で設定に使うのでなるべく短めにしてください。長いと設定が見づらくなります。ここでは「init」と入れた場合で説明しています。
母音記号を付けたい場合はここで併せて「結合型マークを無視する」にチェックを入れておくとよいです。
「Add Subtable」をクリックしてサブテーブルを追加します。この名前はデフォルトのままで OK です。
サブテーブルを追加すると「Lookup Subtable」ダイアログが表示されます。
Default using suffix に init と入れ、「Default using suffix」ボタンをクリックしてください。
そうすると b.init などの名前を付けた文字が自動的に関連付けられます。
同じように「medi」と「fina」も Lookup を作成してください。
作成すると以下のようになるはずです。
ここまで出来たらいったんフォント情報ダイアログを「OK」で閉じ、ファイルを保存しておいてください。Fontforge はこの手の作業をするとよく落ちる気がします。
文字の置換ルールの設定
再びフォント情報ダイアログの Lookups タブで「Add Lookup」をクリックしてください。
その後、種類から「文脈依存の置換」を選択してください。
続いて機能の下の「<New>」をクリックして「init 語頭形」を選択します。
ここでも母音記号を付けたい場合は併せて「結合型マークを無視する」にチェックを入れておいてください。
Lookup Name は何でもいいのですが、ここでは「calt」と入れた場合で説明しています。
「Add Subtable」をクリックしてサブテーブルを追加します。この名前はデフォルトのままで OK です。
文脈依存の置換を編集ダイアログが出てきます。チェックボックスはデフォルトでよいと思いますが、念のため以下と同じか確認して「次」をクリックしてください。
次に置換ルールの 2 表を編集します。
まず下の一致テーブルに以下の 3 行を追加してください。
Name | Glyphs in the class | Glyphs in the class の例 | 備考 |
---|---|---|---|
C | 独立形として登録した文字をすべて選択してください。 | b c | Name は上の表で使うので短いほうがいいです。C は Character の略です。 |
I | 語頭形として登録した文字をすべて選択してください。 | b.init c.init | I は Initial-form の略です。 |
M | 語中形として登録した文字をすべて選択してください。 | b.medi c.medi | M は Medial-form の略です。 |
続いて上の表に以下の 5 行を追加してください。
Matching rules based on list of classes | 備考 |
---|---|
I | C @<medi> | C | 「|」や「I」「C」「M」や「@<...>」の前後に必ずスペースを入れてください。 |
M | C @<medi> | C | |
| C @<init> | C | 語頭形の設定は必ず語中形の設定より下にしてください。そうしないと語中形が正しく変換されません。 |
I | C @<fina> | C | |
M | C @<fina> | C |
ちなみに「@<init>」などは「Add Lookup」から選択することができます。
最終的に Lookups は以下のようになります。「OK」を押していったんファイルを保存しましょう。
設定ができたらメトリックダイアログなどで確認してみてください。
これで完成です🎉
Top comments (0)