GlyphWiki logo
ナビゲーション
ヘルプ
検索
ツールボックス
他の言語
解説ノート編集履歴

GlyphWiki:フォント生成

出典: フリーグリフデータベース『グリフウィキ(GlyphWiki)』

グループページに記述したグリフ集合は、そのまま TrueType フォントに変換することができます。つまりグリフウィキに登録したグリフをフォントとして公開することができます。

1字フォント

グループページとは関係なく、各グリフの最新バージョンについては1字フォントが用意されます。「〓(U+3013)」にそのグリフが割り当てられ、グリフ名がフォント名となります。

フォント生成の手順

フォントを生成する場合は、次の手順で行ってください。

  • そのフォントの適当(フォント名は別につけられます)な名前を考えます。
  • グループ:[名前] というwiki記事を作ります。検索欄で グループ:[名前] と検索して「問い合わせ」のところに赤いリンク(記事無し)がありますので、そこをクリックしてください。
  • フォントに含める漢字グリフを指定します。詳細は次項をご覧ください。
  • グリフ集合を記述したら記事を投稿してください。
  • 記事のページに「フォント生成」のボタンが出現します。ボタンをクリックすると生成が始まります。完了するまで待ってください。完了したら自由にダウンロード可能です。一度生成されたフォントはいつでもダウンロード可能です。
    • 生成されたフォントに直接リンクを張ってもかまいません。ただしベータ版のため、フォント生成機能に大幅な変更があった場合、過去生成分についてリセット(フォントファイルの削除)を行うことがあります。この場合、再度生成する必要が生じます。
  • グループページの記述を更新するとフォントも再度生成する必要があります。コメントのみを変更した場合でも再生成が必要です。フォントには、内部バージョンが付与されています(「gw」+数字6桁)。このバージョン情報でフォントの新旧を判断してください。

グリフの記述

フォントに含めるグリフの記述は以下のようにしてください。グリフ名による記述の場合はバージョンの指定(例 u4e00@2)も可能です。

グリフ1つにつき1行で記述してください

  • 符号位置とグリフ名が一致するもの(例:「一」という漢字として「u4e00」を用いる)
    • 漢字そのもの
          一                     (u4e00 の符号位置に u4e00 のグリフを割り当てる)
    • 漢字のグリフ名
          u4e00                  (u4e00 の符号位置に u4e00 のグリフを割り当てる)
    • wiki記述
          [[u4e00]]              (u4e00 の符号位置に u4e00 のグリフを割り当てる)
  • グリフ名とは関係なく符号位置を指定する場合
    • 符号位置の代わりに文字を使う
          [[一 itaiji-u4e00]]    (u4e00 の符号位置に itaiji-u4e00 のグリフを割り当てる)
    • 符号位置による指定
          [[u4e00 itaiji-u4e00]] (u4e00 の符号位置に itaiji-u4e00 のグリフを割り当てる)
  • 他のグリフ集合 グループ:(グループ名) のインポート
          [[グループ:常用漢字]]  (グループ:常用漢字 に記述されているグリフ集合を追加する)

同符号位置に重複して異なるグリフが割り当てられた場合、記述順に上書きされますので一番最後に位置するグリフが割り当てられます。

符号位置は漢字領域および私用領域(U+E000~、U-F0000~、U-100000~)を指定できます。

1行1グリフですが、行内に上記記述以外の文字が含まれる場合は無視されます(臨時で符号位置による指定のみ「,」に続く記述を拾うようにしています)。

グリフの除去

グループのインポートなどで不要なグリフまで含まれる場合に符号位置を打ち消すことで取り除くことができます。

  • 漢字そのもの
          ==一==
  • 漢字のグリフ名
          ==u4e00==
  • wiki記述
          ==[[u4e00]]==

自動付番

外字ファイルを作成するときなどに、決まった符号位置から1つずつ順番に割り当てることができます。次のいずれかで指定してください。開始符号位置は「u####」の形式で「u3000~u9fff、ue000~uefff、uf0000~ufffff、u10000~u1ffff」が指定できます。増分は1です。

 :自動付番:開始符号位置
 :autonum:開始符号位置

