فونٹ فورج کے لیے پائتھون سکرپٹ

نبیل

تکنیکی معاون
میں نے کچھ عرصہ قبل فونٹ فورج پر کچھ تجربات کا آغاز کیا تھا جن کا مقصد خود کار طریقے سے ایک بلینک فونٹ میں نفیس نستعلیق کے ذریعے جنریٹ کردہ ترسیمہ جات کو امپورٹ کرنا تھا۔ میں یہ کام فونٹ فورج کی پائتھون سکرپٹنگ کے ذریعے کیا جانا مقصود تھا۔ میں نے اس کام کے لیے جو سیٹ اپ تشکیل دیا تھا اس کی تفصیل میں نے کسی اور پوسٹ میں لکھی تھی۔ اس کام کو میں مصروفیات کی وجہ سے آگے نہیں بڑھا سکا تھا، دوسرے میں نے اپنی ورچوئل باکس کی اوبنٹو انسٹالیشن کو جب سے ورژن 10.4 پر اپگریڈ کیا تھا، اس کے بعد سے اس کے ڈیسکٹاپ کی کنفگریشن ٹھیک نہیں ہو سکی ہے۔ مجھے لگتا ہے کہ مجھے نئے سرے سے ورچوئل مشین انسٹال کرنی پڑے گی۔

فونٹ فورج کو پائتھون کے ذریعے دو طریقے سے آٹومیٹ کیا جا سکتا ہے۔ ایک طریقہ فونٹ فورج کے اندر پائتھون سکرپٹ لوڈ کرکے رن کرنے کا ہے جبکہ دوسرا طریقہ فونٹ فورج کو بطور پائتھون ماڈیول انسٹال کرکے اسے اپنے پائتھون پروگرامز میں استعمال کرنے کا ہے۔ میں نے ابھی تک صرف ایک ایس وی جی فائل کو بطور گلف فونٹ میں امپورٹ کرنے کا تجربہ کیا تھا۔ اصل گول تمام 31000 ایس وی جی فائلوں کو فونٹ میں پائتھون سکرپٹ کے ذریعے بطور گلف امپورٹ کرنا ہے۔ فونٹ فورج کے اندر کسی سکرپٹ کو لوڈ کرکے رن کرن کے لیے File->Execute Script کمانڈ پر کلک کیا جائے تو ذیل کی تصویر کے مطابق ایک ونڈو نظر آتی ہے:

ff_script.gif


ذیل میں ایک سکرپٹ ہے جس کے ذریعے ایک فائل سے لائن بائی لائن ترسیمہ جات کے نام پڑھے جاتے ہیں اور اس سے متعلقہ ایس وی جی فائل بطور گلف فونٹ میں امپورٹ کی جاتی ہے۔

کوڈ:
import fontforge
tt=fontforge.open("blank.ttf")
f= open("epsnames.txt" ,'r')
errorFile= open("errors.txt","w")
for strGlyphName in f.readlines():
	# get the Glyph in the font
	glyph=tt[strGlyphName]
	# now import the outlines
	svgPath= "svg/Nafees/"+strGlyphName+".svg"
	glyph.importOutlines(svgPath)
errorFile.close()
f.close()
tt.generate("NafeesWebLigatures.ttf")

اس سکرپٹ میں فونٹ فورج کو بطور پائتھون ماڈیول کے استعمال کیا جا رہا ہے۔ ابھی تک میں اس سکرپٹ کو کامیابی سے رن نہیں کر سکا ہوں۔ ابھی تک مجھے صرف ایک مرتبہ ایک سکرپٹ کے ذریعے ایک گلف کو خودکار طریقے سے امپورٹ کرنے میں کامیابی ملی ہے جس کے بارے میں میں یہاں لکھ چکا ہوں۔ یہ سکرپٹ میں نے فونٹ فورج کے اندر سے ہی رن کی تھی۔

میں نے 31000 سے زائد ایس وی جی فائلیں جنریٹ کی تھیں جن کا حجم زپ کرنے کے بعد 116 میگابائٹ بنتا ہے۔ اس وقت میں نے یہ زپ فائل اپلوڈ پر لگائی ہوئی ہے۔ جونہی یہ فائل اپلوڈ ہو جائے گی، میں اس کا ربط یہاں فراہم کر دوں گا۔ فی الحال میں ترسیمہ جات والی فائل epsnames.txt ، بلینک فونٹ فائل blank.ttf اور اوپر والی سکرپٹ کی فائل svgimport.py کو ایک زپ فائل میں اس پوسٹ کے ساتھ منسلک کر رہا ہوں۔ جو دوست بھی چاہیں، ان کے ذریعے تجربات کا آغاز کر سکتے ہیں۔ اس سلسلے میں جو بھی سوالات ہو، وہ یہاں پوچھے جا سکتے ہیں۔ اس سمت میں تحقیق ضرور جاری رہنی چاہیے۔ اگر اس میں کامیابی ملتی ہے تو اس کے ذریعے اردو فونٹ سازی میں کئی نئے راستے کھل سکتے ہیں۔
 

