// GENERATED — DO NOT EDIT
///|
#borrow(text, pbase_dir_ref, result)
extern "c" fn moonbit_pango_log2vis_get_embedding_levels(
text : Bytes,
length : Int,
pbase_dir_ref : Ref[Direction],
result : Ref[FixedArray[UInt]],
) = "moonbit_pango_log2vis_get_embedding_levels"
///|
/// [Upstream documentation](https://gnome.pages.gitlab.gnome.org/pango/Pango/func.log2vis_get_embedding_levels.html).
pub fn log2vis_get_embedding_levels(
text : String,
length : Int,
pbase_dir : Direction,
) -> (Array[UInt], Direction) {
let pbase_dir_ref = Ref(pbase_dir)
let result_ref : Ref[FixedArray[UInt]] = Ref([])
moonbit_pango_log2vis_get_embedding_levels(
@encoding/utf8.encode(text),
length,
pbase_dir_ref,
result_ref,
)
let values : Array[UInt] = Array::new(capacity=result_ref.val.length())
for i in 0..