1151497Sru#! /bin/awk -f 2151497Sru 3151497Sru# Correct Intellifont-based height metrics for several glyphs in 4151497Sru# special font for TrueType CG Times (LaserJet 4000 and later). 5151497Sru 6151497Srufunction scale(num) 7151497Sru{ 8151497Sru return int(num * em + 0.5) 9151497Sru} 10151497Sru 11151497SruBEGIN { 12151497Sru FS = "\t" 13151497Sru OFS = "\t" 14151497Sru em = 26346 # Intellifont (8782 DU/em) and hpftodit(1) multiplier of 3 15151497Sru 16151497Sru ascent["integralcrvmid"] = scale(0.84358) 17151497Sru descent["integralcrvmid"] = scale(0.25006) 18151497Sru ascent["integralbt"] = scale(0.84358) 19151497Sru descent["integralbt"] = scale(0.15164) 20151497Sru ascent["lt"] = scale(0.84358) 21151497Sru descent["lt"] = scale(0.15164) 22151497Sru ascent["parenlefttp"] = scale(0.84358) 23151497Sru descent["parenlefttp"] = scale(0.15164) 24151497Sru ascent["bracelefttp"] = scale(0.84358) 25151497Sru descent["bracelefttp"] = scale(0.15164) 26151497Sru ascent["lk"] = scale(0.84358) 27151497Sru descent["lk"] = scale(0.15164) 28151497Sru ascent["braceleftmid"] = scale(0.84358) 29151497Sru descent["braceleftmid"] = scale(0.15164) 30151497Sru ascent["lb"] = scale(0.84358) 31151497Sru descent["lb"] = scale(0.15164) 32151497Sru ascent["parenleftbt"] = scale(0.84358) 33151497Sru descent["parenleftbt"] = scale(0.15164) 34151497Sru ascent["braceleftbt"] = scale(0.84358) 35151497Sru descent["braceleftbt"] = scale(0.15164) 36151497Sru ascent["rt"] = scale(0.84358) 37151497Sru descent["rt"] = scale(0.15164) 38151497Sru ascent["parenrighttp"] = scale(0.84358) 39151497Sru descent["parenrighttp"] = scale(0.15164) 40151497Sru ascent["bracerighttp"] = scale(0.84358) 41151497Sru descent["bracerighttp"] = scale(0.15164) 42151497Sru ascent["rk"] = scale(0.84358) 43151497Sru descent["rk"] = scale(0.15164) 44151497Sru ascent["bracerightmid"] = scale(0.84358) 45151497Sru descent["bracerightmid"] = scale(0.15164) 46151497Sru ascent["rb"] = scale(0.84358) 47151497Sru descent["rb"] = scale(0.15164) 48151497Sru ascent["parenrightbt"] = scale(0.84358) 49151497Sru descent["parenrightbt"] = scale(0.15164) 50151497Sru ascent["bracerightbt"] = scale(0.84358) 51151497Sru descent["bracerightbt"] = scale(0.15164) 52151497Sru ascent["parenrightex"] = scale(0.84358) 53151497Sru descent["parenrightex"] = scale(0.15164) 54151497Sru ascent["parenleftex"] = scale(0.84358) 55151497Sru descent["parenleftex"] = scale(0.15164) 56151497Sru ascent["bv"] = scale(0.84358) 57151497Sru descent["bv"] = scale(0.15164) 58151497Sru ascent["bracerightex"] = scale(0.84358) 59151497Sru descent["bracerightex"] = scale(0.15164) 60151497Sru ascent["braceleftex"] = scale(0.84358) 61151497Sru descent["braceleftex"] = scale(0.15164) 62151497Sru ascent["integralex"] = scale(0.84358) 63151497Sru descent["integralex"] = scale(0.15164) 64151497Sru ascent["bracketrightex"] = scale(0.84358) 65151497Sru descent["bracketrightex"] = scale(0.15164) 66151497Sru ascent["bracketleftex"] = scale(0.84358) 67151497Sru descent["bracketleftex"] = scale(0.15164) 68151497Sru ascent["barex"] = scale(0.84358) 69151497Sru descent["barex"] = scale(0.15164) 70151497Sru} 71151497Sru{ 72151497Sru if ($2 != "\"" && ascent[$1]) { 73151497Sru n = split($2, temp, ",") 74151497Sru $2 = sprintf("%d,%d,%d", temp[1], ascent[$1], descent[$1]) 75151497Sru # just in case there are additional metrics 76151497Sru for (i = 4; i <= n; i++) 77151497Sru $2 = $2 "," temp[i] 78151497Sru } 79151497Sru print $0 80151497Sru} 81151497Sru 82151497Sru# EOF 83