summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorHerbert Duerr <hdu@openoffice.org>2002-11-28 16:01:41 +0000
committerHerbert Duerr <hdu@openoffice.org>2002-11-28 16:01:41 +0000
commit4b1575b1b612c16fa85159108e284791fd4a5869 (patch)
tree0ba7191a50073b7ed1810c10cf32eabeb53dd4c5 /vcl
parent928e12aabbd217ddeaff0f61211e39c0e907eec6 (diff)
#104829# avoid CTL processing for Hangul Jamo, preserve fontseldata for glyph fallback
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/gdi/outdev3.cxx16
1 files changed, 9 insertions, 7 deletions
diff --git a/vcl/source/gdi/outdev3.cxx b/vcl/source/gdi/outdev3.cxx
index 0030437003ab..2ace60fa3f82 100644
--- a/vcl/source/gdi/outdev3.cxx
+++ b/vcl/source/gdi/outdev3.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: outdev3.cxx,v $
*
- * $Revision: 1.139 $
+ * $Revision: 1.140 $
*
- * last change: $Author: pl $ $Date: 2002-11-14 15:57:28 $
+ * last change: $Author: hdu $ $Date: 2002-11-28 17:01:41 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -2488,6 +2488,7 @@ ImplFontEntry* ImplFontCache::Get( ImplDevFontList* pFontList,
pFontSelData->mePitch = ePitch;
pFontSelData->mnOrientation = nOrientation;
pFontSelData->mbVertical = bVertical;
+ pFontSelData->mbNonAntialiased = FALSE;
return pEntry;
}
@@ -4077,7 +4078,6 @@ void OutputDevice::ImplDrawTextLine( long nBaseX,
ImplInitTextLineSize();
nLineHeight = pFontEntry->maMetric.mnBStrikeoutSize;
nLinePos = nY + pFontEntry->maMetric.mnBStrikeoutOffset;
-
}
else if ( eStrikeout == STRIKEOUT_DOUBLE )
{
@@ -4864,7 +4864,6 @@ void OutputDevice::SetFont( const Font& rNewFont )
aFont.SetColor( aTextColor );
BOOL bTransFill = aFont.IsTransparent();
-
if ( !bTransFill )
{
Color aTextFillColor( aFont.GetFillColor() );
@@ -5606,7 +5605,8 @@ SalLayout* OutputDevice::ImplLayout( const String& rOrigStr,
const xub_Unicode* pStr = aStr.GetBuffer() + nMinIndex;
const xub_Unicode* pEnd = pStr + (nEndIndex-nMinIndex);
for( ; pStr < pEnd; ++pStr )
- if( (*pStr >= 0x0590) && (*pStr < 0x1900)
+ if( (*pStr >= 0x0590) && (*pStr < 0x10A0)
+ || (*pStr >= 0x1700) && (*pStr < 0x1900)
|| (*pStr >= 0xFB1D) && (*pStr < 0xFE00) // middle east presentation
|| (*pStr >= 0xFE70) && (*pStr < 0xFF00) ) // arabic presentation B
break;
@@ -5671,9 +5671,11 @@ SalLayout* OutputDevice::ImplLayout( const String& rOrigStr,
if( pFallbackFont && (pFallbackFont != mpFontEntry) )
{
+ // use matching fallback font for text layout
OutputDevice& rOut = const_cast<OutputDevice&>(*this);
- // use fallback font for text layout
- mpFontEntry->mnSetFontFlags = mpGraphics->SetFont( &(pFallbackFont->maFontSelData), 1 );
+ ImplFontSelectData aIFSD = mpFontEntry->maFontSelData;
+ aIFSD.mpFontData = pFallbackFont->maFontSelData.mpFontData;
+ pFallbackFont->mnSetFontFlags = mpGraphics->SetFont( &aIFSD, 1 );
SalLayout* pFallback = mpGraphics->LayoutText( aLayoutArgs, 1 );
if( pFallback )
{