#include <dali-toolkit/internal/text/character-set-conversion.h>
#include <dali-toolkit/internal/text/layouts/layout-engine.h>
#include <dali-toolkit/internal/text/layouts/layout-parameters.h>
-#include <dali-toolkit/internal/text/metrics.h>
#include <dali-toolkit/internal/text/multi-language-support.h>
#include <dali-toolkit/internal/text/segmentation.h>
#include <dali-toolkit/internal/text/shaper.h>
const Vector<FontDescriptionRun>& fontDescriptions,
const LayoutOptions& options,
Size& layoutSize,
- LogicalModelPtr logicalModel,
- VisualModelPtr visualModel )
+ LogicalModelPtr& logicalModel,
+ VisualModelPtr& visualModel,
+ MetricsPtr& metrics )
{
+ logicalModel = LogicalModel::New();
+ visualModel = VisualModel::New();
+
// 1) Convert to utf32
Vector<Character>& utf32Characters = logicalModel->mText;
utf32Characters.Resize( text.size() );
fontDescriptionRuns = fontDescriptions;
Vector<FontRun>& validFonts = logicalModel->mFontRuns;
- // The default font id.
- FontDefaults fontDefaults;
- fontDefaults.mFontDescription.family = "";
- fontDefaults.familyDefined = true;
- fontDefaults.mDefaultPointSize = 12.f;
- fontDefaults.sizeDefined = true;
+ // The default font description.
+ TextAbstraction::FontDescription fontDescription;
TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get();
fontClient.SetDpi( 96u, 96u );
- const FontId defaultFontId = fontDefaults.GetFontId( fontClient );
-
// Validates the fonts. If there is a character with no assigned font it sets a default one.
// After this call, fonts are validated.
multilanguageSupport.ValidateFonts( utf32Characters,
scripts,
fontDescriptionRuns,
- defaultFontId,
+ fontDescription,
+ TextAbstraction::FontClient::DEFAULT_POINT_SIZE,
0u,
numberOfCharacters,
validFonts );
const Length numberOfGlyphs = glyphs.Count();
// 8) Get the glyph metrics
- MetricsPtr metrics = Metrics::New( fontClient );
+ metrics = Metrics::New( fontClient );
GlyphInfo* glyphsBuffer = glyphs.Begin();
metrics->GetGlyphMetrics( glyphsBuffer, numberOfGlyphs );