Blob Blame History Raw
From 15e1c881684c0127c0ca989924bbf2508b4fd780 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolanm@redhat.com>
Date: Mon, 26 Jan 2015 15:00:29 +0000
Subject: [PATCH] don't strip font names of apparent script suffixes anymore

e.g. "CM Roman CE" should be left alone.

bump font cache id to invalidate old cached lists

I think this practice stems from Window 3.1/Word 95 where the encoding was
included in the font name
http://www.webcenter.ru/~kazarn/eng/fonts_ttf.htm#charsettbl Microsoft Office
still generates RTF files with weird-ass Win 3.1 style fontnames but any actual
existing fonts that happen to have names that fall into that pattern should be
left alone now.

Change-Id: Ibb704048d63b33ce510d6b1076700c6e94a0af2a
---
 unotools/qa/unit/testGetEnglishSearchName.cxx | 7 +++----
 unotools/source/misc/fontdefs.cxx             | 2 --
 vcl/generic/fontmanager/fontcache.cxx         | 2 +-
 3 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/unotools/qa/unit/testGetEnglishSearchName.cxx b/unotools/qa/unit/testGetEnglishSearchName.cxx
index dbc8b17..c9d8e1f 100644
--- a/unotools/qa/unit/testGetEnglishSearchName.cxx
+++ b/unotools/qa/unit/testGetEnglishSearchName.cxx
@@ -39,12 +39,11 @@ void Test::testSingleElement()
         //trailingWhitespaces
         test1 = GetEnglishSearchFontName( "Symbol    " );
         CPPUNIT_ASSERT_EQUAL(OUString("symbol"),test1);
-        //removing Skripts
+        //no longer remove script suffixes
         test1 = GetEnglishSearchFontName( "Symbol(SIP)" );
         CPPUNIT_ASSERT_EQUAL(OUString("symbol(sip)"),test1);
-        //remove Whitespaces between
-        test1 = GetEnglishSearchFontName( "Symbol (thai)" );
-        CPPUNIT_ASSERT_EQUAL( OUString("symbol"),test1);
+        test1 = GetEnglishSearchFontName( "CM Roman CE" );
+        CPPUNIT_ASSERT_EQUAL( OUString("cmromance"),test1);
         //remove special characters; leave semicolon, numbers
         test1 = GetEnglishSearchFontName( "sy;mb?=ol129" );
         CPPUNIT_ASSERT_EQUAL( OUString("sy;mbol129"),test1);
diff --git a/unotools/source/misc/fontdefs.cxx b/unotools/source/misc/fontdefs.cxx
index f368cc6..04c6fc4 100644
--- a/unotools/source/misc/fontdefs.cxx
+++ b/unotools/source/misc/fontdefs.cxx
@@ -367,8 +367,6 @@ OUString GetEnglishSearchFontName(const OUString& rInName)
     if ( i != nLen )
          rName.truncate(i);
 
-    // Remove Script at the end
-    rName = StripScriptFromName(rName.toString());
     nLen = rName.getLength();
 
     // remove all whitespaces and converts to lower case ASCII
diff --git a/vcl/generic/fontmanager/fontcache.cxx b/vcl/generic/fontmanager/fontcache.cxx
index 56a15bf..e978eb7 100644
--- a/vcl/generic/fontmanager/fontcache.cxx
+++ b/vcl/generic/fontmanager/fontcache.cxx
@@ -38,7 +38,7 @@
 #endif
 
 #define FONTCACHEFILE "/user/psprint/pspfontcache"
-#define CACHE_MAGIC "LibreOffice PspFontCacheFile format 5"
+#define CACHE_MAGIC "LibreOffice PspFontCacheFile format 6"
 
 using namespace std;
 using namespace psp;
-- 
1.9.3