<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
   <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=shift_jis">
   <META NAME="Author" CONTENT="ktkawabe">
   <META NAME="GENERATOR" CONTENT="ktkawabe's hand with JMemo, ME, and Mule for win32">
   <TITLE>jiskan形式のフォントについて</TITLE>
</HEAD>
<BODY>
<hr>

<H1>
jiskanフォント (EPOC Release 5 迄) についての情報</H1>
<hr>
<strong>Last updated 2001/08/12</strong>
<br>
jiskan.gdrの作者のこやま氏が、jiskanフォントのUIDを
EPOCのフォント作成目的に限って使用する事を許可する、
という事を明言して下さいました。
良い機会なのでこのページを作成する事となりました。
<hr>
<h2>目次</h2>
<ul>
      <li><a href="#whatsthat">jiskanフォントとは、jiskan互換フォントとは</a>
<ul>
	  <li><a href="#origin">起源 (オリジナルのjiskanフォントとその入手先)</a></li>
	  <li><a href="#compat">jiskan互換フォントとその入手先</a></li>
	</ul>
</li>

      <li><a href="#apps">jiskanフォントを使用するアプリケーション</a></li>

      <li><a href="#make">jiskan互換フォントを作ろう</a>
<ul>
      <li><a href="#inside">jiskanフォントの構造</a></li>
	  <li><a href="#open">一般に公開されている フォントUID</a></li>
	  <li><a href="#complete">「完全互換」と「互換」フォント</a></li>
	  <li><a href="#extended">「拡張」互換フォント</a></li>
	</ul>
</li>
    </ul>
<hr>
<h2><a name="whatsthat">jiskanフォントとは、jiskan互換フォントとは</a></h2>
<h3><a name="origin">起源 (オリジナルのjiskanフォントとその入手先)</a></h3>
<p>
jiskanという名前のフォントは、もともとは X11
(という、Unix系のOSではおなじみのウィンドウシステム)
に入っていたりするのですが、
私達日本のEPOCユーザーは、
小山氏(
<A HREF="http://antenna.infocity.co.jp/antenna_series5.htm">
http://antenna.infocity.co.jp/antenna_series5.htm
</a>
)が開発なさったEPOC用のフォントである jiskan.gdrの事を
(オリジナルの)jiskanフォントと呼んでいます。
jiskanフォントは、もともとは日本語を表示出来なかった欧米版の
パームトップコンピュータである
Psion Series 5の上で、
日本語FEPである
KEditおよび日本語テキストエディタJMemoで日本語を表示するために
開発されました
(フォントも、FEPも、テキストエディタも、全て小山氏御自身
が開発なさったのです!)。
オリジナルのjiskanフォントは、640×240ドットという
Psion Series 5で使用するために作成されたもので、フォント高 12ドットの字体に
要町フォントを、
フォント高 16ドットの字体に X11で使用される jiskanの字体を使用しています。
オリジナルのjiskanフォントは、現在以下の場所で入手できます。
</p>
<ul>
      <li>小山氏のwebページ
<A HREF="http://antenna.infocity.co.jp/antenna_series5.htm">
http://antenna.infocity.co.jp/antenna_series5.htm
</a>
</li>
      <li>googo氏の Psion Search
<a href="http://www.wotakara.com/googo/navi/navi.cgi">
http://www.wotakara.com/googo/navi/navi.cgi
</a>
</li>
    </ul>
<p>
わざわざ「(オリジナルの)」と書いたからには、オリジナルで無いもの
もあるわけなのですが、それらについては次項
<a href="#compat">jiskan互換フォントとその入手先</a>
の項で紹介させていただきます。
KEdit/JMemoを含め、jiskanフォント/互換フォントを使用する
アプリケーションは
<a href="#apps">jiskanフォントを使用するアプリケーション</a>
で紹介させていただきます。
</p>

