1. chkfont.exe をパラメータをつけずに実行したときの画面は、以下の通りです。

<<< CHecK dvi/tfm/gf/pk/pkd/pxl/gth/far file and tell informations of FONTs >>>
                                Ver 1.6, written by SHIMA, 1990/1992

Usage: chkfont [-s] [-c] [-{f|F}<font_data_file>] [-d] dvi_file_name
       chkfont [-s] [-c] [-{f|F}<font_data_file>] [-t] tfm_file_name
       chkfont [-s] [-c] [-{f|F}<font_data_file>] [-p] font_file_name

Option   -c: check mode
         -s: silent check mode
         -f: use font_data_file (-F: and ignore default data)

Errorlevel is the sum of the following number
          1: cmbsy5-9, cmcsc8-9, cmex7-9, cmmib5-9
          2: new font: eu??, msam, msbm, wncy??, font_data_file
          4: new eufm5-10
          8: unknown eufm
         16: old font: msxm, msym, amcsc, mcyr, mcyb, font_data_file
         32: old eufm5-10

If errorlevel is larger than 240,
        248: error in font_data_file
        249: cannot find font_data_file
        250: bad parameter
        251: old and new eufm
        252: bad dvi file
        253: error in dvi file
        254: not dvi file
        255: cannot find dvi/tfm file

                <<< Example of font_data_file >>>
# font_name old_check_sum new_check_sum  (in HEX, 0 means check existence)
eufm5   0891FD38        246A686B
eufm10  BF989013        8F256EB2
# The line beginning with # or ; is ignored.



2. chkfont.exe は、dvi file あるいは、tfm file および、gf file, pk file, pxl
   file のフォントのデータをチェックするプログラムで、次の機能があります。

　１． dvi file で使われているフォントを調べる。特にチェックサムを調べて、同じ
　　　 フォント名でもバージョンが異なる場合のチェックを行う。

　２． tfm/gf/pk/pxl file を調べて、チェックサムなどの情報を調べる。

　３． チェックするチェックサムのデータは、データ・ファイルから読み込める。



2.1. AMSTeX が、Ver 2.* になったとき、AMSFONT は、それ以前のフォントから大幅に
  変更がなされました。フォント名もほとんど新しくなりましたが、Fraktur フォント
　の eufm ファミリーのみ、同じ名前が用いられました。デザインは全く変わっている
　ので、dvi file で AMSFONT が用いられているとき、それが Ver 2.0 以前のものか
　どうか知る必要に迫られ作成されたプログラムが chkfont.exe の元になっています。

     プリンタ・ドライバで印刷するとき、適当なバージョンのフォントを選ぶことが
　バッチ・プログラムで容易に実現できるよう作られたので、エラーレベルで情報を返
　します。dviout/dviprt Ver 2.33 には、checkasm.exe というファイル名で付属して
　いたものを Version up したものです。

     デフォールトでは、AMSFONT の Ver 2.0 とそれ以前との区別がなされます。



2.2. dvi file のフォントなどのデータを読み出すことができます。
　以下の実行例を参照してください。
  dvi_file_name は、拡張子をつけなければ、自動的に .dvi が補われます。

B>chkfont -c a:\tex\dvi\texjman

dvi file name                   = b:\tex\doc\texjman.dvi
comment                         = TeX output 1991.03.20:0839
factor converting to 10^{-5}m   = 25400000/473628672
magnification                   = 1000
maximum height+depth            = 45413867 scaled points = 692 points
maximum width                   = 29834876 scaled points = 455 points
maximum stack depth             = 9
number of pages                 = 22
page size                       = 16.0 cm x 24.4 cm
page size magnificated          = 16.0 cm x 24.4 cm

Font 91
        checksum                = F16B4148
        design size             =   655360 scaled points = 10 points
        space size              =  1630535 scaled points = 24 points
        magnification           = +magstep5
        font name               = cmssbx10

Font 90
        checksum                = DE3E61CB
        design size             =  6820250 scaled points =104 points
        space size              =  6820250 scaled points =104 points
        font name               = cminch

Font 70
        checksum                = E99FD0F6
        design size             =   655360 scaled points = 10 points
        space size              =   943718 scaled points = 14 points
        magnification           = +magstep2
        font name               = goth10

Font 67
        checksum                = 1AF22256
        design size             =   655360 scaled points = 10 points
        space size              =   943718 scaled points = 14 points
        magnification           = +magstep2
        font name               = cmbx10

                   <<< 途中省略 >>>

Font 10
        checksum                = D993A052
        design size             =   458752 scaled points =  7 points
        space size              =   458752 scaled points =  7 points
        font name               = cmr7

EXIT Code (errorlevel)          = 0
No AMS Font

B>chkfont -c b:\tex\sample

dvi file name                   = b:\tex\sample.dvi
comment                         = TeX output 1990.01.04:0912 No.MTV02003920
factor converting to 10^{-5}m   = 25400000/473628672
magnification                   = 2074
maximum height+depth            = 25249672 scaled points = 385 points
maximum width                   = 16771048 scaled points = 255 points
maximum stack depth             = 13
number of pages                 = 13

Font 68
        checksum                = BF989013
        design size             =   655360 scaled points = 10 points
        space size              =   655360 scaled points = 10 points
        font name               = eufm10 (Old AMSTeX) 

Font 67
        checksum                = 7AFB15BF
        design size             =   327680 scaled points =  5 points
        space size              =   327680 scaled points =  5 points
        font name               = msym5 (Old AMS Font) 

                   <<< 途中省略 >>>

