# فناوری جاوا > برنامه‌نویسی جاوا > Java ME : نگارش میکرو جاوا > آموزش: ماهیگیری یاد بگیریم (قسمت اول ساخت فونت فارسی)

## mohsen12345

با سلام خدمت دوستان عزیز
با توجه به پست هایی که توی این فروم داده می شه تا حدودی فهمیدم که تقریبا اکثر دوستان ماهیگیری بلد نیستند و دنبال دریافت ماهی از دیگران می باشند.
پس لازم دونستم که هر بار یه پروژه رو شروع کنیم تا روش های صحیح الگوریتمی رو همه ما از همدیگه یاد بگیریم

مدیر های انجمن لطفا این تاپیک هایی که رو که کتابخونه ارایه میدن یا فقط صرفا برای معرفی یک محصول شخصی هست حذف کنند
خب تو این قسمت میریم سراغ ساخت فونت 

(دوستان برای بالا نرفتن تعداد صفحات لطفا اگه در مورد اون سوال پرسیده شده قبلا نظری دادید فقط اون نظر رو ویرایش کنید و از زدن تاپیک اضافی خودداری کنید، مگر در صورت احتیاج و جواب تاپیک دیگران)

(دوستان عزیز این ساخت فونت با فرض اینکه شما دارید یک مقدار یک متغییر رو چاپ می کنید هست و الگوریتم تایپ یا همون گرفتن از صفحه کلید نیست)

----------


## mohsen12345

خب اول میریم سراغ ساخت فونت
واسه ساخت فونت چه کارهایی باید بکنیم (یک دید کلی از ساخت فونت رو مطرح کنید)
(دوستان همه هر نظری دارن بدن و نگن که نظر کاملتر هست و نیازی نیست)
(فعلا فقط الگوریتم هست ، پس دوستان وارد کد نویسی نشوند)

----------


## mohsen12345

نظر اول از خودم
اول از همه باید یه عکس کامل که توش فونت قرار داده شده داشته باشیم 
بعد باید ما کلماتی رو که توی این فونت استفاده می کنیم داشته باشیم (حالا با هر روشی توی آرایه می خواهیم ذخیره کنیم)
بعد طول کلمات رو داشته باشیم (که اون هم تو یه آرایه متناظر مثل آرایه اول) 
بعد از همه باید کلمات از عکس جدا کرده و به ترتیب پشت سر هم چاپ کنیم.
(برای فونت فارسی باید به حروف اول چسبان ، وسط چسبان و آخر چسبان دقت کنیم)

----------


## mohsen12345

دوستان تازه کار انگار علاقه ای به یادگیری ندارند و فقط دنبال کد هستند!!!!!!!!!!
اگه اینطوره بگین که ما تکلیف خودمون رو بدونیم

----------


## dr_jacky_2005

> دوستان تازه کار انگار علاقه ای به یادگیری ندارند و فقط دنبال کد هستند!!!!!!!!!!
> اگه اینطوره بگین که ما تکلیف خودمون رو بدونیم


 آخه وقتی من هیچی راجع به فونت ساختن نمیدونم،چی بگم؟!
فقط خبر دارم که پست قبلیتون کاملا درسته.
راستی شما گفتید  : یه آرایه که طول ها تووش است ( یعنی از قبل ).ولی من یه جا دیگه شنیدم که میان طول ها رو حساب میکنن.(اینطوری داینامیک تر میشه ).

یه بابایی رو هم دیدم که اومده بود فونت ساز Polish رو فارسی سازی کرده بود.آدرس این فونت ساز هم اینه : 
C:\J2ME-Polish2.1.4\bin

ولی من شخصا نتونستم اجراش کنم!!!

----------


## mohsen12345

> آخه وقتی من هیچی راجع به فونت ساختن نمیدونم،چی بگم؟!
> فقط خبر دارم که پست قبلیتون کاملا درسته.
> راستی شما گفتید  : یه آرایه که طول ها تووش است ( یعنی از قبل ).ولی من یه جا دیگه شنیدم که میان طول ها رو حساب میکنن.(اینطوری داینامیک تر میشه ).
> 
> یه بابایی رو هم دیدم که اومده بود فونت ساز Polish رو فارسی سازی کرده بود.آدرس این فونت ساز هم اینه : 
> C:\J2ME-Polish2.1.4\bin
> 
> ولی من شخصا نتونستم اجراش کنم!!!


 با تشکر از دوست عزیز
