#include "third_party/blink/renderer/platform/fonts/shaping/stretchy_operator_shaper.h"
#include <hb-ot.h>
#include <hb.h>
#include <unicode/uchar.h>
#include "base/numerics/safe_conversions.h"
#include "third_party/blink/renderer/platform/fonts/canvas_rotation_in_vertical.h"
#include "third_party/blink/renderer/platform/fonts/font.h"
#include "third_party/blink/renderer/platform/fonts/opentype/open_type_math_support.h"
#include "third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.h"
#include "third_party/blink/renderer/platform/fonts/shaping/shape_result_inline_headers.h"
#include "third_party/blink/renderer/platform/wtf/text/unicode.h"
#include "ui/gfx/geometry/rect_f.h"
#include "ui/gfx/geometry/skia_conversions.h"
namespace blink {
namespace {
inline float HarfBuzzUnitsToFloat(hb_position_t value) { … }
std::optional<OpenTypeMathStretchData::AssemblyParameters>
GetAssemblyParameters(const HarfBuzzFace* harfbuzz_face,
Glyph base_glyph,
OpenTypeMathStretchData::StretchAxis stretch_axis,
float target_size,
float* italic_correction) { … }
}
const ShapeResult* StretchyOperatorShaper::Shape(const Font* font,
float target_size,
Metrics* metrics) const { … }
}