require 'myanmar-tools' require 'rabbit' Prawn::Text.module_eval do def text(string, options = {}) return false if string.nil? unless string.match(/[\u1000-\u109F]/).nil? detector = MyanmarTools::ZawgyiDetector.new score = detector.get_zawgyi_probability(string) if score > 0 && score < 0.05 rabbit = Rabbit::Converter.new string = rabbit.uni2zg(string) # returns zg strings "မဂၤလာပါ" end # we modify the options. don't change the user's hash options = options.dup end p = options[:inline_format] if p p = [] unless p.is_a?(Array) options.delete(:inline_format) array = text_formatter.format(string, *p) else array = [{ text: string }] end formatted_text(array, options) end end