graphicsdeviceinterface/gdi/sgdi/TextBaseStub.cpp
changeset 183 6a1564a2f3e6
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsdeviceinterface/gdi/sgdi/TextBaseStub.cpp	Fri Sep 17 08:36:49 2010 +0300
@@ -0,0 +1,316 @@
+// Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+// Importane:
+// The only purpose of this file is to make a pseudo invoking to the APIs want to export from TextBase.lib.
+// All APIs you want to export from TextBase.lib must be "called" in this file.
+// Do not care about the return value or parameters. Just call them, directly or indirectly.
+// It is not necessary to call all the APIs one by one, since an API could finally call many other APIs directly or indirectly.
+//
+// Currently, 121 APIs will be exported by GDI.dll from TextBase.lib.
+// Without this file, 111 APIs won't be exported by GDI.dll. (The other 10 APIs already been called by GDI.dll.)
+//
+/*
+??0CFontCache@@QAE@H@Z @ 1 NONAME ; CFontCache::CFontCache(int)
+??0CFontCache@@QAE@XZ @ 2 NONAME ; CFontCache::CFontCache(void)
+??0CTypefaceStore@@IAE@XZ @ 8 NONAME ; CTypefaceStore::CTypefaceStore(void)
+??0TFontSpec@@QAE@ABVTDesC16@@H@Z @ 10 NONAME ; TFontSpec::TFontSpec(class TDesC16 const &, int)
+??0TFontSpec@@QAE@XZ @ 11 NONAME ; TFontSpec::TFontSpec(void)
+??0TFontStyle@@QAE@W4TFontPosture@@W4TFontStrokeWeight@@W4TFontPrintPosition@@@Z @ 12 NONAME ; TFontStyle::TFontStyle(enum TFontPosture, enum TFontStrokeWeight, enum TFontPrintPosition)
+??0TFontStyle@@QAE@XZ @ 13 NONAME ; TFontStyle::TFontStyle(void)
+??0TTypeface@@QAE@XZ @ 19 NONAME ; TTypeface::TTypeface(void)
+??1CFont@@MAE@XZ @ 21 NONAME ; CFont::~CFont(void)
+??1CFontCache@@UAE@XZ @ 22 NONAME ; CFontCache::~CFontCache(void)
+??1CTypefaceStore@@UAE@XZ @ 29 NONAME ; CTypefaceStore::~CTypefaceStore(void)
+??8TFontSpec@@QBEHABV0@@Z @ 32 NONAME ; int TFontSpec::operator==(class TFontSpec const &) const
+??8TTypeface@@QBEHABV0@@Z @ 35 NONAME ; int TTypeface::operator==(class TTypeface const &) const
+?AddEntryL@CFontCache@@QAEPAVCFont@@PAV2@ABVTFontSpec@@@Z @ 41 NONAME ; class CFont * CFontCache::AddEntryL(class CFont *, class TFontSpec const &)
+?AddFontL@CTypefaceStore@@IAEXPAVCFont@@@Z @ 42 NONAME ; void CTypefaceStore::AddFontL(class CFont *)
+?Attributes@TTypeface@@QBEHXZ @ 44 NONAME ; int TTypeface::Attributes(void) const
+?BaselineOffset@CTypefaceStore@@SAHHW4TFontPrintPosition@@@Z @ 45 NONAME ; int CTypefaceStore::BaselineOffset(int, enum TFontPrintPosition)
+?ConstructL@CTypefaceStore@@IAEXXZ @ 54 NONAME ; void CTypefaceStore::ConstructL(void)
+?DescentInPixels@CFont@@QBEHXZ @ 60 NONAME ; int CFont::DescentInPixels(void) const
+?ExternalizeL@TFontSpec@@QBEXAAVRWriteStream@@@Z @ 62 NONAME ; void TFontSpec::ExternalizeL(class RWriteStream &) const
+?ExternalizeL@TFontStyle@@QBEXAAVRWriteStream@@@Z @ 63 NONAME ; void TFontStyle::ExternalizeL(class RWriteStream &) const
+?ExternalizeL@TTypeface@@QBEXAAVRWriteStream@@@Z @ 70 NONAME ; void TTypeface::ExternalizeL(class RWriteStream &) const
+?InternalizeL@TFontSpec@@QAEXAAVRReadStream@@@Z @ 86 NONAME ; void TFontSpec::InternalizeL(class RReadStream &)
+?InternalizeL@TFontStyle@@QAEXAAVRReadStream@@@Z @ 87 NONAME ; void TFontStyle::InternalizeL(class RReadStream &)
+?InternalizeL@TTypeface@@QAEXAAVRReadStream@@@Z @ 94 NONAME ; void TTypeface::InternalizeL(class RReadStream &)
+?IsProportional@TTypeface@@QBEHXZ @ 95 NONAME ; int TTypeface::IsProportional(void) const
+?IsSerif@TTypeface@@QBEHXZ @ 96 NONAME ; int TTypeface::IsSerif(void) const
+?IsSymbol@TTypeface@@QBEHXZ @ 97 NONAME ; int TTypeface::IsSymbol(void) const
+?Posture@TFontStyle@@QBE?AW4TFontPosture@@XZ @ 118 NONAME ; enum TFontPosture TFontStyle::Posture(void) const
+?PrintPosition@TFontStyle@@QBE?AW4TFontPrintPosition@@XZ @ 119 NONAME ; enum TFontPrintPosition TFontStyle::PrintPosition(void) const
+?ReleaseFont@CTypefaceStore@@QAEXPAVCFont@@@Z @ 121 NONAME ; void CTypefaceStore::ReleaseFont(class CFont *)
+?RemoveFirstEntry@CFontCache@@QAEPAVCFont@@XZ @ 123 NONAME ; class CFont * CFontCache::RemoveFirstEntry(void)
+?Search@CFontCache@@QAEPAVCFont@@ABVTFontSpec@@@Z @ 129 NONAME ; class CFont * CFontCache::Search(class TFontSpec const &)
+?SetAttributes@TTypeface@@QAEXH@Z @ 131 NONAME ; void TTypeface::SetAttributes(int)
+?SetIsProportional@TTypeface@@QAEXH@Z @ 136 NONAME ; void TTypeface::SetIsProportional(int)
+?SetIsSerif@TTypeface@@QAEXH@Z @ 137 NONAME ; void TTypeface::SetIsSerif(int)
+?SetIsSymbol@TTypeface@@QAEXH@Z @ 138 NONAME ; void TTypeface::SetIsSymbol(int)
+?SetPosture@TFontStyle@@QAEXW4TFontPosture@@@Z @ 139 NONAME ; void TFontStyle::SetPosture(enum TFontPosture)
+?SetPrintPosition@TFontStyle@@QAEXW4TFontPrintPosition@@@Z @ 140 NONAME ; void TFontStyle::SetPrintPosition(enum TFontPrintPosition)
+?SetStrokeWeight@TFontStyle@@QAEXW4TFontStrokeWeight@@@Z @ 146 NONAME ; void TFontStyle::SetStrokeWeight(enum TFontStrokeWeight)
+?StrokeWeight@TFontStyle@@QBE?AW4TFontStrokeWeight@@XZ @ 153 NONAME ; enum TFontStrokeWeight TFontStyle::StrokeWeight(void) const
+?SuperSubHeight@CTypefaceStore@@SAHHW4TFontPrintPosition@@@Z @ 154 NONAME ; int CTypefaceStore::SuperSubHeight(int, enum TFontPrintPosition)
+?WidthZeroInPixels@CFont@@QBEHXZ @ 160 NONAME ; int CFont::WidthZeroInPixels(void) const
+?GetCharacterData@CFont@@QBE?AW4TCharacterDataAvailability@1@IAAVTOpenFontCharMetrics@@AAPBEAAVTSize@@@Z @ 174 NONAME ; enum CFont::TCharacterDataAvailability CFont::GetCharacterData(unsigned int, class TOpenFontCharMetrics &, unsigned char const * &, class TSize &) const
+?GetCharacterPosition@CFont@@QBEHAAVTPositionParam@1@@Z @ 177 NONAME ; int CFont::GetCharacterPosition(class CFont::TPositionParam &) const
+?MeasureText@CFont@@QBEHABVTDesC16@@PBVTMeasureTextInput@1@PAVTMeasureTextOutput@1@@Z @ 178 NONAME ; int CFont::MeasureText(class TDesC16 const &, class CFont::TMeasureTextInput const *, class CFont::TMeasureTextOutput *) const
+??0TBidirectionalState@@QAE@XZ @ 179 NONAME ; TBidirectionalState::TBidirectionalState(void)
+??8TBidirectionalState@@QBEHABV0@@Z @ 180 NONAME ; int TBidirectionalState::operator==(class TBidirectionalState const &) const
+?ExternalizeL@TBidirectionalState@@QAEXAAVRWriteStream@@@Z @ 181 NONAME ; void TBidirectionalState::ExternalizeL(class RWriteStream &)
+?InternalizeL@TBidirectionalState@@QAEXAAVRReadStream@@@Z @ 182 NONAME ; void TBidirectionalState::InternalizeL(class RReadStream &)
+?IsDefault@TBidirectionalState@@QBEHXZ @ 183 NONAME ; int TBidirectionalState::IsDefault(void) const
+?ReorderLine@TBidirectionalState@@QAEXPAVTRunInfo@1@HHHHW4TBdCategory@TChar@@1@Z @ 184 NONAME ; void TBidirectionalState::ReorderLine(class TBidirectionalState::TRunInfo *, int, int, int, int, enum TChar::TBdCategory, enum TChar::TBdCategory)
+?ReorderText@TBidirectionalState@@SAHPBGHHAAPAG@Z @ 185 NONAME ; int TBidirectionalState::ReorderText(unsigned short const *, int, int, unsigned short * &)
+?Reset@TBidirectionalState@@QAEXXZ @ 186 NONAME ; void TBidirectionalState::Reset(void)
+?ExtendedFunction@CFont@@QBEHVTUid@@PAX@Z @ 187 NONAME ; int CFont::ExtendedFunction(class TUid, void *) const
+?ReverseGroups@TBidirectionalState@@SAXPAGH@Z @ 189 NONAME ; void TBidirectionalState::ReverseGroups(unsigned short *, int)
+?CharactersJoin@CFont@@SAHHH@Z @ 196 NONAME ; int CFont::CharactersJoin(int, int)
+?Directionality@TBidiText@@QBE?AW4TDirectionality@1@XZ @ 197 NONAME ; enum TBidiText::TDirectionality TBidiText::Directionality(void) const
+?DisplayText@TBidiText@@QBE?AVTPtrC16@@XZ @ 198 NONAME ; class TPtrC16 TBidiText::DisplayText(void) const
+?DrawText@TBidiText@@QBEXAAVCGraphicsContext@@ABVTPoint@@@Z @ 199 NONAME ; void TBidiText::DrawText(class CGraphicsContext &, class TPoint const &) const
+?DrawText@TBidiText@@QBEXAAVCGraphicsContext@@ABVTPoint@@H@Z @ 200 NONAME ; void TBidiText::DrawText(class CGraphicsContext &, class TPoint const &, int) const
+?DrawText@TBidiText@@QBEXAAVCGraphicsContext@@ABVTPoint@@HW4TTextAlign@2@@Z @ 201 NONAME ; void TBidiText::DrawText(class CGraphicsContext &, class TPoint const &, int, enum CGraphicsContext::TTextAlign) const
+?NewL@TBidiText@@SAPAV1@ABVTDesC16@@H@Z @ 202 NONAME ; class TBidiText * TBidiText::NewL(class TDesC16 const &, int)
+?NewL@TBidiText@@SAPAV1@ABVTDesC16@@HW4TDirectionality@1@@Z @ 203 NONAME ; class TBidiText * TBidiText::NewL(class TDesC16 const &, int, enum TBidiText::TDirectionality)
+?SetTruncationChar@TBidiText@@QAEXVTChar@@@Z @ 204 NONAME ; void TBidiText::SetTruncationChar(class TChar)
+?Text@TBidiText@@QBE?AVTPtrC16@@XZ @ 205 NONAME ; class TPtrC16 TBidiText::Text(void) const
+?WrapText@TBidiText@@QAEXHABVCFont@@PBVMLineBreaker@@@Z @ 206 NONAME ; void TBidiText::WrapText(int, class CFont const &, class MLineBreaker const *)
+?WrappingWidth@TBidiText@@QBEHXZ @ 207 NONAME ; int TBidiText::WrappingWidth(void) const
+?ScriptDirectionality@TBidiText@@SA?AW4TDirectionality@1@W4TLanguage@@@Z @ 208 NONAME ; enum TBidiText::TDirectionality TBidiText::ScriptDirectionality(enum TLanguage)
+?TextDirectionality@TBidiText@@SA?AW4TDirectionality@1@ABVTDesC16@@PAH@Z @ 209 NONAME ; enum TBidiText::TDirectionality TBidiText::TextDirectionality(class TDesC16 const &, int *)
+??0TBidiLogicalToVisual@@QAE@ABVTDesC16@@HPAVTRunInfo@TBidirectionalState@@H@Z @ 210 NONAME ; TBidiLogicalToVisual::TBidiLogicalToVisual(class TDesC16 const &, int, class TBidirectionalState::TRunInfo *, int)
+??0TBidiLogicalToVisual@@QAE@ABVTDesC16@@PAVTRunInfo@TBidirectionalState@@H@Z @ 211 NONAME ; TBidiLogicalToVisual::TBidiLogicalToVisual(class TDesC16 const &, class TBidirectionalState::TRunInfo *, int)
+?GetVisualLine@TBidiLogicalToVisual@@QAEXAAVTDes16@@HHVTChar@@@Z @ 212 NONAME ; void TBidiLogicalToVisual::GetVisualLine(class TDes16 &, int, int, class TChar)
+?Reorder@TBidiLogicalToVisual@@QAEHXZ @ 213 NONAME ; int TBidiLogicalToVisual::Reorder(void)
+?LineOfDisplayText@TBidiText@@QBE?AVTPtrC16@@HAAH@Z @ 216 NONAME ; class TPtrC16 TBidiText::LineOfDisplayText(int, int &) const
+?NumberOfLinesInDisplayText@TBidiText@@QBEHXZ @ 217 NONAME ; int TBidiText::NumberOfLinesInDisplayText(void) const
+?WrapText@TBidiText@@QAEXHABVCFont@@PBVMLineBreaker@@H@Z @ 218 NONAME ; void TBidiText::WrapText(int, class CFont const &, class MLineBreaker const *, int)
+?ReorderLine@TBidirectionalState@@QAEXPAVTRunInfo@1@HHHHW4TBdCategory@TChar@@1AAH@Z @ 231 NONAME ; void TBidirectionalState::ReorderLine(class TBidirectionalState::TRunInfo *, int, int, int, int, enum TChar::TBdCategory, enum TChar::TBdCategory, int &)
+??0RRunInfoArray@@QAE@XZ @ 232 NONAME ; RRunInfoArray::RRunInfoArray(void)
+?Close@RRunInfoArray@@QAEXXZ @ 233 NONAME ; void RRunInfoArray::Close(void)
+?MinimumSize@TBidiText@@QBE?AVTSize@@HABVCFont@@HHPBVMLineBreaker@@@Z @ 234 NONAME ; class TSize TBidiText::MinimumSize(int, class CFont const &, int, int, class MLineBreaker const *) const
+?NewL@TBidiText@@SAPAV1@HH@Z @ 235 NONAME ; class TBidiText * TBidiText::NewL(int, int)
+?OpenL@RRunInfoArray@@QAEXXZ @ 236 NONAME ; void RRunInfoArray::OpenL(void)
+?SetText@TBidiText@@QAEHABVTDesC16@@AAVRRunInfoArray@@@Z @ 237 NONAME ; int TBidiText::SetText(class TDesC16 const &, class RRunInfoArray &)
+?SetText@TBidiText@@QAEHABVTDesC16@@W4TDirectionality@1@AAVRRunInfoArray@@@Z @ 238 NONAME ; int TBidiText::SetText(class TDesC16 const &, enum TBidiText::TDirectionality, class RRunInfoArray &)
+?TruncationChar@TBidiText@@QBE?AVTChar@@XZ @ 239 NONAME ; class TChar TBidiText::TruncationChar(void) const
+?AscentInPixels@CFont@@QBEHXZ @ 240 NONAME ; int CFont::AscentInPixels(void) const
+?BaselineOffsetInPixels@CFont@@QBEHXZ @ 241 NONAME ; int CFont::BaselineOffsetInPixels(void) const
+?CharWidthInPixels@CFont@@QBEHVTChar@@@Z @ 242 NONAME ; int CFont::CharWidthInPixels(class TChar) const
+?FontSpecInTwips@CFont@@QBE?AVTFontSpec@@XZ @ 243 NONAME ; class TFontSpec CFont::FontSpecInTwips(void) const
+?HeightInPixels@CFont@@QBEHXZ @ 244 NONAME ; int CFont::HeightInPixels(void) const
+?MaxCharWidthInPixels@CFont@@QBEHXZ @ 245 NONAME ; int CFont::MaxCharWidthInPixels(void) const
+?MaxNormalCharWidthInPixels@CFont@@QBEHXZ @ 246 NONAME ; int CFont::MaxNormalCharWidthInPixels(void) const
+?TextCount@CFont@@QBEHABVTDesC16@@H@Z @ 247 NONAME ; int CFont::TextCount(class TDesC16 const &, int) const
+?TextCount@CFont@@QBEHABVTDesC16@@HAAH@Z @ 248 NONAME ; int CFont::TextCount(class TDesC16 const &, int, int &) const
+?TextWidthInPixels@CFont@@QBEHABVTDesC16@@@Z @ 249 NONAME ; int CFont::TextWidthInPixels(class TDesC16 const &) const
+?TypeUid@CFont@@QBE?AVTUid@@XZ @ 250 NONAME ; class TUid CFont::TypeUid(void) const
+?DoDescentInPixels@CFont@@EBEHXZ @ 251 NONAME ; int CFont::DoDescentInPixels(void) const
+?DoExtendedFunction@CFont@@MBEHVTUid@@PAX@Z @ 252 NONAME ; int CFont::DoExtendedFunction(class TUid, void *) const
+?DoGetCharacterData@CFont@@MBE?AW4TCharacterDataAvailability@1@IAAVTOpenFontCharMetrics@@AAPBEAAVTSize@@@Z @ 253 NONAME ; enum CFont::TCharacterDataAvailability CFont::DoGetCharacterData(unsigned int, class TOpenFontCharMetrics &, unsigned char const * &, class TSize &) const
+?DoGetCharacterPosition@CFont@@MBEHAAVTPositionParam@1@@Z @ 254 NONAME ; int CFont::DoGetCharacterPosition(class CFont::TPositionParam &) const
+?Effects@TFontStyle@@QBEKXZ @ 255 NONAME ; unsigned long TFontStyle::Effects(void) const
+?SetEffects@TFontStyle@@QAEXK@Z @ 256 NONAME ; void TFontStyle::SetEffects(unsigned long)
+?SetEffects@TFontStyle@@QAEXW4TEffect@FontEffect@@H@Z @ 257 NONAME ; void TFontStyle::SetEffects(enum FontEffect::TEffect, int)
+?IsEffectOn@TFontStyle@@QBEHW4TEffect@FontEffect@@@Z @ 258 NONAME ; int TFontStyle::IsEffectOn(enum FontEffect::TEffect) const
+?IsEffectOn@FontEffect@@SAHW4TEffect@1@K@Z @ 259 NONAME ; int FontEffect::IsEffectOn(enum FontEffect::TEffect, unsigned long)
+?SetEffect@FontEffect@@SAXW4TEffect@1@HAAK@Z @ 260 NONAME ; void FontEffect::SetEffect(enum FontEffect::TEffect, int, unsigned long &)
+?IncrementFontCount@CTypefaceStore@@IAEHPBVCFont@@@Z @ 261 NONAME ; int CTypefaceStore::IncrementFontCount(class CFont const *)
+??8TFontStyle@@QBEHABV0@@Z @ 262 NONAME ; int TFontStyle::operator==(class TFontStyle const &) const
+?ScriptTypeForMetrics@TTypeface@@QBEHXZ @ 263 NONAME ; int TTypeface::ScriptTypeForMetrics(void) const
+?SetScriptTypeForMetrics@TFontSpec@@QAEXW4TLanguage@@@Z @ 264 NONAME ; void TFontSpec::SetScriptTypeForMetrics(enum TLanguage)
+?SetScriptTypeForMetrics@TTypeface@@QAEXH@Z @ 265 NONAME ; void TTypeface::SetScriptTypeForMetrics(int)
+?SetScriptTypeForMetrics@TTypeface@@QAEXW4TLanguage@@@Z @ 266 NONAME ; void TTypeface::SetScriptTypeForMetrics(enum TLanguage)
+?TLanguage2TScript@GlyphSample@@SAHW4TLanguage@@@Z @ 267 NONAME ; int GlyphSample::TLanguage2TScript(enum TLanguage)
+?TScript2GlyphSample@GlyphSample@@SA?BVTPtrC16@@H@Z @ 268 NONAME ; class TPtrC16 const GlyphSample::TScript2GlyphSample(int)
+?ScriptTypeForMetrics@TFontSpec@@QBEHXZ @ 269 NONAME ; int TFontSpec::ScriptTypeForMetrics(void) const
+?GetCharacterPosition2@CFont@@QBEHAAVTPositionParam@1@AAVRShapeInfo@@@Z @ 270 NONAME ; int CFont::GetCharacterPosition2(class CFont::TPositionParam &, class RShapeInfo &) const
+??0RShapeInfo@@QAE@XZ @ 271 NONAME ; RShapeInfo::RShapeInfo(void)
+?Close@RShapeInfo@@QAEXXZ @ 272 NONAME ; void RShapeInfo::Close(void)
+?IsOpen@RShapeInfo@@QAEHXZ @ 273 NONAME ; int RShapeInfo::IsOpen(void)
+?TextWidthInPixels@CFont@@QBEHABVTDesC16@@PBVTMeasureTextInput@1@@Z @ 291 NONAME ; int CFont::TextWidthInPixels(class TDesC16 const &, class CFont::TMeasureTextInput const *) const
+*/
+
+
+#include <gdi.h>
+#include <bidi.h>
+#ifndef SYMBIAN_ENABLE_SPLIT_HEADERS	
+#include <graphics/gdi/GDIPANIC.h>
+#include <graphics/gdi/gdistructs.h>
+#include <graphics/gdi/gdiconsts.h>
+#endif //SYMBIAN_ENABLE_SPLIT_HEADERS	
+#include "BidiText.h"
+#include "BidiVisual.h"
+#include <hextree.h>
+
+
+// This function will not be called by anybody.
+void Do_NOT_Call_Me__JustToCallAllFunctionsToExport()
+	{
+	// common dummy variables
+	TPtrC des;
+
+	/*
+	// Below 2 lines effectively call 83 APIs, directly and indirectly.
+	??0CFontCache@@QAE@H@Z @ 1 NONAME ; CFontCache::CFontCache(int)
+	??0CFontCache@@QAE@XZ @ 2 NONAME ; CFontCache::CFontCache(void)
+	??0CTypefaceStore@@IAE@XZ @ 8 NONAME ; CTypefaceStore::CTypefaceStore(void)
+	??0TFontSpec@@QAE@ABVTDesC16@@H@Z @ 10 NONAME ; TFontSpec::TFontSpec(class TDesC16 const &, int)
+	??0TFontSpec@@QAE@XZ @ 11 NONAME ; TFontSpec::TFontSpec(void)
+	??0TFontStyle@@QAE@W4TFontPosture@@W4TFontStrokeWeight@@W4TFontPrintPosition@@@Z @ 12 NONAME ; TFontStyle::TFontStyle(enum TFontPosture, enum TFontStrokeWeight, enum TFontPrintPosition)
+	??0TFontStyle@@QAE@XZ @ 13 NONAME ; TFontStyle::TFontStyle(void)
+	??0TTypeface@@QAE@XZ @ 19 NONAME ; TTypeface::TTypeface(void)
+	??1CFont@@MAE@XZ @ 21 NONAME ; CFont::~CFont(void)
+	??1CFontCache@@UAE@XZ @ 22 NONAME ; CFontCache::~CFontCache(void)
+	??1CTypefaceStore@@UAE@XZ @ 29 NONAME ; CTypefaceStore::~CTypefaceStore(void)
+	??8TFontSpec@@QBEHABV0@@Z @ 32 NONAME ; int TFontSpec::operator==(class TFontSpec const &) const
+	??8TTypeface@@QBEHABV0@@Z @ 35 NONAME ; int TTypeface::operator==(class TTypeface const &) const
+	?AddEntryL@CFontCache@@QAEPAVCFont@@PAV2@ABVTFontSpec@@@Z @ 41 NONAME ; class CFont * CFontCache::AddEntryL(class CFont *, class TFontSpec const &)
+	?AddFontL@CTypefaceStore@@IAEXPAVCFont@@@Z @ 42 NONAME ; void CTypefaceStore::AddFontL(class CFont *)
+	?Attributes@TTypeface@@QBEHXZ @ 44 NONAME ; int TTypeface::Attributes(void) const
+	?BaselineOffset@CTypefaceStore@@SAHHW4TFontPrintPosition@@@Z @ 45 NONAME ; int CTypefaceStore::BaselineOffset(int, enum TFontPrintPosition)
+	?ConstructL@CTypefaceStore@@IAEXXZ @ 54 NONAME ; void CTypefaceStore::ConstructL(void)
+	?DescentInPixels@CFont@@QBEHXZ @ 60 NONAME ; int CFont::DescentInPixels(void) const
+	?ExternalizeL@TFontSpec@@QBEXAAVRWriteStream@@@Z @ 62 NONAME ; void TFontSpec::ExternalizeL(class RWriteStream &) const
+	?ExternalizeL@TFontStyle@@QBEXAAVRWriteStream@@@Z @ 63 NONAME ; void TFontStyle::ExternalizeL(class RWriteStream &) const
+	?ExternalizeL@TTypeface@@QBEXAAVRWriteStream@@@Z @ 70 NONAME ; void TTypeface::ExternalizeL(class RWriteStream &) const
+	?InternalizeL@TFontSpec@@QAEXAAVRReadStream@@@Z @ 86 NONAME ; void TFontSpec::InternalizeL(class RReadStream &)
+	?InternalizeL@TFontStyle@@QAEXAAVRReadStream@@@Z @ 87 NONAME ; void TFontStyle::InternalizeL(class RReadStream &)
+	?InternalizeL@TTypeface@@QAEXAAVRReadStream@@@Z @ 94 NONAME ; void TTypeface::InternalizeL(class RReadStream &)
+	?IsProportional@TTypeface@@QBEHXZ @ 95 NONAME ; int TTypeface::IsProportional(void) const
+	?IsSerif@TTypeface@@QBEHXZ @ 96 NONAME ; int TTypeface::IsSerif(void) const
+	?IsSymbol@TTypeface@@QBEHXZ @ 97 NONAME ; int TTypeface::IsSymbol(void) const
+	?Posture@TFontStyle@@QBE?AW4TFontPosture@@XZ @ 118 NONAME ; enum TFontPosture TFontStyle::Posture(void) const
+	?PrintPosition@TFontStyle@@QBE?AW4TFontPrintPosition@@XZ @ 119 NONAME ; enum TFontPrintPosition TFontStyle::PrintPosition(void) const
+	?ReleaseFont@CTypefaceStore@@QAEXPAVCFont@@@Z @ 121 NONAME ; void CTypefaceStore::ReleaseFont(class CFont *)
+	?RemoveFirstEntry@CFontCache@@QAEPAVCFont@@XZ @ 123 NONAME ; class CFont * CFontCache::RemoveFirstEntry(void)
+	?Search@CFontCache@@QAEPAVCFont@@ABVTFontSpec@@@Z @ 129 NONAME ; class CFont * CFontCache::Search(class TFontSpec const &)
+	?SetAttributes@TTypeface@@QAEXH@Z @ 131 NONAME ; void TTypeface::SetAttributes(int)
+	?SetIsProportional@TTypeface@@QAEXH@Z @ 136 NONAME ; void TTypeface::SetIsProportional(int)
+	?SetIsSerif@TTypeface@@QAEXH@Z @ 137 NONAME ; void TTypeface::SetIsSerif(int)
+	?SetIsSymbol@TTypeface@@QAEXH@Z @ 138 NONAME ; void TTypeface::SetIsSymbol(int)
+	?SetPosture@TFontStyle@@QAEXW4TFontPosture@@@Z @ 139 NONAME ; void TFontStyle::SetPosture(enum TFontPosture)
+	?SetPrintPosition@TFontStyle@@QAEXW4TFontPrintPosition@@@Z @ 140 NONAME ; void TFontStyle::SetPrintPosition(enum TFontPrintPosition)
+	?SetStrokeWeight@TFontStyle@@QAEXW4TFontStrokeWeight@@@Z @ 146 NONAME ; void TFontStyle::SetStrokeWeight(enum TFontStrokeWeight)
+	?StrokeWeight@TFontStyle@@QBE?AW4TFontStrokeWeight@@XZ @ 153 NONAME ; enum TFontStrokeWeight TFontStyle::StrokeWeight(void) const
+	?SuperSubHeight@CTypefaceStore@@SAHHW4TFontPrintPosition@@@Z @ 154 NONAME ; int CTypefaceStore::SuperSubHeight(int, enum TFontPrintPosition)
+	?WidthZeroInPixels@CFont@@QBEHXZ @ 160 NONAME ; int CFont::WidthZeroInPixels(void) const
+	?GetCharacterData@CFont@@QBE?AW4TCharacterDataAvailability@1@IAAVTOpenFontCharMetrics@@AAPBEAAVTSize@@@Z @ 174 NONAME ; enum CFont::TCharacterDataAvailability CFont::GetCharacterData(unsigned int, class TOpenFontCharMetrics &, unsigned char const * &, class TSize &) const
+	?GetCharacterPosition@CFont@@QBEHAAVTPositionParam@1@@Z @ 177 NONAME ; int CFont::GetCharacterPosition(class CFont::TPositionParam &) const
+	?MeasureText@CFont@@QBEHABVTDesC16@@PBVTMeasureTextInput@1@PAVTMeasureTextOutput@1@@Z @ 178 NONAME ; int CFont::MeasureText(class TDesC16 const &, class CFont::TMeasureTextInput const *, class CFont::TMeasureTextOutput *) const
+	?ExtendedFunction@CFont@@QBEHVTUid@@PAX@Z @ 187 NONAME ; int CFont::ExtendedFunction(class TUid, void *) const
+	?CharactersJoin@CFont@@SAHHH@Z @ 196 NONAME ; int CFont::CharactersJoin(int, int)
+	?AscentInPixels@CFont@@QBEHXZ @ 240 NONAME ; int CFont::AscentInPixels(void) const
+	?BaselineOffsetInPixels@CFont@@QBEHXZ @ 241 NONAME ; int CFont::BaselineOffsetInPixels(void) const
+	?CharWidthInPixels@CFont@@QBEHVTChar@@@Z @ 242 NONAME ; int CFont::CharWidthInPixels(class TChar) const
+	?FontSpecInTwips@CFont@@QBE?AVTFontSpec@@XZ @ 243 NONAME ; class TFontSpec CFont::FontSpecInTwips(void) const
+	?HeightInPixels@CFont@@QBEHXZ @ 244 NONAME ; int CFont::HeightInPixels(void) const
+	?MaxCharWidthInPixels@CFont@@QBEHXZ @ 245 NONAME ; int CFont::MaxCharWidthInPixels(void) const
+	?MaxNormalCharWidthInPixels@CFont@@QBEHXZ @ 246 NONAME ; int CFont::MaxNormalCharWidthInPixels(void) const
+	?TextCount@CFont@@QBEHABVTDesC16@@H@Z @ 247 NONAME ; int CFont::TextCount(class TDesC16 const &, int) const
+	?TextCount@CFont@@QBEHABVTDesC16@@HAAH@Z @ 248 NONAME ; int CFont::TextCount(class TDesC16 const &, int, int &) const
+	?TextWidthInPixels@CFont@@QBEHABVTDesC16@@@Z @ 249 NONAME ; int CFont::TextWidthInPixels(class TDesC16 const &) const
+	?TypeUid@CFont@@QBE?AVTUid@@XZ @ 250 NONAME ; class TUid CFont::TypeUid(void) const
+	?DoDescentInPixels@CFont@@EBEHXZ @ 251 NONAME ; int CFont::DoDescentInPixels(void) const
+	?DoExtendedFunction@CFont@@MBEHVTUid@@PAX@Z @ 252 NONAME ; int CFont::DoExtendedFunction(class TUid, void *) const
+	?DoGetCharacterData@CFont@@MBE?AW4TCharacterDataAvailability@1@IAAVTOpenFontCharMetrics@@AAPBEAAVTSize@@@Z @ 253 NONAME ; enum CFont::TCharacterDataAvailability CFont::DoGetCharacterData(unsigned int, class TOpenFontCharMetrics &, unsigned char const * &, class TSize &) const
+	?DoGetCharacterPosition@CFont@@MBEHAAVTPositionParam@1@@Z @ 254 NONAME ; int CFont::DoGetCharacterPosition(class CFont::TPositionParam &) const
+	?Effects@TFontStyle@@QBEKXZ @ 255 NONAME ; unsigned long TFontStyle::Effects(void) const
+	?SetEffects@TFontStyle@@QAEXK@Z @ 256 NONAME ; void TFontStyle::SetEffects(unsigned long)
+	?SetEffects@TFontStyle@@QAEXW4TEffect@FontEffect@@H@Z @ 257 NONAME ; void TFontStyle::SetEffects(enum FontEffect::TEffect, int)
+	?IsEffectOn@TFontStyle@@QBEHW4TEffect@FontEffect@@@Z @ 258 NONAME ; int TFontStyle::IsEffectOn(enum FontEffect::TEffect) const
+	?IsEffectOn@FontEffect@@SAHW4TEffect@1@K@Z @ 259 NONAME ; int FontEffect::IsEffectOn(enum FontEffect::TEffect, unsigned long)
+	?SetEffect@FontEffect@@SAXW4TEffect@1@HAAK@Z @ 260 NONAME ; void FontEffect::SetEffect(enum FontEffect::TEffect, int, unsigned long &)
+	?IncrementFontCount@CTypefaceStore@@IAEHPBVCFont@@@Z @ 261 NONAME ; int CTypefaceStore::IncrementFontCount(class CFont const *)
+	??8TFontStyle@@QBEHABV0@@Z @ 262 NONAME ; int TFontStyle::operator==(class TFontStyle const &) const
+	?ScriptTypeForMetrics@TTypeface@@QBEHXZ @ 263 NONAME ; int TTypeface::ScriptTypeForMetrics(void) const
+	?SetScriptTypeForMetrics@TFontSpec@@QAEXW4TLanguage@@@Z @ 264 NONAME ; void TFontSpec::SetScriptTypeForMetrics(enum TLanguage)
+	?SetScriptTypeForMetrics@TTypeface@@QAEXH@Z @ 265 NONAME ; void TTypeface::SetScriptTypeForMetrics(int)
+	?SetScriptTypeForMetrics@TTypeface@@QAEXW4TLanguage@@@Z @ 266 NONAME ; void TTypeface::SetScriptTypeForMetrics(enum TLanguage)
+	?TLanguage2TScript@GlyphSample@@SAHW4TLanguage@@@Z @ 267 NONAME ; int GlyphSample::TLanguage2TScript(enum TLanguage)
+	?TScript2GlyphSample@GlyphSample@@SA?BVTPtrC16@@H@Z @ 268 NONAME ; class TPtrC16 const GlyphSample::TScript2GlyphSample(int)
+	?ScriptTypeForMetrics@TFontSpec@@QBEHXZ @ 269 NONAME ; int TFontSpec::ScriptTypeForMetrics(void) const
+	?GetCharacterPosition2@CFont@@QBEHAAVTPositionParam@1@AAVRShapeInfo@@@Z @ 270 NONAME ; int CFont::GetCharacterPosition2(class CFont::TPositionParam &, class RShapeInfo &) const
+	??0RShapeInfo@@QAE@XZ @ 271 NONAME ; RShapeInfo::RShapeInfo(void)
+	?Close@RShapeInfo@@QAEXXZ @ 272 NONAME ; void RShapeInfo::Close(void)
+	?IsOpen@RShapeInfo@@QAEHXZ @ 273 NONAME ; int RShapeInfo::IsOpen(void)
+	?TextWidthInPixels@CFont@@QBEHABVTDesC16@@PBVTMeasureTextInput@1@@Z @ 291 NONAME ; int CFont::TextWidthInPixels(class TDesC16 const &, class CFont::TMeasureTextInput const *) const
+	*/
+	CFontCache *fc = new CFontCache();
+	delete fc;
+
+	/*
+	// Below 2 lines effectively call 24 APIs, directly and indirectly.
+	?Directionality@TBidiText@@QBE?AW4TDirectionality@1@XZ @ 197 NONAME ; enum TBidiText::TDirectionality TBidiText::Directionality(void) const
+	?DisplayText@TBidiText@@QBE?AVTPtrC16@@XZ @ 198 NONAME ; class TPtrC16 TBidiText::DisplayText(void) const
+	?DrawText@TBidiText@@QBEXAAVCGraphicsContext@@ABVTPoint@@@Z @ 199 NONAME ; void TBidiText::DrawText(class CGraphicsContext &, class TPoint const &) const
+	?DrawText@TBidiText@@QBEXAAVCGraphicsContext@@ABVTPoint@@H@Z @ 200 NONAME ; void TBidiText::DrawText(class CGraphicsContext &, class TPoint const &, int) const
+	?DrawText@TBidiText@@QBEXAAVCGraphicsContext@@ABVTPoint@@HW4TTextAlign@2@@Z @ 201 NONAME ; void TBidiText::DrawText(class CGraphicsContext &, class TPoint const &, int, enum CGraphicsContext::TTextAlign) const
+	?NewL@TBidiText@@SAPAV1@ABVTDesC16@@H@Z @ 202 NONAME ; class TBidiText * TBidiText::NewL(class TDesC16 const &, int)
+	?NewL@TBidiText@@SAPAV1@ABVTDesC16@@HW4TDirectionality@1@@Z @ 203 NONAME ; class TBidiText * TBidiText::NewL(class TDesC16 const &, int, enum TBidiText::TDirectionality)
+	?SetTruncationChar@TBidiText@@QAEXVTChar@@@Z @ 204 NONAME ; void TBidiText::SetTruncationChar(class TChar)
+	?Text@TBidiText@@QBE?AVTPtrC16@@XZ @ 205 NONAME ; class TPtrC16 TBidiText::Text(void) const
+	?WrapText@TBidiText@@QAEXHABVCFont@@PBVMLineBreaker@@@Z @ 206 NONAME ; void TBidiText::WrapText(int, class CFont const &, class MLineBreaker const *)
+	?WrappingWidth@TBidiText@@QBEHXZ @ 207 NONAME ; int TBidiText::WrappingWidth(void) const
+	?ScriptDirectionality@TBidiText@@SA?AW4TDirectionality@1@W4TLanguage@@@Z @ 208 NONAME ; enum TBidiText::TDirectionality TBidiText::ScriptDirectionality(enum TLanguage)
+	?Reorder@TBidiLogicalToVisual@@QAEHXZ @ 213 NONAME ; int TBidiLogicalToVisual::Reorder(void)
+	?LineOfDisplayText@TBidiText@@QBE?AVTPtrC16@@HAAH@Z @ 216 NONAME ; class TPtrC16 TBidiText::LineOfDisplayText(int, int &) const
+	?NumberOfLinesInDisplayText@TBidiText@@QBEHXZ @ 217 NONAME ; int TBidiText::NumberOfLinesInDisplayText(void) const
+	?WrapText@TBidiText@@QAEXHABVCFont@@PBVMLineBreaker@@H@Z @ 218 NONAME ; void TBidiText::WrapText(int, class CFont const &, class MLineBreaker const *, int)
+	??0RRunInfoArray@@QAE@XZ @ 232 NONAME ; RRunInfoArray::RRunInfoArray(void)
+	?Close@RRunInfoArray@@QAEXXZ @ 233 NONAME ; void RRunInfoArray::Close(void)
+	?MinimumSize@TBidiText@@QBE?AVTSize@@HABVCFont@@HHPBVMLineBreaker@@@Z @ 234 NONAME ; class TSize TBidiText::MinimumSize(int, class CFont const &, int, int, class MLineBreaker const *) const
+	?NewL@TBidiText@@SAPAV1@HH@Z @ 235 NONAME ; class TBidiText * TBidiText::NewL(int, int)
+	?OpenL@RRunInfoArray@@QAEXXZ @ 236 NONAME ; void RRunInfoArray::OpenL(void)
+	?SetText@TBidiText@@QAEHABVTDesC16@@AAVRRunInfoArray@@@Z @ 237 NONAME ; int TBidiText::SetText(class TDesC16 const &, class RRunInfoArray &)
+	?SetText@TBidiText@@QAEHABVTDesC16@@W4TDirectionality@1@AAVRRunInfoArray@@@Z @ 238 NONAME ; int TBidiText::SetText(class TDesC16 const &, enum TBidiText::TDirectionality, class RRunInfoArray &)
+	?TruncationChar@TBidiText@@QBE?AVTChar@@XZ @ 239 NONAME ; class TChar TBidiText::TruncationChar(void) const
+	*/
+	TBidiText *bdt = TBidiText::NewL(0, 0);
+	delete bdt;
+
+	/*
+	// Below 2 lines effectively call 4 APIs, directly and indirectly.
+	??0TBidiLogicalToVisual@@QAE@ABVTDesC16@@HPAVTRunInfo@TBidirectionalState@@H@Z @ 210 NONAME ; TBidiLogicalToVisual::TBidiLogicalToVisual(class TDesC16 const &, int, class TBidirectionalState::TRunInfo *, int)
+	??0TBidiLogicalToVisual@@QAE@ABVTDesC16@@PAVTRunInfo@TBidirectionalState@@H@Z @ 211 NONAME ; TBidiLogicalToVisual::TBidiLogicalToVisual(class TDesC16 const &, class TBidirectionalState::TRunInfo *, int)
+	?GetVisualLine@TBidiLogicalToVisual@@QAEXAAVTDes16@@HHVTChar@@@Z @ 212 NONAME ; void TBidiLogicalToVisual::GetVisualLine(class TDes16 &, int, int, class TChar)
+	?Reorder@TBidiLogicalToVisual@@QAEHXZ @ 213 NONAME ; int TBidiLogicalToVisual::Reorder(void)
+	 */
+	TBidiLogicalToVisual *bdl2v = new TBidiLogicalToVisual(des, ETrue, NULL, 0);
+	delete bdl2v;
+
+	/*
+	// Below 11 lines effectively call 4 APIs, directly and indirectly.
+    ?At@RHexTreeBase@@IBEPAXI@Z @ 318 NONAME ; void * RHexTreeBase::At(unsigned int) const
+    ??0RHexTreeBase@@IAE@PAVRHeap@@@Z @ 319 NONAME ; RHexTreeBase::RHexTreeBase(class RHeap *)
+    ?SetAt@RHexTreeBase@@IAEHIPAX@Z @ 320 NONAME ; int RHexTreeBase::SetAt(unsigned int, void *)
+    ?ResetAndDestroy@RHexTreeBase@@QAEXXZ @ 321 NONAME ; void RHexTreeBase::ResetAndDestroy(void)
+    */
+	class __chtb : public RHexTreeBase
+		{
+		public:
+		__chtb() : RHexTreeBase(NULL)
+			{
+			At(1);
+			SetAt(1, NULL);
+			ResetAndDestroy();
+			};
+		};
+	__chtb htb;
+	}