PDA

View Full Version : پیدا کردن فاصله بین حروف در فونتها با سایزهای مختلف در ویندوز



amir_mhdi
دوشنبه 20 بهمن 1393, 10:40 صبح
سلام.
من برای کاری مجبور شدم از فونتهای ویندوز در یک سخت افزار مبتنی بر میکرو استفاده کنم. برنامه ای نوشتم تا کاراکتر های مورد نیازم با فونتهای مختلف ویندوز به صورت یک فایل در بیارم و تو LCD اون دستگاه نمایش دادم. مساله سر فاصله بین حروف هست ، مثلا فونت Arial با سایز 12 بین حروفش یه فاصله ای هست و همون فونت با سایز 48 یه فاصله دیگه و ... .
من این فاصله رو حدودی تعیین میکنم و مثلا میگم سایز فونت تقسیم بر 4 .
میخواستم بدونم این فاصله رو از کجا میتونم پیدا کنم.

Saman_12
دوشنبه 20 بهمن 1393, 12:25 عصر
سلام.
نمیدونم راه اصولی برای این کار هست یا نه ولی میتونی طول یک حرف رو با Graphics.MeasureString بدست بیاری بعد هم دوباره طول دو تا از همون حرف ,اختلاف اینا میشه فاصله بین دو تا حرف بر حسب پیکسل.
یا اینکه دوتا حرف رو روی یک تصویر رسم کنی بعد اختلاف پیکسل بین نزدیکین ترین دو نقطه (بسته به حرف ارتفاعش فرق میکنه) بین حروف رو بدست بیاری.

rahnema1
دوشنبه 20 بهمن 1393, 13:25 عصر
سلام
یه همچین برنامه را قبلا در اینجا گذاشتم:
http://barnamenevis.org/showthread.php?64210&p=2078888&viewfull=1#post2078888

amir_mhdi
دوشنبه 20 بهمن 1393, 15:12 عصر
سلام.
نمیدونم راه اصولی برای این کار هست یا نه ولی میتونی طول یک حرف رو با Graphics.MeasureString بدست بیاری بعد هم دوباره طول دو تا از همون حرف ,اختلاف اینا میشه فاصله بین دو تا حرف بر حسب پیکسل.
یا اینکه دوتا حرف رو روی یک تصویر رسم کنی بعد اختلاف پیکسل بین نزدیکین ترین دو نقطه (بسته به حرف ارتفاعش فرق میکنه) بین حروف رو بدست بیاری.

اینطور که من دیدم فاصله بین حروف تو حروف مختلف هم فرق میکنه.


سلام
یه همچین برنامه را قبلا در اینجا گذاشتم:
http://barnamenevis.org/showthread.php?64210&p=2078888&viewfull=1#post2078888

ممنونم اما بسیار پیشرفته تر از این رو نوشتم و دارم استفاده میکنم.


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

rahnema1
دوشنبه 20 بهمن 1393, 18:11 عصر
اینطور که من دیدم فاصله بین حروف تو حروف مختلف هم فرق میکنه.



ممنونم اما بسیار پیشرفته تر از این رو نوشتم و دارم استفاده میکنم.


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

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