<hr>
<h3><a name="compat">jiskan互換フォントとその入手先</a></h3>
<p>
jiskanフォントは、その利用法がソースコード込みで完全に公開されて
いる事から、KEditやJMemo以外にもいくつかのフリーウェアで使用される
様になりました(jiskanフォントを使用するアプリケーションのリストについては、
<a href="#apps">jiskanフォントを使用するアプリケーション</a>
の項で紹介させていただきます)。
</p>
<p>
さて、jiskanフォントを利用するアプリケーションが増えて来た事、
また Series5よりも小さな液晶(480×160ドット)を持つ Revoが発売された
事、が要因となって、
それらのアプリケーションで別の字体を使いたい、別のサイズのフォントを
使用したい、という要求を持つユーザーが現れて来ました。
その様なユーザーの方々が、御自分でjiskanフォントの代わりに使用出来る
フォントを作成し、配布なさっておられます。これがjiskan互換のフォントです。
現在までに、私は以下の様なjiskan互換フォントが配布されている事を
確認しております。
</p>
<table border="1" cellpadding="3">
      <tr>
	<td>サイズ(フォント高、dot)</td>
	<td>名称もしくは字体</td>
	<td>配布元</td>
	<td>互換性</td>
      </tr>
      <tr>
	<td>8</td>
	<td>恵梨沙フォント PSION版</td>
	<td>桑名氏 (<a href="http://penta.pos.to/epoc/">http://penta.pos.to/epoc/</a>)</td>
	<td>拡張</td>
      </tr>
      <tr>
	<td>12/16</td>
	<td>要町/ぱうフォント</td>
	<td>tatsujin氏
(<a href="http://www2s.biglobe.ne.jp/~tatsujin/">
http://www2s.biglobe.ne.jp/~tatsujin/</a>)
</td>
	<td>完全互換</td>
      </tr>
      <tr>
	<td>12</td>
	<td>要町</td>
	<td>tatsujin氏
(<a href="http://www2s.biglobe.ne.jp/~tatsujin/">
http://www2s.biglobe.ne.jp/~tatsujin/</a>)
</td>
	<td>互換</td>
      </tr>
    </table>
<p>
「完全互換」は、このフォントがオリジナルのjiskanフォントと
入れ替えて使用する事を想定して作られており、
オリジナルとは字体以外は同等の機能を提供する事を示しています。
「互換」は、このフォントがオリジナルのjiskanフォントと入れ替えて
使用する事を想定して作られているが、12ドットもしくは16ドットの
どちらかしか利用出来ない事を示しています。
「完全互換」と「互換」のフォントは、オリジナルのJMemoやKEditで
そのまま使う事が出来ます。
「拡張」は、そのフォントを使用するには対応ソフトウェアが必要で
ある事を示しています。
</p>
<p>
今日では、EPOCをほぼ完全に日本語化する UniFEPが利用可能になって
おりますし
(開発/販売元のエヌフォー社のwebページ
<a href="http://www.enfour.co.jp">http://www.enfour.co.jp</a>を
御覧下さい)、
最初からUniFEPを搭載した日本語版のPsionの販売も間近(2001年7月末現在)
となっていますが、
UniFEPの販売数が限定されていて、誰もがいつでも購入できるものでは
無い事や、事実上日本在住者でなければ購入できない事もあり、
jiskanフォントを必要とする人は今でも確実に存在します。
</p>
<hr>
<h2><a name="apps">jiskanフォントを使用するアプリケーション</a></h2>
<p>
以下に、jiskanフォントを使用するアプリケーションを列挙しておきます。
基本的にアプリケーションの名前順ですが、
KEditとJMemoについては最初に記させていただきました。
(なお、KEditとJMemoには、オリジナルのものに私 (ktkawabe@hi-ho.ne.jp)
が機能拡張/改変を
行った Private Patch版というものが存在しますので、オリジナルと併せて
列挙させていただきました。)
「拡張」互換フォントのサポートについては、アプリケーション側で
サポートしていなくても
ER5(Revoや Series 5MX等)では使えてしまうという場合も状況によっては
有り得るのですが、
ここでは ER3(オリジナルの Series5)で使えるかどうかについて、
2001年7月末の段階での状況を記しました。
</p>
<table border="1" cellpadding="3">
      <tr>
	<td>アプリケーション</td>
	<td>配布元</td>
	<td>ソースコードの有無</td>
	<td>「拡張」サポート</td>
      </tr>
      <tr>
	<td>KEdit (FEP)</td>
	<td>オリジナルは小山氏<br> (<A HREF="http://antenna.infocity.co.jp/antenna_series5.htm">
http://antenna.infocity.co.jp/antenna_series5.htm
</a>)<br>
Private Patch版はktkawabe<br> (<A HREF="http://www.hi-ho.ne.jp/ktkawabe/">
http://www.hi-ho.ne.jp/ktkawabe/
</a>)
</td>
	<td>有り</td>
	<td>無し</td>
      </tr>
      <tr>
	<td>JMemo<br>(テキストエディタ)</td>
	<td>オリジナルは小山氏<br> (<A HREF="http://antenna.infocity.co.jp/antenna_series5.htm">
http://antenna.infocity.co.jp/antenna_series5.htm
</a>)<br>
Private Patch版はktkawabe<br> (<A HREF="http://www.hi-ho.ne.jp/ktkawabe/">
http://www.hi-ho.ne.jp/ktkawabe/
</a>)
</td>
	<td>有り</td>
	<td>無し</td>
      </tr>
      <tr>
	<td>fusen (付箋紙)</td>
	<td>匠 (takumi) プロジェクト (<A HREF="http://www.chaos.to/psion/takumi/">
http://www.chaos.to/psion/takumi/
</a>)</td>
	<td>無し</td>
	<td>無し</td>
      </tr>
      <tr>
	<td>JPPrint OPX (共有ライブラリ)</td>
	<td>ktkawabe (<A HREF="http://www.hi-ho.ne.jp/ktkawabe/">
http://www.hi-ho.ne.jp/ktkawabe/
</a>)</td>
	<td>有り</td>
	<td>Ver. 1.03以上でサポート</td>
      </tr>
      <tr>
	<td>JTV for KEdit (縦書きビュア)</td>
	<td>TaniK氏 (<A HREF="http://www04.u-page.so-net.ne.jp/ra2/tanik/">
http://www04.u-page.so-net.ne.jp/ra2/tanik/
</a>)</td>
	<td>無し</td>
	<td>無し</td>
      </tr>
      <tr>
	<td>Tsugi (Next Train互換時刻票)</td>
	<td>匠 (takumi) プロジェクト (<A HREF="http://www.chaos.to/psion/takumi/">
http://www.chaos.to/psion/takumi/
</a>)</td>
	<td>無し</td>
	<td>無し</td>
      </tr>
      <tr>
	<td>XJMail(日本語メイラ)</td>
	<td>ktkawabe (<A HREF="http://www.hi-ho.ne.jp/ktkawabe/">
http://www.hi-ho.ne.jp/ktkawabe/
</a>)</td>
	<td>有り</td>
	<td>JPPrint.opx 1.03以上でサポート</td>
      </tr>
    </table>
<hr>
<h2><a name="make">jiskan互換フォントを作ろう</a></h2>
<table>
<tr>
<td nowrap="nowrap" valign="top">
注意1)</td>
<td valign="top">
ここに示す内容は、「どうやったらjiskan互換フォントが作れるか」
という事を教えるものではありません
(私自身は、そもそも互換フォントを作った事は無いので、
説明出来る自信は全くありません)。
むしろ、既にEPOCのフォントファイルを作る事が出来る皆さんに対して、
「jiskan互換フォントを作る際にはこの様な事に気をつけて下さると
嬉しいです」とお願いするためのものです。
新しくjiskanフォントを作って一般に配布なさる際には、ここに書かれた
内容を守っていただければ、jiskan対応アプリケーションで利用出来る確率が
高くなるものと思われますので、出来る範囲で守っていただければ幸いです。
</td>
      </tr>
      <tr>
	<td valign="top" nowrap="nowrap">注意2)</td>
	<td valign="top">「どうやったら」については、
	恵梨沙フォント PSION版の配付者である桑名氏のwebページ 
	<a href="http://penta.pos.to/epoc/">http://penta.pos.to/epoc/</a>
	で配付されているツール、x2gd (FONTX2形式のフォントから EPOCの
	フォント生成のためのソースを生成するもの)を見ていただくのが
	最も参考になると思われます。</td>
      </tr>

    </table>
<hr>
<h3><a name="inside">jiskanフォントの構造</a></h3>
<p>
jiskanフォントの内部構造について
簡単に述べます。
jiskanフォントは、SJISで使用可能な文字を40個の
欧文フォント(jiskan00, jiskan01, ...., jiskan38, jiskan)
に割り振って使用する仕組みになっています。
任意のSJISの文字コードに対して、
対応する jiskanフォント内のフォント名/文字コードの組合わせ
が一意に決まります。
この組合わせの規則(ここでは KEdit Code、略してKECと呼びます)に
つきましては、
<a href="jiskanfont2.txt">jiskanfont2.txt</a>に詳述してあります。
</p>
<hr>
<h3><a name="open">一般に公開されている フォントUID</a></h3>
<p>
jiskanフォントファイル内部では、サイズ毎に 各フォント
(jiskan00 ...jiskan38, jiskan)
それぞれに UIDという数値が割り当てられています。
また フォントファイル自体にも UID (collection UID、ここでは簡単のため
ファイルUIDと呼びます) があるので、一つのサイズしか含まない
jiskan互換フォントを作るためには、少なくとも 41ヶのUIDが必要になります。
</p>
<p>
このUIDは、通常はフォント作成者がSymbianに申請して取得するものです
(Symbianの C++ SDKの 
<a
   href="http://www.epocworld.com/techlibrary/documentation/sdk3/cd/e32/euuid.html">
UIDに関する記述</a>
を御覧下さい)が、
何人かの方々が、jiskanフォント作成のために御自分で取得なさったUIDを
公開して下さっております。
</p>
<p>
オリジナルのjiskanフォント作者である小山氏、
恵梨沙フォント PSION版 の作成/配付者である桑名氏は、
以下に示す条件を満たす場合に限り、
jiskanフォント/恵梨沙フォント PSION版
に使用されているUIDの使用を許可する事を表明して下さいました。
また、EPOC用ぱうフォント等の作成/配付者である tatsujin氏は、
既に 11dotの jiskanフォント用のUID
と
14dot用のUID
を取得済みであり、
これを同様の条件で公開する事を表明して下さいました。
(以下の文章で、「jiskanフォントの」という部分は、
「jiskanフォントの」もしくは「恵梨沙フォント PSION版の」
もしくは
「tatsujinが jiskanフォント作成のために取得した」
という様に適宜読み替えて下さい。)
以下がその条件書きです。
</P>
<p>
<strong>
「jiskanフォント」のUIDは、jiskan互換フォントを作成する目的に関しては、
事前・事後の連絡無しに自由に使用して構いません。
その他の目的、例えばEPOCアプリケーションの UID等として使用する事は禁じます。
jiskan互換フォントとは、小山氏作の KEdit/JMemo等で
オリジナルのjiskan.gdrと置き換えて日本語フォントとして使用することが出来る
フォントです。
</strong>
</p>

<p>
以下に示すのは、jiskanフォント用に公開されているUIDの一覧です。
これらのUIDを使用なさる場合、必ず上記の条件に従う様にして下さい。
</p>
<table border="1" cellpadding="3">
      <tr>
	<td>フォント名/ UID公開者</td>
	<td>フォント高</td>
	<td>フォントUID (jiskan00 - jiskan38, jiskan)</td>
	<td>ファイルUID</td>
      </tr>
      <tr>
	<td rowspan="2">オリジナルjiskan/ 小山氏</td>
	<td>12</td>
	<td>0x1000045B - 0x10000481, 0x10000482</td>
	<td rowspan="2">0x10000488</td>
      </tr>
      <tr>
	<td>16</td>
	<td>0x10000433 - 0x10000459, 0x1000045A</td>
      </tr>
      <tr>
	<td>恵梨沙フォント/ 桑名氏</td>
	<td>8</td>
	<td>0x10005E4C - 0x10005E72, 0x10005E73</td>
	<td>0x10005E4B</td>
      </tr>
      <tr>
	<td>11dot用リザーブ/ tatsujin氏</td>
	<td>11</td>
	<td>0x1000A4FC - 0x1000A522, 0x1000A523</td>
	<td>0x1000A4FB</td>
      </tr>
      <tr>
	<td>14dot用リザーブ/ tatsujin氏</td>
	<td>14</td>
	<td>0x1000A525 - 0x1000A54B, 0x1000A54C</td>
	<td>0x1000A524</td>
      </tr>
    </table>
<hr>

<h3><a name="complete">「完全互換」と「互換」フォント</a></h3>
<p>
「完全互換」もしくは「互換」のフォントを作成する場合、
ファイル名は
jiskan.gdrとし、内部構造は
<a href="jiskanfont2.txt">jiskanfont2.txt</a>に記述したとおりになって
いた方が都合が良いでしょう。
12dotもしくは16dotどちらかを省略する事は可能ですが、
その場合には「jiskan.gdrには必ず二つのサイズのフォントが含まれている」
と仮定している様なアプリケーションで不具合が絶対に出ないとは言えません
(もちろん出ないかもしれません)。
ファイル名をjiskan.gdrでは無くてjiskan16.gdrとか jiskan12.gdrとすると、
「拡張」互換フォントに対応するアプリケーションで扱い易くなるかもしれません
が、逆に現状では JMemoやKEditでは使えなくなってしまいます。
また、jiskan16.gdr等という名前にした場合には、ユーザーがjiskan.gdrと
同時にインストールしてしまうかもしれず、この場合には (異なるファイルが
共通のフォント、共通のファイルUIDを持つ事になるので) 不具合が出る可能性
もあります。
12dotもしくは16dotのみの「互換」フォントの配布者は、その辺の事情を
フォントの説明書などでユーザーに説明すべきでしょう。
</p>

<hr>
<h3><a name="extended">「拡張」互換フォント</a></h3>
<p>
この文書ではとりあえず、オリジナルのJMemoとKEditで利用出来ないものを
「拡張」互換フォントと呼んでいます。
その様なフォントとして、現在のところ8ドットの恵梨沙フォント
(<a href="#compat">jiskan互換フォントとその入手先</a>参照) が公開
されております。
さて、実のところ「拡張」互換フォントにデフォールトで対応したアプリケーション
は2001/07/29の時点では存在しないのですが、
JPPrint.opxの1.03以上を使用すれば、
XJMailでそれらのフォントを使用する事が可能です。
1.03以上のjpprint.opxでは、「完全互換」フォントに加え、
以下の仕様に従う「拡張」互換フォントをサポートします。
</p>
<ul>
      <li>一ファイルにつき一つのサイズのフォントだけを含む</li>
      <li>等幅フォントである</li>
      <li>フォントのメトリックを表すパラメタは、SJISの2バイト文字については全て共通</li>
      <li>フォントの高さは、SJISの2バイト文字と1バイト文字で共通</li>
      <li>フォントのdescentは無視され、フォントの下端を揃えて描画され
      てしまう</li>
      <li>フォントの高さを十進数でhとすると、フォントファイル名は jiskanh.gdr。<ul>
	  <li>例) h=7なら jiskan7.gdr、h=24ならjiskan24.gdr。</li>
