#ifdef UNSAFE_BUFFERS_BUILD
#pragma allow_unsafe_buffers
#endif
#include "third_party/blink/renderer/platform/text//bidi_paragraph.h"
#include "third_party/blink/renderer/platform/text/icu_error.h"
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"
namespace blink {
bool BidiParagraph::SetParagraph(const String& text,
std::optional<TextDirection> base_direction) { … }
template <>
std::optional<TextDirection> BidiParagraph::BaseDirectionForString(
base::span<const LChar> text,
bool (*stop_at)(UChar)) { … }
template <>
std::optional<TextDirection> BidiParagraph::BaseDirectionForString(
base::span<const UChar> text,
bool (*stop_at)(UChar)) { … }
std::optional<TextDirection> BidiParagraph::BaseDirectionForString(
const StringView& text,
bool (*stop_at)(UChar)) { … }
String BidiParagraph::StringWithDirectionalOverride(const StringView& text,
TextDirection direction) { … }
unsigned BidiParagraph::GetLogicalRun(unsigned start, UBiDiLevel* level) const { … }
void BidiParagraph::GetLogicalRuns(const String& text, Runs* runs) const { … }
void BidiParagraph::GetVisualRuns(const String& text, Runs* runs) const { … }
void BidiParagraph::IndicesInVisualOrder(
const Vector<UBiDiLevel, 32>& levels,
Vector<int32_t, 32>* indices_in_visual_order_out) { … }
}