Red Hat Bugzilla – Bug 29224
RFE: ttmkfdir should add an iso10646-1 encoding
Last modified: 2007-04-18 12:31:43 EDT
ttmkfdir should add an iso10646-1 encoding for all MS UNICODE TrueType
fonts regardless of the additional charsets found in them via heuristics.
This is useful for KDE 2 and UTF-8'ed xterm.
Attached is a simple patch to do just that (and fix a small spelling
mistake --- sorry, couldn't resist :). I tried sending it to the author,
but he didn't reply to me yet.
Created attachment 10960 [details]
Patch for ttmkfdir
I will consider this feature at some point in the future.
XFree86 4.1.0 by default includes ISO10646-1 font encodings which are
used to generate the ISO8859-* encoded fonts via ucs2any.pl
I'm not sure what your patch does differently that X doesn't already do now,
other than correct the horrible spelling errors that is. ;o)
I'll add the spelling error fixes though.
Whoopsie... I just checked our freetype package and ttmkfdir is written
in C++, not C. Your patch must be for an older version of ttmkfdir.
I'm not sure about XFree86 4.1, but XFree86 4.0 (atleast with the FreeType
module) derives the available encodings for a font solely from the fonts.dir
file. It won't offer an iso10646-1 encoding (regardless of the font internals
hinting it's a Unicode font) unless it is in the fonts.dir.
ttmkfdir does a terrific job at figuring out which encodings the font has. It
takes a Unicode TrueType font, and for each language, checks whether it has
enough existing glyphs in the language's Unicode range. Unfortunately, it
forgets to add the basic 'iso10646-1' encoding, which XDrawString16 uses to draw
multilingual text in UCS2-BE encoding.
Ok, but what I'm saying is that your patch is patching some files that
are written in C, but ttmkfdir is written in C++ and is part of our
Someone will have to look at this again...
Deferring for consideration for future release of Red Hat Linux
yshao: can you look at this and comment on if this request has
been already implemented?
Mike,already implemented, you can close this one.