کرننگ جانچنے کے لئے لگیچرز کی جوڑیاں

mohdumar نے 'ٹائپو گرافی اور خطاطی' کی ذیل میں اس موضوع کا آغاز کیا، ‏اگست 11, 2015

  1. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    غالباً کہیں پاک ورڈ فائنڈر کا سورس کوڈ بھی دستیاب ہے۔ :) :) :)
     
    • معلوماتی معلوماتی × 2
  2. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    میری معلومات کے مطابق ابرارحسین اپنے پروگرامز کا سورس پبلک نہیں کرتے۔ لیکن دیگر پروگرامرز کیساتھ شیئر کرنے میں کیا حرج ہے؟ ابرار بھائی سے ہماری خاص درخواست ہو گی کہ mohdumar صاحب کی اس سلسلہ میں مدد فرمائیں :)
     
    • پسندیدہ پسندیدہ × 1
  3. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    ابرار بھائی کو اسکائپ پر میسیج کر دیا ہے۔ امید ہے اسکا کوڈ آپ کو جلد فارورڈ کر دیں گے۔
     
    آخری تدوین: ‏اگست 16, 2015
    • پسندیدہ پسندیدہ × 1
  4. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    نعیم سعید
    لسٹیں پراسیس کرنے سے پہلےاچھی طرح تسلی کر لیں کہ یہ فائنل ہیں؟ مطلب مزید رد و بدل کی ضرورت تو نہیں؟
     
  5. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    فرض کریں اگر ہم خود کوڈ لکھتے ہیں تو ہمرے ذہن میں اس وقت صرف یہی تکنیک ہے کہ لگیچرز کے standard array سے میچنگ کے ذریعے لفظ کے لگیچر نکالے جائیں۔ اس کے لئے پروسیسر کا بھاری استعمال ہوگا البتہ سرچنگ کو انڈیکسز وغیرہ کی مدد سے تیز بنایا جا ستکا ہے۔ ابرار صاحب بیشک کوڈ فراہم نہ کریں بس اپنی تکنیک کا خاکہ پیش کردیں۔ :)
     
    • معلوماتی معلوماتی × 1
  6. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    اس کا سہل طریقہ یہ ہے کہ ان حروف کی فہرست بنا لیں جن کے بعد کوئی حرف جڑتا نہیں ہے، مثلاً الف، د فیملی، ر فیملی، و اور ے وغیرہ۔ پھر الفاظ کی فہرست کو یکے بعد دیگرے حرفاً حرماً پراسیس کریں اور جہاں کہیں بھی "نان جوائنر" حروف ملیں وہاں وہاں سے لفظ کو ٹکڑوں میں توڑ لیں لیکن ان ٹکڑوں کی ترتیب برقرار رکھیں (مثلاً کسی ارے میں) اس کے بعد اس ارے کی مدد سے ہر دو آس پاس کے ایلیمنٹ کا جوڑا بنا کر تمام لگیچر پئیر حاصل کر لیں۔ :) :) :)
     
    • متفق متفق × 2
    • زبردست زبردست × 1
  7. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    جناب، میرے ذہن میں بھی کچھ اس قسم کا ہی آئیڈیا ہے جیسا کہ اوپر ابن سعید بھائی نے ذکر کیا کہ الفاظ کو ان مقامات پر توڑیں جہاں کرننگ پیئر بنتا ہو۔ جیسے د، ڈ، ذ، ر، ڑ، ز، ژ، ا، آ،أ،‎إ، ۃ،و،ؤ وغیرہ وغیرہ
    البتہ ان الفاظ کے پیئرز انکے اخیر سے کیسے شروع ہوں گے مطلب سائکل میں اسکا مجھے علم نہیں۔ شاید سعود ، ابرارحسین رانا یا نبیل بھائی اس پر کچھ مزید روشنی ڈال سکیں :)
     
    • دوستانہ دوستانہ × 1
  8. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    ہم کافی دماغ کھپائی کے بعد recursionکے ذریعے اخیر سے لگیچر الگ کرنے میں کامیاب ہوگئے ہیں البتہ یہ کام ہم نے د،ڈ،ذ جیسے حروف کو لگیچر ارے میں شامل کر کے کیا ہے۔ امید ہے کہ چند ہزار الفاظ کی پروسیسنگ میں پرفامنس بڑا مسئلہ نہیں ہوگی۔
     
    • زبردست زبردست × 3
  9. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    ہم نے لیگیچرز اور لگیچر پئیرز اخذ کرنے کے لیے جاوا اسکریپٹ میں ایک بنیادی کوڈ لکھ دیا ہے۔ یہ کوڈ دیے گئے فہرست الفاظ سے حاصل شدہ تمام لگیچرز اور لگیچر پئیرز کو ان کی فریکوئنسی کے اعتبار سے محفوظ کرتا ہے۔ بنیادی الگورتھم کو درج ذیل کوڈ سے سمجھا جا سکتا ہے، جبکہ اس کو استعمال کرتے ہوئے ایک عدد تمثیلی صفحہ جے ایس فڈل پر ملاحظہ فرمایا جا سکتا ہے۔ :) :) :)
    PHP:
    function genLigs(words) {
        var 
    nonjoiners "ادڈذرڑزژوے";
        var 
    ligatures = {};
        var 
    ligpairs = {};
        for(
    0words.lengthi++) {
            var 
    ligs = [];
            var 
    letters words[i].split("");
            var 
    lig "";
            for(
    0letters.lengthj++) {
                
    lig += letters[j];
                if(
    nonjoiners.indexOf(letters[j]) >= || == letters.length 1) {
                    
    ligs.push(lig);
                    
    ligatures[lig] = ++ligatures[lig] || 1;
                    
    lig "";
                }
            }
            if(
    ligs.length 1) {
                for(
    ligs.length 10k--) {
                    var 
    pair ligs[k-1] + ligs[k];
                    
    ligpairs[pair] = ++ligpairs[pair] || 1;
                }
            }
        }
        return {
    "ligatures"ligatures"ligpairs"ligpairs};
    }
     
    • زبردست زبردست × 5
  10. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    اگر کوڈ سمجھنے میں کوئی مشکل درپیش ہو تو ہم اس میں ان لائن کمنٹ شامل کر سکتے ہیں۔ :) :) :)
     
    • زبردست زبردست × 2
  11. mohdumar

    mohdumar محفلین

    مراسلے:
    144
    جھنڈا:
    Pakistan
    موڈ:
    Blah
    بہت زبردست جناب۔ ہم نے آپ کی پچھلی پوسٹ کا کچھ غلط مطلب لے لیا اورالٹے چکروں میں پڑھ گئے ورنہ آپ کا الگورتھم تو بہت robust اور straightforward ہے۔ اس کو فراہم کر نے کا شکریہ۔
     
    • زبردست زبردست × 1
  12. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    ہمارے کوڈ میں ایک معمولی سی غیر دانستہ ٹائپو سرزد ہو گئی تھی جس میں ہم کاؤنٹر کو انکریمنٹ نہیں کر رہے تھے۔ ہم نے کوڈ درست کر دیا ہے اور فڈل کے روابط بھی درست کر دیے ہیں۔ :) :) :)
     
    • زبردست زبردست × 2
  13. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    آپ کی وضاحت بالکل بھی سمجھ میں نہیں آئی۔ اگر مثال دے کر واضح فرما سکیں تو سمجھنے میں سہولت ہوگی۔ :) :) :)
     
    آخری تدوین: ‏اپریل 18, 2017
    • متفق متفق × 2
    • دوستانہ دوستانہ × 1
  14. نبیل

    نبیل محفلین

    مراسلے:
    16,799
    جھنڈا:
    Germany
    موڈ:
    Depressed
    میں بھی یہی کہنا چاہ رہا تھا۔ اوپر اور نیچے ایک ہی ٹیبل نظر آ رہی ہے۔ یہ معلوم نہیں ہو رہا ہےکہ کونسے ڈپلیکیٹ حذف کیے جا رہے ہیں۔
     
    • دوستانہ دوستانہ × 1
    • متفق متفق × 1
  15. شاکرالقادری

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

    مراسلے:
    2,696
    موڈ:
    Cheerful
    بہت خوب یہ زبردست کام ہو گیا ہے اور ڈپلیکیٹ بھی حذف ہو رہے ہیں
     
    • دوستانہ دوستانہ × 1
  16. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    [​IMG]
    ان تمام لسٹوں کو اوپر تلے ایک کالم میں رکھ کر ڈپلیکیٹس واضح کرنے کے بعد:
    [​IMG]
    مذکورہ ڈپلیکیٹس فائنل لسٹ میں سے حذف کئے جا سکتے ہیں۔ چونکہ یہ صرف مثال تھی اسلئے آخری دو لسٹوں میں ایک بھی پیئر نہیں بچا۔ :) :) :)
     
    مدیر کی آخری تدوین: ‏اپریل 18, 2017
  17. ابن سعید

    ابن سعید خادم

    مراسلے:
    60,174
    بھئی ڈپلیکیٹ حذف کرنا کوئی جناتی کام نہیں لیکن اس کے بعد حتمی فہرست کس صورت درکار ہے؟ کیا وہ یک کالمی فہرست ہوگی یا کالم دوبارہ ری اسٹور کیے جائیں گے، اگر ہاں تو ان خالی مقامات کا کیا کرنا ہوگا جہاں سے جوڑے حذف ہوئے؟ :) :) :)
     
    آخری تدوین: ‏اپریل 18, 2017
    • زبردست زبردست × 1
    • متفق متفق × 1
  18. arifkarim

    arifkarim معطل

    مراسلے:
    29,828
    جھنڈا:
    Norway
    موڈ:
    Happy
    ظاہر ہے کالم دوبارہ ری اسٹور کرنے ہوں گے۔ ڈپلیکیٹس ہمیشہ نیچے سے حذف کئے جائیں تاکہ اخیر کے حساب سے لسٹوں کی سارٹنگ کا ڈھانچہ برقرار رہ سکے :)
     
    آخری تدوین: ‏اگست 16, 2015
  19. ابن سعید

    ابن سعید خادم

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

    ابرارحسین محفلین

    مراسلے:
    378
    جھنڈا:
    SaudiArabia
    موڈ:
    Brooding
    یار جب کسی نے مانگا میں نے سورس کوڈ دیا ہے، شروع میں پروگرام کے ساتھ سورس کوڈ بھی اپلوڈ کرتا تھا ، لیکن بعد میں اب ڈیٹ کے ساتھ مینٹین نہیں رکھ سکا۔ آج کل گھر شفٹ کر رہا ہوں اس وجہ سے گھر میں انٹرنیٹ نہٰں ہے، اور آفس میں مصروفیت کافی زیادہ ہے کہ اس تھریڈ کو بھی پڑھے بغیر جواب دے رہا ہوں، (خیر موقع ملتے ہے چیک کروں گا۔) لگتا ہے اردو کے حوالے سے کچھ اچھی پراگرس ہو رہی ہے ۔
    لیٹسٹ سورس کوڈ میں کوشش کرتا ہوں کہ جلد سے جلد اپلوڈ کر دوں۔ باقی آپ لوگوں کی بات چیت پڑھنے کے بعد اگر کچھ اچھا آئیڈیا ذہیں میں آیا تو ضرور شامل کر وں گا۔
     
    • زبردست زبردست × 3
    • معلوماتی معلوماتی × 1

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