ترسیمہ جات کی سورٹنگ پر کام!

نبیل

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

ftp://urduweb.org/project/Fonts/test.rar

محسن سے درخواست ہے کہ اسے چیک کرلیں، اور اگر سورٹنگ ٹھیک ہو رہی ہے تو بتائیں کہ لک اپس کیسے جنریٹ کرنے ہیں۔ :)
 

نبیل

تکنیکی معاون
یہ رہا پائتھون کا پروگرام جس کے ذریعے ترسیمہ جات کی سورٹنگ کی گئی ہے:

کوڈ:
import os.path

from fontTools import ttLib

Normalized={}
Normalized['A']='1'
Normalized['a']='2'
Normalized['b']='3'
Normalized['p']='4'
Normalized['t']='5'
Normalized['T']='6'
Normalized['C']='7'
Normalized['j']='8'
Normalized['c']='9'
Normalized['H']='A'
Normalized['K']='B'
Normalized['d']='C'
Normalized['D']='D'
Normalized['Z']='E'
Normalized['r']='F'
Normalized['R']='G'
Normalized['z']='H'
Normalized['X']='I'
Normalized['s']='J'
Normalized['x']='K'
Normalized['S']='L'
Normalized['J']='M'
Normalized['v']='N'
Normalized['V']='O'
Normalized['e']='P'
Normalized['G']='Q'
Normalized['f']='R'
Normalized['q']='S'
Normalized['k']='T'
Normalized['g']='U'
Normalized['l']='V'
Normalized['m']='W'
Normalized['n']='X'
Normalized['N']='Y'
Normalized['w']='Z'
Normalized['W']='a'
Normalized['o']='b'
Normalized['h']='c'
Normalized['O']='d'
Normalized['U']='e'
Normalized['u']='f'
Normalized['i']='g'
Normalized['y']='h'
Normalized['1']='?'
Normalized['.']='?'

def getUrduText(strText):
	strResult=''
	for ch in strText:
		strResult+= charMap[ch]
	return strResult

def getNormalized(strWord):
	strResult=""
	count=len(strWord)	
	for c in strWord:
		if(c in Normalized):
			strResult+= Normalized[c]
		else:
			strResult+= '?'
	return strResult

def cmpNormalized(str1, str2):
	strNormalized1=getNormalized(str1)
	strNormalized2=getNormalized(str2)
	return cmp(strNormalized1, strNormalized2)

def sortGlyphs(adict):	
	keys = adict.keys()
	keys.sort()
	return [dict[key] for key in keys]

tt = ttLib.TTFont("mergedfont.ttf")


glyphs= tt['glyf']


# pre-process the glyphs to delete unnecessary entries

for name in glyphs.keys():
	try:
		strNormalized=getNormalized(name)
	except:
		pass
	
		
# implement the logic to sort the glyphs in the font


keys= glyphs.keys()
keys.sort(cmpNormalized)
	
print "creating data for the output font"
	
del tt.glyphOrder[:]
i=1
for name in keys:
	tt.glyphOrder.append(name)

print "saving output font"	

tt.save('test.ttf')
 

arifkarim

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

ftp://urduweb.org/project/fonts/test.rar

محسن سے درخواست ہے کہ اسے چیک کرلیں، اور اگر سورٹنگ ٹھیک ہو رہی ہے تو بتائیں کہ لک اپس کیسے جنریٹ کرنے ہیں۔ :)

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

arifkarim

معطل
16000 لگیچرز کیساتھ اب یہ فانٹ پاک نوری نستعلیق کی ٹکر پر آرہا ہے۔مقتدرہ والے اپنی خیر منا لیں!
 

نبیل

تکنیکی معاون
عارف، زیادہ اہم بات یہ ہے کہ ہمارے پاس ایسے ٹول ڈیویلپ ہو رہے ہیں جنہیں ہم repeatedly استعمال کر سکتے ہیں اور انہیں مزید بہتر بنا سکتے ہیں۔ میرے ذہن میں آئیڈیا ہے کہ کس طرح فالتو گلفس کو فلٹر آؤٹ کرنا ہے۔ جہاں تک اعراب کا تعلق ہے تو اس سلسلے میں محسن کی رائے یہ ہے کہ پہلے باقی ترسیمہ جات کا کام نمٹا لیا جائے۔ اگر ایک مرتبہ لک اپس جنریٹ کرنے اور کیریکٹر بیسڈ فونٹ بطور فال بیک شامل کرنے کا کام ٹھیک طریقے سے ہو جاتا ہے تو اس کے بعد اعراب والے ترسیمہ جات کو شامل کرنے میں زیادہ وقت نہیں لگے گا۔
 

arifkarim

معطل
نوٹ‌:‌اس ٹیسٹ‌ فائل میں‌ایک مسئلہ ہے۔ گلفس کے شاید vmtx ٹیبلز درست کام نہیں‌ کر رہے!
یہ مسئلہ پچھلے مرجڈ فانٹ میں‌ نہیں‌ تھا۔ نبیل آپ اسکو چیک کریں۔
 

نبیل

