2010-01-20 9 views
8

मैं अन्य भाषाओं में पीडीएफ के पाठ को गतिशील रूप से उत्पन्न करने के लिए रूबी, प्रॉन और प्रावंटो का उपयोग कर रहा हूं। मुझे गैर-अंग्रेज़ी पात्रों को दिखाने के लिए भाषाओं में कोई भी टेक्स्ट नहीं मिल रहा है। यह किसी भी त्रुटि को फेंक नहीं देता है ... केवल वर्णों के बजाय डैश का एक गुच्छा दिखाता है। अपने होमपेज पर यूटीएफ -8 समर्थन के बारे में प्रशंसा की गई है, इसलिए मुझे नहीं पता कि यह एक समस्या क्यों है। मैं रूबी 1.8.6 (इंजनयार्ड) का उपयोग कर रहा हूँ।प्रोन और प्रोनो रेल्स पीडीएफ पीढ़ी - यूटीएफ -8?

+0

आपको हमें कुछ और विवरण या उदाहरण देना होगा। आप कौन से पात्र प्रस्तुत करने की कोशिश कर रहे हैं, किस फ़ॉन्ट में? क्या वे अभी दिखाई नहीं देते हैं या क्या आपको कोई त्रुटि या अपवाद है? क्या यह रूबी 1.8 या 1.9 है? यदि आप प्रॉन होमपेज पर यूटीएफ -8 उदाहरण लेते हैं, तो इसे एक टेक्स्ट फ़ाइल में पेस्ट करें और इसे अपने रूबी सेटअप के साथ स्टैंडअलोन चलाएं, क्या यह काम करता है? –

+0

मैंने इनमें से अधिकांश का जवाब देने के लिए प्रश्न संपादित किया। – tybro0103

+0

क्या आप रूबी या रेल का उपयोग करते हैं? – Katarzyna

उत्तर

11

यूनिकोड काम करने के लिए आपको एक टीटीएफ फ़ॉन्ट लोड करने की आवश्यकता है जिसमें आपके लिए आवश्यक वर्ण हैं।

डिफ़ॉल्ट हेल्वैटिका फ़ॉन्ट केवल ASCII (साथ ही कुछ अतिरिक्त) का समर्थन करता है।

+0

मैं देखता हूं ... मैं इसे आज़माउंगा। – tybro0103

+0

.ttf फ़ाइलों को खोजने के लिए एक अच्छी जगह कहां है? – tybro0103

+4

मेरा सुझाव है कि आप DejaVu फ़ॉन्ट परिवार को आजमाएं, जो यूनिकोड मानक के काफी बड़े हिस्से का समर्थन करता है। आप इसे यहां देख सकते हैं: http://dejavu-fonts.org/ (प्रोन मणि में देजावु सांस शामिल हैं, विशेष रूप से प्रॉन-कोर/डेटा/फोंट/डीजावुसन्स.एटीएफ) –

4

यूनिकोड के साथ प्रॉन का उदाहरण यहां दिया गया है। यहां से फ़ॉन्ट डाउनलोड करें। 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" 
+0

सिर्फ टेक्स्ट आकार के लिए =) –

संबंधित मुद्दे