///|
#borrow(cr, font, glyphs)
extern "c" fn moonbit_pango_cairo_glyph_string_path_range(
  cr : @cairo.Context,
  font : @pango.Font,
  glyphs : @pango.GlyphString,
  start : Int,
  end : Int,
) -> Bool = "moonbit_pango_cairo_glyph_string_path_range"

///|
/// Adds glyphs in the half-open range `[start, end)` to `cr`'s current path.
///
/// The glyph positions are relative to Cairo's current point, matching
/// `glyph_string_path`. An empty range is a successful no-op. Returns `false`
/// without changing the current path when the range is outside `glyphs`.
/// A `true` result means the range was submitted; inspect `cr.status()` for
/// Cairo drawing errors.
pub fn glyph_string_path_range(
  cr : @cairo.Context,
  font : &@pango.IFont,
  glyphs : @pango.GlyphString,
  start : Int,
  end : Int,
) -> Bool {
  moonbit_pango_cairo_glyph_string_path_range(
    cr,
    font.as_font(),
    glyphs,
    start,
    end,
  )
}