I'm pretty sure he wants to use the *baseline* of the characters to align
relative to the staff line.
Ah, OK. Looking at the examples he's provided I see that that's exactly what he wants.
So you can't use tab-note-head::print, since
it centers the *total extent* of the characters.
You need to find the character lookup from tab-note-head::print, and use
the character lookup to get the markup to be displayed, and offset that
from the staff line. You'll have to do all the calculations to get to the
right string, I think.
I hadn't thought to look at the markup for the text. Doing that I see that it's a vertically centered column. So using your tips, I get the following which I think is a step in the right direction:
\new TabStaff
\with
{
tablatureFormat = #fret-letter-tablature-format
\override TabNoteHead #'whiteout = ##f
}
{
\override TabNoteHead #'font-shape = #'italic
\override TabNoteHead #'stencil = #(lambda (grob)
(grob-interpret-markup grob (markup->string (ly:grob-property grob 'text))))
e' f' fis' g' gis' a' ais' b' c'' cis'' d'' dis'' e'' f'' fis'' g'' gis''
}
(@Choan: is this what you have in mind?)
-David