نمایش نتایج 1 تا 3 از 3

نام تاپیک: درخواست یک برنامه نمونه ساده برای برنامه نویسی به وسیله uniscribe در Visual C++‎ win32

  1. #1

    درخواست یک برنامه نمونه ساده برای برنامه نویسی به وسیله uniscribe در Visual C++‎ win32

    سلام ، این اولین پست من هست و اگه نا آشنا هستم عذر میخوام.
    احتیاج به یک برنامه نمونه در مورد uniscribe دارم که به صورت win32 باشه تا بتونم سوالات خودم در مورد برنامه نویسی جهت فارسی نویسی رو جواب بدم. برنامه ایی که خودم نوشتم و البته <usp10.h> رو Include کردم error لینک میده و علتش رو نمیدونم و همچنین uniscribe یه کم پیچیده است و یه برنامه نمونه که error نده میتونه خیلی سودمند باشه.
    تشکر میکنم.

  2. #2

    نقل قول: درخواست یک برنامه نمونه ساده برای برنامه نویسی به وسیله uniscribe در Visual C++‎‎ win32

    تشکر میکنم ، از یه جا گیر آوردم و دوباره نویسی اش کردم.

    case WM_PAINT:
    WCHAR str[10];
    wcscpy(str,L"وحید");
    int len;
    len = (int)wcslen(str);

    HRESULT rslt;
    //SCRIPT_CONTROL *psControl; //*psControl = (SCRIPT_CONTROL )NULL;
    //SCRIPT_STATE *psState; //*psState = (SCRIPT_STATE )NULL;
    int cMaxItems; cMaxItems = 500;
    SCRIPT_ITEM items[500];
    int cItems;

    SCRIPT_CACHE ssc; ssc=NULL;
    int mx_glyph; mx_glyph=len*2+16;

    int glyph_cnt; glyph_cnt = 0;
    int i;
    int dx , dy; dx=0; dy=0;

    rslt = ScriptItemize(str, len,cMaxItems,NULL, NULL,items, &cItems);

    hdc = BeginPaint(hWnd, &ps);
    // TODO: Add any drawing code here...


    for(i=0;i<cItems;i++)
    {
    WORD *clusts; clusts = (WORD*)malloc(sizeof(WORD)*mx_glyph);
    WORD *glyphs; glyphs = (WORD*)malloc(sizeof(WORD)*mx_glyph);
    SCRIPT_VISATTR *sva; sva = (SCRIPT_VISATTR*)malloc(sizeof(SCRIPT_VISATTR)*mx_ glyph);

    ScriptShape(hdc,&ssc,str,len,mx_glyph,&items[i].a,glyphs,clusts,sva,&glyph_cnt);

    ABC abc;
    int *adv;// *adv= NULL;
    GOFFSET *offs;

    offs = (GOFFSET*)malloc(sizeof(GOFFSET)*mx_glyph);
    adv = (int*)malloc(sizeof(int)*mx_glyph);

    ScriptPlace(hdc, &ssc, glyphs, glyph_cnt, sva, &items[i].a,adv, offs, &abc);

    ScriptTextOut(hdc, &ssc, dx, dy, 0/*ETO_CLIPPED*/, NULL/*&lprc*/,&items[i].a, NULL, 0,glyphs, glyph_cnt, adv, NULL, //const int *piJustify
    offs);
    dx += abc.abcA + abc.abcB + abc.abcC;
    }


    EndPaint(hWnd, &ps);
    break;

  3. #3

    نقل قول: درخواست یک برنامه نمونه ساده برای برنامه نویسی به وسیله uniscribe در Visual C++‎ win32

    این هم یه جور دیگش

    case WM_PAINT:
    hdc = BeginPaint(hWnd, &ps);
    // TODO: Add any drawing code here...

    SCRIPT_STRING_ANALYSIS ssa;
    int x,y; x=0; y=0;
    RECT rct; rct.top=0; rct.left=0; rct.bottom=100; rct.right=100;
    HRESULT rslt;
    WCHAR str[10];
    wcscpy(str,L"وحید");
    int len; len= wcslen(str);

    rslt = ScriptStringAnalyse(
    hdc,
    str, len,
    2 * len + 16,
    -1,//ARABIC_CHARSET,
    SSA_GLYPHS,
    0,
    NULL, // control
    NULL, // state
    NULL, // piDx
    NULL,
    NULL, // pbInClass
    &ssa);

    rslt = ScriptStringOut(
    ssa, x, y, 0,//ETO_OPAQUE
    &rct,
    0, 0, FALSE);

    ScriptStringFree(&ssa);

    EndPaint(hWnd, &ps);
    break;

تاپیک های مشابه

  1. مبتدی: برنامه ای ساده برای خاموش ریست یا LOG OFF کردن سیستم
    نوشته شده توسط asghar fr در بخش C#‎‎
    پاسخ: 0
    آخرین پست: جمعه 20 آبان 1390, 16:40 عصر
  2. آموزش: برنامه ای ساده برای کد گذاری فایلها(Encryption)
    نوشته شده توسط pe32_64 در بخش برنامه نویسی با MFC و ++Visual C
    پاسخ: 0
    آخرین پست: پنج شنبه 14 مهر 1390, 14:16 عصر
  3. کمک یه برنامه rpc ساده برای نمونه می خوام
    نوشته شده توسط rajjan20 در بخش توسعه نرم افزارهای تحت شبکه
    پاسخ: 0
    آخرین پست: پنج شنبه 09 دی 1389, 14:05 عصر
  4. به یک نمونه کد برای برنامه دیکشنری نیازمندم.کسی سراغ نداره؟
    نوشته شده توسط ogrenci در بخش برنامه‌نویسی جاوا
    پاسخ: 1
    آخرین پست: دوشنبه 29 شهریور 1389, 12:59 عصر
  5. برنامه ای ساده برای پشتیبانگیری پارادوکس
    نوشته شده توسط JavanSoft در بخش برنامه نویسی در Delphi
    پاسخ: 0
    آخرین پست: یک شنبه 14 تیر 1383, 21:50 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •