نوری نستعلیق کرننگ پر کام!

arifkarim نے 'نوری نستعلیق پراجیکٹ' کی ذیل میں اس موضوع کا آغاز کیا، ‏اگست 17, 2015

  1. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    سب سے پہلی بات یہ کہ ہم نے فنکشن کے نام نادستگی میں الٹ ہی رکھ ڈالے۔ مطلب maxleftatY کا جو فنکشن ہے وہ دراصل گرافکل طور پر left word یعنی اردو کے حساب سے بعد میں آنے لفظ، اس کا سب سے دائیں 'سبز' پکسل نکالتا ہے۔
    ہم نے کوڈ لکھنے کے پہلے دن ہی اتنے الٹے نام رکھ دیے تھے، بعد میں تبدیل کرنا گوارا نہ کیا کیونکہ اس سے ہمارے ذہن میں بنا فنکشنز کا نقش تبدیل کرنا پڑتا۔ :)
    تاہم اپلوڈ کرتے ہوئے کوڈ میں کچھ نہ کچھ کمنٹ کرنا چاہئے تھا۔ بلاضرورت کنفیوژن کے لئے معذرت :(

    دوسرا جو آپ نے لوپ بریک کرنے کی تجویز کی ہے، گمان ہوتا ہے کہ کافی دن قبل ایسی کچھ تبدیلی کی گئی تھی لیکن یاد نہیں کس وجہ سے تبدیلی کو واپس کر دیا تھا۔ ابھی پھر کر کے دیکھتا ہوں۔:)
     
    • معلوماتی معلوماتی × 1
  2. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    100 کا multiple کرنے کی کوئی خاص وجہ ہو تو ضرور بتائیے! کیونکہ راونڈنگ سے تو کرننگ خراب ہوتی ہے۔
    اور اگر کرننگ ویلیو -50 ہو تو؟
     
    • معلوماتی معلوماتی × 1
  3. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    یہ صرف ایک مثالی عدد ہے۔ آپ -50 بھی استعمال کر سکتے ہیں البتہ پھر ٹیبلز کی تعداد بڑھانی پڑے گی۔ راؤنڈنگ کا مقصد گروپ کرننگ ٹیبل کو آپٹیمائز کرنا ہے۔
     
    • معلوماتی معلوماتی × 1
  4. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    بھئی نام کے حوالے سے محتاط رہنا چاہیے، خاص کر تب جب کوڈ کسی اور کی نظروں سے گزرنے والا ہو۔ واقعی ہم حیران تھے کہ یہ کیا ماجرا ہے، x کوآرڈینیٹ دائیں سے بائیں کب سے ماپے جانے لگے۔ بہر کیف آپ کی وضاحت کے بعد ہم نے مذکورہ فنکشن کو تبدیل کرنے کی کوشش کی ہے۔ وی بی سے نا واقفیت کے باعث سنٹیکس وغیرہ کا مسئلہ ہو سکتا ہے۔ :) :) :)
    PHP:
    Private Function MaxLeftAtY(ByRef jc As Color(,), ByVal y As IntegerByRef objBitmap As Bitmap) As Integer

        Dim retval 
    As Integer = -1

        
    For As Integer = (objBitmap.Width 1To 0 Step -1
            
    If jc(xy).255 And jc(xy).>= 0 Then
                retval 
    x
                
    Exit For
            
    End If
        
    Next

        
    Return retval
    End 
    Function
     
    • زبردست زبردست × 1
    • معلوماتی معلوماتی × 1
  5. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    پہلے ہم نے کوڈ کو سہل ترین بنانے کے چکر میں ایک ایج کنڈیشن کو فراموش کر دیا تھا، اسے درست کر دیا ہے۔ :) :) :)
     
    • معلوماتی معلوماتی × 2
  6. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    space گلف والا کوڈ تو کام نہیں کر رہا۔ مطلب 'کر<space>سن' کے درمیان کرننگ نہیں ہورہی۔
    تاہم 'space' کو اگر کسی اور گلف سے تبدیل کیا جائے جیسے 'کز' تو کرکزسن' میں مکمل کرننگ ہوجاتی ہے۔ کہیں اوپن ٹائپ انجن سپیس کو سپیشل کیریکٹر تو نہیں مانتا۔؟
     
  7. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    یہ کوڈ میرے پاس تو کام کر رہا ہے:
    کوڈ:
    DEF_LOOKUP "kern_1" PROCESS_BASE PROCESS_MARKS ALL DIRECTION RTL
    IN_CONTEXT
    LEFT GLYPH "kr"
    RIGHT GLYPH "sn"
    END_CONTEXT
    AS_POSITION
    ADJUST_SINGLE GLYPH "space" BY POS ADV -100 END_POS
    END_ADJUST
    END_POSITION
    END
    
    اور اسکی ویژن انٹرپریٹیشن:
    [​IMG]
     
    مدیر کی آخری تدوین: ‏اپریل 18, 2017
    • معلوماتی معلوماتی × 1
  8. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    پچھلی پوسٹس میں ہم نے ایک چیز ظاہر نہیں کی تھی کہ سب تجربوں کی سکرین شاٹ 1.2GHz پروسیسر سپیڈ پر لی گئی ہیں۔ دراصل ہمارے لیپ ٹاپ میں اوور ہیٹنگ کا مسئلہ آیا ہوا ہے اس لئے ہم پروسیسر کی فیکٹری سیٹنگ 3،33GHZ کی بجائے 1.2GHzکی ٹھنڈی سپیڈ پر گزارا کر رہے ہیں۔
    ابھی ابن سعید بھائی کی حالیہ تجاویز پر عمل کیا اور اپنی طرف سے ایسا کیا کہ لگیچرز امیج سے ناکارہ عمودی فاصلہ (جس میں کوئی سیاہ پکسل نہیں تھا) نکال دیے۔ اس کے بعدچند سیکنڈ کے لئے 2,4GHz سپیڈ پر تجربہ کیا گیا تو کچھ اس طرح کا منظر سامنے آیا:
    [​IMG]
     
    • زبردست زبردست × 5
  9. bilal260

    bilal260 محفلین

    مراسلے:
    1,921
    جھنڈا:
    Pakistan
    موڈ:
    Chatty
    بہت خوب اور معیاری کام ہے۔
     
    • دوستانہ دوستانہ × 1
  10. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    ارے واہ! اتنے کم پروسیسر پر یہ پروسیسنگ اسپیڈ ہے تو فُل پرفارمنس پر کیا کرتا ہوگا! :)
     
    • متفق متفق × 1
  11. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    اگر آپ ہر پئیر کی پروسیسنگ کے بعد یہ لاگ انفارمیشن کنسول پر پرنٹ کراتے ہیں تو غالباً پروسیسنگ اسپیڈ بڑھانے کا ایک اور طریقہ ہے وہ یہ کہ اس قسم کی لاگنگ کنسول (اسٹینڈرڈ آؤٹ) پر کرنے کے بجائے کسی لاگ فائل میں کریں، یا کمانڈ رن کرتے ہوئے اس کا اؤٹ پٹ کسی فائل میں ری ڈائریکٹ کر دیں۔ ونڈوز کے بارے میں ہم کچھ زیادہ نہیں کہہ سکتے، البتہ لینکس میں اسٹینڈرڈ آؤٹ پر کچھ پرنٹ کیا جائے تو وہ ہر نیو لائن کیریکٹر کے بعد آؤٹ بٹ کو فلش کر دیتا ہے، جبکہ فائل رائٹنگ کی صورت میں ڈیٹا کی بفرنگ ہوتی ہے اور ایک مخصوص مقدار میں لکھنے کو ڈیٹا جمع ہو جائے تبھی ان کو فائل میں لکھا جاتا ہے۔ اس عمل سے خاطر خواہ اسپیڈ اپ مل سکتا ہے کیونکہ بار بار اسٹینڈرڈ آؤٹ والی کانٹیکسٹ سوئچنگ نہیں ہو گی اور اس کی رینڈرنگ میں وقت ضائع نہیں ہوگا۔ :) :) :)
     
    • متفق متفق × 2
    • زبردست زبردست × 1
  12. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    آپ "ہاؤ ٹو رائٹ اَن مینٹینبل کوڈ" ملاحظہ فرمائیں۔ :) :) :)
     
    • زبردست زبردست × 1
    • معلوماتی معلوماتی × 1
    • پر مزاح پر مزاح × 1
  13. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    انتہائی پرمزاح۔ :)
    اسی وجہ سے ہم نے نیو لائن کی بجائے سادہ 'کیرج ریٹرن' سے کام چلایا ہوا ہے۔ ویسے آوٹ پٹ ،فائل کی طرف ڈایریکٹ کر دی جائے تو پروگرام خاموش سا ہو جاتا ہے، جو ہمیں بالکل ھضم نہیں ہوتا۔
     
    • معلوماتی معلوماتی × 1
  14. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    ہمارا نہیں خیال کہ لائن فیڈ کے بجائے فقط کیرج ریٹرن استعمال کرنے سے بفرنگ ہونے لگے گی، بہر کیف آپ کو ونڈوز کے بارے میں بہتر علم ہوگا۔ آؤٹ پٹ کسی فائل کی طرف ریڈائریکٹ کرنے کے بعد پروگرام خاموش سا ضرور ہو جاتا ہے لیکن اس کا یہ مطلب نہیں کہ آپ اس کی پروگریس نہیں دیکھ سکتے۔ لینکس میں اس کام کے لیے درج ذیل کمانڈ موجود ہے:
    کوڈ:
    $ tail -f output.log
    یعنی لاگ فائل کو ایک علیحدہ ٹرمنل میں مذکورہ بالا کمانڈ سے کھولنے پر اس کی آخری سطور اسٹریم ہونے لگتی ہیں اور جیسے جیسے لاگ فائل میں کچھ نیا شامل ہوتا ہے، وہ نظر آتا رہتا ہے۔ غالباً ونڈوز میں بھی اس کا متبادل موجود ہے:
    کوڈ:
    > Get-Content output.log –Wait
    :) :) :)
     
    • معلوماتی معلوماتی × 3
  15. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    عارف بھائی مستقبل کا لاحیہ عمل طے کریں۔ کچھ سوالات۔۔۔
    ۱) کیا نعیم سعید ہی کی لسٹ کو پروسیس کرنا ہے۔
    ۲)سنگل ایڈجسٹمنٹ بہتر آپشن لگ رہا ہے۔ ہزاروں لگیچرز پیئرز کی پروسیسنگ کے بعد کیا ہزاروں ٹیبل امپورٹ ہوں گے۔ گروپنگ کا عمل سمجھا دیجئے۔
    ۳)ان ٹیبلز کے ساتھ ساتھ کیا سپیس کے لئے ہزاروں ٹیبل مزید بنائے جائیں گے۔

    سب محفلینز کے لئے ایک جامع تحریر اس لڑی میں پوسٹ کر دیں۔بلاشبہ ہمیں افاقہ ہوگا۔:)
     
    • متفق متفق × 2
    • زبردست زبردست × 1
  16. نبیل

    نبیل محفلین

    مراسلے:
    16,796
    جھنڈا:
    Germany
    موڈ:
    Depressed
    یہ جو ایگزیکیوشن ٹائم کی بار بار بات ہو رہی ہے تو کیا یہ کوئی اتنا criticalفیکٹر ہے؟ اگر کچھ منٹ بھی پراسیسنگ میں لگتے ہیں تو میرے خیال میں قابل قبول ہونا چاہیے۔ البتہ اگر معاملہ گھنٹوں کا ہو تو آپٹمائزیشن پر سوچ بچار ضرور کرنی چاہیے۔
     
    • متفق متفق × 3
  17. دوست

    دوست محفلین

    مراسلے:
    13,081
    جھنڈا:
    Germany
    موڈ:
    Fine
    یہ کوئی بڑا مسئلہ نہیں ہے۔ کوڈ آپٹمائزیشن کی اہمیت اپنی جگہ تاہم یہ گھنٹے بھی لے تو کام کو مختلف کمپیوٹروں پر تقسیم کیا جا سکتا ہے۔ مثلاً پروگرام اور ان پٹ کا ایک حصہ مجھے فراہم کر دیا جائے تو پروسیسنگ کے بعد آؤٹ پٹ یہاں فراہم کر سکتا ہوں۔ میرا سسٹم کافی ہیوی ڈیوٹی تو نہیں لیکن امید ہے کہ ایک دو گھنٹے پروسیسنگ کر ہی سکتا ہے (فورتھ جنریشن انٹیل 1.7 گیگا ہرٹز ڈوئل کور/ 2.4 گیگا ہرٹز سنگل کور زیادہ سے زیادہ سپیڈ)۔
     
    • زبردست زبردست × 2
  18. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    جی اب ہمرے خیال میں اتنی سپیڈ حاصل ہو گئی ہے کہ عملی نتائج کے لئے پروسیسنگ پر لگا دیا جائے اور اگر پروسیسنگ parameters غلط بھی ہو جائیں نتیجتا پروسیسنگ دوبارہ کرنی پڑھے تو وقت کا اتنا ضیاع نہ ہوگا۔
     
    • پسندیدہ پسندیدہ × 1
    • زبردست زبردست × 1
  19. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    نعیم سعید بھائی اگر کنفرم کر دیتے ہیں کہ انکی فراہم کر دہ لسٹ جامع اور مکمل ہے تومیرے خیال میں اسی کو بنیاد بنا لیتے ہیں۔
    اس لسٹ میں جو الفاظ ہیں انہیں پراسیس کرنے سے قبل انکا جمیل نوری نستعلیق میں موجود تمام ترسیموں کیساتھ موازنہ کرنا ہوگا اور جن الفاظ میں یہ ترسیمے موجود نہ ہوں انہیں پراسیس کرنے کی ضرورت نہیں۔

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

    اسپیس کیساتھ کرننگ بعد کا مسئلہ کا ہے۔ فی الوقت الفاظ کے اندر کرننگ پر توجہ دیں :)
     
    آخری تدوین: ‏اگست 23, 2015
    • زبردست زبردست × 1
  20. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    مدیر کی آخری تدوین: ‏اپریل 18, 2017
    • زبردست زبردست × 9
    • پسندیدہ پسندیدہ × 2

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