class PDF::Reader::PageLayout

def group_chars_into_runs(chars)

def group_chars_into_runs(chars)
  chars.each_with_object([]) do |char, runs|
    if runs.empty?
      runs << char
    elsif runs.last.mergable?(char)
      runs[-1] = runs.last + char
    else
      runs << char
    end
  end
end