erik@srava.sra.JUNET (Erik M. van der Poel) (04/19/89)
What are ink metrics? I have looked for answers, and this is what I have found so far: In "Xlib - C Language X Interface", R3, 6.5: The lbearing member defines the extent of the left edge of the character ink from the origin. The rbearing member defines the extent of the right edge of the character ink from the origin. The ascent member defines the extent of the top edge of the character ink from the origin. The descent member defines the extent of the bottom edge of the character ink from the origin. In "Release Notes", R3, 4.1: * In particular, ink metrics in fonts have been fixed; client errors in computing character sizes will now be easy to spot. The sample server font compiler has been renamed bdftosnf and has been fixed to properly generate ink metrics for terminal emulator fonts. Would anyone care to explain in a bit more detail what is meant by the sentence marked with the *? Ink metrics are only computed by bdftosnf when the -i flag is not used and the font is a fixed-width terminal emulator font, right? As far as I can tell, only the -t flag is passed by default. This means that the per_char array in the XFontStruct structures would always be there, even if one was dealing with a supposedly fixed-width font. If a client wanted to make sure that a fixed-width font was being used, how could it check that? Finally, a word of advice to those who want to compile the k14 Japanese Kanji font (in contrib/fonts/bdf/oldx11): Use the -i flag. If you don't you will end up wasting a lot of swap space (about 90K) with the per_char array. (And if you run several kterm's, that's a lot of wasted space.) -- Erik M. van der Poel erik@sra.junet (Japan) SRA, 1-1-1 Hirakawa-cho, Chiyoda-ku erik%sra.junet@uunet.uu.net (USA) Tokyo 102 Japan. TEL +81-3-234-2692 erik%sra.junet@mcvax.uucp (Europe)