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

نبیل نے 'نوری نستعلیق پراجیکٹ' کی ذیل میں اس موضوع کا آغاز کیا، ‏جولائی 7, 2008

  1. نبیل

    نبیل محفلین

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

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

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

    نبیل محفلین

    مراسلے:
    16,742
    جھنڈا:
    Germany
    موڈ:
    Depressed
    یہ رہا پائتھون کا پروگرام جس کے ذریعے ترسیمہ جات کی سورٹنگ کی گئی ہے:

    کوڈ:
    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')
     
    • پسندیدہ پسندیدہ × 1
  3. arifkarim

    arifkarim معطل

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

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    16000 لگیچرز کیساتھ اب یہ فانٹ پاک نوری نستعلیق کی ٹکر پر آرہا ہے۔مقتدرہ والے اپنی خیر منا لیں!
     
  5. نبیل

    نبیل محفلین

    مراسلے:
    16,742
    جھنڈا:
    Germany
    موڈ:
    Depressed
    عارف، زیادہ اہم بات یہ ہے کہ ہمارے پاس ایسے ٹول ڈیویلپ ہو رہے ہیں جنہیں ہم repeatedly استعمال کر سکتے ہیں اور انہیں مزید بہتر بنا سکتے ہیں۔ میرے ذہن میں آئیڈیا ہے کہ کس طرح فالتو گلفس کو فلٹر آؤٹ کرنا ہے۔ جہاں تک اعراب کا تعلق ہے تو اس سلسلے میں محسن کی رائے یہ ہے کہ پہلے باقی ترسیمہ جات کا کام نمٹا لیا جائے۔ اگر ایک مرتبہ لک اپس جنریٹ کرنے اور کیریکٹر بیسڈ فونٹ بطور فال بیک شامل کرنے کا کام ٹھیک طریقے سے ہو جاتا ہے تو اس کے بعد اعراب والے ترسیمہ جات کو شامل کرنے میں زیادہ وقت نہیں لگے گا۔
     
    • پسندیدہ پسندیدہ × 2
  6. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    نوٹ‌:‌اس ٹیسٹ‌ فائل میں‌ایک مسئلہ ہے۔ گلفس کے شاید vmtx ٹیبلز درست کام نہیں‌ کر رہے!
    یہ مسئلہ پچھلے مرجڈ فانٹ میں‌ نہیں‌ تھا۔ نبیل آپ اسکو چیک کریں۔
     
  7. نبیل

    نبیل محفلین

    مراسلے:
    16,742
    جھنڈا:
    Germany
    موڈ:
    Depressed
    عارف، یہ مسئلہ تمہیں کہاں نظر آ رہا ہے؟ vmtx ٹیبلز تو اس فونٹ میں سرے سے نہیں ہیں۔
     
  8. arifkarim

    arifkarim معطل

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

    نبیل محفلین

    مراسلے:
    16,742
    جھنڈا:
    Germany
    موڈ:
    Depressed
    عارف، میں فونٹ کریٹر استعمال نہیں کرتا ہوں۔ کچھ بتاؤ گے کہ سورٹ کردہ فونٹ کی ٹیبلز میں کہاں مسئلہ آ رہا ہے؟ میں نے مرج کیے ہوئے فونٹ کے ترسیمہ جات کو ہی سورٹ کیا ہے، بس اسے سورٹ کرنے کے بعد سیو مختلف فائل میں کیا ہے تاکہ اصل فائل بھی محفوظ رہے۔
     
  10. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    مرجڈ فائل میں:
    [​IMG]

    ٹیسٹ‌ فائل، سورٹنگ والی:
    [​IMG]

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

    نبیل محفلین

    مراسلے:
    16,742
    جھنڈا:
    Germany
    موڈ:
    Depressed
    ہمم، اس کے بارے میں تو محسن ہی بہتر بتا سکیں گے۔
     
  12. محسن حجازی

    محسن حجازی محفلین

    مراسلے:
    2,513
    موڈ:
    Breezy
    مجھے تو فونٹ لیب میں یہ مسئلہ کہیں نظر نہیں آیا؟
    کیا یہ مسئلہ تمام فونٹ مرج کرنے کے بعد نظر آ رہا ہے؟
    vmtx کی یہاں کوئی ضرورت ہی نہیں ہے۔ hmtx کو بخوبی اٹھایا جا رہا ہے۔
     
    • پسندیدہ پسندیدہ × 1
  13. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    نہیں، یہ مسئلہ مرجڈ فائل کو سارٹ‌ آوٹ‌ کرنے کے بعد نظر آیا، مسئلہ vmtx میں نہیں بلکہ hmtx - Horizontal Metrics میں ہے۔
    فانٹ لیب‌ میں‌ مرجڈ فائل:
    [​IMG]

    فانٹ لیب میں‌ سارٹڈ ٹیسٹ فائل:
    [​IMG]

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

    محسن حجازی محفلین

    مراسلے:
    2,513
    موڈ:
    Breezy
    اچھا اب سمجھا۔
    میں اس پروگرام کو مزید بہتر بناتا ہوں آج رات انشا اللہ۔
    والسلام،
    محسن۔
     
  15. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    شکر ہے ''مسئلہ'' سمجھ آگیا۔ عام طور پر اس طرح مسائل سمجھانا بہت مشکل ہوتا ہے :rolleyes:
     
  16. نبیل

    نبیل محفلین

    مراسلے:
    16,742
    جھنڈا:
    Germany
    موڈ:
    Depressed
    عارف، میں نے کچھ تبدیلی کرکے دوبارہ ترسیمہ جات سورٹ کیے ہیں۔ test.rar فائل کو دوبارہ سے ڈاؤنلوڈ کرکے چیک کرو کہ اب ٹھیک ہوا ہے یا نہیں۔
     
  17. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    :grin::grin::grin:

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

    شاکرالقادری لائبریرین

    مراسلے:
    2,696
    موڈ:
    Cheerful
    ماشاء اللہ
    شاباش ساتھیو!
     
    • پسندیدہ پسندیدہ × 1
  19. محسن حجازی

    محسن حجازی محفلین

    مراسلے:
    2,513
    موڈ:
    Breezy
    میں نے نبیل بھائی والے پروگرام کو مزید بہتر کیا ہے، اسے آپ اب یہاں دیکھ سکتے ہیں۔
    عارف، اس والے ورژن کے متعلق بتائیے کہ کیا اس میں بھی یہ مسئلہ آتا ہے؟
    http://pastebin.com/f5fc394f5
    جواب کا انتظار رہے گا۔
    یہی ورژن ایس وی این میں شامل کر دیا گیا ہے۔
     
    • پسندیدہ پسندیدہ × 1
  20. نبیل

    نبیل محفلین

    مراسلے:
    16,742
    جھنڈا:
    Germany
    موڈ:
    Depressed
    زبردست محسن۔
     
    • پسندیدہ پسندیدہ × 1

اس صفحے کی تشہیر