Font 0
        checksum                = 00000000
        design size             =   655360 scaled points = 10 points
        space size              =   655360 scaled points = 10 points
        font name               = cmr10

EXIT Code (errorlevel)          = 48
Old eufm Old font 



2.3. tfm ファイルのデータを読みだすことができます。
　以下の実行例を参照してください。
  tfm_file_name は、拡張子をつけなければ、自動的に .tfm が補われます。

B>chkfont -c -t A:\tex\tfm\cmr8
        "cmr8" is a tfm file :  0  -> 127
        checksum                = 7C7B5907
        design size             = 8388608 2^{-20} points = 8 points

EXIT Code (errorlevel)          = 0
No AMS Font

B>chkfont -t a:\tex\amstfm\eufm10
        "eufm10" is a tfm file :  0  -> 127
        checksum                = 8F256EB2
        design size             = 10485760 2^{-20} points = 10 points
                                 (AMSTeX 2.0/2.1) 

EXIT Code (errorlevel)          = 4
New eufm 

B>chkfont -c -t a:\tex\tfm\eufm10
        "eufm10" is a tfm file :  0  -> 122
        checksum                = BF989013
        design size             = 10485760 2^{-20} points = 10 points
                                 (Old AMSTeX) 

EXIT Code (errorlevel)          = 32
Old eufm

B>chkfont -c -t a:\tex\tfm\goth10
        "goth10" is a jfm file :  0  ->  12
        checksum                = E99FD0F6
        design size             = 10485760 2^{-20} points = 10 points

EXIT Code (errorlevel)          = 0
No AMS Font



2.4. gf/pk/pkd/pxl/gth/far ファイルのデータを読みだすことができます。
　以下の実行例を参照してください。

B>chkfont -c a:\tex\fonts\170dpi\eufm8.pk
        "eufm8.pk" is in PK format
        checksum                = 2564B2F5
        design size             = 8388608 2^{-20} points = 8 points
        horizontal              = 154087 2^{-16} dots/point = 170 dpi
        vertical                = 154087 2^{-16} dots/point = 170 dpi
                                 (AMSTeX 2.0/2.1) 

EXIT Code (errorlevel)          = 4
New eufm


B>chkfont -c a:\tex\fonts\850\eufm8.pxl
        "eufm8.pxl" is in PXL1002 format
        checksum                = 2564B2F5
        design size             = 8388608 2^{-20} points = 8 points
        magnification           = 850 (170 dpi)
                                 (AMSTeX 2.0/2.1) 

EXIT Code (errorlevel)          = 4
New eufm 


B>chkfont2 b:\tex\fonts\pk118.gth
        "b:\pxlfont\pk118.gth" is a GTH file which contains...

        "cmb10.118" is in PK format
        checksum                = D20B9E26
        design size             = 10485760 2^{-20} points = 10 points
        horizontal              = 107005 2^{-16} dots/point = 118 dpi
        vertical                = 107005 2^{-16} dots/point = 118 dpi


        "cmbsy10.118" is in PK format
        checksum                = E0C98C0C
        design size             = 10485760 2^{-20} points = 10 points
        horizontal              = 107005 2^{-16} dots/point = 118 dpi
        vertical                = 107005 2^{-16} dots/point = 118 dpi


        "cmbx10.118" is in PK format
        checksum                = 1AF22256
        design size             = 10485760 2^{-20} points = 10 points
        horizontal              = 107005 2^{-16} dots/point = 118 dpi
        vertical                = 107005 2^{-16} dots/point = 118 dpi


                   <<< 以下省略 >>>



2.5. font_data_file によって、チェックサムなどの情報を与え、それから判断して
　エラーレベルで返すようにできます。

     font_data_file は、最初にフォンと名、次に、旧バージョンのチェックサム、
　その後に新バージョンのチェックサムを書きます（その後には、空白をおけば、コメ
　ントを書いてもかまいません）。１桁目が、# または、; となっている行は無視され
　ます。また、0 はそのフォントが存在が旧バージョン（または、新バージョン）を意
　味するときに使います。そのとき、逆のバージョンには 0 以外の適当な（チェック
　サムに一致しない）値を書きます。チェックサムは 16進数で書きますが、それは、
　2.3 で書いてあるようにして、tfm file から読むことができます。

　　-f で指定したときは、デフォールトのデータに合わせて用いられます。
    -F で指定したときは、font_dat_file のみを判断のためのデータにします。

　  font_dat_file の例

    ; font_name    check_sum_old  check_sum_new
    eufm8           37CCA321         2564B2F5   ; 2.0
    eufm8           37CCA321         5C978225   ; 2.1
    eufm9           3F977CF3         1F6C4283   ; 2.0 
    eufm9           3F977CF3         F833F3AF   ; 2.1
    eufm10          BF989013         8F256EB2   ; 2.0/2.1
    msxm10                 0                1
    msam10                 1                0

    このようだと、eufm8 のフォントに対し、チェックサムが 16進で、37CCA321 の
　ときは、Old Font と判断され、2564B2F5 または、5C978225 のとき New Font と
　判断され、前者は 16進で 10、 後者は 2 に対応します。dvi file をチェックした
　場合は、使われたフォントに対応するこの数（データがないものは 0 とする）の
　すべての OR をとってエラーレベルで返します。msxm10 のフォントは、Old Font と
　みなされ、msam10 の方は New Font とみなされます（チェックサムは調べない）。


    font_data_file は、; や # の行を除いて、最大 1024行までが許されます。
