Imported Upstream version 1.22.4
[platform/upstream/groff.git] / font / devlj4 / generate / special.awk
1 # Correct Intellifont-based height metrics for several glyphs in
2 # special font for TrueType CG Times (LaserJet 4000 and later).
3
4 function scale(num)
5 {
6   return int(num * em + 0.5)
7 }
8
9 BEGIN {
10   FS = "\t"
11   OFS = "\t"
12   em = 26346    # Intellifont (8782 DU/em) and hpftodit(1) multiplier of 3
13
14   ascent["integralcrvmid"] = scale(0.84358)
15   descent["integralcrvmid"] = scale(0.25006)
16   ascent["integralbt"] = scale(0.84358)
17   descent["integralbt"] = scale(0.15164)
18   ascent["lt"] = scale(0.84358)
19   descent["lt"] = scale(0.15164)
20   ascent["parenlefttp"] = scale(0.84358)
21   descent["parenlefttp"] = scale(0.15164)
22   ascent["bracelefttp"] = scale(0.84358)
23   descent["bracelefttp"] = scale(0.15164)
24   ascent["lk"] = scale(0.84358)
25   descent["lk"] = scale(0.15164)
26   ascent["braceleftmid"] = scale(0.84358)
27   descent["braceleftmid"] = scale(0.15164)
28   ascent["lb"] = scale(0.84358)
29   descent["lb"] = scale(0.15164)
30   ascent["parenleftbt"] = scale(0.84358)
31   descent["parenleftbt"] = scale(0.15164)
32   ascent["braceleftbt"] = scale(0.84358)
33   descent["braceleftbt"] = scale(0.15164)
34   ascent["rt"] = scale(0.84358)
35   descent["rt"] = scale(0.15164)
36   ascent["parenrighttp"] = scale(0.84358)
37   descent["parenrighttp"] = scale(0.15164)
38   ascent["bracerighttp"] = scale(0.84358)
39   descent["bracerighttp"] = scale(0.15164)
40   ascent["rk"] = scale(0.84358)
41   descent["rk"] = scale(0.15164)
42   ascent["bracerightmid"] = scale(0.84358)
43   descent["bracerightmid"] = scale(0.15164)
44   ascent["rb"] = scale(0.84358)
45   descent["rb"] = scale(0.15164)
46   ascent["parenrightbt"] = scale(0.84358)
47   descent["parenrightbt"] = scale(0.15164)
48   ascent["bracerightbt"] = scale(0.84358)
49   descent["bracerightbt"] = scale(0.15164)
50   ascent["parenrightex"] = scale(0.84358)
51   descent["parenrightex"] = scale(0.15164)
52   ascent["parenleftex"] = scale(0.84358)
53   descent["parenleftex"] = scale(0.15164)
54   ascent["bv"] = scale(0.84358)
55   descent["bv"] = scale(0.15164)
56   ascent["bracerightex"] = scale(0.84358)
57   descent["bracerightex"] = scale(0.15164)
58   ascent["braceleftex"] = scale(0.84358)
59   descent["braceleftex"] = scale(0.15164)
60   ascent["integralex"] = scale(0.84358)
61   descent["integralex"] = scale(0.15164)
62   ascent["bracketrightex"] = scale(0.84358)
63   descent["bracketrightex"] = scale(0.15164)
64   ascent["bracketleftex"] = scale(0.84358)
65   descent["bracketleftex"] = scale(0.15164)
66   ascent["barex"] = scale(0.84358)
67   descent["barex"] = scale(0.15164)
68 }
69 {
70   if ($2 != "\"" && ascent[$1]) {
71     n = split($2, temp, ",")
72     $2 = sprintf("%d,%d,%d", temp[1], ascent[$1], descent[$1])
73     # just in case there are additional metrics
74     for (i = 4; i <= n; i++)
75       $2 = $2 "," temp[i]
76   }
77   print $0
78 }
79
80 # EOF