1 #ifndef DALI_TOOLKIT_TEXT_ABSTRACTION_EMOJI_HELPER_H
2 #define DALI_TOOLKIT_TEXT_ABSTRACTION_EMOJI_HELPER_H
5 * Copyright (c) 2021 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
22 #include <dali/devel-api/text-abstraction/script.h>
26 namespace TextAbstraction
29 * @brief Whether the script is symbol.
31 * @note Check whether the script is in [SYMBOLS1, SYMBOLS2, SYMBOLS3, SYMBOLS4, SYMBOLS5]
33 * @param[in] script The script.
35 * @return @e true if the script is symbol.
37 DALI_ADAPTOR_API bool IsSymbolScript(const TextAbstraction::Script& script);
40 * @brief Whether the script is EMOJI.
42 * @param[in] script The script.
44 * @return @e true if the script is EMOJI.
46 DALI_ADAPTOR_API bool IsEmojiScript(const TextAbstraction::Script& script);
49 * @brief Whether the script is EMOJI_TEXT.
51 * @param[in] script The script.
53 * @return @e true if the script is EMOJI_TEXT.
55 DALI_ADAPTOR_API bool IsEmojiTextScript(const TextAbstraction::Script& script);
58 * @brief Whether the script is EMOJI_COLOR.
60 * @param[in] script The script.
62 * @return @e true if the script is EMOJI_COLOR.
64 DALI_ADAPTOR_API bool IsEmojiColorScript(const TextAbstraction::Script& script);
67 * @brief Whether the script is symbol or emoji.
69 * @note At least one of IsSymbol and IsEmoji is true.
71 * @param[in] script The script.
73 * @return @e true if the script is symbol or emoji.
75 DALI_ADAPTOR_API bool IsSymbolOrEmojiScript(const TextAbstraction::Script& script);
78 * @brief Whether the script is SYMBOL | EMOJI | TEXT.
80 * @note At least one of IsSymbol and IsEmoji and IsText is true.
82 * @param[in] script The script.
84 * @return @e true if the script is SYMBOL | EMOJI | EMOJI_COLOR| EMOJI_TEXT.
86 DALI_ADAPTOR_API bool IsSymbolOrEmojiOrTextScript(const TextAbstraction::Script& script);
89 * @brief Whether the script is EMOJI | EMOJI_COLOR| EMOJI_TEXT.
91 * @param[in] script The script.
93 * @return @e true if the script is EMOJI | EMOJI_COLOR| EMOJI_TEXT.
95 DALI_ADAPTOR_API bool IsOneOfEmojiScripts(const TextAbstraction::Script& script);
98 * @brief Retrieve the unicode for invisible glyphs
100 * @note Used CHAR_ZWS it is the unicode for Zero Width Space character
102 * @return Retrieve the unicode for Zero Width Space character
104 DALI_ADAPTOR_API Character GetUnicodeForInvisibleGlyph();
106 } // namespace TextAbstraction
110 #endif // DALI_TOOLKIT_TEXT_ABSTRACTION_EMOJI_HELPER_H