大虾写文字结合阿拉伯语和英语两种语言rails

write text combine two language Arabic and English in prawn rails

例如,我需要结合两种语言编写文本 使用 require 'arabic-letter-connector'

    text_direction :rtl # ltr
    long_text = " Algorithm & Data Structure مرحبا يا العالم"
    text long_text.connect_arabic_letters

如果使用 text_direction :rtl 出现正确的阿拉伯语单词但出现英语 A & ataD erutcurtS

使用时text_direction :rtl

使用时text_direction :ltr

我需要结合阿拉伯语和英语,例如预期结果看起来像

Algorithm & Data Structure مرحبا يا العالم

我试试字体 CairoKacstOneAmiri

我的环境

ruby "2.4.2"
gem 'rails', '5.1.4'
# pdf generate
gem 'prawn'
gem 'prawn-table', '~> 0.2.2'
gem 'arabic-letter-connector', '~> 0.1.1'

经过多次搜索,我解决了这个问题。使用 connect_arabic_letters & String#reverse

['مرحبا','hello','welcome', 'الجميع'].join(',').connect_arabic_letters.reverse

笔记

  • 使用字体支持阿拉伯语单词 Amiri