1. Install the Microsoft Fonts.

yay -S ttf-ms-fonts 
yay -S ttf-ms-win11-auto
yay -S ttf-ms-win10-auto

Choose one, here I recommend “ttf-ms-fonts”.

yay -S ttf-ms-fonts

2. Install a better text font.

For my use case, I always install Ubuntu fonts.

sudo pacman -S ttf-ubuntu-font-family

3. Create the following directory and the fonts.conf file:

mkdir -p ~/.config/fontconfig/

then

vim ~/.config/fontconfig/fonts.conf

now paste this setting:

<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font">
    <edit mode="assign" name="antialias">
        <bool>true</bool>
    </edit>
    <edit mode="assign" name="embeddedbitmap">
        <bool>false</bool>
    </edit>
    <edit mode="assign" name="hinting">
        <bool>true</bool>
    </edit>
    <edit mode="assign" name="hintstyle">
        <const>hintslight</const>
    </edit>
    <edit mode="assign" name="lcdfilter">
        <const>lcddefault</const>
    </edit>
    <edit mode="assign" name="rgba">
        <const>rgb</const>
    </edit>
</match>
</fontconfig>

3.1. Run this command to build font cache:

fc-cache -fv

3.2 Reboot your PC.

sudo reboot

4. Open GNOME Tweaks and set the following:

Interface Text: Ubuntu
Document Text: Ubuntu
Monospace Text: MesloLGS NF (or any of the ttf-meslo-nerd)
    
Rendering (Hinting):
        
Slight

Antialiasing:

Subpixel (for LCD screens)

Using the FREETYPE_PROPERTIES option for bolder fonts (less pixelated, more like Windows TrueType):

  1. Enter the following command in the terminal:
    sudo vim /etc/environment
    
  2. Copy and paste the following:
    # Better font rendering
    FREETYPE_PROPERTIES="cff:no-stem-darkening=0 autofitter:no-stem-darkening=0"
    
  3. Save the changes and reboot the machine

Quick Note

I highly recommend you check out the Arch Post Install guide first If you haven’t yet.