RFE: Use XLFD matrix transformation to generate italic/oblique versions if font family does not have that style. Some font families (like Solaris 2.8's gb18030-2000 font -fangzheng-song-medium-r-normal--0-0-0-0-m-0-gb18030.2000-*) do not have special italic/oblique versions. It may be usefull to "emulate" italic&co. by using a transformation matrix on the same font to generate the missing styles.
Interesting idea. Does anyone know if matrix transformated fonts are attractive or unattractive? Do we know if X servers support this? An alternate to matrix tranformation could be AA transformed glyphs.
Roland: should this bug be assigned to you?
Brian Stell wrote: > Does anyone know if matrix transformated fonts are attractive or unattractive? Outline font quality should AFAIK not suffer if a transformation matrix gets applied - but bitmap fonts may not like all transformations (for example: rotation by 90° looks fine, rotation by 97° doesn't look very good (with small bitmap fonts)). Finding good values for the matrix to may require some testing... > Do we know if X servers support this? Transformation matrix support was added in X11R6 which is AFAIK the standard for all modern X11 implementations (even plain old Solaris 2.6 supports it). > An alternate to matrix tranformation could be AA transformed glyphs. Ugh. The problem is that we would have to implement our own matrix transformation code in Mozilla...
Brian Stell wrote: > should this bug be assigned to you? Sure, I can take it... ... but I need a way to figure out if a font family alreads has an italic/oblique version of the font or not. Any ideas ?
in nsFontNode::FillStyleHoles() the code "finds" a substitute for missing italic fonts
Brian Stell wrote: > in nsFontNode::FillStyleHoles() the code "finds" a substitute for missing > italic fonts ... that place would mean we would have to keep a copy of the decomposed XLFD somewhere around (we need it to build a new XLFD with the transformation matrix applied) ... ;-(
or separate out the code that decomposes the XLFD so it can be shared by both GetFontNames() and your new code.