Duraid Madina
2005-Nov-21 08:50 UTC
[Fontconfig] using fontconfig to work around odd vertical spacing?
Hi everyone, I recently purchased a monospaced font which seems to be properly hinted: using GIMP (2.0.1) to render it, it looks the best (by far) with hinting turned on but "force autohinting" turned off: I am using freetype compiled with the truetype bytecode interpreter. However, there''s a big problem with this font. I guess screenshots speak louder than words, so here goes: First, some examples of the font in GIMP: everything looks OK (if I had to be picky, I would say that having vertical spacing set to 0.0 in GIMP makes the gap between consecutive lines of text look a *tiny* bit too large: a vert. spacing of -2.5 or so seems to help.) http://parallel.hpc.unsw.edu.au/~duraid/thesansmono/gimp.png OK, so far so good. Now starts the pain (you''d be in pain too if you just spent 100 euros on a single font This is what ''gvim'' looks like. Basically, the bottom ends of characters such as ''g'' are being chopped off; _ (underscore) is completely invisible and ''['' looks like an Asian quote mark, not a square bracket (again, the lower half is invisible): http://parallel.hpc.unsw.edu.au/~duraid/thesansmono/gvim.png Finally, we descend into hell. gnome-terminal and rxvt-unicode both completely choke on this font''s vertical spacing: http://parallel.hpc.unsw.edu.au/~duraid/thesansmono/gnome-terminal.png http://parallel.hpc.unsw.edu.au/~duraid/thesansmono/rxvt-unicode1.png http://parallel.hpc.unsw.edu.au/~duraid/thesansmono/rxvt-unicode2.png (this is the rxvt-unicode invocation: rxvt-unicode -bg black -fg gray -cr green -sb -sl 1000 -fn "xft:TheSansMono Office:pixelsize=14", gnome-terminal is set through it''s configuration menus to use the font at size 9) And just a moment ago I noticed that in this mozilla window, the text dances around a little each time I hit a newline. If you take a look at the bottom line of this screenshot: http://parallel.hpc.unsw.edu.au/~duraid/thesansmono/mozilla.png you''ll see the ''y'' is chopped off. Either making the window lose focus and regain focus or simply hitting enter and then backspace (to go back up a line) is enough to make the ''y'' appear completely. (note: it actually is all the lines in the window that change, not just the bottom line of text. Well, to my question: I''m wondering, is there any way I can use fontconfig to force the vertical spacing of this font to some particular value? As you can probably tell, I''m not sure if this is even a reasonable question to ask: perhaps this is a bug in freetype, but then I''d wonder how GIMP renders it properly, and indeed with quite reasonable (ample) vertical spacing when the vertical spacing is set to zero there. Interestingly, attempting to use this font in abiword leads to a kind of livelock: I can select the font for use, but as soon as I enter a single character, both abiword and XFree86 proceed to consume 100% of CPU time. A bit of a worry, but I don''t really care about abiword, vim and gnome-terminal are much more important for me. If any of you kind souls have any words of advice on how I might be able to get this font working properly, or how I can help debug/report the problem (should I mention this to freetype? ask the GIMP guys for help?) I would be most grateful. Many thanks in advance, Duraid P.S. For what it''s worth, the font is listed by its vendor as being a "Windows TrueType" font: there is no Macintosh version available.