                XeTeX 用 ICU ライブラリの作成法 (Ver. 61.1)
                         --- 2018 A. Kakuto ---

Visual Studio 2015 以上が必要!!!
コンパイラオプション -utf-8 オプションが必要!!!
C4229 warning があるので， -wd4229 オプションを使った。

(A) トップディレクトリに bin および lib ディレクトリを作成する。


(B) common/unicode の platform.h, utypes.h を変更する。


(C) common, i18n, io
    において
    make
    make install
    として static link 用 ライブラリを作成する。
 
(D) stubdata の Makefile において VERSION (2桁の数字) を変更して
    make
    make install
    として icudt.lib を作成する。
    また仮の icudt??.dll を作成する。これは最後に正しいもので
    上書きされる。 ?? は 60 など。

(E) tools において以下の作業をする。

    tools においてビルドが必要なディレクトリ
    (01) toolutil
    (02) gencfu
    (03) gencnval
    (04) gennorm2
    (05) genrb
    (06) gensprep
    (07) gentest
    (08) icupkg
    (09) makeconv
    (10) pkgdata (pkgdata.cpp _WIN64 のときLINK_FLAGS の /MACHINE:X64 をチェック)
    (11) genbrk
    (12) gendict
    で
    make
    make install
    とする。

(F) data/in/ に icudt61l.dat がなかったら(通常はあるはずである),
    nmake -f makedata.mak によって作成したものが out/ ディレクトリに入る。
    最後の文字 l (エル) は little endian を意味している。
    サイズを変更しない場合には，不要なことだがサイズを小さくするには次の
    ようにする。
       out/ にできた icudt60l.dat を in/ にコピーする。out ディレクトリ
       は，また作成されるので削除しておく。
       data/reducedata.sh スクリプトを調べ、必要なら変更してこれを
       実行し、icudt60l.dat のサイズを、小さくする。できた icudt60l.dat
       は64ビットでも共通なので、64ビット版のソースにコピーしておく。
    元々，Mac 用バイナリが静的リンクの結果大きくなりすぎて，実行の際
    ロードできないほどだったので，必須のデータだけを残してサイズを小さく
    していた。 Windows に於いてはサイズを小さくする必要性は無いので，
    Version 58.2 からサイズ縮小を行わないことにする。

(G) data において以下の作業をして icudt??.dll を作成する。
    ?? は 61 など。

    makedata.mak で

ICUMAKE=c:\usr\work\edrive\w32texsrc\ptx\libs\icu-src\source\data
CFG=x86\Release

    のような追加をしてから

    nmake -f makedata.mak

    とすると、必要な icudt??.dll が作成される。 ?? は 60 など。
    make ではなくて nmake であることに注意せよ。
    このとき、
    All targets are up to date
    と出て、かつ ../../bin/icudt??.dll が更新されていなかったら
    stubdata ディレクトリに行って
    touch stubdatabuilt.txt
    として、再び
    nmake -f makedata.mak
    とする。

    [注意]
    icu4c-59rc-src.tgz には data/misc ディレクトリが無いので，
    icu4c-59rc-data.zip が必要であった。
    data/misc が無い場合は同じである。
