フォントコンバータ
フォントコンバータはPCにインストールされているフォントをemWinで利用できるようにするための便利なウィンドウズ用プログラムです。PCにインストールされているフォントには著作権または知的財産権が有ります。emWinで使用されるフォントはCファイルでGUI_FONTとして定義されているかバイナリファイルにSystem Independent Font(SIF)or外部フォント(XBF)として登録されていなければなりません。手作業でこれらのフォントを作成することもできますが、非効率的で時間も非常にかかるのでフォントコンバータを使用することを強くおすすめします。
フォントコンバータはemWin基本パッケージに含まれておりません。フォントコンバータの完全版は別に購入して頂く必要があります。emWin基本パッケージにはフォントコンバータのデモバージョンが入っており、フォントコンバータの手軽さを手軽さと便利さを体験していただくことができます。
フォントコンバータにはフォントはついてきません。また、PCにインストールされているフォントを変換する許可やライセンスもついていません。第三者に知的財産権があるフォントを変換する、アプリケーションに利用する時は必要に応じて許可やライセンスを取得して下さい。
フォント変換の要件
- ウィンドウズにインストールされているフォント
- ウィンドウズ(例えばMS Word)で利用できるフォント
- TrueTypeアウトラインで構成されているフォント
数はフォントがロードされている状態のフォントコンバータのスクリーンショットです。
フォントコンバータの使い方
フォントコンバータを使ってemWin用フォントを生成する基本的な手順を紹介します。
Step1.アプリケーションの起動
フォントコンバータを起動すると自動的にフォント作成オプションのダイアログボックスが表示されます。
このフォント生成オプションのダイアログボックスはフォントコンバータのメニューからFile\Newを選択していつでも呼び出すことができます。今回の例では16-bit Unicode エンコーディングのExtended モードでフォントを生成します。(ここではアンチエイリアシングモードになっていないのでアンチエイリアシングオプションは選択不可になっています)
OKボタンをクリックします。
Step2.フォントオプションを選択
今回の例では標準スタイルの16pixelのArialを選択します。(注1)
OKボタンをクリックします。
Step3.必要に応じてフォントを編集
Step4.Cファイルとしてフォントを保存
メニューからFile\Saveを選択します。
フォントをSIFかXBFで保存するか選択します。
保存場所とファイル名を決定しSaveボタンをクリックします。
注1:
PCアプリケーションによってはフォントの大きさをpointで定義するものもありますが、フォントコンバータではフォントの大きさをpixelで定義します。そのため厳密には全く同じフォントが生成できない事がありますが、その場合は最も近いpixelの値を使用してフォントを生成しています。どうぞご了承下さい。
フォント生成オプションダイアログ
プログラムを起動した時、またはメニューからFile\Newを選択した時にフォント生成オプションダイアログが現れます。ここでの選択がフォントの生成モード、生成されるフォントのエンコード、フォントのアンチエイリアシング(アンチエイリアシングモードが選択されている場合)を決定します。
フォント生成モード(Type of font to generate)
- Standard:1bit/pixel、アンチエイリアシングなし
- Antialiased,2bpp:2bit/pixel、アンチエイリアシングあり
- Antiailased,4bpp:4bit/pixel、アンチエイリアシングあり
- Extended:1bit/pixel、アンチエイリアシングなし、追加情報有り(タイ語などの複合文字に対応するのに使用します)
- Extended,framed:1bit/pixel、アンチエイリアシングなし、囲み文字
- Extended,antialiased,2bpp:2bit/pixel、アンチエイリアシングあり、追加情報有り
- Extended,antialiased,4bpp:4bit/pixel、アンチエイリアシングなあり、追加情報有り
エンコーディング(Encording)
- 16Bit UNICODE:ユニコードエンコーディングでは全ての文字が利用できます。ウィンドウズには最大で65536個の文字が用意されています。
- 8Bit ASCII+ISO8859
- 8/16Bit SHIFT JIS
アンチエイリアシング(Antialiasing)
- Usiing OS:OSを利用してアンチエイリアシングをします。文字の見た目はウィンドウズ上で使用する時と全くおなじになります。
- Internal:フォントコンバータに内蔵されるアンチエイリアシングルーチンを使用します。
フォントダイアログ
フォント生成オプションダイアログでOKボタンをクリックすると、次に現れるダイアログです。
- Font,FontStyle,Size:フォントの概観を決定します。
- Script:8Bit ASCII+ISO8859モードの時のみ必要になり、選択できます。
- Unit of Size:フォントサイズの単位を決定します。しかし前述のとおりシステム上pointを扱えないので結局はpixelの近似値によって生成されます。
ユーザーインターフェース
フォントダイアログでOKボタンをクリックするとフォントコンバータのメインユーザーインターフェースになります。ダイアログで選択したフォントがロードされていてすぐにCファイルに変換できる状態になっています。ユーザインターフェースは上下2つの領域に分かれています。上部にはすべてのフォントが原寸大で表示されています。デバイス上にはこのサイズで表示されることになります。利用不可な文字は灰色の背景で表示されます。現在選択している文字は下部左側に表示されます。追加情報は下部右側に表示されます。もし文字を編集したい場合はまず下部領域を選択して下さい。キーボードから<TAB>を押すかマウスでクリックすることで選択することができます。
フォントのセーブ
- cファイルの作成
メニューからFile\Saveを選択することで簡単にcファイルを作成できます。このときデフォルトのファイル名は、フォントの名前+pixelサイズ(+アンチエイリアシング)となります。たとえばフォント名がExampleで10pixelアンチエイリアシングありの場合、ファイル名はExample10AA.cとなります。またフォント名はGUI_Example10AA.cとなります。
- SIF,XBFフォーマットでの保存
cファイル作成と同様にメニューからFile\Saveを選択し保存タイプを目的のフォーマットで選択すると、そのフォーマットで保存することができます。
Cフォントファイルの修正
Step1.アプリケーションの起動
フォント生成オプションダイアログが現れますがキャンセルボタンをクリックします。
Step2.File Lode C Fileを選択
目的のCファイルを選択しOKボタンをクリックします。
フォント出力種類
フォントタイプ | 黒字 | 白字 |
---|---|---|
アンチエイリアシングなし 1 bpp, 2 shades |
||
低品質アンチエイリアシング 2 bpp, 4 shades |
||
高品質アンチエイリアシング 4 bpp, 16 shades |
コマンドラインオプション
create<FONTNAME>,<STYLE>, <HEIGHT>,<TYPE>,<ENCODING> |
フォント作成: <FONTNAME> 使用するフォントの名前 <STYLE> REGULAR – 標準 BOLD – 太字 <HEIGHT> フォントサイズ(単位はピクセル) <TYPE> STD – Standard 1bpp font AA2 – Antialiased font (2bpp) AA4 – Antialiased font (4bpp) EXT – Extended font <ENCODING> UC16 – 16 bit Unicode encoding ISO8859 – 8 bit ASCII + ISO8859 JIS – Shift JIS |
enable<FIRST-LAST>,<STATE> | 文字範囲の有効設定 <FIRST-LAST> 文字範囲を指定 <STATE> 1 – 文字範囲の有効 0 – 文字範囲の無効 |
exit | 終了 |
readpattern<FILENAME> | パターンファイルの読み込み: <FILENAME> パターンファイルの名前 |
saveas<FILENAME>,<TYPE> | ファイルの保存: <FILENAME> ファイルの名前 <TYPE> C – Cファイルで保存 SIF – SIFとして保存 |
? | すべてのコマンドを表示 |
C言語プログラムコード例
/* C-file generated by Font converter for emWin version 3.04 Compiled: Dec 13 2005 at 12:51:50 C-file created: Dec 21 2005 at 12:42:57 Copyright (C) 1998-2005 Segger Microcontroller GmbH & Co. KG www.segger.com Solutions for real time microcontroller applications Source file: Sample10.c Font: Arial Height: 10 */ #include "GUI.H" #ifndef GUI_CONST_STORAGE #define GUI_CONST_STORAGE const #endif /* The following line needs to be included in any file selecting the font. A good place would be GUIConf.H */ extern GUI_CONST_STORAGE GUI_FONT GUI_FontSample10; /* Start of unicode area */
GUI_CONST_STORAGE unsigned char acFontSample10_0041[10] = { /* code 0041 */
________,
___X____,
__X_X___,
__X_X___,
__X_X___,
_X___X__,
_XXXXX__,
X_____X_,
X_____X_,
________};
GUI_CONST_STORAGE unsigned char acFontSample10_0061[10] = { /* code 0061 */
________,
________,
________,
_XXX____,
X___X___,
_XXXX___,
X___X___,
X__XX___,
_XX_X___,
________};
GUI_CONST_STORAGE GUI_CHARINFO GUI_FontSample10_CharInfo[2] = {
{ 8, 8, 1, acFontSample10_0041 } /* code 0041 */
,{ 6, 6, 1, acFontSample10_0061 } /* code 0061 */
};
GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontSample10_Prop2 = {
97 /* first character */
,97 /* last character */
,&GUI_FontSample10_CharInfo[1] /* address of first character */
,(GUI_CONST_STORAGE GUI_FONT_PROP*)0 /* pointer to next GUI_FONT_PROP */
};
GUI_CONST_STORAGE GUI_FONT_PROP GUI_FontSample10_Prop1 = {
65 /* first character */
,65 /* last character */
,&GUI_FontSample10_CharInfo[0] /* address of first character */
,&GUI_FontSample10_Prop2 /* pointer to next GUI_FONT_PROP */
};
GUI_CONST_STORAGE GUI_FONT GUI_FontSample10 = {
GUI_FONTTYPE_PROP /* type of font */
,10 /* height of font */
,10 /* space of font y */
,1 /* magnification x */
,1 /* magnification y */
,&GUI_FontSample10_Prop1
};