1#!/usr/bin/env perl 2# $Id: adjust,v 1.2 2002/09/14 20:34:39 euske Exp $ 3 4# * public domain * by 1@2ch 5 6# usage: ./adjust file.wid < IN > OUT 7 8# read 9open(W, $ARGV[0]) || die("cannot open"); 10while(<W>) { 11 @f = split(' ', $_); 12 $wid{$f[0]} = $f[1]; 13} 14close(W); 15 16$enc = 0; 17while(<STDIN>) { 18 if (/^ENCODING +([0-9]+)/) { 19 $enc = $1; 20 } elsif (/^DWIDTH +([0-9]+) +([0-9]+)/) { 21 if ($enc < 10000) { 22 $wid2 = $wid{$enc}; 23 } else { 24 $wid2 = $wid{'0'}; 25 } 26 if ($wid2 && $wid2 != $1) { 27 $_ = "DWIDTH " . $wid2 . " " . $2 . " \# ADJUSTED " . ($wid2 - $1) . "\n"; 28 } 29 } 30 print STDOUT $_; 31} 32