Kaydet (Commit) d8c38659 authored tarafından Khaled Hosny's avatar Khaled Hosny Kaydeden (comit) Miklos Vajna

tdf#103944: Fix symbol font remapping

This reverts:

commit 8556cd88
Author: Miklos Vajna <vmiklos@collabora.co.uk>
Date:   Thu Mar 6 09:48:54 2014 +0100

    cp#1000039 DOC import: ignore symbol charset of the symbol font

    Otherwise characters unhandled by our OpenSymbol font (like Arabic 0-9
    numbers) won't be rendered using an other font, as no other font
    provides the symbol charset. Do this in
    SwWW8ImplReader::GetFontParams(), where we already have font name ->
    font family mappings for a few well-known fonts.

    The DOCX filter does the same for quite some time, and that's how Arabic
    numbers in text using the Symbol font were rendered, instead of little
    rectangles.

The reverted commit prevented remapping symbols supported by OpenSymbol,
and it seems to have worked incidentally because of the fallback to the
“Standard Symbols L” Type 1 font which we longer support. The bug doc is
broken in master with or without this commit, but reverting this fixes
tdf#103944.

Change-Id: I17ac699fc5987e11e5c9e490895fc3c4967d3127
Reviewed-on: https://gerrit.libreoffice.org/30932Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMiklos Vajna <vmiklos@collabora.co.uk>
üst 2ec76e5d
This diff was suppressed by a .gitattributes entry.
......@@ -347,12 +347,6 @@ DECLARE_WW8EXPORT_TEST(testCp1000044, "cp1000044.doc")
CPPUNIT_ASSERT_EQUAL(false, bool(xStorable->isReadonly()));
}
DECLARE_WW8EXPORT_TEST(testCp1000039, "cp1000039.doc")
{
// This was RTL_TEXTENCODING_SYMBOL, causing "1" rendered as a placeholder rectangle.
CPPUNIT_ASSERT_EQUAL(sal_Int16(RTL_TEXTENCODING_DONTKNOW), getProperty<sal_Int16>(getRun(getParagraph(1), 1), "CharFontCharSet"));
}
DECLARE_WW8EXPORT_TEST(testBorderColours, "bordercolours.doc")
{
// The following 6 colours can only be represented with WW9 (Word 2000)
......
......@@ -3467,11 +3467,6 @@ bool SwWW8ImplReader::GetFontParams( sal_uInt16 nFCode, FontFamily& reFamily,
reCharSet = rtl_getTextEncodingFromWindowsCharset( pF->chs );
}
// Make sure charset is not set in case of Symbol, otherwise in case a
// character is missing in our OpenSymbol, the character won't be replaced.
if (reCharSet == RTL_TEXTENCODING_SYMBOL && rName == "Symbol")
reCharSet = RTL_TEXTENCODING_DONTKNOW;
// make sure Font Family Code is set correctly
// at least for the most important fonts
// ( might be set wrong when Doc was not created by
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment