rpms/openoffice.org/F-12 openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch, 1.4, 1.5 openoffice.org.spec, 1.2065, 1.2066
Caolan McNamara
caolanm at fedoraproject.org
Tue Feb 9 12:44:37 UTC 2010
- Previous message: rpms/claws-mail-plugins/devel .cvsignore, 1.23, 1.24 claws-mail-plugins.spec, 1.48, 1.49 sources, 1.23, 1.24
- Next message: rpms/openoffice.org/devel openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch, 1.5, 1.6 openoffice.org.spec, 1.2142, 1.2143
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: caolanm
Update of /cvs/pkgs/rpms/openoffice.org/F-12
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv14724/F-12
Modified Files:
openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch
openoffice.org.spec
Log Message:
Resolves: rhbz#445588 improve same name substitution
openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch:
psprint/inc/psprint/fontmanager.hxx | 4
psprint/source/fontmanager/fontconfig.cxx | 125 +++++++++++++++++++-----------
vcl/inc/vcl/outfont.hxx | 10 +-
vcl/source/gdi/outdev3.cxx | 29 ++++--
vcl/unx/source/gdi/salgdi3.cxx | 93 ++++++++++++++++++----
5 files changed, 188 insertions(+), 73 deletions(-)
Index: openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-12/openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -p -r1.4 -r1.5
--- openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch 12 Feb 2009 14:25:02 -0000 1.4
+++ openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch 9 Feb 2010 12:44:36 -0000 1.5
@@ -177,10 +177,122 @@ diff -ru psprint/source/fontmanager/font
}
// update rMissingCodes by removing resolved unicodes
-diff -ru vcl/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salgdi3.cxx
---- openoffice.org.orig/vcl/unx/source/gdi/salgdi3.cxx 2008-05-26 16:46:52.000000000 +0100
-+++ openoffice.org/vcl/unx/source/gdi/salgdi3.cxx 2008-05-26 16:46:28.000000000 +0100
-@@ -2069,8 +2069,10 @@
+diff -ru vcl.orig/inc/vcl/outfont.hxx vcl/inc/vcl/outfont.hxx
+--- vcl.orig/inc/vcl/outfont.hxx 2010-02-09 12:34:09.000000000 +0000
++++ vcl/inc/vcl/outfont.hxx 2010-02-09 12:35:39.000000000 +0000
+@@ -344,15 +344,17 @@
+ short mnOrientation; // text angle in 3600 system
+ bool mbInit; // true if maMetric member is valid
+
+- void AddFallbackForUnicode( sal_UCS4, const String& rFontName );
+- bool GetFallbackForUnicode( sal_UCS4, String* pFontName ) const;
+- void IgnoreFallbackForUnicode( sal_UCS4, const String& rFontName );
++ void AddFallbackForUnicode( sal_UCS4, FontWeight eWeight, const String& rFontName );
++ bool GetFallbackForUnicode( sal_UCS4, FontWeight eWeight, String* pFontName ) const;
++ void IgnoreFallbackForUnicode( sal_UCS4, FontWeight eWeight, const String& rFontName );
+
+ private:
+ // cache of Unicode characters and replacement font names
+ // TODO: a fallback map can be shared with many other ImplFontEntries
+ // TODO: at least the ones which just differ in orientation, stretching or height
+- typedef ::std::hash_map<sal_UCS4,String> UnicodeFallbackList;
++ typedef ::std::pair<sal_UCS4,FontWeight> CharDescr;
++ struct CharDescr_Hash{ size_t operator()( const CharDescr& ) const; };
++ typedef ::std::hash_map<CharDescr,String,CharDescr_Hash> UnicodeFallbackList;
+ UnicodeFallbackList* mpUnicodeFallbackList;
+ };
+
+diff -ru vcl.orig/source/gdi/outdev3.cxx vcl/source/gdi/outdev3.cxx
+--- vcl.orig/source/gdi/outdev3.cxx 2010-02-09 12:34:09.000000000 +0000
++++ vcl/source/gdi/outdev3.cxx 2010-02-09 12:37:50.000000000 +0000
+@@ -1528,21 +1528,28 @@
+
+ // -----------------------------------------------------------------------
+
+-inline void ImplFontEntry::AddFallbackForUnicode( sal_UCS4 cChar, const String& rFontName )
++size_t ImplFontEntry::CharDescr_Hash::operator()( const CharDescr& rData ) const
++{
++ std::hash<sal_UCS4> a;
++ std::hash<int > b;
++ return a(rData.first) | b(rData.second);
++}
++
++inline void ImplFontEntry::AddFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, const String& rFontName )
+ {
+ if( !mpUnicodeFallbackList )
+ mpUnicodeFallbackList = new UnicodeFallbackList;
+- (*mpUnicodeFallbackList)[cChar] = rFontName;
++ (*mpUnicodeFallbackList)[CharDescr(cChar, eWeight)] = rFontName;
+ }
+
+ // -----------------------------------------------------------------------
+
+-inline bool ImplFontEntry::GetFallbackForUnicode( sal_UCS4 cChar, String* pFontName ) const
++inline bool ImplFontEntry::GetFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, String* pFontName ) const
+ {
+ if( !mpUnicodeFallbackList )
+ return false;
+
+- UnicodeFallbackList::const_iterator it = mpUnicodeFallbackList->find( cChar );
++ UnicodeFallbackList::const_iterator it = mpUnicodeFallbackList->find( CharDescr(cChar, eWeight) );
+ if( it == mpUnicodeFallbackList->end() )
+ return false;
+
+@@ -1552,10 +1559,10 @@
+
+ // -----------------------------------------------------------------------
+
+-inline void ImplFontEntry::IgnoreFallbackForUnicode( sal_UCS4 cChar, const String& rFontName )
++inline void ImplFontEntry::IgnoreFallbackForUnicode( sal_UCS4 cChar, FontWeight eWeight, const String& rFontName )
+ {
+ // DBG_ASSERT( mpUnicodeFallbackList, "ImplFontEntry::IgnoreFallbackForUnicode no list" );
+- UnicodeFallbackList::iterator it = mpUnicodeFallbackList->find( cChar );
++ UnicodeFallbackList::iterator it = mpUnicodeFallbackList->find( CharDescr(cChar, eWeight) );
+ // DBG_ASSERT( it != mpUnicodeFallbackList->end(), "ImplFontEntry::IgnoreFallbackForUnicode no match" );
+ if( it == mpUnicodeFallbackList->end() )
+ return;
+@@ -1973,7 +1980,7 @@
+ while( nStrIndex < rMissingCodes.getLength() )
+ {
+ cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
+- bCached = rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, &rFontSelData.maSearchName );
++ bCached = rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName );
+ // ignore entries which don't have a fallback
+ if( !bCached || (rFontSelData.maSearchName.Len() != 0) )
+ break;
+@@ -1989,7 +1996,7 @@
+ while( nStrIndex < rMissingCodes.getLength() )
+ {
+ cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
+- bCached = rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, &aFontName );
++ bCached = rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &aFontName );
+ if( !bCached || (rFontSelData.maSearchName != aFontName) )
+ pRemainingCodes[ nRemainingLength++ ] = cChar;
+ }
+@@ -2008,8 +2015,8 @@
+ // cache the result even if there was no match
+ for(;;)
+ {
+- if( !rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, &rFontSelData.maSearchName ) )
+- rFontSelData.mpFontEntry->AddFallbackForUnicode( cChar, rFontSelData.maSearchName );
++ if( !rFontSelData.mpFontEntry->GetFallbackForUnicode( cChar, rFontSelData.GetWeight(), &rFontSelData.maSearchName ) )
++ rFontSelData.mpFontEntry->AddFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
+ if( nStrIndex >= aOldMissingCodes.getLength() )
+ break;
+ cChar = aOldMissingCodes.iterateCodePoints( &nStrIndex );
+@@ -2020,7 +2027,7 @@
+ for( nStrIndex = 0; nStrIndex < rMissingCodes.getLength(); )
+ {
+ cChar = rMissingCodes.iterateCodePoints( &nStrIndex );
+- rFontSelData.mpFontEntry->IgnoreFallbackForUnicode( cChar, rFontSelData.maSearchName );
++ rFontSelData.mpFontEntry->IgnoreFallbackForUnicode( cChar, rFontSelData.GetWeight(), rFontSelData.maSearchName );
+ }
+ }
+ }
+diff -ru vcl.orig/unx/source/gdi/salgdi3.cxx vcl/unx/source/gdi/salgdi3.cxx
+--- vcl.orig/unx/source/gdi/salgdi3.cxx 2010-02-09 12:34:09.000000000 +0000
++++ vcl/unx/source/gdi/salgdi3.cxx 2010-02-09 12:34:24.000000000 +0000
+@@ -2037,8 +2037,10 @@
// -----------------------------------------------------------------------
@@ -192,7 +304,7 @@ diff -ru vcl/unx/source/gdi/salgdi3.cxx
const rtl::OString aLangAttrib; //TODO: = MsLangId::convertLanguageToIsoByteString( rFontSelData.meLanguage );
psp::italic::type eItalic = psp::italic::Unknown;
-@@ -2138,7 +2140,72 @@
+@@ -2106,7 +2108,72 @@
}
const psp::PrintFontManager& rMgr = psp::PrintFontManager::get();
@@ -266,7 +378,7 @@ diff -ru vcl/unx/source/gdi/salgdi3.cxx
}
//--------------------------------------------------------------------------
-@@ -2154,20 +2221,19 @@
+@@ -2122,20 +2189,19 @@
return false;
rtl::OUString aDummy;
@@ -292,7 +404,7 @@ diff -ru vcl/unx/source/gdi/salgdi3.cxx
return true;
}
-@@ -2184,21 +2250,20 @@
+@@ -2152,21 +2218,20 @@
|| 0 == rFontSelData.maSearchName.CompareIgnoreCaseToAscii( "opensymbol", 10) )
return false;
Index: openoffice.org.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openoffice.org/F-12/openoffice.org.spec,v
retrieving revision 1.2065
retrieving revision 1.2066
diff -u -p -r1.2065 -r1.2066
--- openoffice.org.spec 6 Feb 2010 12:26:14 -0000 1.2065
+++ openoffice.org.spec 9 Feb 2010 12:44:36 -0000 1.2066
@@ -4323,9 +4323,10 @@ fi
unopkg list --shared > /dev/null 2>&1 || :
%changelog
-* Sat Feb 06 2010 Caolán McNamara <caolanm at redhat.com> - 1:3.1.1-19.26-UNBUILT
+* Tue Feb 09 2010 Caolán McNamara <caolanm at redhat.com> - 1:3.1.1-19.26-UNBUILT
- Resolves: rhbz#561778 openoffice.org-3.2.0.oooXXXXX.svx.safestyledelete.patch
- Resolves: rhbz#561989 openoffice.org-3.2.0.ooo109009.sc.tooltipcrash.patch
+- Resolves: rhbz#445588 improve same name substitution
* Tue Feb 02 2010 Caolán McNamara <caolanm at redhat.com> - 1:3.1.1-19.25
- Resolves: rhbz#549890 add workspace.extmgr01.patch (dtardon)
- Previous message: rpms/claws-mail-plugins/devel .cvsignore, 1.23, 1.24 claws-mail-plugins.spec, 1.48, 1.49 sources, 1.23, 1.24
- Next message: rpms/openoffice.org/devel openoffice.org-3.0.0.ooo87970.vcl.samenamesubs.patch, 1.5, 1.6 openoffice.org.spec, 1.2142, 1.2143
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list