تنظیم فونت در Wayland (آرچ لینوکس)
در این آموزش، روش اصولی تنظیم فونت برای Wayland را بررسی میکنیم
آخرین بهروزرسانی: ۲۱ آبان ۱۴۰۵ · نسخهٔ ۱ · ۳ بازدید
این مقاله مستندات رسمی Arch Linux نیست؛ برای موارد حساس به ArchWiki مراجعه کنید.
تنظیم فونت در Wayland (آرچ لینوکس)
مقدمه
در محیطهای Wayland (مثل Hyprland، Sway، KDE Plasma Wayland و GNOME)، مدیریت فونت کمی متفاوت از X11 است. بیشتر تنظیمات از طریق fontconfig انجام میشود و برنامههای GTK و Qt هر کدام روش خود را دارند.
در این آموزش، روش اصولی تنظیم فونت برای Wayland را بررسی میکنیم.
۱. نصب فونتهای لازم
ابتدا فونتهای پایه و فارسی را نصب کنید:
sudo pacman -S ttf-dejavu ttf-liberation noto-fonts noto-fonts-emoji
فونت فارسی پیشنهادی:
sudo pacman -S ttf-*********
# یا از AUR:
yay -S ttf-********* *****-fonts
برای ترمینال و آیکون:
sudo pacman -S ttf-jetbrains-mono-nerd ttf-firacode-nerd
بعد از نصب حتماً کش فونت را بهروز کنید:
fc-cache -fv
۲. تنظیمات کلی با fontconfig (مهمترین بخش)
فایل پیکربندی کاربر را بسازید:
mkdir -p ~/.config/fontconfig
nano ~/.config/fontconfig/fonts.conf
محتوای پیشنهادی برای فارسی + انگلیسی:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- فونت پیشفرض بدونسریف -->
<alias>
<family>sans-serif</family>
<prefer>
<family>*********</family>
<family>Noto Sans</family>
<family>DejaVu Sans</family>
</prefer>
</alias>
<!-- فونت سریف -->
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>DejaVu Serif</family>
</prefer>
</alias>
<!-- فونت مونواسپیس (ترمینال و کد) -->
<alias>
<family>monospace</family>
<prefer>
<family>JetBrainsMono Nerd Font</family>
<family>FiraCode Nerd Font</family>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
<!-- بهبود رندرینگ -->
<match target="font">
<edit name="antialias" mode="assign"><bool>true</bool></edit>
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
<edit name="lcdfilter" mode="assign"><const>lcddefault</const></edit>
</match>
</fontconfig>
ذخیره کنید و کش را دوباره بسازید:
fc-cache -fv
۳. تنظیم فونت برنامههای GTK
بیشتر برنامههای GTK از همین تنظیمات fontconfig پیروی میکنند. برای اجبار بیشتر میتوانید از gsettings استفاده کنید (اگر dconf نصب باشد):
gsettings set org.gnome.desktop.interface font-name '********* 11'
gsettings set org.gnome.desktop.interface document-font-name '********* 11'
gsettings set org.gnome.desktop.interface monospace-font-name 'JetBrainsMono Nerd Font 10'
۴. تنظیم فونت برنامههای Qt
برای برنامههای Qt در Wayland:
sudo pacman -S qt5ct qt6ct
سپس متغیر محیطی را اضافه کنید (در ~/.zshrc یا ~/.bashrc یا تنظیمات Hyprland):
export QT_QPA_PLATFORMTHEME=qt5ct
حالا qt5ct یا qt6ct را باز کنید و فونت مورد نظر را انتخاب کنید.
در Hyprland میتوانید این متغیر را در فایل پیکربندی قرار دهید:
env = QT_QPA_PLATFORMTHEME,qt5ct
۵. تنظیم فونت در خود Hyprland
Hyprland مستقیماً فونت را کنترل نمیکند، اما برای مواردی مثل منوها و بعضی عناصر میتوانید از ابزارهای جانبی استفاده کنید. مهمترین کار همان تنظیم fontconfig است.
اگر از Waybar استفاده میکنید، فونت را در فایل کانفیگ Waybar مشخص کنید:
"font": "JetBrainsMono Nerd Font 11"
۶. تست تنظیمات
برای دیدن اینکه سیستم چه فونتی را انتخاب کرده:
fc-match sans
fc-match serif
fc-match monospace
برای تست رندر فارسی:
pango-view --font="********* 14" -t "این یک متن آزمایشی فارسی است"
۷. مشکلات رایج در Wayland
فونت در بعضی برنامهها اعمال نمیشود
- برنامه را کامل ببندید و دوباره باز کنید
- اگر Flatpak است، از Flatseal دسترسیها را بررسی کنید
- متغیرهای محیطی Qt را درست تنظیم کنید
متنها تار یا بد هستند
تنظیمات hinting و rgba را در fonts.conf تغییر دهید و دوباره fc-cache -fv بزنید.
فونت ترمینال درست نیست
فونت را مستقیماً در تنظیمات ترمینال (Kitty، Foot، Alacritty و ...) انتخاب کنید. فقط به fontconfig اکتفا نکنید.
۸. جمعبندی
در Wayland مهمترین کارها به ترتیب اینهاست:
- نصب فونتهای مناسب (مخصوصاً ********* و Nerd Font)
- ساخت و تنظیم فایل
~/.config/fontconfig/fonts.conf - اجرای
fc-cache -fv - تنظیم Qt با
qt5ct/qt6ct - تنظیم فونت در خود ترمینال و Waybar
با انجام این مراحل، نمایش فارسی در اکثر برنامههای Wayland تمیز و خوانا خواهد شد.
---
تهیهشده برای جامعه ARCHIHA