diff options
Diffstat (limited to 'unicode/unicodecpp.C')
| -rw-r--r-- | unicode/unicodecpp.C | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/unicode/unicodecpp.C b/unicode/unicodecpp.C index e91f756..04d9879 100644 --- a/unicode/unicodecpp.C +++ b/unicode/unicodecpp.C @@ -949,3 +949,20 @@ unicode_bidi_direction unicode::bidi_get_direction(const std::u32string &string,  	return unicode_bidi_get_direction(string.c_str()+starting_pos, n);  } + +std::u32string unicode::bidi_override(const std::u32string &s, +				      unicode_bidi_level_t direction, +				      int cleanup_options) +{ +	std::u32string ret; + +	ret.reserve(s.size()+1); + +	ret.push_back(' '); +	ret.insert(ret.end(), s.begin(), s.end()); + +	bidi_cleanup(ret, [](size_t) {}, cleanup_options); +	ret.at(0)=direction & 1 ? UNICODE_RLO : UNICODE_LRO; + +	return ret; +} | 
