summaryrefslogtreecommitdiff
path: root/fonts/utilities/afmtopl/wolczko/mk-con
blob: ffd92c5844787db12f729eb2df6fa3c03f6e08c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#! /bin/sh
# Make a condensed version of an AFM file
# usage: mk-con x-scaling afm-file-name >new-afm-file-name
# 
# rounding is done with int(x+0.5) --- this is wrong for -ve values
awk 'BEGIN {'scale=$1'; 
	tan[ 0]=0;        tan[ 1]=.017454;  tan[ 2]=.034919;  tan[ 3]=.052406;  
	tan[ 4]=.069926;  tan[ 5]=.087487;  tan[ 6]=.105102;  tan[ 7]=.122783;  
	tan[ 8]=.140539;  tan[ 9]=.158383;  tan[10]=.176325;  tan[11]=.194379;  
	tan[12]=.212555;  tan[13]=.230867;  tan[14]=.249325;  tan[15]=.267948;  
	tan[16]=.286744;  tan[17]=.305728;  tan[18]=.324918;  tan[19]=.344326;  
	tan[20]=.363969;  tan[21]=.383863;  tan[22]=.404025;  tan[23]=.424473;  
	tan[24]=.445227;  tan[25]=.466306;  tan[26]=.487731;  tan[27]=.509524;  
	tan[28]=.531707;  tan[29]=.554308;  tan[30]=.577349;  tan[31]=.600859;  
	tan[32]=.624867;  tan[33]=.649406;  tan[34]=.674507;  tan[35]=.700205;  
	tan[36]=.726540;  tan[37]=.753552;  tan[38]=.781283;  tan[39]=.809782;  
	tan[40]=.839099;  tan[41]=.869284;  tan[42]=.900401;  tan[43]=.932512;  
	tan[44]=.965686;  tan[45]=.999998;  tan[46]=1.035526; tan[47]=1.072368; 
	tan[48]=1.110610; tan[49]=1.150364; tan[50]=1.191750; tan[51]=1.234894; 
	tan[52]=1.279939; tan[53]=1.327040; tan[54]=1.376380; tan[55]=1.428144; 
	tan[56]=1.482555; tan[57]=1.539859; tan[58]=1.600330; tan[59]=1.664273; 
	tan[60]=1.732044; tan[61]=1.804039; tan[62]=1.880723; tan[63]=1.962604; 
	tan[64]=2.050297; tan[65]=2.144501; tan[66]=2.246033; tan[67]=2.355844; 
	tan[68]=2.475075; tan[69]=2.605080; tan[70]=2.747468; tan[71]=2.904201; 
	tan[72]=3.077671; tan[73]=3.270835; tan[74]=3.487391; tan[75]=3.732019; 
	tan[76]=4.010759; tan[77]=4.331452; tan[78]=4.704597; tan[79]=5.144493; 
	tan[80]=5.671250; tan[81]=6.313687; tan[82]=7.115264; tan[83]=8.144301; 
	tan[84]=9.514216; tan[85]=11.42988; tan[86]=14.30034; tan[87]=19.08075;
	tan[88]=28.63500; tan[89]=57.28469; tan[90]=1e6;


}

/^FontName/ {
	print $0 "-Condensed";
	next;
	}

/^FullName/ {
	print $0, "Condensed";
	next;
	}

/^ItalicAngle/	{
	if ($2 < 0) {
		origangle = int($2 - 0.5);
		abstanorig = tan[-origangle];
	} else if ($2 > 0) {
		origangle = int($2 + 0.5);
		abstanorig = tan[origangle];
	} else {
		origangle = 0;
		abstanorig = 0;
	}
	abstannew = scale * abstanorig;
	newangle= 0; 
	while (tan[newangle] < abstannew)
		++newangle;
	if (origangle < 0)
		newangle = -newangle;			
	print "ItalicAngle " newangle ; next ;
}

/^UnderlinePosition/ {
	$2 = int(scale*$2 + 0.5);
	print $0; next;
}

/^FontBBox/ {
	$2 = int(scale*$2 + 0.5);
	$4 = int(scale*$4 + 0.5);
	print $0; next;
}


/^C / {
	llx = $11;
	urx = $13;
	w = $5;
	$11 = int(scale*llx + 0.5);
	$13 = int(scale*urx + 0.5);
	$5 = int(scale*w + 0.5);
	print $0; next;
}

/^KPX/ {
	$4 = int($4*scale - 0.5)
	print $0; next;
}

{print}' $2