<li>8ドットのelisae10.gdrは例外だが、これはjiskan8.gdrとしてもOK。</li>
	</ul>
</li>
      <li>2バイト文字の幅は、必ずしも1バイト文字の幅の2倍である必要は無い。</li>
      <li>フォントファイルの内部構造は、UIDの数値の相違を除き、
厳密にKEC
(<a href="jiskanfont2.txt">jiskanfont2.txt</a>参照) に従う。</li>
      <li>違うサイズのフォントが同じUIDを共有してはいけない。</li>
      <li>違うフォントファイルが同じファイルUIDを共有してはいけない。</li>
    </ul>
<p>
jpprint.opxのサポートする仕様は以上のとおりなのですが、
上記の条件を全てのユーザー環境で実現するためと、
jpprint.opx以外のアプリケーションからも利用しやすくするために、
「拡張」互換フォントの作者は以下の事に気をつける必要があると思われます。
</p>
<ul>
<li>
同じフォント高のものが既に発表されていれば、
必要ならその作者に許可を得て、可能な限りそのフォントと同じUIDを使う
<ul>
	  <li>例えば12ドットなら、jiskan.gdrにならい、ファイルUIDを
          0x10000488、フォントUIDを
	  0x1000045Bから0x10000482 とする(この場合小山氏への連絡は不要)。</li>
	  <li>例えば8ドットなら、恵梨沙フォントにならい、ファイルUIDを
	  0x10005E4B、フォントUIDを 0x10005E4Cから0x10005E73 とする
          (この場合桑名氏への連絡は不要)。</li>
	  <li>例えば11ドットなら、tatsujin氏が確保したUIDを使用し、
	  ファイルUIDを0x1000A4FB、フォントUIDを
          0x1000A4FCから0x1000A523 とする
          (この場合tatsujin氏への連絡は不要)。</li>
	</ul>
