rastikerdar / vazirmatn

Vazirmatn is a Persian/Arabic font. وزیرمتن یک فونت فارسی/عربی است
https://rastikerdar.github.io/vazirmatn/
SIL Open Font License 1.1
2.48k stars 176 forks source link

مجبور کردن نمایش عربی اعداد #279

Closed atutweb closed 2 years ago

atutweb commented 2 years ago

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

rastikerdar commented 2 years ago

دو راه هست: ۱. راه ساده اینه که در پوشه fonts/ttf وزن دلخواهتون رو با یک برنامه ویرایشگر فونت باز کنید و گلیف‌های ارقام لاتین و فارسی رو با عربی جایگزین کنید. مثلا اگر از فونت‌فورج fontforge استفاده می‌کنید گلیف‌های ارقام عربی رو انتخاب و سپس کپی copy و سپس در گلیفهای لاتین و فارسی پیست paste کنید. در قدم آخر از منوی file گزینه generate fonts رو انتخاب کنید. Screenshot at 2022-07-12 16-35-06

۲. یا اینکه کدهای مخزن رو تغییر بدین و فرآیند تولید خروجی‌ها رو با اسکریپت‌های خود مخزن انجام بدین. اگر به نسخه وریبل یا همون متغیر احتیاج داشته باشید باید از این روش پیگیری کنید در غیر اینصورت همان راه نخست مشکلتون رو حل می‌کنه.

rastikerdar commented 2 years ago

از منوی encoding گزینه compact رو انتخاب کنید تا خانه‌های خالی و بدون استفاده نمایش داده نشوند.

typoman commented 2 years ago

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