وقتی آدم می بینه که یکی آموزش بدردش خورده خوشحال می شه
اولا ما قصد داریم خودمون فونت بسازیم نه از هیچ کتابخونه آماده ای 
این تاپیک رو راه انداختم که تفکر برنامه نویسیتون تغییر کنه و بتونید مشکلاتتون رو خودتون حل کنید نه برید سراغ کتابخونه های آماده
پس هر چی به ذهنتون میاد بنوسین
در مورد آرایه طول هم باید بگم فرقی نمی کنه ، ما طول رو از همون اول با هم جمع می کنیم

----------


## mohsen12345

خب انگار این بحث رو باید خودم ادامه بدم تا ددوستان یه کم راه بیفتن
نظرتون رو راجع به تابع عا بگین ، چه توابعی داشته باشیم

خب اولین نظر رو من می دم ، به نظر من ما چهار تابع داریم
اولی برای اینکه خطوط رو با توجه به سایزی که برای اندازه صفحه چاپ در نظر می گیریم مشخص کنه
دومی برای اینکه طول هر کدوم از حروف رو در بیاره و همچنین اگه کلمات انگلیسی داریم (یا کلماتی که نیاز به نوشتن از سمت چپ رو دارن) برعکس کنه و همه رو تو یه آرایه String ذخیره کنه  که این خودش توسط تابع بالایی فراخوانی می شه

سومین تابع برای مشخص ارسال یک خط برای چاپ باشه که یه خانه از آرایه String رو بهش می فرستیم

چهارمین تابع هم برای چاپ کاراکتر ها هستش

دوستان هر نظری که به ذهنتون می زنه بگید.

----------


## lyrebird

سلام
من خیلی علاقه مند بودم که روش ساختن فونت فارسی و کلا فارسی نویسی در j2me رو یاد بگیرم، اما نمی دونستم از کجا باید شروع کنم. خیلی خوشحالم و ممنونم که این بحث رو شروع کردید.

----------


## dr_jacky_2005

