diff options
Diffstat (limited to 'Build/source/texk/ttf2pk2/dvidrv.btm')
-rw-r--r-- | Build/source/texk/ttf2pk2/dvidrv.btm | 334 |
1 files changed, 0 insertions, 334 deletions
diff --git a/Build/source/texk/ttf2pk2/dvidrv.btm b/Build/source/texk/ttf2pk2/dvidrv.btm deleted file mode 100644 index aee27a34e12..00000000000 --- a/Build/source/texk/ttf2pk2/dvidrv.btm +++ /dev/null @@ -1,334 +0,0 @@ -:: -:: This is dvidrv.btm, a batch file for 4DOS/4OS2 written by -:: Werner Lemberg <wl@gnu.org> partially based on the -:: dvidrv.btm file of the 4allTeX package written by Phons Bloemen. -:: -:: It is a replacement for dvidrv.exe of the emTeX package. -:: -:: Additional features: support of ps2pk -:: support of ttf2pk -:: support of hbf2gf for HBFs (Hanzi bitmap fonts) -:: -:: Only quadratic printer modes are supported for ttf2pk! -:: -:: All needed binaries will be searched in the path. - -iff %# lt 2 then - echo `` - echo Usage: %0 dvi-driver dvi-file [parameters] - quit -endiff - -setlocal - :: we set a default value only if the corresponding environment variable - :: is empty. The `=' must follow the variable name immediately. - alias set_def `iff "%[%@word["=",0,%1]]" eq "" then %+ set %& %+ endiff` - - :: ========================================= - :: ======== User defined variables. ======== - :: ========================================= - :: - :: Can be overridden in the environment (except %ps2pk, %ttf2pk, %hbf2gf, - :: %pre_dpi, and %post_dpi). - - :: Set these values to `no' for the programs you don't want to use. - set ps2pk=yes - set ttf2pk=yes - set hbf2gf=yes - - :: where the PK files will be installed created by ps2pk, ttf2pk, and - :: hbf2gf. - :: dvidrv.btm adds `\modeless\XXXdpi' to this string (see below for the - :: exact string). - set_def pkdir=%emtexdir\pixel\tmp\pk - - :: where the TrueType fonts reside. Supports trailing `!' and `!!'. - set_def ttfonts=%emtexdir\fonts\truetype - :: where auxiliary files of ttf2pk are located. Supports trailing `!' - :: and `!!'. - set_def ttfcfg=%emtexdir\ttf2pk - - :: where the HBF files reside. Supports trailing `!' and `!!'. - set_def hbfonts=%emtexdir\fonts\hbf - :: where the hbf2gf config files are. Supports trailing `!' and `!!'. - set_def hbfcfg=%emtexdir\hbf2gf - - :: the dpi-subdirectory has various forms; the most common are XXXdpi and - :: dpiXXX, e.g. 300dpi and dpi300. Here we define two variables which - :: control this behaviour. - :: [dpiXXX is used for TDS compatible TeX trees.] - set pre_dpi=dpi - set post_dpi= - - :: ================================================ - :: ======== End of user defined variables. ======== - :: ================================================ - - :: the base name for log files etc. - set basename=%@name[%1] - - :: do we run dvips? - iff "%basename" ne "dvips" then - goto nodvips1 - endiff - - :: we delete dvips.mfj if it exists. - del dvips.mfj >& nul - - :: now we run dvips with all supplied parameters. - %& - - :: do we have to generate fonts? - iff exist dvips.mfj then - goto generate_fonts - endiff - - :: else all is done. - goto end - - -:nodvips1 - :: here we call the dvi driver with all supplied parameters. - %& -pj:%basename.mfj - - :: do we have to generate fonts? - iff errorlevel 8 then - goto generate_fonts - endiff - - :: else all is done. - goto end - - -:generate_fonts - gosub call_mfjob - - :: do we run dvips? - iff "%basename" ne "dvips" then - goto nodvips2 - endiff - - :: we now call dvips a second time - %& - - :: since no fonts will be generated in the second run we remove dvips.mfj - del dvips.mfj >& nul - - goto end - - -:nodvips2 - :: we call the dvi driver a second time (without font generation). - %& -pj -fm - - del %basename.mfj >& nul - - goto end - - -:: this is the main subroutine which calls mfjob and then parses the mfjob -:: file for fonts which can be handled by ps2pk, ttf2pk, or hbf2gf. -:call_mfjob - :: this alias prints a message on the screen and writes it into the logfile. - alias echolog=`echo %& | tee /a %basename.mlg` - - echo ======== DVIDRV.BTM logfile ======== > %basename.mlg - echo Commandline: dvidrv.btm %& >> %basename.mlg - echo `` >> %basename.mlg - echo basename=%basename >> %basename.mlg - echo emtexdir=%emtexdir >> %basename.mlg - echo dvidrvfonts=%dvidrvfonts >> %basename.mlg - echo mfinput=%mfinput >> %basename.mlg - echo mfjobopt=%mfjobopt >> %basename.mlg - echo textfm=%textfm >> %basename.mlg - echo psfonts=%psfonts >> %basename.mlg - echo ttfonts=%ttfonts >> %basename.mlg - echo ttfcfg=%ttfcfg >> %basename.mlg - echo hbfonts=%hbfonts >> %basename.mlg - echo hbfcfg=%hbfcfg >> %basename.mlg - echo `` >> %basename.mlg - - iff "%@search[mfjob]" eq "" then - echolog MFJOB not found in the path. - echolog Can't generate PK fonts from METAFONT automatically. - echo `` - quit - endiff - - :: now we call mfjob. - echolog mfjob %mfjobopt -g%basename.mfl %basename.mfj - mfjob %mfjobopt -g%basename.mfl %basename.mfj - iff %? gt 0 then - echolog `` - echolog Something went wrong while running METAFONT. - echolog Look into the log files... - echolog `` - endiff - - :: after running mfjob we scan the mfjob input file for fonts which can - :: be handled by ps2pk, ttf2pk, or hbf2gf. - set lnnr=0 - set totlines=%@lines[%basename.mfj] - - do while %lnnr le %totlines - :: input a line. - set scratch=%@line[%basename.mfj,%lnnr] - set lnnr=%@inc[%lnnr] - - :: get resolutions (METAFONT mode will be ignored). - :: example: - :: mode=lqlores[180 180]; - iff %@index[%scratch,mode] ge 0 then - set temp=%@word["[]",1,%scratch] - set xdpi=%@word[0,%temp] - set ydpi=%@word[1,%temp] - endiff - - :: get fontname and magnification; we then compute the font resolutions - :: (rounded to the nearest integer---there is no necessity to adjust - :: these values further because of possible rounding errors since both - :: emTeX's dvi drivers and dvips check neighbored values too). - :: example: - :: {font=cmr10; mag=0.5;} - iff %@index[%scratch,{font] ge 0 then - set testfont=%@word["=;",1,%scratch] - set temp=%@word["=;",3,%scratch] - :: we use highest arithmetic precision for these calculations. - :: Additionally we write 1/2 instead of 0.5 to avoid problems with - :: countries which use a comma instead of a colon as the decimal - :: separator. - set fontresx=%@int[%@eval[%xdpi*%temp+1/2=8]] - set fontresy=%@int[%@eval[%ydpi*%temp+1/2=8]] - set pksubdir=modeless\%[pre_dpi]%[fontresx]%post_dpi - - set success=0 - - :: check whether %testfont leads to a PS font (we call ps2pkmfj). - iff %success == 0 .and. "%ps2pk" eq "yes" then - gosub call_ps2pk - endiff - - :: check whether %testfont leads to a TrueType font. - iff %success == 0 .and. "%ttf2pk" eq "yes" then - gosub call_ttf2pk - endiff - - :: check whether %testfont leads to a HBF file. - iff %success == 0 .and. "%hbf2gf" eq "yes" then - gosub call_hbf2gf - endiff - endiff - enddo - - iff exist %basename.mfp then - echo `` >> %basename.mlg - echo `` >> %basename.mlg - echo ======== PS2PK logfile ======== >> %basename.mlg - echo `` >> %basename.mlg - type %basename.mfp >> %basename.mlg - echo `` >> %basename.mlg - del %basename.mfp >& nul - endiff - - iff exist %basename.mfl then - echo `` >> %basename.mlg - type %basename.mfl >> %basename.mlg - echo `` >> %basename.mlg - del %basename.mfl >& nul - endiff - - return - - -:call_ttf2pk - iff "%@search[ttf2pk]" eq "" then - echolog TTF2PK not found in the path. - echolog Can't generate PK fonts from TrueType fonts automatically. - echo `` - quit - endiff - - echolog ttf2pk -q -n %testfont %fontresx - ttf2pk -q -n %testfont %fontresx - - iff %? == 0 then - echolog Font %pkdir\%pksubdir\%testfont.pk generated. - mkdir /s %pkdir\%pksubdir >& nul - move %testfont.pk %pkdir\%pksubdir >& nul - set success=1 - elseiff %? == 2 then - echolog (%lnnr/%totlines): Font %testfont is no TrueType font. - set success=0 - else - echolog Error running TTF2PK for font %testfont! - endiff - - return - - -:call_hbf2gf - iff "%@search[hbf2gf]" eq "" then - echolog HBF2GF not found in the path. - echolog Can't generate PK fonts from HBF files automatically. - echo `` - quit - endiff - - echolog hbf2gf -q -p -n %testfont %fontresx %fontresy - hbf2gf -q -p -n %testfont %fontresx %fontresy - - iff %? == 0 then - echolog Font %pkdir\%pksubdir\%testfont.pk generated. - mkdir /s %pkdir\%pksubdir >& nul - gftopk %testfont.gf %testfont.pk - move %testfont.pk %pkdir\%pksubdir >& nul - del %testfont.gf >& nul - set success=1 - elseiff %? == 2 then - echolog (%lnnr/%totlines): Font %testfont is no HBF. - set success=0 - else - echolog Error running HBF2GF for font %testfont! - endiff - - return - - -:call_ps2pk - iff not exist %pkdir\%pksubdir\%testfont.pk then - iff "%@search[ps2pkmfj]" eq "" .or. "%@search[ps2pk]" eq "" then - echolog PS2PKMFJ and/or PS2PK not found in the path. - echolog Can't generate PK fonts from PostScript fonts automatically. - echo `` - quit - endiff - - echolog ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk - ps2pkmfj -X%fontresx -Y%fontresy %testfont %testfont.pk | input %%pspkline - - iff errorlevel != 1 then - %pspkline >> %basename.mfp - iff %? == 0 then - echolog Font %pkdir\%pksubdir\%testfont.pk generated. - mkdir /s %pkdir\%pksubdir >& nul - move %testfont.pk %pkdir\%pksubdir >& nul - success=1 - else - echolog Error running PS2PK for font %testfont! - endiff - else - echolog (%lnnr/%totlines): Font %testfont is no PS font. - success=0 - endiff - else - echolog Font %pkdir\%pksubdir\%testfont.pk already exists. - endiff - - return - - -:end - -endlocal - -:: ==== end of dvidrv.btm ==== |