@echo off rem Wrapper script to configure and call dviout rem rem Copyright 2009 by Siep Kroonenberg and Tomasz M. Trzeciak rem Public Domain setlocal enableextensions disabledelayedexpansion rem Ask kpsewhich for TLROOT and TEXMFVAR set tlroot= for /f "tokens=1,2 delims=;" %%I in ( 'kpsewhich --expand-var "$SELFAUTOPARENT;$TEXMFVAR"' ) do ( set tlroot=%%~sfI set fontsdir=%%~fJ\fonts ) if not defined tlroot goto :no_tl if not exist "%fontsdir%\" md "%fontsdir%" if not exist "%fontsdir%\" goto :no_fontsdir rem Ask kpsewhich for TFM search path for /f "delims=" %%I in ( 'kpsewhich --show-path tfm' ) do ( set tfmpath=%%I ) rem Remove kpse specific syntax from path definition, change slash to backslash set tfmpath=%tfmpath:!!=% set tfmpath=%tfmpath:/=\% rem Split font path var into arguments and rebuild it with only existing 'fonts' dirs call :build_tfmpath ";" "%tfmpath:;=" "%" rem Use TL gostscript set GS_LIB=%tlroot%\tlpkg\tlgs\fonts;%tlroot%\tlpkg\tlgs\lib;%tlroot%\tlpkg\tlgs\Resource path %tlroot%\tlpkg\tlgs\bin;%path% rem Assemble dviout command set cmdstr="%tlroot%\tlpkg\dviout\dviout.exe" -TEXROOT="%tfmpath%" set cmdstr=%cmdstr% -TEXPK="^r\pk\\^s.^dpk;^r\tfm\\^s^tfm;^r\vf\\^s.vf;^r\ovf\\^s.ovf;^r\tfm\\^s.tfm" rem Start dviout start "" %cmdstr% %* goto :eof rem Soubroutine to build font path only with existing "...\fonts" directories rem Directories to process are supplied as arguments :build_tfmpath ";" dir list ... shift rem The first argument (";") serves as a marker to reset the path if "%~0"==";" set tfmpath= rem Finish if no more arguments to process if "%~1"=="" goto :eof rem Get short path (dviout has problems with long ones) set fontsdir=%~f1 rem Substitute "\fonts\tfm" in dir name with a marker rem String substitution in expanded vars is case insensitive set fontsdir=%fontsdir:\fonts\tfm=\fonts;% rem Continue if no substitution if "%fontsdir%"=="%~sf1" goto :build_tfmpath rem Split dir name on marker; this leaves us with "...\fonts" dir for /f "delims=;" %%I in ("%fontsdir%") do (set fontsdir=%%~sfI) rem Continue if dir does not exist if not exist "%fontsdir%\" goto :build_tfmpath rem Add dir to path if not defined tfmpath ( set tfmpath=%fontsdir% ) else ( set tfmpath=%tfmpath%;%fontsdir% ) goto :build_tfmpath :no_tl echo TeX Live not found; aborting...>&2 exit /b 1 :no_fontsdir echo No place to put bitmaps; aborting...>&2 exit /b 1