summaryrefslogtreecommitdiffstats
path: root/src/ZYEnhancedText.cc
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2014-04-22 14:38:14 +0800
committerPeng Wu <alexepico@gmail.com>2014-04-22 14:38:14 +0800
commit63b1437ddfcf0b5551d935dc268c40b3ab67c53d (patch)
tree7f75a1c121e21631109f70aa8756deb0be77f215 /src/ZYEnhancedText.cc
parentcd75934a98b2e1ca6dc7ff124d9f99e4286f9473 (diff)
downloadibus-libzhuyin-63b1437ddfcf0b5551d935dc268c40b3ab67c53d.tar.gz
ibus-libzhuyin-63b1437ddfcf0b5551d935dc268c40b3ab67c53d.tar.xz
ibus-libzhuyin-63b1437ddfcf0b5551d935dc268c40b3ab67c53d.zip
write resizeInstances method
Diffstat (limited to 'src/ZYEnhancedText.cc')
-rw-r--r--src/ZYEnhancedText.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ZYEnhancedText.cc b/src/ZYEnhancedText.cc
index 2a3092f..25692cd 100644
--- a/src/ZYEnhancedText.cc
+++ b/src/ZYEnhancedText.cc
@@ -304,4 +304,29 @@ erase_input_sequence(String & enhanced_text, size_t offset, size_t length)
return true;
}
+size_t
+get_number_of_phonetic_sections (String & enhanced_text)
+{
+ size_t num = 0;
+ size_t start_pos = 0, end_pos = 0;
+
+ while (end_pos != enhanced_text.size ()) {
+ section_t type = probe_section_quick (enhanced_text, start_pos);
+
+ if (PHONETIC_SECTION == type) {
+ String section;
+ get_phonetic_section (enhanced_text, start_pos, end_pos, section);
+ ++num;
+ }
+
+ if (SYMBOL_SECTION == type) {
+ String type, lookup, choice;
+ get_symbol_section (enhanced_text, start_pos, end_pos,
+ type, lookup, choice);
+ }
+ }
+
+ return num;
+}
+
};