ebfont コマンド

この文書は EB ライブラリバージョン に対応しています。

目次:

Copyright (c) 1998-2006 Motoyuki Kasahara

はじめに

ebfont コマンドは、CD-ROM 書籍の外字のビットマップデータを 読み込み、それを指定された画像形式に変換し、ファイルに書き出します。 ebfont は EB ライブラリを使用しており、ライブラリと一緒に 配布されています。

外字とは

CD-ROM 書籍の多くは、書籍固有の文字、外字 (local characters) を定義して います。 たとえば、CD-ROM 書籍に使われる文字セットは発音記号を持っていないため、 英和辞書の中には発音記号を定義しているものがあります。

CD-ROM 書籍は、外字のビットマップデータも持っています。 ebfont コマンドは、CD-ROM 書籍のビットマップデータを読み、 それを指定された画像形式に変換し、ファイルに書き出します。 ebfont は、XBM、XPM、GIF、BMP、PNG のうちのいずれか、 または複数の画像ファイルを生成することができます。 特に指定がなければ、XBM 形式が選択されます。

外字は、半角 (narrow) と 全角 (wide) の 2 種類に分類されます。 半角の文字のビットマップデータでは、高さは幅の約半分です。 全角の文字のビットマップデータでは、高さと幅はほぼ同じです。 CD-ROM 書籍は、一冊の中に両方の種類の外字を定義することが可能で、 ebfont は両方の種類の画像ファイルを生成します。

CD-ROM 書籍の内部形式の仕様書では、半角と全角の両方の外字に対して 4 種類のサイズを定義しています。 外字の幅、高さ、サイズは次の通りです。

高さ 半角 全角
16 8x16 16x16
24 16x24 24x24
30 16x30 32x30
48 24x48 48x48

特に指定がなければ、ebfont は高さが 16 ピクセルのフォントの 画像ファイルを生成します。

ebfont の実行

ebfont の一般的な起動方法は次の通りです。

% ebfont 書籍へのパス