</li>
      <li>自分の知る限り同じフォント高のものがまだ無い場合、
自分が連続な41ケのUIDを取得し、
最も小さなUIDをファイルUID、その次からをフォントUIDとして使用し、
かつそれらのUIDをすかさず
「そのフォント高のjiskanフォントのUID」として公開する。
公開の際には、どの様な条件で公開するのかを、
psion-ml-jやepocware-mlでアナウンスすると効果的でしょう。
<ul>
	  <li>実はファイルUIDについては、特にjiskan00のフォントUIDから
	  1 引いたものにするという決まりがあるわけでは無いのですが、その様
	  にしておくとアプリケーションのプログラマの側で嬉しい人がいる
	  かもしれないという話が、2代目Psion-ml-Jで出た事があります。</li>
	</ul>

</li>
      <li>万一、他人が公表した同じフォント高のフォントとUIDが違う場合、
当人どうしで話し合って、どちらかに統一する様に努力する。</li>
      <li>万一、他人が公表した違うフォント高のフォントとUIDが同じに
なった場合、何かがおかしいので当人どうしで話し合って解決する。</li>

    </ul>
<p>
以上です。
新しいjiskan互換フォントを作成なさった場合、是非このページに
掲載させていただきたいので、河邊(<a href="mailto:ktkawabe@hi-ho.ne.jp">ktkawabe@hi-ho.ne.jp</a>)まで御連絡下さい。
</p>
<HR>
このページは河邊(<a href="mailto:ktkawabe@hi-ho.ne.jp">ktkawabe@hi-ho.ne.jp</a>)によって書かれたものです。
このページへは御自由にリンクなさって下さい。
また、このページからリンクされているURIの管理者の方で、リンクされる事が
不都合であるという事がございましたら、
御一報下されば中止させていただきます。
<DIV ALIGN=right>
<A HREF="javascript:history.go(-1)">Back</A></DIV>

</BODY>
</HTML>


