Pregunta

Estoy usando Ruby, Prawn y Prawnto para generar dinámicamente archivos PDF que contienen texto en otros idiomas.Parece que no puedo mostrar ningún texto en idiomas con caracteres distintos del inglés.No arroja ningún error... solo muestra un montón de guiones en lugar de caracteres.Prawn se jacta en su página de inicio de la compatibilidad con UTF-8, así que no veo por qué esto es un problema.Estoy usando Ruby 1.8.6 (engineyard).

¿Fue útil?

Solución

Para Unicode para trabajar lo necesario para cargar una fuente TTF que tiene los caracteres que se requieren.

El valor predeterminado Helvetica fuente sólo es compatible con ASCII (además de algunos extras).

Otros consejos

Aquí está un ejemplo de gambas con Unicode. Descargar la fuente desde aquí. http://www.siyabas.lk/files/iskpota.ttf

#!/bin/env ruby
# encoding: utf-8

require 'prawn'

pdf = Prawn::Document.new

pdf.font_families.update("Iskoola Potha Unicode"=>{:normal =>"fonts/iskpota.ttf"})
pdf.font "Iskoola Potha Unicode"

pdf.text "යුනිකෝඩ් වනාහි …"

pdf.move_down 10
pdf.text "
පරිගණක මූලිකව අංක මගින් එහි කටයුතු සිදු කරයි. 
ඒවා වචන හා අක්‍ෂරවලට නොයෙකුත් අංක නියම කොට ඒ අංක ගබඩා කිරීම මගින් වචන 
හා අකුරුද ගබඩා කර ගනී. යුනිකෝඩ් ක්‍රමය සොයා ගැනීමට පෙර මෙසේ අකුරුවලට අංක 
නියම කිරීමට කේතන පද්ධති ඉතා විශාල ගණනක් පැවතුනි. උදාහරණයක් ලෙස යුරෝපීය 
සංගමයට පමණක් ඔවුන්ගේ භාෂා කේතන ක්‍රම රාශියක් අවශ්‍ය විය. එසේම එක් භාෂාවක් වන 
ඉංග්‍රීසි භාෂාව සඳහා එහි සියලු අක්‍ෂර, විරාම ලකුණු සහ තාක්‍ෂණික සංකේත සඳහා එක් 
කේතන ක්‍රමයක් නොසෑහුනි. තවද මෙම කේනත ක්‍රම එකිනෙක හා ගැටුනි. එනම් වෙනස් 
කේතන ක්‍රම 2කට එකම අංකය වෙනස් අක්‍ෂර දෙකකට හෝ වෙනස් අංක දෙකක් එකම 
අක්‍ෂරයකට යෙදිය හැක. වෙනස් කේතන ක්‍රම භාවිතයේදී ඕනෑම පරිගණකයක් 
(විශේෂයෙන්ම සර්වර් පරිගණක) වෙනස් කේතන ක්‍රම කීපයක් සමග ක්‍රියා කළ යුතු වේ; 
එහෙයින් දත්ත වෙනස් කේතන ක්‍රම හෝ පරිගණක පද්ධති හරහා ගමන් ගැනීමේදී කේතන 
ක්‍රමවල වෙනස හේතුවෙන් එමදත්ත විනාශ වීමට හෝ අපවිත්‍ර වීමට ඉඩ ඇත."

pdf.stroke_horizontal_rule

pdf.render_file "sinhala.pdf"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top