自動付番を指定した場合、次のようにフォント化するグリフを指定します。

  • 自動付番の対象となる
    • 漢字そのもの
          一                     (自動付番された符号位置に u4e00 のグリフを割り当てる)
    • 漢字のグリフ名
          u4e00                  (自動付番された符号位置に u4e00 のグリフを割り当てる)
    • 符号位置のwiki記述
          [[u4e00]]              (自動付番された符号位置に u4e00 のグリフを割り当てる)
    • 任意グリフのwiki記述
          [[sandbox]]            (自動付番された符号位置に sandbox のグリフを割り当てる)
  • 自動付番の対象とならない
    • 「漢字を使った符号位置」と「グリフ名」のペア
          [[一 itaiji-u4e00]]    (u4e00 の符号位置に itaiji-u4e00 のグリフを割り当てる)
    • 「符号位置」と「グリフ名」のペア
          [[u4e00 itaiji-u4e00]] (u4e00 の符号位置に itaiji-u4e00 のグリフを割り当てる)

また、他のグループページをインポートすることもできます。この場合も自動付番が行われます。

サンプル

たとえば以下のように、「:autonum:ue000」と記述し、その下にwiki記述でグリフを並べると、一般的な外字フォントを簡単に作成できます。

 :autonum:ue000
 [[gaiji-001]]  ← U+E000
 [[gaiji-010]]  ← U+E001
 [[gaiji-009]]  ← U+E002
 [[gaiji-012]]  ← U+E003
 [[gaiji-013]]  ← U+E004
 [[u4e00]]      ← U+E005

