Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


On Friday 04 of May 2012, Caolán McNamara wrote:
On Fri, 2012-05-04 at 16:11 +0200, Lubos Lunak wrote:
Hello,

 I've been looking at fdo#34814 and I know what the problem is, but I'm
not sure how that should be fixed.

 The problem is that the document imported uses Wingdings (2) as the
fonts for bullet points, but that's a Windows font that is not available
on Linux.

See unotools/source/misc/fontcvt.cxx for some possibly relevant goodies.

IIRC what's supposed to happen (though maybe this never worked right,
but there's enough of the right code there to try and make it work) is
that if a symbol font is missing, and its one of the ones known to
ConvertChar::GetRecodeData then vcl should map the glyphs to ones found
in OpenSymbol

Maybe this got broken, or there's some small-ish reason why stuff isn't
getting run through that converter ?

This is the reason:
rAttrs.mbSymbolFlag= (mpImplFont->meCharSet == RTL_TEXTENCODING_SYMBOL)

LO needs to know that Wingdings has charset SYMBOL. With my workaround, this 
gets called, without it, the code thinks the charset is something else 
(US_ASCII IIRC) and the conversion is not done.

 IOW that code works right, but that's not where the problem is. Writer core 
somehow needs to know what the bullet font is it getting via UNO actually is, 
but since it itself does not know that font because it's not installed, and 
the import filter does not(?) have a way to tell it, it does not work.

 So I guess the proper fix would be something overengineered like creating 
another interface in offapi/ for transfering a list of font->charset 
mappings, somehow associating it with SwXNumberingRules and transfering the 
font data first before doing anything with the numbering itself. Is there 
some doc somewhere describing what the official way of doing this is?

-- 
 Lubos Lunak
 l.lunak@suse.cz

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.