From 81eb30c03aa879e52725636d9dbca5268336e65d Mon Sep 17 00:00:00 2001 From: Thein Lin Kyaw Date: Thu, 31 Aug 2023 11:19:47 +0630 Subject: [PATCH] detect zawgyi-unicode if string contain myanmar characters --- config/initializers/prawn_text.rb | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/config/initializers/prawn_text.rb b/config/initializers/prawn_text.rb index 197d2ed4..537cfa9c 100644 --- a/config/initializers/prawn_text.rb +++ b/config/initializers/prawn_text.rb @@ -4,6 +4,8 @@ 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 @@ -12,17 +14,17 @@ Prawn::Text.module_eval do 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 + 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) + formatted_text(array, options) end end -