ابر Abar
فونت برندفقط تیتر صفحهها و بخشها، هیروی کمپین، عددهای درشت و پیام صفحه تشکر با ابر نوشته میشوند. پاراگرافها و عنوانهای معمولی را با پیدا بنویسید.


هر متنی که در پیوند میخوانید، از فونت و اندازه تا نیمفاصله و رقمهایش، از قواعد همین صفحه پیروی میکند.
پیوند دو فونت دارد: ابر برای تیترها و متنهای نمایشی، و پیدا برای بقیه متنها.
فقط تیتر صفحهها و بخشها، هیروی کمپین، عددهای درشت و پیام صفحه تشکر با ابر نوشته میشوند. پاراگرافها و عنوانهای معمولی را با پیدا بنویسید.
پاراگرافها، برچسبها، دکمهها، فرمها، عنوان کارتها و عنوان مدالها با پیدا نوشته میشوند. پیدا در اندازههای کوچک هم خوانا میماند. همه متنهای رابط یک فونت دارند و برای همین صفحهها یکدست دیده میشوند.
پیوند ۱۵ نقش تایپوگرافی دارد: ۶ نقش نمایشی و تیتر با ابر نوشته میشوند و بقیه، یعنی نقشهای عنوان، متن و برچسب، با پیدا. هر نقش یک کلاس است و همه مقدارهای ردیفش را یکجا به متن میدهد. اندازه و ارتفاع خط به پیکسلاند. متن نمونه را عوض کنید تا همه نقشها را با متن خودتان ببینید.
display-largedisplay-mediumdisplay-smallheadline-largeheadline-mediumheadline-smalltitle-largetitle-mediumtitle-smallbody-largebody-mediumbody-smalllabel-largelabel-mediumlabel-smallاین بخش ۲۸ قاعده دارد و هر کدام نمونه درست و نادرستش را کنار هم نشان میدهد. زیر هر نمونه نوشتهایم واقعا چه نویسه یا کدی در کار است.
پیشوند، پسوند و هر جزء جدای واژه مرکب با نیمفاصله میآید: «میشود»، «آمادهایم»، «ثبتنام». با فاصله معمولی، مرورگر ممکن است سطر را همانجا بشکند و نیمی از واژه را به سطر بعد بفرستد.
ZWNJU+200CSPACEU+0020«ي» و «ك» عربی نویسههای دیگریاند و در آخر واژه هم شکلشان فرق دارد. جستوجوی «کمک» واژه «كمك» را پیدا نمیکند، پس پیش از ذخیره، «ي» و «ك» را در ورودی فرمها به «ی» و «ک» فارسی برگردانید.
U+06A9 KEHEHU+06CC FARSI YEHU+0643 KAFU+064A YEHفرهنگستان «تر» و «ترین» را جدا مینویسد، جز در چند واژه مثل «بهتر»، «بیشتر» و «کمتر». «ها» را هم همیشه با نیمفاصله مینویسیم تا شکل خود واژه دست نخورد.
U+06AF U+200C U+062AU+06AF U+062Ajoinedبعد از های ناملفوظ کسره اضافه را نمینویسیم، چون خواننده آن را از خود جمله میفهمد: «خانه ما»، «بودجه ماهانه». فرهنگستان «هٔ» را توصیه میکند، ولی ما نه «هٔ» مینویسیم و نه «هی».
U+0647 U+0020 U+0645U+0647 U+200C U+06CCفرهنگستان همزه «هیئت»، «مسئول» و «مسئله» را روی کرسی «ی» مینویسد، نه «هیأت» و «مسؤول». ولی «مؤسسه» و «تأمین» با «ؤ» و «أ» درستاند.
U+0626 YEH WITH HAMZA ABOVEU+0623 ALEF WITH HAMZA ABOVEاعراب و تنوین را نمینویسیم: «لطفا»، «حتما»، «دقیقا». فرهنگستان تنوین را در نوشته رسمی لازم میداند، ولی خواننده این واژهها را بیتنوین هم درست میخواند.
U+0627no U+064BU+0627 U+064Bعدد را با Intl.NumberFormat('fa-IR') و شماره فهرست را با list-style-type: persian بسازید. فونت FaNum فقط ظاهر رقم را فارسی میکند. نویسه همان رقم لاتین است؛ همین رقم کپی میشود و به صفحهخوان میرسد.
U+06F3 U+06F6 U+06F5U+0033 U+0036 U+0035FaNum«٤ ٥ ٦» رقم عربیاند و با رقم فارسی در نویسه، شکل و رفتار دوسویه فرق دارند. فونت ابر FaNum آنها را هم فارسی نشان میدهد و خطا را پنهان میکند. عدد را با Intl و fa-IR بسازید؛ ar-EG رقم عربی میدهد.
U+06F4 U+06F5 U+06F6U+0664 U+0665 U+0666Intl هزارگان را با «٬» جدا میکند و اعشار را با «٫». ویرگول لاتین کنار رقم فارسی جایی ندارد: پیدا آن را «،» نشان میدهد و مبلغ شبیه فهرست سه عدد میشود.
U+066C ARABIC THOUSANDS SEPARATORU+002C COMMAواحد بعد از عدد میآید و همهجا یکی است: تومان. قالب ارزی Intl «ریال» را پیش از عدد میگذارد. عدد را با Intl بسازید و «تومان» را خودتان بعد از آن بنویسید.
NumberFormat( 'fa-IR')U+0020unitstyle: 'currency' → U+200E unit U+00A0 numberدر «۱۴۰۵/۷/۶» خواننده باید عدد ماه را در ذهن به «مهر» برگرداند. نام ماه را بنویسید. Intl با fa-IR تقویم خورشیدی را خودش به کار میبرد و با dateStyle: long ماه را به حروف مینویسد.
dateStyle: 'long'toLocaleDateString( 'fa-IR')در متن فارسی «،» «؛» و «؟» بنویسید. پیدا ویرگول لاتین را هم «،» نشان میدهد. برای همین، این خطا روی صفحه دیده نمیشود و فقط در متن کپیشده، پیامک یا فونتی دیگر معلوم میشود.
U+060CU+061FU+002CU+003Fنقلقول، نام کمپین و نام کتاب یا گزارش را در گیومه « » بگذارید. نشانه " " لاتین در فارسی به کار نمیرود و باز و بستهاش یک شکل است.
U+00AB … U+00BBU+0022 … U+0022نشانه بیفاصله به واژه پیش از خود میچسبد و پس از آن یک فاصله میآید. درون « » و ( ) فاصله نمیگذاریم.
U+060C U+0020U+002EU+0020 U+060CU+0020 U+002Eدر پیوند هیچ خط تیرهای میان دو عبارت نمیآید. جمله معترضه را میان دو ویرگول یا در پرانتز بگذارید.
U+060CU+060CSPACE U+2014 SPACESafari با letter-spacing اتصال حروف فارسی را میشکند و Chrome این مقدار را روی فارسی نادیده میگیرد. letter-spacing متن فارسی را صفر بگذارید و برای برجسته کردن، وزن یا اندازه را عوض کنید.
letter-spacing: 0letter-spacing: 0.3emمرورگر برای تمامچین فقط فاصله میان واژهها را باز میکند و در ستون باریک جوی سفید میسازد. متن را راستچین کنید و سطر را با کشیده (ـ) پر نکنید. کشیده نویسهای واقعی است و در کد و پایگاه داده «کمـــک» دیگر با «کمک» یکی نیست.
text-align: starttext-align: justifyدنبالهها و نقطههای فارسی تا دو برابر لاتین زیر خط کرسی میروند. ارتفاع خط متن را ۱٫۵ تا ۱٫۷۵ برابر اندازه فونت بگذارید، مثل نقشهای متن پیوند. جعبه تنگ با overflow: hidden سرکش «گ» را برش میدهد.
line-height: 1.75line-height: 1.2پیدا و ابر ایتالیک ندارند. مرورگر برای em، i و cite ایتالیک مصنوعی میسازد و متن را مثل لاتین به راست خم میکند. برای تأکید وزن را بیشتر کنید و font-style این سه عنصر را روی normal بگذارید.
font-weight: 900font-style: italicsynthetic obliqueزیرخط پیشفرض از روی نقطهها و دنبالهها رد میشود و مرورگر آن را تکهتکه میکند. text-underline-offset را حدود 0.5em بگذارید تا خط زیر همه حروف یکسره بماند.
text-underline-offset: 0.5emtext-underline-offset: autodir=rtl و lang=fa را روی <html> بگذارید. text-align: right فقط متن را راستچین میکند و جهتش چپبهراست میماند؛ «!» و عدد سر جمله جابهجا میشوند.
dir="rtl"inherited from <html>direction: ltr; text-align: rightدر متن راستبهچپ، گروههای شماره تلفن یا کارت که با فاصله جدا شدهاند برعکس چیده میشوند. اگر شماره بعد از واژهای فارسی بیاید، گروههایی هم که با خط تیره جدا شدهاند برعکس میشوند. شماره را در bdi dir=ltr بگذارید.
<bdi dir="ltr">no isolateU+0020 between groups«@»، «#» و نقطه میان فارسی و لاتین جهت جمله را میگیرند و جابهجا میشوند. شناسه، ایمیل و نشانی وب را در bdi dir=ltr بگذارید. متنی را که کاربر وارد میکند و جهتش معلوم نیست، در bdi بدون dir بگذارید.
<bdi dir="ltr">@yekihastim. ngo</ bdi>U+0040 between R and L → Rدر «۱۰-۲۰» الگوریتم دوسویه ترتیب دو عدد را تعیین میکند و این ترتیب بسته به واژههای کناری عوض میشود. «۱۰ تا ۲۰» همهجا یکجور خوانده میشود.
U+0020 U+062A U+0627 U+0020U+002DEN ES EN → one LTR runدر راستبهچپ پیکان «بعدی» به چپ و پیکان «بازگشت» به راست اشاره میکند و نوار پیشرفت از راست پر میشود. مرورگر پیکان را خودش قرینه نمیکند و پیکان درست را باید خودتان بگذارید. دکمه پخش، ساعت و تیک را قرینه نکنید.
U+2190 LEFTWARDS ARROWU+2192 RIGHTWARDS ARROWدر کادر متن راستبهچپ، گروههای شمارهای که کاربر با فاصله تایپ میکند زیر دستش برعکس میشوند. به کادر شماره موبایل، کارت و شبا dir=ltr بدهید و آن را راستچین نگه دارید.
<input dir="ltr">text-align: right<input>rtl inheritedtype=number در مرورگری که زبانش فارسی نیست رقم فارسی را نمیپذیرد و regex هم آن را رقم نمیشناسد. type=text با inputmode=numeric بگذارید و رقمها را پیش از بررسی لاتین کنید.
U+06F0.. U+06F9U+0660.. U+0669 → 0..9/ ^\d+$/ → true/ ^\d+$/ . test( value) → falseمتد sort رشتهها را به ترتیب شماره یونیکد میچیند. «پ چ ژ ک گ» در یونیکد پس از حروف عربی آمدهاند و sort آنها را بعد از «و» و «ه» میگذارد. با Intl.Collator('fa') مرتب کنید.
sort( new Intl. Collator( 'fa'). compare)sort( )U+0647 < U+067E < U+06A9هر تصمیم این صفحه در کد یک توکن نقش است و کامپوننتها فقط با همین نامها ساخته میشوند.
دو فونت پیوند و نقشهای متن، هر کدام با اندازه، ارتفاع خط و وزن خودش.