summaryrefslogtreecommitdiff
path: root/vcl
diff options
context:
space:
mode:
authorOliver Bolte <obo@openoffice.org>2007-01-25 09:59:59 +0000
committerOliver Bolte <obo@openoffice.org>2007-01-25 09:59:59 +0000
commit82f76c7000fc9072ae66ff33f482eb83744902a5 (patch)
tree5727f618e83797bed6c137a1dd188d26247ab51e /vcl
parent0bab72515b7fa11aba079243f2097cab117b8a53 (diff)
INTEGRATION: CWS vcl72 (1.40.68); FILE MERGED
2007/01/22 09:23:11 hdu 1.40.68.2: #i73485# clarify logical operations for ZW*J filtering 2007/01/16 11:59:08 hdu 1.40.68.1: #i73485# filter out ZW*J glyphs during display
Diffstat (limited to 'vcl')
-rw-r--r--vcl/source/glyphs/glyphcache.cxx27
1 files changed, 24 insertions, 3 deletions
diff --git a/vcl/source/glyphs/glyphcache.cxx b/vcl/source/glyphs/glyphcache.cxx
index a159edd489a7..fa3b4cc28053 100644
--- a/vcl/source/glyphs/glyphcache.cxx
+++ b/vcl/source/glyphs/glyphcache.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: glyphcache.cxx,v $
*
- * $Revision: 1.40 $
+ * $Revision: 1.41 $
*
- * last change: $Author: ihi $ $Date: 2006-11-14 15:23:47 $
+ * last change: $Author: obo $ $Date: 2007-01-25 10:59:59 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -80,6 +80,7 @@ GlyphCache::~GlyphCache()
delete mpFtManager;
}
+
// -----------------------------------------------------------------------
#ifndef IRIX
@@ -374,7 +375,10 @@ ServerFont::ServerFont( const ImplFontSelectData& rFSD )
mpPrevGCFont( NULL ),
mpNextGCFont( NULL ),
mnCos( 0x10000),
- mnSin( 0)
+ mnSin( 0 ),
+ mnZWJ( 0 ),
+ mnZWNJ( 0 ),
+ mbCollectedZW( false )
{
// TODO: move update of mpFontEntry into FontEntry class when
// it becomes reponsible for the ServerFont instantiation
@@ -470,6 +474,23 @@ Point ServerFont::TransformPoint( const Point& rPoint ) const
return Point( nX, nY );
}
+bool ServerFont::IsGlyphInvisible( int nGlyphIndex )
+{
+ if (!mbCollectedZW)
+ {
+ mnZWJ = GetGlyphIndex( 0x200D );
+ mnZWNJ = GetGlyphIndex( 0x200C );
+ mbCollectedZW = true;
+ }
+
+ if( !nGlyphIndex ) // don't hide the NotDef glyph
+ return false;
+ if( (nGlyphIndex == mnZWNJ) || (nGlyphIndex == mnZWJ) )
+ return true;
+
+ return false;
+}
+
// =======================================================================
ImplServerFontEntry::ImplServerFontEntry( ImplFontSelectData& rFSD )