(このサンプルを直接コピーアンドペーストしてもうまく生成されません。先頭の半角スペースを取り除き、また文末の「← U+E00#」も消してください)

注意

グループ:ASCIIのように空白グリフ(例:u0020)を含むページをインポートしたり、直接グループページに記述すると自動付番された空グリフが生成されますのでご注意ください。

コメントの記述

フォント生成時に上記の書式以外の記述は無視されますので、グループページにコメントなどを書くこともできます。特にコメントとして明示したい場合は行頭に半角スペースを記述する「バーベイタム機能」を利用してください。

名前やバージョンの指定

フォントの名称やバージョンを指定することができます。以下のように記述してください。指定が無かった場合はグリフウィキの内部ID("gw" + 数字6桁)を使ったバージョン、およびグループ名(日本語のフォント名。英語のフォント名は"gw" + 数字6桁となります)が設定されます。また、バージョンを指定した場合でも、末尾にグリフウィキの内部IDを使ったバージョンが自動的に追記されます。

 :version:(英語によるバージョン指定)
 :バージョン:(日本語によるバージョン指定)
 :name:(英語によるフォント名称指定)
 :名前:(日本語によるフォント名称指定)

グリフ実装率の表示について

グループページに1つ以上グリフ記述がある場合には、グリフ実装率が表示されます。この実装率は、引用している他のグループページは無視されるほか、wiki記述で記述されたグリフのみが計算の対象となります。

フォント生成の制限について

フォント生成の負荷を分散するため、現在以下の制限を設けています。

  • 一般グループページでのフォント生成は1,000グリフまで

1,000グリフ以上は無視されます。占有グループページ(ユーザー名_****)ではこの制限はありません。

生成されるフォントについて

フォント生成は、外部ソフトウェアとして FontForge (http://fontforge.sourceforge.net/ ) を活用しています。

フォントの各OS・アプリケーションへの対応状況についてはGlyphWiki:フォント対応状況をご覧ください。

フォントを正しく認識させるため、「一(u4e00)」にはグリフを指定しなかった場合に自動的に「一」にu4e00が割り当てられます。どうしても「一」グリフを除きたい場合は末尾に「==一==(実際は半角で)」と記述してください。また、半角スペース(U+0020)および全角スペース(U+3000)が追加されます。

なお、個々のグリフの内容やフォントファイルの整合性に関して、グリフウィキは一切保証いたしません。フォントの利用は個人の責任で行ってください

IVS (Ideographic Variation Sequence) グリフの生成について

グリフウィキではIVS に対応したグリフをフォントに含めることができます。その方法は通常のグリフと同様、グループページに以下の書式で記述してください。

  • 漢字のグリフ名がそのままIVSになるもの
      u845b-ue0100              (U+845B + U+E0100 に u845b-ue0100 のグリフを割り当てる)
  • 漢字のグリフ名がそのままIVSになるもの(wiki記述)
      [[u845b-ue0100]]          (U+845B + U+E0100 に u845b-ue0100 のグリフを割り当てる)

  • グリフ名とは関係なくIVSを指定する場合
      [[u845b-ue0100 j90-336b]]  (U+845B + U+E0100 に j90-336b のグリフを割り当てる)

現在グリフウィキに登録されているIVSグリフはグループ:IVDを参考にしてください。

なお、規格の想定外になりますが、任意のグリフを任意のIVSに指定することは原理的には可能です。

現在グリフウィキで作成したIVSグリフ付きフォントに対応しているアプリケーション等は以下のとおりです。

  • Adobe Acrobat 9 (Reader 含む)
  • Adobe Flash 10 (flash.text.engine を使うもの)
  • Adobe CS4 (未確認だがおそらく可能。検証情報求む)
  • libotf (サンプルの otfview は未対応)
  • Windows 7のメモ帳
  • Opera 10.50

対応していないアプリケーション等は以下のとおりです。

  • gdi++

IVSグリフの生成には外部ソフトウェアとして TTX/FontTools (http://fonttools.sourceforge.net/ ) を利用しています。

IVS利用時の制限事項

IVSグリフを記述すると、いったん該当グリフを U+10C000 以降の符号位置に強制的に割り当て、その後テーブルから削除します。したがって、IVSグリフを収録するフォントには U+10C000 以降の符号位置にグリフを割り当てないでください。

Windows 7での制約により、フォントには無条件に U+20000(u20000) のグリフを割り当てます。

また、IVSの親字(IVSのつかないUCS符号位置)を含めないとフォント生成に失敗します。

IVSを含めたくない場合

IVSグリフを利用してフォントを生成する際に、自動的にIVSグリフが用意されるのを止めたい場合は「:IVS:no」と記述してください。

フォントを生成したくないグループページの作成

ドキュメント内に「__no_font__」(実際は半角で記述)と記述するとフォント生成の項目が表示されません。

ベースラインの手動調整

グリフウィキで生成したフォントを他のフォントと結合するときにベースラインの位置がずれてしまうことがあります。グリフウィキでフォントを生成する際に「:baseline:(値)」または「:ベースライン:(値)」と記述することで位置を手動で調整することができます。値は「-999~999」の整数値とします。正の値は下に、負の値は上に移動します。

外字フォントを自分で作って使う

Windowsユーザーの方で今までOS付属の「外字エディタ」を使っていた場合に、グリフウィキに乗り換えることをおすすめします。まずは自動付番を活用してフォントファイルを作り(その際、次項を参照してください)、自分のPCにダウンロードします(適当なフォルダに格納してください)。それから外字リンカー を使って、設置したフォントをリンクしてください。「リンクファイルの指定」ボタンで任意のフォントを指定することができます(初めの状態ではファイルの種類が「外字ファイル (*.tte)」となっているので「すべてのファイル (*.*)」に選びなおす必要があります)。これでフォントを切り替えずにすべてのフォントで外字を使うことができます。自分が作成した外字ファイルを配布することも可能です。

残念ながら、今まで利用していた外字データのインポートはできませんので、対応するグリフを探す・作成してください。

外字フォントを生成時の注意

既存のフォントと結合した外字フォント(EUDC)を作成する場合は、グループページに以下の記述を加えてください。

 :type:EUDC

この記述がないと等幅フォントで外字を利用したときに文字幅がおかしくなります。フォントを切り替えて利用する場合には上記記述は必要ありません。

(試行)ドキュメントページでのウェブフォントとしての利用

ドキュメントページでは、1つだけ他のグループページをウェブフォントとして利用できます(JavaScriptが有効の場合)。

「!!!(ページ名)!!!」でくくることでウェブフォントとして定義します。現在は1つだけしか定義できません。ページ名には「Group:」「グループ:」を書かないでください。

「!!」でくくった部分がウェブフォントとして利用できます。例:「!!abc!!」

利用サンプル:グループ:kamichi_russian-mission