summaryrefslogtreecommitdiffstats
path: root/unicode/unicodecpp.C
diff options
context:
space:
mode:
authorSam Varshavchik2021-01-06 22:05:50 -0500
committerSam Varshavchik2021-01-06 22:05:53 -0500
commit23fffe52808157e36795af52266cc27ac03cbcb9 (patch)
treef0c62446b3f5d1dc3fbe623206719dee42ac36c5 /unicode/unicodecpp.C
parentf6d00ac939f7c9c63eca8dbb2a237b3aa24bc85b (diff)
downloadcourier-libs-23fffe52808157e36795af52266cc27ac03cbcb9.tar.bz2
courier-unicode: implement bidi get_direction.
Diffstat (limited to 'unicode/unicodecpp.C')
-rw-r--r--unicode/unicodecpp.C15
1 files changed, 14 insertions, 1 deletions
diff --git a/unicode/unicodecpp.C b/unicode/unicodecpp.C
index 10156a4..babb6bb 100644
--- a/unicode/unicodecpp.C
+++ b/unicode/unicodecpp.C
@@ -1,5 +1,5 @@
/*
-** Copyright 2011-2020 Double Precision, Inc.
+** Copyright 2011-2021 Double Precision, Inc.
** See COPYING for distribution information.
**
*/
@@ -919,3 +919,16 @@ char32_t unicode::bidi_embed_paragraph_level(const std::u32string &string,
string.size(),
level);
}
+
+unicode_bidi_direction unicode::bidi_get_direction(const std::u32string &string,
+ size_t starting_pos,
+ size_t n)
+{
+ if (starting_pos >= string.size())
+ starting_pos=string.size();
+
+ if (string.size()-starting_pos < n)
+ n=string.size()-starting_pos;
+
+ return unicode_bidi_get_direction(string.c_str()+starting_pos, n);
+}