Add Vazirmatn font files and CSS definitions for multiple font weights
This commit is contained in:
+1
-1
@@ -50,7 +50,7 @@
|
|||||||
"com_products_category_Ghermez_title": "قرمز",
|
"com_products_category_Ghermez_title": "قرمز",
|
||||||
"com_products_category_Semirom_title": "سمیرم",
|
"com_products_category_Semirom_title": "سمیرم",
|
||||||
"com_products_category_Zard_title": "زرد",
|
"com_products_category_Zard_title": "زرد",
|
||||||
"com_products_category_types_count": "تعداد نوع",
|
"com_products_category_types_count": "تعداد محصولات {count}",
|
||||||
"com_products_category_show_all_CTA": "نمایش محصولات",
|
"com_products_category_show_all_CTA": "نمایش محصولات",
|
||||||
"pages_products_content_title": "طبقهبندی آجر: درک تنوع و کاربردها",
|
"pages_products_content_title": "طبقهبندی آجر: درک تنوع و کاربردها",
|
||||||
"pages_products_content_description": "آجرها به عنوان یکی از قدیمیترین و پرکاربردترین مصالح ساختمانی بشر، در طول تاریخ دچار تحول زیادی شدهاند. امروزه این مصالح در طیف بسیار متنوعی تولید و عرضه میشوند و به مهندسان و معماران این امکان را میدهند تا مناسبترین آجر را برای هر پروژه و نیازی، از سازههای سنتی و تاریخی تا ساختمانهای مدرن و پیشرفته، انتخاب کنند. برای درک بهتر این تنوع، میتوان آجرها را بر اساس چند معیار کلیدی طبقهبندی کرد که هر یک ویژگیها و کاربردهای خاص خود را دارند.\n۱. طبقهبندی بر اساس روش تولید: از سنت تا صنعت پیشرفته\nروش تولید آجرها مستقیماً بر ظاهر، بافت و ویژگیهای آنها تأثیر میگذارد.\nآجرهای دستی/قالبی: این آجرها با فشار دادن دستی خاک رس در قالب تولید میشوند. نتیجه، آجری با بافت نسبتاً زبر، لبههای نامنظم و ظاهری سنتیتر است که هر قطعه حس منحصر به فردی دارد. این نوع آجر اغلب برای پروژههای مرمت یا ساخت ساختمانهایی با سبک روستایی یا قدیمی استفاده میشود.\nآجرهای ماشینی: این آجرها با استفاده از ماشینآلات صنعتی تولید میشوند که دقت ابعادی و یکنواختی ظاهری بسیار بالاتری دارند. آجرهای ماشینی خود به دو دسته اصلی تقسیم میشوند:\nآجرهای سوراخدار/توخالی: این آجرها دارای سوراخهایی هستند که چندین مزیت دارند: کاهش وزن ساختمان، بهبود عایق حرارتی و صوتی و افزایش چسبندگی ملات.\nآجرهای توپر: این آجرها بدون سوراخ بوده و مقاومت فشاری بسیار بالایی دارند. آنها برای سازههای باربر و دیوارهایی که به حداکثر استحکام نیاز دارند، ایدهآل هستند.\n۲. طبقهبندی بر اساس نوع و ترکیب مواد اولیه: از خاک رس تا بتن\nجنس آجر تعیینکننده ویژگیهای فیزیکی و شیمیایی آن است.",
|
"pages_products_content_description": "آجرها به عنوان یکی از قدیمیترین و پرکاربردترین مصالح ساختمانی بشر، در طول تاریخ دچار تحول زیادی شدهاند. امروزه این مصالح در طیف بسیار متنوعی تولید و عرضه میشوند و به مهندسان و معماران این امکان را میدهند تا مناسبترین آجر را برای هر پروژه و نیازی، از سازههای سنتی و تاریخی تا ساختمانهای مدرن و پیشرفته، انتخاب کنند. برای درک بهتر این تنوع، میتوان آجرها را بر اساس چند معیار کلیدی طبقهبندی کرد که هر یک ویژگیها و کاربردهای خاص خود را دارند.\n۱. طبقهبندی بر اساس روش تولید: از سنت تا صنعت پیشرفته\nروش تولید آجرها مستقیماً بر ظاهر، بافت و ویژگیهای آنها تأثیر میگذارد.\nآجرهای دستی/قالبی: این آجرها با فشار دادن دستی خاک رس در قالب تولید میشوند. نتیجه، آجری با بافت نسبتاً زبر، لبههای نامنظم و ظاهری سنتیتر است که هر قطعه حس منحصر به فردی دارد. این نوع آجر اغلب برای پروژههای مرمت یا ساخت ساختمانهایی با سبک روستایی یا قدیمی استفاده میشود.\nآجرهای ماشینی: این آجرها با استفاده از ماشینآلات صنعتی تولید میشوند که دقت ابعادی و یکنواختی ظاهری بسیار بالاتری دارند. آجرهای ماشینی خود به دو دسته اصلی تقسیم میشوند:\nآجرهای سوراخدار/توخالی: این آجرها دارای سوراخهایی هستند که چندین مزیت دارند: کاهش وزن ساختمان، بهبود عایق حرارتی و صوتی و افزایش چسبندگی ملات.\nآجرهای توپر: این آجرها بدون سوراخ بوده و مقاومت فشاری بسیار بالایی دارند. آنها برای سازههای باربر و دیوارهایی که به حداکثر استحکام نیاز دارند، ایدهآل هستند.\n۲. طبقهبندی بر اساس نوع و ترکیب مواد اولیه: از خاک رس تا بتن\nجنس آجر تعیینکننده ویژگیهای فیزیکی و شیمیایی آن است.",
|
||||||
|
|||||||
@@ -19,18 +19,18 @@ export default async function RootLayout({
|
|||||||
}>) {
|
}>) {
|
||||||
const locale = params.locale;
|
const locale = params.locale;
|
||||||
|
|
||||||
|
const fontClass = locale === 'fa' ? 'font-fa' : 'font-en';
|
||||||
|
|
||||||
let messages;
|
let messages;
|
||||||
try {
|
try {
|
||||||
messages = (await import(`../../../messages/${locale}.json`)).default;
|
messages = (await import(`../../../messages/${locale}.json`)).default;
|
||||||
console.log('locale');
|
|
||||||
console.log(locale);
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
notFound();
|
notFound();
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html lang={locale} dir={locale === 'fa' ? 'rtl' : 'ltr'}>
|
<html lang={locale} dir={locale === 'fa' ? 'rtl' : 'ltr'}>
|
||||||
<body className="min-h-svh w-full overflow-x-hidden">
|
<body className={`min-h-svh w-full overflow-x-hidden ${fontClass}`}>
|
||||||
<NextIntlClientProvider locale={locale} messages={messages}>
|
<NextIntlClientProvider locale={locale} messages={messages}>
|
||||||
{children}
|
{children}
|
||||||
<Footer />
|
<Footer />
|
||||||
|
|||||||
+10
-107
@@ -1,113 +1,8 @@
|
|||||||
@import "tailwindcss";
|
@import "tailwindcss";
|
||||||
@import "tailwindcss/utilities";
|
@import "tailwindcss/utilities";
|
||||||
/* manrope-200 - latin */
|
@import "../assets/fonts/manrope/manrope.css";
|
||||||
@font-face {
|
@import "../assets/fonts/vazir/vazir.css";
|
||||||
font-display: swap;
|
|
||||||
|
|
||||||
font-family: 'Manrope';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 200;
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-200.eot');
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-200.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-200.woff2') format('woff2'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-200.woff') format('woff'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-200.ttf') format('truetype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-200.svg#Manrope') format('svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* manrope-300 - latin */
|
|
||||||
@font-face {
|
|
||||||
font-display: swap;
|
|
||||||
|
|
||||||
font-family: 'Manrope';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 300;
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-300.eot');
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-300.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-300.woff2') format('woff2'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-300.woff') format('woff'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-300.ttf') format('truetype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-300.svg#Manrope') format('svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* manrope-regular - latin */
|
|
||||||
@font-face {
|
|
||||||
font-display: swap;
|
|
||||||
|
|
||||||
font-family: 'Manrope';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 400;
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-regular.eot');
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-regular.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-regular.woff2') format('woff2'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-regular.woff') format('woff'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-regular.ttf') format('truetype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-regular.svg#Manrope') format('svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* manrope-500 - latin */
|
|
||||||
@font-face {
|
|
||||||
font-display: swap;
|
|
||||||
|
|
||||||
font-family: 'Manrope';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 500;
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-500.eot');
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-500.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-500.woff2') format('woff2'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-500.woff') format('woff'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-500.ttf') format('truetype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-500.svg#Manrope') format('svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* manrope-600 - latin */
|
|
||||||
@font-face {
|
|
||||||
font-display: swap;
|
|
||||||
|
|
||||||
font-family: 'Manrope';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 600;
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-600.eot');
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-600.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-600.woff2') format('woff2'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-600.woff') format('woff'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-600.ttf') format('truetype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-600.svg#Manrope') format('svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* manrope-700 - latin */
|
|
||||||
@font-face {
|
|
||||||
font-display: swap;
|
|
||||||
|
|
||||||
font-family: 'Manrope';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 700;
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-700.eot');
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-700.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-700.woff2') format('woff2'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-700.woff') format('woff'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-700.ttf') format('truetype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-700.svg#Manrope') format('svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
/* manrope-800 - latin */
|
|
||||||
@font-face {
|
|
||||||
font-display: swap;
|
|
||||||
|
|
||||||
font-family: 'Manrope';
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: 800;
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-800.eot');
|
|
||||||
src: url('../assets/fonts/manrope/manrope-v15-latin-800.eot?#iefix') format('embedded-opentype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-800.woff2') format('woff2'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-800.woff') format('woff'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-800.ttf') format('truetype'),
|
|
||||||
url('../assets/fonts/manrope/manrope-v15-latin-800.svg#Manrope') format('svg');
|
|
||||||
}
|
|
||||||
|
|
||||||
* {
|
|
||||||
font-family: 'Manrope';
|
|
||||||
}
|
|
||||||
|
|
||||||
html{
|
html{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
@@ -119,6 +14,14 @@ html{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
body.font-en *{
|
||||||
|
font-family: 'Manrope';
|
||||||
|
}
|
||||||
|
|
||||||
|
body.font-fa *{
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--primary: #FA003F;
|
--primary: #FA003F;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
type RouteFactory = (
|
type RouteFactory = (
|
||||||
t: (key: string) => string,
|
t: any,
|
||||||
locale: string,
|
locale: string,
|
||||||
) => {
|
) => {
|
||||||
home: { title: string; route: () => string };
|
home: { title: string; route: () => string };
|
||||||
|
|||||||
@@ -0,0 +1,104 @@
|
|||||||
|
/* manrope-200 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
|
||||||
|
font-family: 'Manrope';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 200;
|
||||||
|
src: url('./manrope-v15-latin-200.eot');
|
||||||
|
src: url('./manrope-v15-latin-200.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('./manrope-v15-latin-200.woff2') format('woff2'),
|
||||||
|
url('./manrope-v15-latin-200.woff') format('woff'),
|
||||||
|
url('./manrope-v15-latin-200.ttf') format('truetype'),
|
||||||
|
url('./manrope-v15-latin-200.svg#Manrope') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* manrope-300 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
|
||||||
|
font-family: 'Manrope';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 300;
|
||||||
|
src: url('./manrope-v15-latin-300.eot');
|
||||||
|
src: url('./manrope-v15-latin-300.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('./manrope-v15-latin-300.woff2') format('woff2'),
|
||||||
|
url('./manrope-v15-latin-300.woff') format('woff'),
|
||||||
|
url('./manrope-v15-latin-300.ttf') format('truetype'),
|
||||||
|
url('./manrope-v15-latin-300.svg#Manrope') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* manrope-regular - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
|
||||||
|
font-family: 'Manrope';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 400;
|
||||||
|
src: url('./manrope-v15-latin-regular.eot');
|
||||||
|
src: url('./manrope-v15-latin-regular.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('./manrope-v15-latin-regular.woff2') format('woff2'),
|
||||||
|
url('./manrope-v15-latin-regular.woff') format('woff'),
|
||||||
|
url('./manrope-v15-latin-regular.ttf') format('truetype'),
|
||||||
|
url('./manrope-v15-latin-regular.svg#Manrope') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* manrope-500 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
|
||||||
|
font-family: 'Manrope';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 500;
|
||||||
|
src: url('./manrope-v15-latin-500.eot');
|
||||||
|
src: url('./manrope-v15-latin-500.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('./manrope-v15-latin-500.woff2') format('woff2'),
|
||||||
|
url('./manrope-v15-latin-500.woff') format('woff'),
|
||||||
|
url('./manrope-v15-latin-500.ttf') format('truetype'),
|
||||||
|
url('./manrope-v15-latin-500.svg#Manrope') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* manrope-600 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
|
||||||
|
font-family: 'Manrope';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 600;
|
||||||
|
src: url('./manrope-v15-latin-600.eot');
|
||||||
|
src: url('./manrope-v15-latin-600.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('./manrope-v15-latin-600.woff2') format('woff2'),
|
||||||
|
url('./manrope-v15-latin-600.woff') format('woff'),
|
||||||
|
url('./manrope-v15-latin-600.ttf') format('truetype'),
|
||||||
|
url('./manrope-v15-latin-600.svg#Manrope') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* manrope-700 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
|
||||||
|
font-family: 'Manrope';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 700;
|
||||||
|
src: url('./manrope-v15-latin-700.eot');
|
||||||
|
src: url('./manrope-v15-latin-700.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('./manrope-v15-latin-700.woff2') format('woff2'),
|
||||||
|
url('./manrope-v15-latin-700.woff') format('woff'),
|
||||||
|
url('./manrope-v15-latin-700.ttf') format('truetype'),
|
||||||
|
url('./manrope-v15-latin-700.svg#Manrope') format('svg');
|
||||||
|
}
|
||||||
|
|
||||||
|
/* manrope-800 - latin */
|
||||||
|
@font-face {
|
||||||
|
font-display: swap;
|
||||||
|
|
||||||
|
font-family: 'Manrope';
|
||||||
|
font-style: normal;
|
||||||
|
font-weight: 800;
|
||||||
|
src: url('./manrope-v15-latin-800.eot');
|
||||||
|
src: url('./manrope-v15-latin-800.eot?#iefix') format('embedded-opentype'),
|
||||||
|
url('./manrope-v15-latin-800.woff2') format('woff2'),
|
||||||
|
url('./manrope-v15-latin-800.woff') format('woff'),
|
||||||
|
url('./manrope-v15-latin-800.ttf') format('truetype'),
|
||||||
|
url('./manrope-v15-latin-800.svg#Manrope') format('svg');
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,63 @@
|
|||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-Thin.woff2') format('woff2');
|
||||||
|
font-weight: 100;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-ExtraLight.woff2') format('woff2');
|
||||||
|
font-weight: 200;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-Light.woff2') format('woff2');
|
||||||
|
font-weight: 300;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-Regular.woff2') format('woff2');
|
||||||
|
font-weight: 400;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-Medium.woff2') format('woff2');
|
||||||
|
font-weight: 500;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-SemiBold.woff2') format('woff2');
|
||||||
|
font-weight: 600;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-Bold.woff2') format('woff2');
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-ExtraBold.woff2') format('woff2');
|
||||||
|
font-weight: 800;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
|
@font-face {
|
||||||
|
font-family: 'Vazirmatn';
|
||||||
|
src: url('./Vazirmatn-FD-Black.woff2') format('woff2');
|
||||||
|
font-weight: 900;
|
||||||
|
font-style: normal;
|
||||||
|
font-display: swap;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user