GlyphWiki logo
내비게이션
도움말
검색

도구모음
그외의 언어
해설토론편집이력

GlyphWiki:生成字体文件

출전 : 프리 글리프 데이터베이스[글리프위키(GlyphWiki)]

字表页面描述的字形集合可以直接转换成TrueType字体。换言之,你可以把在字形维基制作的字形作为字体发布。

单字字体

与字表页面无关,每个字形的最新版本都会提供单字字体,字形名即字体名,字形放在“〓(U+3013)”。

字体生成的步骤

欲生成字体,请按以下步骤操作。

  • 给字体选定合适的名字(字体可以单独命名)。
  • 创建名为 字表:(字体名) 的页面。在搜索栏中搜索 字表:(字体名) ,“您搜索的是”后面有一个红链,点击即可。
  • 指定包含在字体中的汉字字形。详参下段。
  • 确定字形集合后提交。
  • 字表页面出现了“执行字体文件生成”按钮。点击按钮就会开始生成字体,生成完成后字体随时都可以自由下载。
    • 你可以直链到生成的字体。但是为了测试版本,如果字体生成功能发生重大变化,过去生成的字体可能会进行重置(删除字体文件)。在这种情况下,需要重新生成。
  • 在更新字表时,字体也需要重新生成。即使未更改字形也需要重新生成。字体上附有内部版本(“gw”+6位数字)。请用这个版本号来判断字体的新旧。

字形的描述

请按以下方式描述字体中包含的字形。使用字形名称描述时也可以指定版本(如u4e00@2)。

请每行只描述一个字形

  • 码位与字形名称一致的情况(例:汉字“一”用“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~)。

虽然是一行一字形,但是如果行内包含上述描述以外的字符的话会被忽略(挑出临时只根据码位指定的“,”后面的描述)。

字形的移除

如果导入的字表包含不需要的字形,可以通过消除码位来移除它。

  • 汉字本身
          ==一==
  • 汉字的字形名
          ==u4e00==
  • wiki描述
          ==[[u4e00]]==

自动编号

在创建外字字体时,可以从一个确定的码位开始依次分配码位。请在以下范围内指定。开始的码位以“u####”的形式,可以在“u3000~u9fff、ue000~uefff、uf0000~ufffff、u10000~u1ffff”中指定。步长是1。

 :自動付番:开始码位
 :autonum:开始码位

若指定了自动编号,应如下指定字体中的字形。

  • 作为自动编号的对象
    • 汉字本身
          一                     (给自动编号的码位分配u4e00的字形)
    • 汉字的字形名
          u4e00                  (给自动编号的码位分配u4e00的字形)
    • 码位的wiki描述
          [[u4e00]]              (给自动编号的码位分配u4e00的字形)
    • 任意字形的wiki描述
          [[sandbox]]            (给自动编号的码位分配u4e00的字形)
  • 不作为自动编号的对象
    • “汉字”与“字形名”成对出现
          [[一 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位数字),日文字体名默认为字表名。另外,即使指定了版本号,结尾也会自动添加使用字形维基内部ID的版本号。

 :version:(指定英文版本号)
 :バージョン:(指定日文版本号)
 :name:(指定英文字体名)
 :名前:(指定日文字体名)

关于作字率的显示

如果字表中描述了多个字形,则会显示作字率。这个作字率不计引用的其他字表,只计当前页面中描述的字形。

关于字体生成的限制

为了分散字体生成的负荷,目前设置了以下限制。

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

超过1000个的字形会被忽略。但在用户占有字表(用户名_****)中没有这个限制。

关于生成的字体

字体生成利用外部软件FontForge(http://fontforge.sourceforge.net/ )。

关于字体在各操作系统与应用程序中的支持情况,请参阅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