Multi-language support interface
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / public-api / text / multi-language-support.h
index 531fdad..36eb349 100644 (file)
@@ -97,6 +97,24 @@ public:
                    Vector<ScriptRun>& scripts );
 
   /**
                    Vector<ScriptRun>& scripts );
 
   /**
+   * Replaces the scrips of the given range of characters.
+   *
+   * @pre The @p model needs to have a text set.
+   *
+   * If the @p numberOfCharactersToRemove is zero, this operation is like an insert.
+   * If the @p numberOfCharactersToInsert is zero, this operation is like a remove.
+   *
+   * @param[in,out] model The text's logical model.
+   * @param[in] characterIndex Index to the first character.
+   * @param[in] numberOfCharactersToRemove The number of characters removed from the text.
+   * @param[in] numberOfCharactersToInsert The number of characters inserted in the text.
+   */
+  void ReplaceScripts( LogicalModel& model,
+                       CharacterIndex characterIndex,
+                       Length numberOfCharactersToRemove,
+                       Length numberOfCharactersToInsert );
+
+  /**
    * @brief Validates the character's font of the whole text.
    *
    * It may update fonts set by application developers.
    * @brief Validates the character's font of the whole text.
    *
    * It may update fonts set by application developers.
@@ -116,6 +134,28 @@ public:
   void ValidateFonts( const Vector<Character>& text,
                       const Vector<ScriptRun>& scripts,
                       Vector<FontRun>& fonts );
   void ValidateFonts( const Vector<Character>& text,
                       const Vector<ScriptRun>& scripts,
                       Vector<FontRun>& fonts );
+
+  /**
+   * Validates the character's font of the given range of characters.
+   *
+   * It may update fonts set by the mark-up processor.
+   * It sets default fonts based on the script to those characters without a font set.
+   *
+   * @pre The @p model needs to have a text set.
+   * @pre The @p model needs to have the scripts set.
+   *
+   * If the @p numberOfCharactersToRemove is zero, this operation is like an insert.
+   * If the @p numberOfCharactersToInsert is zero, this operation is like a remove.
+   *
+   * @param[in,out] model The text's logical model.
+   * @param[in] characterIndex Index to the first character.
+   * @param[in] numberOfCharactersToRemove The number of characters removed from the text.
+   * @param[in] numberOfCharactersToInsert The number of characters inserted in the text.
+   */
+  void ValidateFonts( LogicalModel& model,
+                      CharacterIndex characterIndex,
+                      Length numberOfCharactersToRemove,
+                      Length numberOfCharactersToInsert );
 };
 
 } // namespace Text
 };
 
 } // namespace Text