convert unicode to zawgyi for prawn documents - prawn text
This commit is contained in:
28
config/initializers/prawn_text.rb
Normal file
28
config/initializers/prawn_text.rb
Normal file
@@ -0,0 +1,28 @@
|
||||
require 'myanmar-tools'
|
||||
require 'rabbit'
|
||||
Prawn::Text.module_eval do
|
||||
|
||||
def text(string, options = {})
|
||||
return false if string.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
|
||||
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user