Kodama's home / tips.

TeX のプリンタ用 PK フォントを作る.

変わったサイズの font で印刷しようとして pk font が無かった場合, MakeTeXPK を使うと良い. 以下のスクリプトは mkpkfont とでもしておいて, mkpkfont DVIファイル のようにすると, DVIファイル中の必要なフォントをつくってくれる.

#!/bin/sh

BDPI=360 ; PRINTER=bjtenex
# BDPI=180 ; PRINTER=nec
# BDPI=118 ; PRINTER=bitgraph
export BDPI PRINTER

help() {
echo "Make fonts for printer"
echo "Usage: $0 DVI-file"
echo "-h, help"
echo "-b (BDPI), default=$BDPI"
echo "-p (PRINTER), default=$PRINTER"
}

while true ; do
    case $1 in
    -b) shift; BDPI=$1 ; shift ;;
    -p) shift; PRINTER=$1 ; shift ;;
    -h | -[a-z]*) help; exit ;;
	*) break;;
    esac
done
echo making PK font
( jdvi2kps -d $BDPI $1 1> /dev/null ) 2>&1 | /usr/bin/gawk '
BEGIN{
	print "font check"
	BDPI=ENVIRON["BDPI"];printer=ENVIRON["PRINTER"];
}
{print "test"}
/Font [a-z]+[0-9]* \[[0-9]+\] not found:/{
	print "Make font"
	sub(/^.*Font /,"");sub(/\[/," ");sub(/\]/,"");
	font=$1; DPI=$2;
	
	MkScript="/usr/local/bin/MakeTeXPK"
	mag=DPI/BDPI;
	command=MkScript " " font " " DPI " " BDPI " " mag " " printer
	system(command)
}'

Kodama's home / tips.