X11 TrueType rendering, spacing
I noticed that a TrueType Debian font package that I assembled
(ttf-unifont) wasn't handling Unicode combining marks correctly on
4.0r3 etch when I saw this line from Markus Kuhn's UTF-8-demo.txt
STARGΛ̊TE SG-1, a = v̇ = r̈, a⃑ ⊥ b⃑
I realized that the vector symbols weren't over the letters in the
existing unifont.ttf file. I filed Bug #497326 with "Severity:
normal" against ttf-unifont as a result.
I tried every combination of positioning the combining marks that I
could think of while constructing the TrueType font, and nothing
worked. Finally I tried a version on Windows XP and it worked just
fine there. The version that works fine under XP is here:
Under etch, the combining marks appear over the preceding glyph, but
then a space is inserted afterwards. This appears to be a bug in the
X11 TrueType font rendering engine, but I don't know enough about
TrueType under X11 to determine where exactly the bug lies.
If anyone would like to experiment with this, you can use the
"STARGATE" string above with the font. Install the "ttf-unifont"
package from Testing or Unstable, then replace
/usr/share/fonts/truetype/unifont/unifont.ttf with the un-gzipped form
of http://unifoundry.com/pub/unifont.ttf.gz. Yes, I know you're not
supposed to do that ordinarily. I haven't assembled a new Debian
package that contains the above version of the TrueType font. I don't
know whether there is time to get it into lenny, and in any case no
version that I assemble will render properly unless the source of the
gratuitous spacing is found. I could not find an existing bug report
that seemed related to this problem.
The "STARGATE" UTF-8 sequence (in case it gets scrambled in the email) is:
S T A R G <0xCE> <0x9B> <0xCC> <0x8A> T E
The two glyphs in that string above the ASCII range are U+039B and
I'm sending this to the debian-x mailing list in hopes that someone
with more X11 knowledge than I can determine where to assign the bug
(including if it is with my font rather than the TrueType rendering