واقعا دوس دارم کمک کنم،ولی نمیدونم چی بگم... :(
آخه دو تا سمت هست...
سمت ویندوزی که داره اون فایل فونت رو میسازه...
یکی هم سمت موبایل که میخواد از اون استفاده کنه.
راستی ما از روش PNG میریم یا یه فایل فونت میسازیم؟مثلا با پسوند .f

----------


## mohsen12345

> واقعا دوس دارم کمک کنم،ولی نمیدونم چی بگم... :(
> آخه دو تا سمت هست...
> سمت ویندوزی که داره اون فایل فونت رو میسازه...
> یکی هم سمت موبایل که میخواد از اون استفاده کنه.
> راستی ما از روش PNG میریم یا یه فایل فونت میسازیم؟مثلا با پسوند .f


با تشکر از پیگیری هاتون
ما از روش استفاده از PNG جلو میریم
خب بهتره که روش آموزش رو عوض کنم
من فایل فونت رو براتون ساختم ولی یه تغییرات کوچکی توش دادم که اجرا نمی شه ، شما باید بگردید و اون مشکل رو پیدا کنید
(قصدم اذیت کردن شما نیست ، هدف اینه که تابع ها رو مجبور بشید به دقت Trace کنید و روال گرافیک موبایل دستتون بیاد)
در ضمن من اولین کامنتی که توی این تاپیک دادم انگار بعضی از دوستان ناراحت شدند و فکر کردند جسارتی بهشون شده 
حرف من فقط این بود : معرفی محصولا توی قسمت معرفی محصولات نرم افزاری داده بشه نه تو بخش آموزشی

این فونت رو خواهید دید که یه فونت کامل (مثلا مثل کارهایی که فتوشاپ یا ورد می کنه ) نیست و کامل کردنش هم کار سختی نیست ، فقط یه کم همت می خواد که اون هم فعلا باشه واسه بعد (فعلا اول کار با گرافیک سطح پایین رو یاد بگیرید ، بعد به حرف زدن در مورد اون هم می رسیم

----------


## dr_jacky_2005

به نظر من همون روش اول بهتر بود....
حاجی ما نمیدونیم چطوری فونت ساز و فونت استفاده کن،بسازیم،شما یه برنامۀ کامل فونتی دادین،ما دیباگ کنیم؟!
من کلی تریس کردم!چیزی دستگیرم نشد!
من میگم شما تیکه تیکه،scope scope کد فونت سازتون رو توضیح بدین...
حالا یا نسخۀ سالم هم دست ما باشه،یا نه،دوس داشتین،اینجا هی تیکه تیکه بگین که چطوری فونت ساز بسازیم.

----------


## lyrebird

منم نتونستم اشکالشو پیدا کنم، حالا یه راهنمایی بکنید

----------


## mohsen12345

> به نظر من همون روش اول بهتر بود....
> حاجی ما نمیدونیم چطوری فونت ساز و فونت استفاده کن،بسازیم،شما یه برنامۀ کامل فونتی دادین،ما دیباگ کنیم؟!
> من کلی تریس کردم!چیزی دستگیرم نشد!
> من میگم شما تیکه تیکه،scope scope کد فونت سازتون رو توضیح بدین...
> حالا یا نسخۀ سالم هم دست ما باشه،یا نه،دوس داشتین،اینجا هی تیکه تیکه بگین که چطوری فونت ساز بسازیم.


 خوشحالم از اینکه پیگیری می کنید
راستش رو بخواهید خطای منطقی که قرار دادم به همین راحتی به دست نمی یاد و لااقل دو سه روزی Trace می خواد  تا منطق کامل تابع ها رو دستتون بیاد
این Trace براتون خیلی خوب بود ( چون باعث شد یک روش کد نویسی رو که از اول کار کردید بشکنید و مجبور بشید کد های بقیه رو بخونید و این باعث می شه ذهنتون تو برنامه نویسی خیلی قوی تر بشه)
ولی اگه بعد تلاش های زیاد به نتیجه نرسیدید من اون رو تو گروه J2ME_Share گذاشتم که همه استفاده کنند نه تنها بچه های این فروم (Document هم باهاش گذاشتم که توضیح دادم خطای منطقی کجاست)

http://tech.groups.yahoo.com/group/J...Canvas%20Font/
با تشکر

----------


## lyrebird

سلام
من داکیومنت رو مطالعه کردم و خواستم برنامه شما رو امتحان کنم. یه متن جایگزین متن شما کردم ولی حروف رو نمی شناخت. بعد که دقت کردم دیدم لیترال هایی که این سایت برای کلمات فارسی تولید می کنه با مال شما فرق داره. مثلا برای حرف "ف"  \u0641 رو تولید می کنه ولی شما در متنی که چاپ کردید \uFED3 رو به جای ف قرار دادید. فکر می کنم این سایتی که من استفاده می کنم بین حروف کوچک و بزرگ تفاوتی قائل نمیشه. شما این کاراکترها رو چطوری می سازید؟

----------


## mohsen12345

> سلام
> من داکیومنت رو مطالعه کردم و خواستم برنامه شما رو امتحان کنم. یه متن جایگزین متن شما کردم ولی حروف رو نمی شناخت. بعد که دقت کردم دیدم لیترال هایی که این سایت برای کلمات فارسی تولید می کنه با مال شما فرق داره. مثلا برای حرف "ف"  \u0641 رو تولید می کنه ولی شما در متنی که چاپ کردید \uFED3 رو به جای ف قرار دادید. فکر می کنم این سایتی که من استفاده می کنم بین حروف کوچک و بزرگ تفاوتی قائل نمیشه. شما این کاراکترها رو چطوری می سازید؟


 آزه متاسفانه کاراکتر هاش رو با Unicode جهانی یکی ننوشتم (حالا دلایلی واسه خودم بود و چون وقت زیادی نداشتم همون کاراکتر های خوددم رو براتون کپی کردم) 
شما فقط توی قسمت آرایه Koodakc کاراکتر های جدید رو با توجه به عکس کاراکتر ها که با برنامه بود (از چپ به راست) دوباره باز نویسی کنید (کاراکتر فاصله در آخر یادتون نره )

----------


## dr_jacky_2005

> سلام
> من داکیومنت رو مطالعه کردم و خواستم برنامه شما رو امتحان کنم. یه متن جایگزین متن شما کردم ولی حروف رو نمی شناخت. بعد که دقت کردم دیدم لیترال هایی که این سایت برای کلمات فارسی تولید می کنه با مال شما فرق داره. مثلا برای حرف "ف"  \u0641 رو تولید می کنه ولی شما در متنی که چاپ کردید \uFED3 رو به جای ف قرار دادید. فکر می کنم این سایتی که من استفاده می کنم بین حروف کوچک و بزرگ تفاوتی قائل نمیشه. شما این کاراکترها رو چطوری می سازید؟


 این یه سایت دیکدر یونیه:
http://www.rishida.net/tools/conversion/

من دو تا یونی کد هارو گذاشتم.
زمین تا آسمون با هم فرق میکنن

میشه:

\uFED3   :   ﻓ

feye chasbaan
______________
اون یکی هم نچسبان

===============
حالا بزارین مشکلات رو دو چندان کنم... (کارم اینه  :لبخند گشاده!:  )
ﻑ :  U+FED1
ﻒ : U+FED2
ﻔ : U+FED4

و تا اونجایی هم که من میدونم و دیدم،همه لایبراری ها و کد ها،از این سری یونیکد ها استفاده کردن.نه اون u0641

----------


## dr_jacky_2005

این چیز ها رو بعد از خوندن مقاله،فکر کردم بیان کنم.
بعضی هاش سواله...
امیدوارم جواب بدین دوستم
_________________________
دیدم توی تعریف متغیر ها،این رو داریم:

Liner=new String[100];

خب،یعنی تعداد خطوط نمیتونن بیشتر از 99 تا خط بشه؟!
راستی،بیایم داینامیکی سایز آرایه رو بدیم.
تا اونجا که من دیدم،ما توی هر Scope Code این رو داریم:

Liner[LineCount]=Buf1.toString();

و چون میخواستیم مقدار liner رو توی تابع PrintLine استفاده کنیم،اومدیم، از اول آرایۀ Liner رو پابلیک تعریف کردیم.من میگم بیایم توی هر Scope اینطوری آرایۀ Liner رو استفاده کنیم:

String[] Liner= new String[LineCount];

بعد 2 تا راه داریم...
بیایم از وکتور استفاده کنیم،که سرعتش از ArrayList که توی J2SE داریم،به دلیل متدهای synchronized پایین تره.
این یه سمپل:

Vector strings=new Vector();
strings.addElement("HELLO");
//then convert it to string array
String str[]=new String[strings.size()];
str[0]=(String)strings.get(0);


یعنی بیایم وکتور رو پابلیک تعریف کنیم.
بعد توی For از تابع printLine بیام اینو بنویسیم:

printstr((String)strings.get(i),

بجای این که الآن است:

printstr(Liner[i],

یا بیایم از این کلاس استفاده کنیم که واسه آرایۀ داینامیک استرینگی است:

public class DynamicStringArray {
    private static final int CAPACITY_INCREMENT = 10;
    private static final int INITIAL_CAPACITY = 10;

    private final int capacityIncrement;

    public int length = 0;
    public String[] array;

    public DynamicStringArray(int initialCapacity, int capacityIncrement) {
        this.capacityIncrement = capacityIncrement;
        this.array = new String[initialCapacity];
    }

    public DynamicStringArray() {
        this(CAPACITY_INCREMENT, INITIAL_CAPACITY);
    }

    public int append(String str) {
        final int offset = length;
        if (offset == array.length) {
            String[] old = array;
            array = new String[offset + capacityIncrement];
            System.arraycopy(old, 0, array, 0, offset);
        }
        array[length++] = str;
        return offset;
    }

    public void removeElementAt(int offset) {
        if (offset >= length) {
            throw new ArrayIndexOutOfBoundsException("offset too big");
        }

        if (offset < length) {
            System.arraycopy(array, offset + 1, array, offset, length - offset
                    - 1);
            length--;
        }
    }
}



فقط شما بیا یه کاری کن ، اگه دوس داشتی این کلاس رو تست کن،ببین جوای میده این راه
__________________________________________________  __________________________________
موارد بعدی رو توی پست های جدا میدم،این خیلی بزرگ شد

----------


## dr_jacky_2005

گفتین که متغیر w برای نگه داشتم طول کلمات است.
درستم هست...اومدین با متغیر koodak که تووش پره عدده،که طول هستند،پرش میکنید.
خب!؟ اگه فونت رو عوض کنیم،ما باید بیایم بشینیم 3 ساعت این طول هارو ( حالا معلوم نیست به چه روشی ) ،در بیاریم؟!
راستی،این عکس Koodak که کنار سورس است،طوریه که همه جوره میشه سایزش رو زیاد کرد؟ یعنی ما همین یه عکس رو داشته باشیم،میتونیم فونت سایز های مثلا 14 هم داشته باشیم؟
یا برای هر فونت سایز باید یه عکس؟! 
احتمالا نه! باید برای هر سایز،یک عکس داشت . چون توی پی دی اف گفته بودین که ImageAddress واسه حرکت بین عکس ها

______________________________

----------


## dr_jacky_2005

الآن دیدم که شما از بعضی یونیکد های اون حرف ف چسبان در charset استفاده کردین.
همه میدونیم که اگه این چرست کامل باشه،دیگه مشکلی نخواهیم داشت.
شما از کامل بودن این آرایه مطمئن هستین؟
یا بیایم با دوستان دست به دست هم کاملش کنیم و کد های یونی کد بیشتری بهش اضافه کنیم؟
تا اونجا که من دارم میبینم،کامل نیست.
عدد های فارسی نداره.
و تا اونجایی هم که من میدونم،دو مدل یونی کدی،عدد فارسی داریم.
من حاضرم در تکمیل این charSet بهتون کمک کنم

----------


## dr_jacky_2005

یه سوال در مورد تابع چک خنثی:
یعنی فرق نمیکنه که این کاراکتر حنثی بین حروف فارسی
یا بین عدد
یا بین انگلیسی
یا بین ترکیب اینا باشه؟
درست چاپ میشه!؟
الآن همینطوریش برنامۀ officeWord کلی با این قضیه مشکل داره ها.
یا همین قسمت تایپ در فروم ها.
برعکس میشن یهو
جابجا چاپ میشه!
میخواستم ببینم اینجا مشکلی نیست؟

----------


## dr_jacky_2005

بین حروف فواصلی میفته...
که این بخاطر اون آرایۀ طولیه که داریم.
میخواستم بدونم که اون عرض هارو از کجا به دست آوردین؟
راستی...
اون عکس رو چطور ساختین؟

تا اونجا که من میدونم،همه اومدن پولیش رو فارسی کردن،از فونت ساز اون استفاده میکنن
و چون جاوا در محاسبۀ عرض کاراکترهای یونیکدی مشکل داره،اون ها با مشکل مواجه شده ان.
شما اگه بگین چطوری این عکس رو ساختین،من حاظرم بیام برنامۀ ویندوزیش رو با C#‎ بنویسیم.
دات ت دقیق تر محاسبه میکنه این یک مورد رو :لبخند گشاده!:

----------


## dr_jacky_2005

آقای mohsen12345 عزیز،شما این تاپیک رو دیدن؟
قضیه چیه؟
مال شما بهتره؟
تفاوت هاتون چیه؟
https://barnamenevis.org/showthread.p...D8%B3-NTL_font

----------


## mohsen12345

> آقای mohsen12345 عزیز،شما این تاپیک رو دیدن؟
> قضیه چیه؟
> مال شما بهتره؟
> تفاوت هاتون چیه؟
> https://barnamenevis.org/showthread.p...D8%B3-NTL_font


 با سلام
متاسفم از این که دیر سر زدم
من همون طور که گفتم یه فونت ابتدایی بهتون دادم که وقت نوشتن Document اون رو داشته باشم.
در  مورد نوشتن برنامه با C#‎ بهتون توصیه می کنم این کار رو نکنید، چون خودم که این کار رو کرده بودم با جواب خیلی منفی روبرو شدم و اصلا اون کیفیتی رو که فونت باید داشته باشه رو نداشت ، من خودم که PhotoShop رو آرودم، حالا اون با خودتونه.

----------


## mohsen12345

> آقای mohsen12345 عزیز،شما این تاپیک رو دیدن؟
> قضیه چیه؟
> مال شما بهتره؟
> تفاوت هاتون چیه؟
> https://barnamenevis.org/showthread.p...D8%B3-NTL_font


 با سلام
متاسفم از این که دیر سر زدم
من همون طور که گفتم یه فونت ابتدایی بهتون دادم که وقت نوشتن Document اون رو داشته باشم.
در  مورد نوشتن برنامه با C#‎ بهتون توصیه می کنم این کار رو نکنید، چون خودم که این کار رو کرده بودم با جواب خیلی منفی روبرو شدم و اصلا اون کیفیتی رو که فونت باید داشته باشه رو نداشت ، من خودم که PhotoShop رو آرودم، حالا اون با خودتونه.

----------


## dr_jacky_2005

> با سلام
> متاسفم از این که دیر سر زدم
> من همون طور که گفتم یه فونت ابتدایی بهتون دادم که وقت نوشتن Document اون رو داشته باشم.
> در  مورد نوشتن برنامه با C#‎ بهتون توصیه می کنم این کار رو نکنید، چون خودم که این کار رو کرده بودم با جواب خیلی منفی روبرو شدم و اصلا اون کیفیتی رو که فونت باید داشته باشه رو نداشت ، من خودم که PhotoShop رو آرودم، حالا اون با خودتونه.


 من 60 تا پست دادم ها!
صفحۀ 2 رو نگاه کنید لطفا
با دگمۀ نقل و قول جواب بدین،متوجه بشم.
الآن اینایی که گفتین رو نفهمیدم!

----------


## mohsen12345

> این یه سایت دیکدر یونیه:
> http://www.rishida.net/tools/conversion/
> 
> من دو تا یونی کد هارو گذاشتم.
> زمین تا آسمون با هم فرق میکنن
> 
> میشه:
> 
> \uFED3   :   ﻓ
> ...


این میشه گفت یکی از منابع خوب توی اینترنت برای UTF هستش
www.columbia.edu/kermit/utf8-t1.html

----------


## mohsen12345

> این چیز ها رو بعد از خوندن مقاله،فکر کردم بیان کنم.
> بعضی هاش سواله...
> امیدوارم جواب بدین دوستم
> _________________________
> دیدم توی تعریف متغیر ها،این رو داریم:
> 
> Liner=new String[100];
> 
> خب،یعنی تعداد خطوط نمیتونن بیشتر از 99 تا خط بشه؟!
> ...


اینی که دارید این کلاس رو توسعه میدید خیلی خوشحال کننده است دوست عزیز 


String[] Liner= new String[LineCount];

این که جواب نخواهد داد چون ما از همون اول نمی دونیم چند تا خط داریم و از یه طرف هم مستقیم داریم تو همین آرایه ذخیره می کنیم 
در مورد راه حل های دیگتون هم ممنون ، اگه وقت کردم حتما تست می کنم که ببینم چطوره (شما اگه تست کردید جواب تاییدش رو تو همین تاپیک بذارید)

----------


## mohsen12345

> گفتین که متغیر w برای نگه داشتم طول کلمات است.
> درستم هست...اومدین با متغیر koodak که تووش پره عدده،که طول هستند،پرش میکنید.
> خب!؟ اگه فونت رو عوض کنیم،ما باید بیایم بشینیم 3 ساعت این طول هارو ( حالا معلوم نیست به چه روشی ) ،در بیاریم؟!
> راستی،این عکس Koodak که کنار سورس است،طوریه که همه جوره میشه سایزش رو زیاد کرد؟ یعنی ما همین یه عکس رو داشته باشیم،میتونیم فونت سایز های مثلا 14 هم داشته باشیم؟
> یا برای هر فونت سایز باید یه عکس؟! 
> احتمالا نه! باید برای هر سایز،یک عکس داشت . چون توی پی دی اف گفته بودین که ImageAddress واسه حرکت بین عکس ها
> 
> ______________________________


 منظور من از عکس ها این بود که مثلا ما چند نوع فونت مختلف داریم که تو برنامه می خواهیم استفاده کنیم
به هر حال واسه فونت با سایز کوچکتر هم می شه خود فونت رو توسط توابعی که خودمون می نویسیم کوچک کرد اما باز هم اون کیفیت فونت اولیه رو نخواهد داشت پس بهتره که از همون روشی که خودتون اشاره کردید استفاده شه ، مگر کلاسی بنویسید که دقت بالایی توی کوچک تر کردن عکس داشته باشه

----------


## mohsen12345

> الآن دیدم که شما از بعضی یونیکد های اون حرف ف چسبان در charset استفاده کردین.
> همه میدونیم که اگه این چرست کامل باشه،دیگه مشکلی نخواهیم داشت.
> شما از کامل بودن این آرایه مطمئن هستین؟
> یا بیایم با دوستان دست به دست هم کاملش کنیم و کد های یونی کد بیشتری بهش اضافه کنیم؟
> تا اونجا که من دارم میبینم،کامل نیست.
> عدد های فارسی نداره.
> و تا اونجایی هم که من میدونم،دو مدل یونی کدی،عدد فارسی داریم.
> من حاضرم در تکمیل این charSet بهتون کمک کنم


 ممنون از کمکتون
اگه لیست کاملی از یونی کد ها رو می خواهید یه منبع خوب اینه
www.columbia.edu/kermit/utf8-t1.html

----------


## mohsen12345

> یه سوال در مورد تابع چک خنثی:
> یعنی فرق نمیکنه که این کاراکتر حنثی بین حروف فارسی
> یا بین عدد
> یا بین انگلیسی
> یا بین ترکیب اینا باشه؟
> درست چاپ میشه!؟
> الآن همینطوریش برنامۀ officeWord کلی با این قضیه مشکل داره ها.
> یا همین قسمت تایپ در فروم ها.
> برعکس میشن یهو
> ...


 این تابع فقط کلماتی رو که خنثی هستند (مث :،" و ...) رو شناسایی می کنه و این با کلاس ساخت خط هست که مشخص می کنه اگه ما حروف انگلیسی داشتیم و کاراکتر بعدی انگلیسی نبود (اگه جزو کاراکتر های خنثی بود که هیچ ، اگه نبود کل حروفی رو که تا حالا بدست آورده برعکس کنه) اگه هم کاراکتر ها فارسی بود که چک خنثی دیگه باعث نمیشه یکدفعه برعکس بشه

----------


## mohsen12345

> من 60 تا پست دادم ها!
> صفحۀ 2 رو نگاه کنید لطفا
> با دگمۀ نقل و قول جواب بدین،متوجه بشم.
> الآن اینایی که گفتین رو نفهمیدم!


 شما کافیه تست کنید که ببینید برنامه C#‎ چطوری حروف رو روی یک PictureBox چاپ می کنه خواهید دید که اون کیفیت لازم رو که واسه برنامتون راضی کننده باشه رو نداره

----------


## dr_jacky_2005

> منظور من از عکس ها این بود که مثلا ما چند نوع فونت مختلف داریم که تو برنامه می خواهیم استفاده کنیم
> به هر حال واسه فونت با سایز کوچکتر هم می شه خود فونت رو توسط توابعی که خودمون می نویسیم کوچک کرد اما باز هم اون کیفیت فونت اولیه رو نخواهد داشت پس بهتره که از همون روشی که خودتون اشاره کردید استفاده شه ، مگر کلاسی بنویسید که دقت بالایی توی کوچک تر کردن عکس داشته باشه


 متوجه نشدم...یعنی با همون یه عکس میشه سایز 72 هم داشت؟ (مثلا)

----------


## dr_jacky_2005

> ممنون از کمکتون
> اگه لیست کاملی از یونی کد ها رو می خواهید یه منبع خوب اینه
> www.columbia.edu/kermit/utf8-t1.html


 متوجه نشدم.
این تشکر یعنی کمک نمیخواین واسه کامل کردن charset?
اگه هرچیزی کم و کسر است،توی هرجا،من حاضرم کمک کنم.
فقط بگین چی

----------


## dr_jacky_2005

> شما کافیه تست کنید که ببینید برنامه C#‎ چطوری حروف رو روی یک PictureBox چاپ می کنه خواهید دید که اون کیفیت لازم رو که واسه برنامتون راضی کننده باشه رو نداره


 پس چه باید کرد؟

راستی...شما نظرتون رو راجع به اون لینکی که دادم،ندادین
همون لینک بالای فروم جاوای برنامه نویس
NTL_font

----------


## mohsen12345

> پس چه باید کرد؟
> 
> راستی...شما نظرتون رو راجع به اون لینکی که دادم،ندادین
> همون لینک بالای فروم جاوای برنامه نویس
> NTL_font





 من همون طور که گفتم یه فونت ابتدایی بهتون دادم که وقت نوشتن Document اون رو داشته باشم.
 من هیچ کلاسی رو عالی یا بد نمی دونم ، بلاخره دوست عزیزمون mic _ R_C هم زحمت زیادی احتمالا واسه آموزش اون کشیدن ، و واقعا کاری که برای آموزش بدون چشم داشت به دیگران باشه جای تقدیر داره ، من یه کلاس فونت دادم و ایشون هم یه کلاس دیگه ، در کل در این مورد ازم نظر نخواهید که اصلا نمی تونم حرفی بزنم جز تشکر از زحمات اون دوست بزرگوار، 
نه این کلاس ،کلاس آخرتون هست، نه اون کلاس آخرین و کلاس اصلی فونتتون ، قاعدتا شما خودتون یک کلاس کامل تری خواهید نوشت
این کلاس ها فقط جنبه آموزشی دارند(حالا کلاس من که اینطوره) و شما هنوز خیلی میتونید این کلاس رو پیشرفت بدید

----------


## dr_jacky_2005

> من همون طور که گفتم یه فونت ابتدایی بهتون دادم که وقت نوشتن Document اون رو داشته باشم.
>  من هیچ کلاسی رو عالی یا بد نمی دونم ، بلاخره دوست عزیزمون mic _ R_C هم زحمت زیادی احتمالا واسه آموزش اون کشیدن ، و واقعا کاری که برای آموزش بدون چشم داشت به دیگران باشه جای تقدیر داره ، من یه کلاس فونت دادم و ایشون هم یه کلاس دیگه ، در کل در این مورد ازم نظر نخواهید که اصلا نمی تونم حرفی بزنم جز تشکر از زحمات اون دوست بزرگوار، 
> نه این کلاس ،کلاس آخرتون هست، نه اون کلاس آخرین و کلاس اصلی فونتتون ، قاعدتا شما خودتون یک کلاس کامل تری خواهید نوشت
> این کلاس ها فقط جنبه آموزشی دارند(حالا کلاس من که اینطوره) و شما هنوز خیلی میتونید این کلاس رو پیشرفت بدید


 با تشکر از حضار محترم که این وقت رو در اختیار من دادن...
من میدونی چی میخوام..؟
اگه تمام اون پست های اون تاپیک رو خونده باشین.،میبینید که یه پی دی اف مقایسه هم ساختن برای مقایسۀ دو تا لایبراری.
من میگم اگه شما هم یکی با اون NTL مقایسه کنید و بسازید،فکر کنم کار خوبی از آب در بیاد

----------


## mohsen12345

> با تشکر از حضار محترم که این وقت رو در اختیار من دادن...
> من میدونی چی میخوام..؟
> اگه تمام اون پست های اون تاپیک رو خونده باشین.،میبینید که یه پی دی اف مقایسه هم ساختن برای مقایسۀ دو تا لایبراری.
> من میگم اگه شما هم یکی با اون NTL مقایسه کنید و بسازید،فکر کنم کار خوبی از آب در بیاد


اول تشکر فراوان از شما و همچنین mic_r_c که واسه یاد دادن چیزهایی که بلدین به دیگران وقت میگذارید ( به نظر من این یک کار واقعا مقدسیه و جای تشکر رو داره )
والا اگه وقت داشته باشم حتما دوست دارم یک آموزش کامل اون هم با همکاری اساتیدی مثل mic_r_c داشته باشم
ولی متاسفانه وقت ندارم!!!!
فعلا خیلی توی این فکر هستم که یه جای ثابت برای برنامه نویس های موبایل پیدا کنم (یا ایجاد) که هم برنامه نویس های مبتدی اینقدر دربه در نشن ، هم اساتیدی مثل شما و mic_r_c بتونن مشکل همه برنامه نویس های J2me ایرانی تازه کار رو حل کنند ، (مشکل اینجاست که  واسه این هم وقت انجامش رو زیاد ندارم!!!)

به هر حال به امید اجرای این فکر

----------


## m121212

سلام
دوستان بنده یه فکرایی دارم ، میدونم خیلی سخته ولی قلا با استفاده از  تصاویر فونت ساختم و استفاده کردم اما این فکر که اومده تو سرم خیلی قلقلکم  میده. بنظر شما قابلیت اجرا داره؟
اینکه بیاییم بجای استفاده از تصویر برای فونت ابتدا فرمول هایی که هر کاراکتر طبق اون ساخته میشه رو در آورد.
بعد از اون در هربار اجرا اون فونت مورد نظرمون رو با توجه به اون بسازیم 
این روش چندتا مزیت داره و یکیش اینه که به هر اندازه ای که بخوایم کاراکتر  تولید می کنیم. منظورمه یجورایی بر مبنای پردازش تصاویر وکتور استفاده  کنیم اون موقع روی گوشی هایی که وکتور پشتیبانی نمیشه هم کارای زیادی میشه  کرد.
نظرتون چیه؟

----------


## dr_jacky_2005

منظور شما اینه بجای drawImage,,,
یه چیزی مثل drawPixel داشته باشیم؟

----------


## dr_jacky_2005

خیلی حیف است اگه این تاپیک رها بشه...

----------


## ASedJavad

> سلام
> دوستان بنده یه فکرایی دارم ،
> اینکه بیاییم بجای استفاده از تصویر برای فونت ابتدا فرمول هایی که هر کاراکتر طبق اون ساخته میشه رو در آورد.
> بعد از اون در هربار اجرا اون فونت مورد نظرمون رو با توجه به اون بسازیم 
> این روش چندتا مزیت داره و یکیش اینه که به هر اندازه ای که بخوایم کاراکتر تولید می کنیم. منظورمه یجورایی بر مبنای پردازش تصاویر وکتور استفاده کنیم اون موقع روی گوشی هایی که وکتور پشتیبانی نمیشه هم کارای زیادی میشه کرد.
> نظرتون چیه؟


اتفاقا من هم یه مدتی راجع بهش فکر میکردم
درستش هم همین روشه
فقط مشکل اصلی من همین  "ابتدا فرمول هایی که هر کاراکتر طبق اون ساخته میشه رو در آورد" است.
شما برا این قضیه پیشنهادی داری؟

----------


## mohsen12345

> سلام
> دوستان بنده یه فکرایی دارم ، میدونم خیلی سخته ولی قلا با استفاده از  تصاویر فونت ساختم و استفاده کردم اما این فکر که اومده تو سرم خیلی قلقلکم  میده. بنظر شما قابلیت اجرا داره؟
> اینکه بیاییم بجای استفاده از تصویر برای فونت ابتدا فرمول هایی که هر کاراکتر طبق اون ساخته میشه رو در آورد.
> بعد از اون در هربار اجرا اون فونت مورد نظرمون رو با توجه به اون بسازیم 
> این روش چندتا مزیت داره و یکیش اینه که به هر اندازه ای که بخوایم کاراکتر  تولید می کنیم. منظورمه یجورایی بر مبنای پردازش تصاویر وکتور استفاده  کنیم اون موقع روی گوشی هایی که وکتور پشتیبانی نمیشه هم کارای زیادی میشه  کرد.
> نظرتون چیه؟


 ایده جالبیه ، اگه راه حلی هم براش داشته باشید
به نظر من اگه ساختار سایز های بزرگ رو داشته باشیم با دقت بیشتری می تونیم کلمات با سایز کوچکتر رو بدست بیاریم و برای سایز کوچک به بزرگ فکر نکنم کیفیت جالبی در بیاد
مثلا کلمات رو با سایز ارتفاع 100 پیکسل در نظر بگیریم و سایز جدیدمون رو با تغییر n% پیکسل ها بدست بیاریم

----------

