جشنواره عیدانه راکت | عضویت ویژه راکت برای آخرین بار | افزایش قیمت‌ها از سال جدید | و ...

مشاهده اطلاعات بیشتر...
ثانیه
دقیقه
ساعت
روز
مهدی رستگار
5 سال پیش توسط مهدی رستگار مطرح شد
26 پاسخ

فونت وزیر

با سلام
دوستان فونت وزیر حالتی داره که برای زبان انگلیسی اعداد انگلیسی بنویسه و برای زبان فارسی اعداد فارسی؟؟


ثبت پرسش جدید
میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

زنده باشید
راستش من کلی دارم پرسش می کنم، برای سایت خودم نمی خوام.
مثلا شما فرض کنید سایت مدنظرم شبیه به راکت باشه و هر روز قراره دوتا مقاله، حاوی متن بلند قرار بده. نمیشه میانگینی برای استفاده از اعداد بدم. یا مثلا فرض کنید ی سری کالا دارم، میخوام قیمت کالا با اعداد فارسی باشه، ولی مدل کالا که حاوی حروف انگلیسی هستش در کنار اعداد انگلیسی درج بشه، نه اینکه فارسی باشه.
مثال: دوربین دیجیتال سونی مدل FX0019R به قیمت 530000 هزار تومان

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

من توی نرم افزار وُرد می دونم راهکارش رو و خیلی هم بکارم اومده. اینجا اما هنوز دستم نیومده.

بازم از شما تشکر می کنم.


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

با سلام خدمت دوستان،
من از خط وزیر نسخه 19.2.0 به نشانی http://rastikerdar.github.io/vazir-font/ استفاده کردم و هر 4 نوع خط رو هم بکار گرفتم. ولی توی هیچکدوم از این چهار حالت نشدش که همزمان بیاد و در نوشته های فارسی اعداد رو فارسی بزنه و در نوشته های انگلیسی اعداد رو انگلیسی بزنه.
اونهایی که پسوند FD دارند همه ی اعداد رو فارسی می کنند و اونهایی که این پسوند رو ندارند، همه ی اعداد رو انگلیسی می کنند.
آیا این خط چنین ویژگی ای رو پوشش نمیده؟ تلاش من از پایه بیهوده هستش؟
(خود سایت راکت هم از خط وزیر استفاده می کنه و این ویژگی ای که من گفتم رو شاهد نیستیم اینجا)

@omid.mardaneh @rm.8968 @ali.bayat @Alimotreb @endworld @SeyedMH.Mosavi @hesammousavi
@دیگر_دوستان


میلاد-م
تخصص : توسعه‌دهنده رابط کاربری - Fron...
@milad 5 سال پیش مطرح شد
0

کدهای css هم به این ترتیب هستند:

@font-face {
    font-family: Vazir;
    src: url('../fonts/eot/Vazir-FD-WOL.eot');
    src: url('../fonts/eot/Vazir-FD-WOL.eot?#iefix') format('embedded-opentype'),
         url('../fonts/woff2/Vazir-FD-WOL.woff2') format('woff2'),
         url('../fonts/woff/Vazir-FD-WOL.woff') format('woff'),
         url('../fonts/ttf/Vazir-FD-WOL.ttf') format('truetype');
    font-weight: normal;
  }
// ...
// Vazir-Bold, Vazir-Light, Vazir-Medium, Vazir-Thin : هم مشابه موارد بالا اضافه کردم

body {
    font-family: Vazir, Helvetica Neue, Helvetica, Arial, sans-serif;
}

علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
1

طبق تجربه ای که با فونت IranSans داشتم این به نوع فونت بر میگرده و در نهایت با کیبورد استاندارد فارسی تایپ کردن


سید محمد حسین موسوی
تخصص : FullStack Developer
@SeyedMH.Mosavi 5 سال پیش آپدیت شد
1

