Использование биди с несколькими строками текста - PullRequest
0 голосов
/ 21 января 2020

Я пытаюсь реализовать двунаправленный текст в модели, которая динамически генерирует несколько строк текста.

В то время как в документации сказано использовать этот формат

self.text_direction = :rtl

  bidi = Bidi.new
  text bidi.render_visual "משפט עם עברית ו-English. מספרים: 12345 (וגם כל מיני סימני פיסוק) וגם סימן קריאה!\n"
end

Я имею дело с такими процессами :

 if false #storage_loc
      column_count = separate_lines ? 1 : include_code ? 3 : 5
      pdf.column_box([15.mm, pdf.y], :width  => data_area_width + 6, :height => pdf.y - 32.mm, :columns => column_count) do
        products.each do |product|
          text = product.name
          text += ', VIN ' + product.code if include_code && !product.code.blank?
          text += ', ' + product.conditions unless product.default_conditions == product.conditions
          pdf.text text
        end #products.each do
       # end_line.call COMMENTED OUT: this ought to happen at the end
      end #pdf.column_box...do
    else
      pdf.bounding_box([15.mm - 3, pdf.y + 3.mm], :width  => data_area_width + 6, :height => pdf.y - 32.mm) do
        if product_per_page
          product_data.call(products).each_with_index do |prod_data, prod_index|
            one_product_data = []
            headers.each_with_index do |header, index|
              data = prod_data[index]
              one_product_data << [header, data] if data[:text] && !data[:text].strip.empty?
            end #headers.each_with_index do
            if prod_index > 0
        end_line.call
        pdf.start_new_page
        end

Я пытался сделать text bidi.render_visual(pdf.text text), но получил ошибку.

Есть идеи для кого-то с репутацией -1?

...