فونٹ فورج کے ذریعے نستعلیق ترسیمہ جات کی امپورٹ

نبیل

تکنیکی معاون
کیا بہتر نہیں ہوگا کہ سارے پراجیکٹس کو اکٹھے شروع کرنے کی بجائے ایک ایک کرکے انہیں تکمیل تک پہنچایا جائے؟
 

محمد سعد

محفلین
کیا بہتر نہیں ہوگا کہ سارے پراجیکٹس کو اکٹھے شروع کرنے کی بجائے ایک ایک کرکے انہیں تکمیل تک پہنچایا جائے؟
بہتر تو ہوگا۔ اگرچہ اس طرح کچھ لوگ ہمیشہ ہر پراجیکٹ کے دوران ویلے رہا کریں گے۔ :)
ویسے آپ کے ذہن میں کیا ہے؟ پہلے کس منصوبے کو پکڑا جائے؟ شاید کوئی ایسا منصوبہ جس پر کیا ہوا کام اگلے پراجیکٹ میں بھی کام آئے۔۔ :rolleyes:
 

نبیل

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

arifkarim

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

arifkarim

معطل
اگر ہم ترسیمہ جات کو کسی طرح بیس لائن کے اعتبار سے کیٹیگرائز کر سکیں تو اس کا کو بھی کافی حد تک آٹومیٹ کیا جا سکتا ہے۔ مثلاً وہ سبھی ترسیمے جو ج چ ح خ ع غ پر تمام ہوتے ہیں غالب گمان ہے کہ ان کا بیس لائن الائنمینٹ ایک جیسا ہوگا اسی طرح س ش ص ض ق ل ن ں وغیرہ پر تمام ہونے والے ایک الگ زمرے میں آنے چاہئیں اس کے علاہ ایل بڑی تعداد ب پ ت ٹ ث ف ک گ پر تمام ہونے والے ترسیموں کی بھی ہوگی۔ بہت ممکن ہے کہ زیادہ تر ترسیمے اس قسم کی کیٹیگرائزیشن سے درست الائنمینٹ میں آ جائیں۔ ورنہ قدرے زیادہ کامپلیکس لاجک مثلا ترسیموں کی طوالت وغیرہ کو زیر غور لانا پڑے۔
یہ کام آپکا تخلیق کردہ اردو ورڈ سارٹر با آسانی کر سکتا ہے۔ آج اسی سلسلہ میں فانٹ کو 5 سال بعد دوبارہ کھول کر جائزہ لیا تو معلوم ہوا اسمیں ترسیموں کی اشکال کے سائز ہی میں فرق آرہا ہے۔ مثال کے طور پر دیکھیں کہ ان دو ترسیموں میں نقاط کا سائز ایک جیسا نہیں:
b431.gif

تاج نستعلیق میں بھی یہی مسئلہ تھا کہ ترسیموں کا سائز یکساں نہ ہونے کے سبب تحریر بے ڈھنگی سی لگتی تھی۔ بہرحال اگر آپ یہی ترسیمے یکساں سائز میں دوبارہ جنریٹ کر دیں تو نبیل بھائی اسے فانٹ میں امپورٹ کر دیں گے۔ جس کے بعد انہیں اردو ورڈ سارٹر کی مدد سے بیس لائن پر لایا جا سکے گے۔
محمد سعد
 
مدیر کی آخری تدوین:

محمد سعد

محفلین
فونٹ فورج میں ایس وی جی ترسیمہ جات امپورٹ کرنے کے لیے سکرپٹ پہلی پوسٹ میں شامل کر دی گئی ہے جو یہاں بھی پیش کی جا رہی ہے۔

PHP:
import fontforge
import os.path


# obtain command line arguments for
# 1: path of the folder containing svgs
# 2: input sfd file
# 3: output font name
def createGlyph(font,glyphname):
    font.createChar(-1, glyphname)
    svgPath= 'Nafees/'+glyphname+'.svg'
    if os.path.isfile(svgPath):
        font[glyphname].importOutlines(svgPath)
    else:
        print svgPath+" is not valid.\n"

def AddGlyphs(font):
    logFile= open("log.txt","w")
    for f in os.listdir('Nafees'):
        (baseName, extName)=os.path.splitext(f)   
        logFile.write("creating glyph "+baseName+"\n")
        createGlyph(font, baseName)
    logFile.close()

def createFont(strFontName):
    tt=fontforge.open("TestFont.sfd")
    AddGlyphs(tt)
    tt.generate(strFontName)

