#include "third_party/blink/renderer/core/layout/inline/justification_utils.h"
#include "third_party/blink/renderer/core/layout/inline/inline_item_result_ruby_column.h"
#include "third_party/blink/renderer/core/layout/inline/line_info.h"
#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_spacing.h"
#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_view.h"
#include "third_party/blink/renderer/platform/wtf/text/character_names.h"
#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
namespace blink {
namespace {
constexpr UChar kTextCombineItemMarker = …;
String BuildJustificationText(const String& text_content,
const InlineItemResults& results,
unsigned line_text_start_offset,
unsigned end_offset,
bool may_have_text_combine_or_ruby) { … }
float JustifyResults(const String& text_content,
const String& line_text,
unsigned line_text_start_offset,
ShapeResultSpacing<String>& spacing,
InlineItemResults& results) { … }
class ExpandableItemsFinder { … };
void ApplyLeftAndRightExpansion(LayoutUnit left_expansion,
LayoutUnit right_expansion,
LogicalLineItem& item) { … }
std::optional<LayoutUnit> ApplyJustificationInternal(
LayoutUnit space,
JustificationTarget target,
const LineInfo& line_info,
InlineItemResults* results) { … }
}
std::optional<LayoutUnit> ApplyJustification(LayoutUnit space,
JustificationTarget target,
LineInfo* line_info) { … }
std::optional<LayoutUnit> ComputeRubyBaseInset(LayoutUnit space,
const LineInfo& line_info) { … }
bool ApplyLeftAndRightExpansion(LayoutUnit left_expansion,
LayoutUnit right_expansion,
base::span<LogicalLineItem> items) { … }
}