To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=89002
                 Issue #|89002
                 Summary|Symbol font problems
               Component|gsl
                 Version|DEV300m11
                Platform|All
                     URL|
              OS/Version|Linux
                  Status|NEW
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|PATCH
                Priority|P3
            Subcomponent|code
             Assigned to|hdu
             Reported by|cmc





------- Additional comments from [EMAIL PROTECTED] Sun May  4 17:11:28 +0000 
2008 -------
So attached is a sample .odt which should cause all sort of problems when loaded
on a system without wingdings installed.

There are two problems, the first affects 2.3.X  & 2.4.0 and the other just
2.4.0 I think.

Firstly is the font cache. If we succeed in using the special symbol "recode"
feature to convert Wingdings code points into OpenSymbol code points when we
have a missing Wingdings font, then every *other* time we use OpenSymbol we
fetch this "recoding" opensymbol from the cache, this causes the line of "I am a
'Q' in OpenSymbol, I don't exist" to actually get the Q recoded to a different
existing location in OpenSymbol, something that won't happen if Wingdings is not
used earlier. We need to ensure that an entry for a symbol font which does a
recoding conversion is considered different to the same font which does a
*different* recoding. The top part of the attached 1st patch does this.

cmc->flr: i.e. IMO the 2.3.0 behaviour of showing an airplane for this second
line is actually wrong, it should either be a [] (not found glyph), or a real 
'Q'

The second problem is on finding a font (not glyph) substitute for Wingdings in
>= 2.4.0, this actually works beautifully except in writer. 

In sw/source/core/txtnode/fntcache.cxx SwFntObj::CreateScrFont if we are
missing some information about a font we call "pOut->GetFontMetric()" with a
*symbol* font called WingDings, as a symbol font we do not go near fontconfig
and we got the OpenSymbol (magic recoding) built-in fallback. All perfect.

Now though writer overwrites some info with the returned data of the real
underlying font and does "aMet = pPrt->GetFontMetric()". The problem here is
that the encoding has been copied from the real OpenSymbol metrics over the
WingDings metrics and the "symbol" encoding has been lost because OpenSymbol is
a "unicode" encoding not a symbol one.

So now we're looking up a *non-symbol* font called WingDings and we *do* ask
fontconfig for that and get back a non-symbol font not OpenSymbol and we get a
'Q' for I am a 'Q' in windings, recode me to OpenSymbol

Fixing this could probably be done a few different ways, but one way is to
always claim that [open|star]symbol is a symbol font (second part of the 1st
patch), another would be in writer to only overwrite the missing properties (2nd
alternative patch).

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to