تکنیکی معاون
عارف، یہ مسئلہ تمہیں کہاں نظر آ رہا ہے؟ vmtx ٹیبلز تو اس فونٹ میں سرے سے نہیں ہیں۔
 

arifkarim

معطل
عارف، یہ مسئلہ تمہیں کہاں نظر آ رہا ہے؟ Vmtx ٹیبلز تو اس فونٹ میں سرے سے نہیں ہیں۔

درست، دراصل میں‌ نے اس ٹیسٹ‌ فائل کو اور پچھلی مرجڈ فائل دونوں کو فانٹ کریٹر میں‌ لوڈ کیا تھا۔ میرا خیال تھا کہ شاید آپنے اس مرجڈ فائل کے اندر ہی گلفس کو سورٹ کیا ہے۔ چونکہ مرجڈ فائل میں تمام ضروری ٹیبلز درست کام کر رہے تھے، اسلئے مجھے تشویش ہوئی۔
 

نبیل

تکنیکی معاون
عارف، میں فونٹ کریٹر استعمال نہیں کرتا ہوں۔ کچھ بتاؤ گے کہ سورٹ کردہ فونٹ کی ٹیبلز میں کہاں مسئلہ آ رہا ہے؟ میں نے مرج کیے ہوئے فونٹ کے ترسیمہ جات کو ہی سورٹ کیا ہے، بس اسے سورٹ کرنے کے بعد سیو مختلف فائل میں کیا ہے تاکہ اصل فائل بھی محفوظ رہے۔
 

arifkarim

معطل
عارف، میں فونٹ کریٹر استعمال نہیں کرتا ہوں۔ کچھ بتاؤ گے کہ سورٹ کردہ فونٹ کی ٹیبلز میں کہاں مسئلہ آ رہا ہے؟ میں نے مرج کیے ہوئے فونٹ کے ترسیمہ جات کو ہی سورٹ کیا ہے، بس اسے سورٹ کرنے کے بعد سیو مختلف فائل میں کیا ہے تاکہ اصل فائل بھی محفوظ رہے۔
مرجڈ فائل میں:
a161.gif


ٹیسٹ‌ فائل، سورٹنگ والی:
a162.gif


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

محسن حجازی

محفلین
مجھے تو فونٹ لیب میں یہ مسئلہ کہیں نظر نہیں آیا؟
کیا یہ مسئلہ تمام فونٹ مرج کرنے کے بعد نظر آ رہا ہے؟
vmtx کی یہاں کوئی ضرورت ہی نہیں ہے۔ hmtx کو بخوبی اٹھایا جا رہا ہے۔
 

arifkarim

معطل
مجھے تو فونٹ لیب میں یہ مسئلہ کہیں نظر نہیں آیا؟
کیا یہ مسئلہ تمام فونٹ مرج کرنے کے بعد نظر آ رہا ہے؟
vmtx کی یہاں کوئی ضرورت ہی نہیں ہے۔ hmtx کو بخوبی اٹھایا جا رہا ہے۔

نہیں، یہ مسئلہ مرجڈ فائل کو سارٹ‌ آوٹ‌ کرنے کے بعد نظر آیا، مسئلہ vmtx میں نہیں بلکہ hmtx - Horizontal Metrics میں ہے۔
فانٹ لیب‌ میں‌ مرجڈ فائل:
a164.gif


فانٹ لیب میں‌ سارٹڈ ٹیسٹ فائل:
a163.gif


آپ بیشک دونوں‌ فائلز کا موازنہ کر کے دیکھ لیں۔ سارٹڈ فائل میں hmtx ٹیبل درست نہیں ہے۔:(
 

نبیل

تکنیکی معاون
عارف، میں نے کچھ تبدیلی کرکے دوبارہ ترسیمہ جات سورٹ کیے ہیں۔ test.rar فائل کو دوبارہ سے ڈاؤنلوڈ کرکے چیک کرو کہ اب ٹھیک ہوا ہے یا نہیں۔
 

arifkarim

معطل
عارف، میں نے کچھ تبدیلی کرکے دوبارہ ترسیمہ جات سورٹ کیے ہیں۔ test.rar فائل کو دوبارہ سے ڈاؤنلوڈ کرکے چیک کرو کہ اب ٹھیک ہوا ہے یا نہیں۔
:grin::grin::grin:

اب بالکل ٹھیک ہے۔ محسن بھائی آپ لک اپس کیلئے اپنا پروگرام جلد پیش کریں۔ ہمارے پیٹ‌ میں‌ چوہے دوڑ رہے ہیں :)
 

محسن حجازی

محفلین
میں نے نبیل بھائی والے پروگرام کو مزید بہتر کیا ہے، اسے آپ اب یہاں دیکھ سکتے ہیں۔
عارف، اس والے ورژن کے متعلق بتائیے کہ کیا اس میں بھی یہ مسئلہ آتا ہے؟
http://pastebin.com/f5fc394f5
جواب کا انتظار رہے گا۔
یہی ورژن ایس وی این میں شامل کر دیا گیا ہے۔
 
Top