79 @see MOpenFontTrueTypeExtension |
79 @see MOpenFontTrueTypeExtension |
80 @publishedAll |
80 @publishedAll |
81 @released |
81 @released |
82 */ |
82 */ |
83 const TUid KUidOpenFontTrueTypeExtension = {0x1027553E}; |
83 const TUid KUidOpenFontTrueTypeExtension = {0x1027553E}; |
84 const TUid KUidOpenFontGlyphOutlineExtension = {0x102872CE}; |
|
85 |
84 |
86 /** |
85 /** |
87 Supplied to CShaper::ExtendedInterface() to get the language and script |
86 Supplied to CShaper::ExtendedInterface() to get the language and script |
88 code with which the current shaper is instatsiated. |
87 code with which the current shaper is instatsiated. |
89 @see CShaper::ExtendedInterface() |
88 @see CShaper::ExtendedInterface() |
326 TInt DecrementCachedRefCount(TInt aSessionHandle,TShapeHeader* aShapeHeader,TBool aResetAll=EFalse); |
325 TInt DecrementCachedRefCount(TInt aSessionHandle,TShapeHeader* aShapeHeader,TBool aResetAll=EFalse); |
327 TBool Rasterize(TInt aSessionHandle,TInt aCode,TOpenFontGlyphData* aGlyphData); |
326 TBool Rasterize(TInt aSessionHandle,TInt aCode,TOpenFontGlyphData* aGlyphData); |
328 TBool HasCharacterL(TInt aCode) const; |
327 TBool HasCharacterL(TInt aCode) const; |
329 TBool GetCharacterData(TInt aSessionHandle,TInt aCode,const TOpenFontCharMetrics*& aMetrics,const TUint8*& aBitmap) const; |
328 TBool GetCharacterData(TInt aSessionHandle,TInt aCode,const TOpenFontCharMetrics*& aMetrics,const TUint8*& aBitmap) const; |
330 void OnFileDeleted(); |
329 void OnFileDeleted(); |
331 COpenFontGlyphCache* GetGlyphCache() const; |
330 COpenFontGlyphCache* GetGlyphCache(); |
332 inline TInt FontCapitalAscent() const; |
331 inline TInt FontCapitalAscent() const; |
333 inline TInt FontMaxAscent() const; |
332 inline TInt FontMaxAscent() const; |
334 inline TInt FontStandardDescent() const; |
333 inline TInt FontStandardDescent() const; |
335 inline TInt FontMaxDescent() const; |
334 inline TInt FontMaxDescent() const; |
336 inline TInt FontLineGap() const; |
335 inline TInt FontLineGap() const; |
337 inline TInt FontMaxHeight() const; |
336 inline TInt FontMaxHeight() const; |
338 void DeleteShaper() const; |
337 void DeleteShaper() const; |
339 TInt GetFontTable(TUint32 aTag, TAny*& aTableContent, TInt& aLength); |
|
340 TInt GetGlyphOutline(TUint aCode, TBool aHinted, TAny*& aOutline, TInt& aLength); |
|
341 |
338 |
342 protected: |
339 protected: |
343 RHeap* iHeap; |
340 RHeap* iHeap; |
344 TOpenFontMetrics iMetrics; |
341 TOpenFontMetrics iMetrics; |
345 private: |
342 private: |
369 lines of text in the font */ |
366 lines of text in the font */ |
370 TInt iFontLineGap; |
367 TInt iFontLineGap; |
371 private: |
368 private: |
372 const COpenFontGlyph* Glyph(TInt aSessionHandle,TInt aCode) const; |
369 const COpenFontGlyph* Glyph(TInt aSessionHandle,TInt aCode) const; |
373 |
370 |
374 const COpenFontGlyph* FontCacheGlyph(TInt aCode) const; |
371 const COpenFontGlyph* FontCacheGlyph(TInt aCode); |
375 |
372 |
376 void SetGlyphCache(COpenFontGlyphCache* aGlyphCache); |
373 void SetGlyphCache(COpenFontGlyphCache* aGlyphCache); |
377 |
374 |
378 const COpenFontGlyph* SessionCacheGlyph(RHeap* aHeap,TInt aSessionHandle,TInt aCode, |
375 const COpenFontGlyph* SessionCacheGlyph(RHeap* aHeap,TInt aSessionHandle,TInt aCode, |
379 COpenFontSessionCache*& aCache,TInt& aIndex,TBool aCreate) const; |
376 COpenFontSessionCache*& aCache,TInt& aIndex,TBool aCreate) const; |
534 @return True if the table exists in the font file, false otherwise. |
531 @return True if the table exists in the font file, false otherwise. |
535 @see GetTrueTypeTable */ |
532 @see GetTrueTypeTable */ |
536 virtual TBool HasTrueTypeTable(TUint32 aTag) = 0; |
533 virtual TBool HasTrueTypeTable(TUint32 aTag) = 0; |
537 }; |
534 }; |
538 |
535 |
539 class MOpenFontGlyphOutlineExtension |
|
540 { |
|
541 public: |
|
542 virtual TInt GetGlyphOutline(TUint aCode, TBool aIsGlyphId, |
|
543 TBool aHinted, TAny*& aOutline, TInt& aLength) = 0; |
|
544 }; |
|
545 /** |
536 /** |
546 Font attribute base class. |
537 Font attribute base class. |
547 |
538 |
548 This class is not intended for user derivation. |
539 This class is not intended for user derivation. |
549 |
540 |