summaryrefslogtreecommitdiffstats
path: root/unicode/courier-unicode.h.in
diff options
context:
space:
mode:
authorSam Varshavchik2021-02-24 07:48:49 -0500
committerSam Varshavchik2021-02-24 07:48:49 -0500
commit7f29205e16403e5c86613ca6a80366969b6c6e7f (patch)
tree3ba27e549001a3c10a4f9b0a70ad15fd21747623 /unicode/courier-unicode.h.in
parent6e8ce4696bf8c05272a01dc55081fcc186e9e6ac (diff)
downloadcourier-libs-7f29205e16403e5c86613ca6a80366969b6c6e7f.tar.bz2
More unicode functions.
Diffstat (limited to 'unicode/courier-unicode.h.in')
-rw-r--r--unicode/courier-unicode.h.in14
1 files changed, 14 insertions, 0 deletions
diff --git a/unicode/courier-unicode.h.in b/unicode/courier-unicode.h.in
index a1a502c..2999ee3 100644
--- a/unicode/courier-unicode.h.in
+++ b/unicode/courier-unicode.h.in
@@ -717,6 +717,12 @@ extern void unicode_bidi_logical_order(char32_t *string,
void *),
void *arg);
+extern int unicode_bidi_needs_embed(const char32_t *string,
+ const unicode_bidi_level_t *levels,
+ size_t n,
+ const unicode_bidi_level_t *
+ paragraph_embedding);
+
extern void unicode_bidi_embed(const char32_t *string,
const unicode_bidi_level_t *levels,
size_t n,
@@ -2328,6 +2334,14 @@ void bidi_logical_order(std::vector<unicode_bidi_level_t> &levels,
size_t starting_pos=0,
size_t n=(size_t)-1);
+//! Whether directional and isolation markers are needed.
+
+bool bidi_needs_embed(const std::u32string &string,
+ const std::vector<unicode_bidi_level_t> &levels,
+ const unicode_bidi_level_t *paragraph_embedding=0,
+ size_t starting_pos=0,
+ size_t n=(size_t)-1);
+
//! Embed directional and isolation markers
//! Non-0 return value indicates the string and levels' sizes do not match.