ルビー、エビ、エビを使用して、他の言語のテキストを含むpdfを動的に生成しています。英語以外の文字を含む言語のテキストが表示されないようです。エラーは発生しません...文字の代わりに一連のダッシュが表示されるだけです。Prawn はホームページで UTF-8 のサポートを自慢しているので、これが問題になる理由がわかりません。Ruby 1.8.6 (engineyard) を使用しています。
7508 次
2 に答える
12
Unicode を機能させるには、必要な文字を含む TTF フォントをロードする必要があります。
デフォルトの Helvetica フォントは、ASCII (およびいくつかの追加機能) のみをサポートします。
于 2010-01-21T00:20:24.220 に答える
6
これは、Unicode を使用したエビの例です。フォントはこちらからダウンロードしてください。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"
于 2013-07-29T05:20:53.273 に答える