createFont('TestFont.ttf')
حضرت، ایک مشکل درپیش ہے۔
یہ سکرپٹ استعمال کرتے ہوئے پہلے اس نے شکایت کی کہ TestFont.sfd موجود نہیں ہے، تو میں نے fontforge.open کو fontforge.font سے بدل دیا۔ وہ مسئلہ تو حل ہوا۔
لیکن آگے ایک اور مشکل کا سامنا ہے۔ سکرپٹ چلتے چلتے فانٹ فورج کریش ہو جاتا ہے۔
Segmentation fault (core dumped)
مجھے یاد پڑتا ہے کہ پہلے بھی کچھ ایسے ہی مسئلے سے کافی عرصہ نمٹتا رہا تھا، جس کے سبب کام آگے نہیں بڑھ پا رہا تھا۔ آپ نے جب اس سکرپٹ سے فانٹ تیار کیا تھا تو کیا کسی کریش وغیرہ سے واسطہ پڑا تھا؟
 

محمد سعد

محفلین
مزید تجربات سے معلوم ہوا ہے کہ کریش یہاں پر واقع ہو رہا ہے۔
PHP:
createGlyph(font, baseName)
اور کریش ہونے سے پہلے یہ بھی لکھا آتا ہے
Failed to parse color
 

محمد سعد

محفلین
انک سکیپ میں ایک سادہ سا ترسیمہ خود بنا کر اس فہرست میں شامل کیا۔ نتیجہ یہ نکلا کہ انک سکیپ والا ترسیمہ Failed to parse color کہنے کے باوجود درآمد ہو گیا لیکن پانگو ویو میں بنے ترسیمے پر پہنچتے ہی سکرپٹ کریش ہو گیا۔
 

arifkarim

معطل
جب تک ان ترسیموں کو یکساں حجم میں جنریٹ کرنے کا حل ڈھونڈوں، ایک الفا ریلیز نہ ہو جائے؟ :)
میں نے ایک جیسے حرف پر ختم ہونے والے ترسیموں کو گمپ میں کھول کر دیکھا ہے اور وہاں انکا سائز یکساں آ رہا ہے جبکہ بیس لائن بھی ٹھیک ہے:
b432.gif

یوں ابن سعید بری از زمہ ہوئے۔ اس ربط پر یہ svg امپورٹ کرنے کا درست طریقہ موجود ہے۔ اسے بھی ضرور چیک کریں۔
کوڈ:
import fontforge
font = fontforge.open('blank.sfd')
glyph = font.createMappedChar('A')
glyph.importOutlines('sourceimg.svg')
font.generate('testfont.ttf')
نبیل
 
مدیر کی آخری تدوین:

نبیل

تکنیکی معاون
میں نے جب فونٹ فورج کے ذریعے تجربات کیے تھے تو اوبنٹو کا استعمال کیا تھا اور کسی کریش کا سامنا نہیں ہوا تھا۔
 

محمد سعد

محفلین
لینکس منٹ 17.1 انسٹال کیا ہے، جو کہ غالباً ابنٹو 14.04 LTS پر مبنی ہے۔ وہاں بھی فونٹ فورج کا یہی رویہ ہے۔ اسی انداز میں کریش ہو رہا ہے۔
 

arifkarim

معطل
میں نے جب فونٹ فورج کے ذریعے تجربات کیے تھے تو اوبنٹو کا استعمال کیا تھا اور کسی کریش کا سامنا نہیں ہوا تھا۔
نبیل کیا آپنے ایس وی جی امپورٹ کرنے کیلئے درج ذیل کوڈ استعمال کیا تھا؟ اسمیں اور آپکے تخلیق کردہ کوڈ میں کیا فرق ہے؟
کوڈ:
import fontforge
font = fontforge.open('blank.sfd')
glyph = font.createMappedChar('A')
glyph.importOutlines('sourceimg.svg')
font.generate('testfont.ttf')
 

arifkarim

معطل
لینکس منٹ 17.1 انسٹال کیا ہے، جو کہ غالباً ابنٹو 14.04 LTS پر مبنی ہے۔ وہاں بھی فونٹ فورج کا یہی رویہ ہے۔ اسی انداز میں کریش ہو رہا ہے۔
اوبنٹو اوریجنل انسٹال کر کے چیک کریں۔ شاید اس پر کام کر جائے۔ فانٹ فارج کی لائبریری میں بھی مسئلہ ہو سکتا ہے۔ بہرحال پہلے اصل اوبنٹو پر کوشش کریں۔
 

arifkarim

معطل
نبیل بھائی سے عاجزانہ درخواست ہے کہ اگر آپ فارغ ہوں تو اس پراجیکٹ پر تھوڑی توجہ دیں۔کیونکہ اس سے حاصل شدہ نتائج ہمیں حالیہ جاری اور آئندہ آنے والے فانٹ پراجیکٹس میں مطلوب ہیں۔ متلاشی کے پاس بھی ایک حرفی فانٹ ہے جسکو ترسیموں میں کنورٹ کرنے کیلئے یہ پراجیکٹ کار آمد ثابت ہوگا۔
 

نبیل

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