Attachments

  • ff.zip
    213.5 KB · مناظر: 5

نبیل

تکنیکی معاون
ایس وی جی فائلوں کی زپ فائل بھی اپلوڈ ہو گئی ہے۔ اس ربط پر یہ ڈاؤنلوڈ کی جا سکتی ہے۔
ویسے اتنی بڑی فائل ڈاؤنلوڈ کرنے سے بہتر ہے کہ یہ ایس وی جی فائلیں خود جنریٹ کر لی جائیں۔

اپڈیٹ: پرانے دھاگے کنگھالنے پر پتا چلا کہ ابن سعید نے پہلے ہی یہ ایس وی جی فائلیں یہاں اپلوڈ کر دی تھیں۔
 

محمد سعد

محفلین
انکل انکل! میرا سوال یہ ہے کہ آپ لوگ براہِ راست اردو ترسیمہ جات والی فائل استعمال کرنے کے بجائے اردو حروف کو انگریزی حروف سے بدلنے کی زحمت کیوں کر رہے ہیں؟؟؟ کیا پائتھن میں اردو حروف کے حوالے سے کوئی پریشانی پیش آ رہی تھی؟ میں کچھ عرصے سے پائتھن کے ذریعے UTF8 والی فائلیں لکھنے پڑھنے پر تحقیق کر رہا ہوں اور اس سلسلے میں اردو حروف کے ساتھ کئی کامیاب تجربات بھی کیے ہیں۔
اور ہاں، کیا ترسیمہ جات کے ناموں سے فانٹ کو فرق پڑتا ہے؟ مثلاً جیسے آپ نے یہاں پر ترسیمہ "با" کو ba بنا دیا۔۔۔ :confused:
 

دوست

محفلین
پائتھون 3 میں شاید یوٹی ایف 8 کی بہتر سپورٹ ہے۔ پچھلے ورژنز میں اس پر تفصیلات پڑھ کر یہی دل کرتا ہے کہ یونیکوڈ کو چھیڑا ہی نہ جائے پائتھون میں۔
 

arifkarim

معطل
انکل انکل! میرا سوال یہ ہے کہ آپ لوگ براہِ راست اردو ترسیمہ جات والی فائل استعمال کرنے کے بجائے اردو حروف کو انگریزی حروف سے بدلنے کی زحمت کیوں کر رہے ہیں؟؟؟ کیا پائتھن میں اردو حروف کے حوالے سے کوئی پریشانی پیش آ رہی تھی؟ میں کچھ عرصے سے پائتھن کے ذریعے UTF8 والی فائلیں لکھنے پڑھنے پر تحقیق کر رہا ہوں اور اس سلسلے میں اردو حروف کے ساتھ کئی کامیاب تجربات بھی کیے ہیں۔
اور ہاں، کیا ترسیمہ جات کے ناموں سے فانٹ کو فرق پڑتا ہے؟ مثلاً جیسے آپ نے یہاں پر ترسیمہ "با" کو ba بنا دیا۔۔۔ :confused:

کیونکہ اوپن ٹائپ میں اردو یونیکوڈ نہیں بلکہ Ansi format چلتا ہے۔
 

محمد سعد

محفلین
کیونکہ اوپن ٹائپ میں اردو یونیکوڈ نہیں بلکہ Ansi format چلتا ہے۔
مجھے سمجھ نہیں آئی۔ پھر ہم فانٹ کو بتاتے کیسے ہیں کہ کن کن یونیکوڈ قدروں کے مجموعوں کے لیے کون سے لگیچر استعمال کرنے ہیں؟ ابھی میں نے نبیل بھائی کا تیار کردہ ٹیسٹ فانٹ چلایا لیکن اردو لکھتے وقت وہ ترسیمہ جات کو استعمال نہیں کرتا۔ یعنی فانٹ میں ترسیمے تو موجود ہیں لیکن وہ اصل یونیکوڈ قدروں کے ساتھ مربوط نہیں ہیں۔
براہِ مہربانی کوئی مجھے اس کے بنیادی تصورات سمجھا دے۔ انٹرنیٹ سے ڈھونڈ ڈھونڈ کر سمجھنے کی کوشش تو کر رہا ہوں لیکن اس طرح کافی وقت لگ جائے گا۔
 

محمد سعد

محفلین
نبیل بھائی سے گزارش ہے کہ اس سکرپٹ میں جو تبدیلیاں کر کے اسے چلنے کے قابل بنایا گیا ہے، وہ جلد از جلد شائع کریں تاکہ کام کچھ آگے بڑھ سکے۔ اور اگر پہلے ہی اسے شائع کیا جا چکا ہے اور مجھے نہیں مل رہا تو براہِ مہربانی اس کا پتہ بتا دیں۔
 
Top