From: taeyoon0.lee Date: Wed, 11 Oct 2017 09:15:25 +0000 (+0900) Subject: [4.0] Support custom fonts registration X-Git-Tag: accepted/tizen/4.0/unified/20171012.230025~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F30%2F154830%2F1;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git [4.0] Support custom fonts registration This reverts commit 1ccb7aaa44a36b39f4591fc4cd9673637c91a675. Change-Id: I4bbda02028e9f97050f01cba68b378e8a40c26d2 --- diff --git a/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp b/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp index 07d657f..8fe2812 100644 --- a/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp +++ b/automated-tests/src/dali-toolkit-styling/utc-Dali-StyleManager.cpp @@ -1309,7 +1309,8 @@ int UtcDaliStyleManagerConfigSectionTest(void) " \"config\":\n" " {\n" " \"alwaysShowFocus\":false,\n" - " \"clearFocusOnEscape\":false\n" + " \"clearFocusOnEscape\":false,\n" + " \"customFontDirectory\":\"" DALI_STYLE_DIR "\"\n" " },\n" " \"styles\":\n" " {\n" @@ -1327,9 +1328,12 @@ int UtcDaliStyleManagerConfigSectionTest(void) DALI_TEST_CHECK( !alwaysShowFocus ); bool clearFocusOnEscape = config["clearFocusOnEscape"].Get(); DALI_TEST_CHECK( !clearFocusOnEscape ); + std::string customFontDirectory = config["customFontDirectory"].Get(); + DALI_TEST_EQUALS( customFontDirectory, DALI_STYLE_DIR, TEST_LOCATION ); // For coverage Toolkit::TextEditor editor = Toolkit::TextEditor::New(); + editor.SetProperty( TextEditor::Property::TEXT, "Test" ); editor.SetKeyboardFocusable( true ); Stage::GetCurrent().Add( editor ); diff --git a/dali-toolkit/internal/text/multi-language-support-impl.cpp b/dali-toolkit/internal/text/multi-language-support-impl.cpp index e88a286..d32809c 100644 --- a/dali-toolkit/internal/text/multi-language-support-impl.cpp +++ b/dali-toolkit/internal/text/multi-language-support-impl.cpp @@ -25,6 +25,7 @@ // INTERNAL INCLUDES #include +#include namespace Dali { @@ -106,6 +107,20 @@ MultilanguageSupport::MultilanguageSupport() // Initializes the valid fonts cache to NULL (no valid fonts). // Reserves space to cache the valid fonts and access them with the script as an index. mValidFontsPerScriptCache.Resize( TextAbstraction::UNKNOWN, NULL ); + + // Add custom font directory + Toolkit::StyleManager styleManager = Toolkit::StyleManager::Get(); + if( styleManager ) + { + std::string path; + Property::Map config = Toolkit::DevelStyleManager::GetConfigurations( styleManager ); + if( config["customFontDirectory"].Get( path ) ) + { + TextAbstraction::FontClient fontClient = TextAbstraction::FontClient::Get(); + fontClient.AddCustomFontDirectory( path.c_str() ); + } + } + } MultilanguageSupport::~MultilanguageSupport()