@milad
سلام
من خودم از فونت هایی که پسوند مورد نظر رو داره تا حالا استفاده نکردم که بخوام نظری بدم. در هر صورت اگر نتونستی مستقیم اینکارو انجام بدی می تونی برای فارسی کردن اعداد از روش جاوا اسکریپتی و یا سمت بکند استفاده کنی و اعداد فارسی رو با انگلیسی جایگزین کنی.من خودم روش سمت کلاینتی رو بیشتر می پسندم.
نحوه کارش هم به این صورته که یک تابع با جاوا اسکریپت می نویسی و اعداد انگلیسی رو به فارسی تبدیل می کنه.
توابع اش هم تو اینترنت هست که اعداد رو جایگزین می کنه و اگر بگردی چنتا تابع برای اینکار پیدا می کنی:
می تونی این رو سرچ کنی "تبدیل اعداد انگلیسی به فارسی در جاوا اسکریپت"

فقط برای اینکه هر جا که دوست داری اعداد فارسی باشه و هر جا که دوست نداری انگلیسی باقی بمونه می تونی اینکارو انجام بدی که مثلا یه کلاس در نظر بگیری به اسم مثلا persianNumber یا هر اسم دیگه ای. وقتی صفحه load شد تو جکوئری بری بگردی و تمام المنت هایی که کلاس مورد نظر رو دارند با استفاده از تابعی که نوشتی اعدادشون از انگلیسی به فارسی جایگزین بشه.
اینطوری هر بخشی که دوست داشتی رو بهش کلاس مورد نظر رو می دی و تمام. اگر هم یه صفحه قراره کلا فارسی بشه می تونی همین کلاس رو مثلا به body بدی. دیگه نحوه استفاده اش رو می تونی خودت یکم بالا پایین کنی دستت می یاد.


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 5 سال پیش آپدیت شد
1

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

نکته دوم اینکه در صفحه کلیدهای استاندارد (که در ویندوز 10 بصورت رسمی با عنوان Persian (standard) keyboard - FAS اضافه شده در زمان انگلیسی بودن صفحه کلید اعداد بصورت انگلیسی تایپ میشوند و در حالت فارسی بصورت انگلیسی و هیچ تداخلی با هم ندارند.( فقط توجه داشته باشید منظورم از اعداد فقط اعداد بالای کیبورد هست. چون اعداد سمت راست که در قسمت ماشین حساب هستند همگی در همه حالت عدد انگلیسی تایپ میکنند)

و اما نکته آخر که بعضی مواقع کمی سردرگمی ایجاد میکنه برای خیلی ها این هست که اصولا در فونت های استاندارد اعداد فارسی رو فارسی و اعداد انگلیسی رو انگلیسی نمایش میده. همون طوری که انتظار هم میره. اما یکسری فونت های غیراستاندارد وجود داره که در اون ها اومدن و صرفا شکل گرافیکی اعداد انگلیسی رو بصورت فارسی تغییر داده اند. این کار باعث میشه صرفا نمایش اعداد در همه حالت بصورت فارسی باشه ولی مثلا اگر روی المنت موردنظر inspect بگیرید میبینید که محتواش ممکنه بصورت عدد انگلیسی باشه. گرچه یک راه حل ساده هست ولی به نظرم اصلا روش مناسب و استانداردی نیست . چون شما هیچ وقت نمیتونید عدد انگلیسی نمایش بدید و سردرگمی های زیادی هم بهمراه داره. مثلا فونت مورد استفاده برای پیام های همین وبسایت راکت هم در حال حاضر که من این پیام رو مینویسم به همین صورت هست. اگر روی این پیام من inspect بگیرید میبیند که اعداد 1234567890 همگی در اصل بصورت انگلیسی هستند ولی موقع نمایش بصورت فارسی میبینید

در پایان بهترین راه حل استفاده از javascript هست برای دستکاری کردن اعداد در هر جایی که تمایل داشتیم. مثلا فرض کنید که میخواهیم قیمت محصولاتمون رو با اعداد فارسی نمایش بدیم. اعداد در دیتابیس که حتما باید بصورت انگلیسی باشند و شکی نیست. به همون صورت انگلیسی هم به سمت کلاینت ارسال میشه. اما بعد از ارسال با استفاده از ترفندهای مختلفی میشه با کمک javascript مثلا 4200 رو به ۴,۲۰۰ تبدیل کرد ونمایش داد. توضیح این روش ها جاش اینجا نیست ولی اگر جستجو کردید و بازهم جوابی نگرفتید خوشحال میشم بتونم کمک کنم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام