#! /usr/bin/perl # # prc2bdftobdf.pl -- prc2bdf の出力を、X11 で利用可能なBDF形式に変換 # # revision history: # 0.0: Dec. 1, 2001 by Dai ISHIJIMA # # usage: # % cat PRCフォント | perl prc2bdf.pl | perl prc2bdftobdf.pl | bdftopcf # # references: # ・ぱぁむでぱう # http://rutosa.com/palm/pp.html # ・J-OS(ラージ)フォントコンバータのページ # http://www2.osk.3web.ne.jp/~kgt/jos-fcnv.html # ・prc2bdf.pl # http://www2.osk.3web.ne.jp/~kgt/Archive/jos-fcnv.lzh # $size = 12; $nchars = 0; # get number of chars open(TMPFIL, ">/tmp/bdf"); while (<>) { chop; if ((/./) && (!/^COMM/)) { print TMPFIL $_, "\n"; } if (/BITMAP/) { ++$nchars; } } close(TMPFIL); $pointsize = ($size - 1) * 10; $awidth = $size * 10; $ascent = $size - 2; ################################ # fake propaties print <<"EOF"; STARTFONT 2.1 COMMENT FONT -K${size}-Fixed-Medium-R-Normal--${size}-${awidth}-75-75-C-${awidth}-JISX0208.1983-0 SIZE ${size} 75 75 FONTBOUNDINGBOX ${size} ${size} 0 -2 STARTPROPERTIES 18 FONTNAME_REGISTRY "" FOUNDRY "K${size}" FAMILY_NAME "Fixed" WEIGHT_NAME "Medium" SLANT "R" SETWIDTH_NAME "Normal" ADD_STYLE_NAME "" PIXEL_SIZE ${size} POINT_SIZE 150 RESOLUTION_X 75 RESOLUTION_Y 75 SPACING "C" AVERAGE_WIDTH ${awidth} CHARSET_REGISTRY "JISX0208.1983" CHARSET_ENCODING "0" DEFAULT_CHAR 8481 FONT_DESCENT 2 FONT_ASCENT ${ascent} ENDPROPERTIES EOF ################################ printf "CHARS %d\n", $nchars; open(TMPFIL, "/tmp/bdf"); while () { print $_; if (/STARTCHAR ([0-9a-zA-Z]+)/) { $encoding = hex($1); printf "ENCODING %d\n", $encoding; print "SWIDTH 1024 0\n"; print "DWIDTH $size 0\n"; print "BBX $size $size 0 -2\n"; } } close(TMPFIL); print "ENDFONT\n"; exit 0;