書籍へのパス には、CD-ROM 書籍のトップディレクトリ、つまり catalog または catalogs ファイルが存在する ディレクトリを指定します。 パスは、ローカルなパス (例: /mnt/dict) でも遠隔アクセス識別子 (例: ebnet://localhost/dict) でも構いません。 複数のパスを書くことはできませんが、以下のように、パスの指定を省くことは できます。

% ebfont

この場合、ebfont はカレントディレクトリの下に画像ファイルを 生成します。 このとき、ファイル名の一般形式は次の通りです。

副本/高さ/narrow/文字番号.拡張子
副本/高さ/wide/文字番号.拡張子

拡張子xbmxpmgifbmp png のいずれかで、文字番号 は 16 進数 4 桁 (0 から 9a から f) で、次のようになります。

ejdict/16/narrow/a121.xbm
ejdict/16/wide/a321.xbm

ejdict/16/xbm/narrow などの中間のディレクトリは、もし 無ければ ebfont が生成します。

--output-directory オプションを指定することで、 ebfont はカレントディレクトリ以外のディレクトリに 画像ファイルを出力することができます。 そのトップディレクトリは、ebfont を実行する前に作成されて いなければなりません。

% ebfont --output-directory ディレクトリ 書籍へのパス

画像形式

ebfont は XBM, XPM, GIF89a, BMP, PNG 形式の画像ファイルを 生成することができます。 画像形式は --image-format (-i) オプションで 指定します。 --image-format オプションは引数を一つ取り、そこにカンマ (,) で区切って、画像形式の名前を並べて書きます。 たとえば、以下のコマンドを実行すると、ebfont は XPM 形式と GIF 形式の画像ファイルを生成します。

% ebfont --image-format xpm,gif 書籍へのパス

--image-format の引数は、次のように分けて書くこともできます。

% ebfont --image-format xpm --image-format gif 書籍へのパス

XPM, GIF, PNG 形式では、前景色は黒 (RGB の #000000) に、 背景色は透明になります。 BMP 形式では、前景色は黒に、背景色は白 (RGB の #ffffff) に なります。

ebzip は GIF の画像を生成する際に LZW 圧縮アルゴリズムを 使わないため、ファイルのサイズは相当大きくなります。

高さ

特に指定がなければ、ebfont は、半角と全角それぞれについて、 高さ 16 ピクセルのフォントの画像ファイルを生成します。 --font-height (-f) オプションを使用することで、 他の高さのフォントの画像ファイルを生成することができます。 --font-height オプションは引数を一つ取り、そこにカンマ (,) で区切って、フォントの高さを並べて書きます。 フォントの高さは、16243048 のいずれかでなくてはいけません。 たとえば、以下のコマンドを実行すると、ebfont は高さ 16 ピクセルと 24 ピクセルのフォントの画像ファイルを生成します。

% ebfont --font-height 16,24 書籍へのパス

--font-height の引数は、次のように分けて書くこともできます。

% ebfont --font-height 16 --font-height 24 書籍へのパス

副本

なにも設定しないと、ebzip はすべての副本 (subbook) を対象に して画像ファイルを生成しますが、--subbook (-S) オプションを使うと、指定した副本の画像ファイルだけを生成することができます。

--subbook オプションは引数を一つ取り、そこにカンマ (,) で区切って、副本のディレクトリ名を並べて書きます。 ebinfo コマンドを用いると、あなたの所有している書籍に どのような副本が含まれているのかを知ることができます。

% ebinfo /mnt/cdrom
ディスクの形式: EB/EBG/EBXA/EBXA-C/S-EBXA
文字コード: JIS X 0208
副本の数: 3

副本 1:
  題名: 新英和辞典(第四版)
  ディレクトリ: english
  検索方式: 前方一致 後方一致 条件 メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 0xa121 -- 0xa24e
  全角フォントの文字: 0xa321 -- 0xa27e

副本 2:
  題名: CD-ROM 仏和辞典(第三版)
  ディレクトリ: french
  検索方式: 前方一致 後方一致 条件 メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 
  全角フォントの文字: 0xa321 -- 0xa27e

副本 3:
  題名: ポケット独和辞典(第三版)
  ディレクトリ: german
  検索方式: メニュー
  フォントの大きさ: 16 24 30 48
  半角フォントの文字: 
  全角フォントの文字: 0xa321 -- 0xa27e

(ebinfo コマンドに関しての詳細は、 ebinfo コマンドのマニュアル を参照のこと。) この例では、3 つの副本が書籍には含まれており、そのディレクトリ名は english, french, german だということが分かります。

次のコマンドを実行すると, ebfontenglishfrench の画像ファイルだけを生成します。

% ebfont --subbook english,french /mnt/cdrom

ディレクトリ名の大文字・小文字の違いは、区別されません。 --subbook の引数は、次のように分けて書くこともできます。

% ebfont --subbook english --subbook french /mnt/cdrom

ebfont のオプション一覧

ebzip コマンドは、伝統的な一文字オプション名と覚えやすい長い オプション名の両方を扱うことができます。 長いオプション名を表すには、- ではなく -- を 用います。 オプション名が一意に決まる範囲内で、名前の後方部分を省略することができます。

-d
--debug
--verbose
デバッグ用の情報を、標準エラー出力に出力します。
-f 高さ
--font-height 高さ
高さが 高さ の外字の画像ファイルを生成します。 高さ は、高さをカンマ (,) で区切って並べたもので なくてはなりません。 高さの指定として許されるのは、16243048 です。 指定がなければ、ebfont は高さが 16 ピクセルのフォントのものを 生成します。 (詳しくは、「高さ」を参照のこと。)
-h
--help
ヘルプメッセージを標準出力に出力して、終了します。
-i 画像形式
--image-format 画像形式
画像形式 形式の画像ファイルを生成します。 画像形式 は、画像形式名をカンマ (,) で区切って 並べたものでなくてはなりません。 対応している画像形式の名前は xbmxpmgifbmpgifpng です。 指定しなかったときは、ebfont は XBM 形式の画像ファイルを 生成します。 (詳しくは、「画像形式」を参照のこと。)
-o ディレクトリ
--output-directory ディレクトリ
画像ファイルを ディレクトリ 以下に出力します。 指定しなかったときは、ebfont はカレントディレクトリ (.) の下に画像ファイルを生成します。 (詳しくは、ebfont の実行」 を参照のこと。)
-S 副本
--subbook 副本
ebfont に、どの副本の外字を生成させるのかを指定します。 副本 は、副本のディレクトリ名をカンマ (,) で 区切って並べたものでなくてはなりません。 指定しなかったときは、すべての副本が生成の対象になります。 (詳しくは、「副本」を参照のこと。)
-v
--version
バージョン番号を標準出力に出力して、終了します。