class PDF::Reader::PageLayout

def group_chars_into_runs(chars)

def group_chars_into_runs(chars)
  runs = []
  while head = chars.shift
    if runs.empty?
      runs << head
    elsif runs.last.mergable?(head)
      runs[-1] = runs.last + head
    else
      runs << head
    end
  end
  runs
end