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