NS_IMETHODIMP DeviceContextImpl::GetMetricsFor(const nsFont& aFont, nsIFontMetrics*& aMetrics) { if (nsnull == mFontCache) { nsresult rv = CreateFontCache(); if (NS_FAILED(rv)) { aMetrics = nsnull; return rv; } // XXX temporary fix for performance problem -- erik GetLocaleLangGroup(); } return mFontCache->GetMetricsFor(aFont, mLocaleLangGroup, aMetrics); }
NS_IMETHODIMP nsThebesDeviceContext::GetMetricsFor(const nsFont& aFont, gfxUserFontSet* aUserFontSet, nsIFontMetrics*& aMetrics) { if (nsnull == mFontCache) { nsresult rv = CreateFontCache(); if (NS_FAILED(rv)) { aMetrics = nsnull; return rv; } // XXX temporary fix for performance problem -- erik GetLocaleLanguage(); } return mFontCache->GetMetricsFor(aFont, mLocaleLanguage, aUserFontSet, aMetrics); }
NS_IMETHODIMP nsThebesDeviceContext::GetMetricsFor(const nsFont& aFont, nsIAtom* aLanguage, gfxUserFontSet* aUserFontSet, nsIFontMetrics*& aMetrics) { if (nsnull == mFontCache) { nsresult rv = CreateFontCache(); if (NS_FAILED(rv)) { aMetrics = nsnull; return rv; } // XXX temporary fix for performance problem -- erik GetLocaleLanguage(); } // XXX figure out why aLanguage is NULL sometimes // -> see nsPageFrame.cpp:511 if (!aLanguage) { aLanguage = mLocaleLanguage; } return mFontCache->GetMetricsFor(aFont, aLanguage, aUserFontSet, aMetrics); }