unicmap v1.06から、カスタム変換定義ファイルを指定することで、コード変換をカスタマイズできるようになりました。
コマンドラインオプションで「-map <変換定義ファイル名>」のように指定します。オプションを繰り返し記述することで、複数のファイルを指定することもできます。
複数の異なる文字を、同じ符号位置にマッピングすることはできません。そのような定義をするとエラーを表示して変換に失敗します。
OpenTypeの仕様上は一つの符号位置に複数のグリフをマッピングすることも不可能ではないのですが、unicmapではそのようなフォントは作成できません。(2007-05-20)v1.10でOpenType機能タグに対応したことにより、可能になりました。ただしv1.10では1つのグリフに対して定義できるOpenType機能タグは1つだけです。複数のOpenType機能タグを定義するにはv1.11以降が必要です。
エラー表示には重複の発生した符号位置が含まれるので、それを参考に重複が起きないよう定義ファイルを書き直してください。
カスタム変換定義ファイルの仕様書を参照してください。
4 or 5の独自マッピングの仮名文字を、Unicode本来の符号位置にマップしなおします。
Y.OzFont標準版が独自の位置に割り当てているBMPに含まれない文字を、本来の位置(Extension B)に割り当てなおします。(2004/05/01更新)公式に配布されているフォントがunicmapで変換済みのものに差し替えられたようです。新しいフォントではこの定義ファイルは使えませんし、使う必要もないのでリンクを切っておきます。
Y.OzFont*4 TTF Ver.9.12のJIS X 0213:2004版がPUAに割り当てている合成文字を、合成で表示できるように割り当てなおします。unicmap 1.08以降でのみ使えます。(2005/02/24更新)Y.OzFont TTF Ver.9.13で公式に対応していただいたので、不要になりました。
合成が必要な文字を削除します(グリフは残っていますがアクセスできなくなります)。GSUBテーブルが変更されなくなるので、Windows 9xで生じる縦書きの問題を回避できる可能性があります。
当然ですが合成文字は使えなくなるので、縦書きに問題が生じる環境でそれを回避したい場合にだけ使ってください。(2005/02/24更新)また、すでに合成文字が定義されているフォントから定義を削除することはできません。
JIS X 0213:2004で追加された符号位置の文字を削除します。JIS X 0213:2000では未定義だった位置に空でないダミーグリフを割り当てているフォントにだけ使用してください。JIS X 0213:2004対応フォントに使うと追加された文字を削除してしまいます。ダミーグリフが空白の場合は自動的に削除するので、指定する必要はありません。
Windowsの変換テーブルを考慮して、0x8160(WAVE DASH)をU+FF5Eへ割り当てるようにします。代わりに本来の位置(U+301C)ではWAVE DASHが出せなくなります。
(2004-05-04)Shift_JIS-2004の未定義領域FCF5-FCFCにある文字を、Unicodeの私用領域(PUA)E800-E807にマップします。
(2005-02-26)unicmap 1.08aで自動的に削除されなくなった、U+2000〜U+200FとU+2028〜U+202Eのグリフを削除します。この範囲の文字に、Unicodeの仕様に見合った適切な文字幅が設定されていないUnicodeフォントでのみ使用してください。
(2005-05-15)KS X 1001:2002で追加された韓国郵便記号を、Unicode 4.1で追加されたCIRCLED HANGUL IEUNG Uに変換します。unicmap 1.08a以前のバージョンで使います。unicmap 1.09以降では本体の変換表がすでに対応しているため不要です。
(2005-05-15)unicmap 1.09で変更されたKPS 9566の変換テーブルと同様の変換を、unicmap 1.08a以前のバージョンでも行います。unicmap 1.09以降では当然不要です。
Y.OzFont04版の外字領域に収録されているJIS90字形を、OpenTypeの字形切り替え機能で切り替えられるように割り当て直します(2007/05/08更新)Y.OzFontペン字TTF版 Ver.11.55および毛筆TTF版 Ver.5.65で公式に対応していただいたので、不要になりました。
字形切り替え機能サンプル。意図したとおりに表示するには字形切り替え機能対応フォントのほかに、Windows VistaかWindows XP SP2 + .NET Framework 3.0 + Internet Explorer 7が必要です。
Unicodeの文字情報(UnicodeData.txt)で互換分解プロパティに<vertical>が含まれている文字に、縦書き定義を追加します。ほとんどの日本語フォントはすでに縦書き定義を持っているので、unicmap 1.13.1以降のバージョンが必要です。