文字の位置座標は文字サイズの四分刻みや三分刻み、あるいは八分刻みで丸めたいことがある。
InDesign用のJavaScriptを書く前にシェルで試してみた。jotで乱数を発生させて、awkで丸めている(四捨五入ができないので0.5を足して小数部を切り捨てることで「丸め」ている)。
四分刻みの場合、いったん4倍して、丸め、4分の1にもどすという手順でできそう。
test4.sh
value=$(jot -r -w %.6f 1); echo $value; awk "BEGIN {print int($value * 4 + 0.5) / 4}"
三分刻みの場合は、3倍→丸め→3で割る。
test3.sh
value=$(jot -r -w %.6f 1); echo $value; awk "BEGIN {print int($value * 3 + 0.5) / 3}"
つまり、N分刻みの場合、**N倍→丸め→Nで割る**という手続きでできそうなのだ。