It looks like the baseline of the dingbat and cell contents don't change in the same way when the cell contents are wrapped in BoxData
. As Sjoerd pointed out, removing the BoxData
from the cell contents makes things line up, but adding BoxData
to the CellDingbat
does not seem to change anything.
The baseline can be shifted using an AdjustmentBox
and after playing around for a while, I found that the baseline is out by CurrentValue["FontAxisOffset"]/CurrentValue["FontMWidth"]
.
Both of these terms change with the Magnification
but it turns out that the observed offset is the constant value obtained when Magnification->1
. In this case, the ratio is 0.20833 == 5/24
.
I'm not sure if the problem really is with the baseline and whether there is a good underlying reason for the behaviour. I'm also not sure why the required shift does not depend on the magnification of the Cell, Notebook or $FrontEnd. But it seems to work and I've spent enough time playing around with it!
So to test that everything is (basically) ok, try
Do[CellPrint@Cell[BoxData["TxyT"],
CellDingbat -> BoxData[AdjustmentBox["TxyT", BoxBaselineShift -> -5/24]],
Magnification -> mag], {mag, 1, 5}]

And also test how
CellPrint@Cell[BoxData["TxyT"],
CellDingbat -> BoxData[AdjustmentBox["TxyT", BoxBaselineShift -> -5/24]],
Magnification -> Inherited]
looks for various magnifications of the containing notebook and frontend, e.g.,
SetOptions[EvaluationNotebook[], Magnification -> 4.]
and/or
SetOptions[$FrontEnd, Magnification -> 4.]