coderepo

Arch Linux good Font config for persian language

Logged In

all we need is to first install some good fonts then we build 2 persian fonts from AUR called iranian-sans and iranian-serif and use the config that comes next :

sudo pacman -S noto-fonts noto-fonts-cjk noto-fonts-emoji ttf-dejavu ttf-liberation ttf-inconsolata ttf-roboto-mono

and we use this config :

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
    <!-- arabic -->
    <match>
        <test compare="contains" name="lang">
            <string>ar</string>
        </test>
        <test name="family">
            <string>sans-serif</string>
        </test>
        <edit mode="prepend" name="family">
            <string>Iranian Sans</string>
        </edit>
    </match>
    <match>
        <test compare="contains" name="lang">
            <string>ar</string>
        </test>
        <test name="family">
            <string>serif</string>
        </test>
        <edit mode="prepend" name="family">
            <string>Iranian Serif</string>
        </edit>
    </match>

    <!-- persian -->
    <match>
        <test compare="contains" name="lang">
            <string>fa</string>
        </test>
        <test name="family">
            <string>sans-serif</string>
        </test>
        <edit mode="prepend" name="family">
            <string>Iranian Sans</string>
        </edit>
    </match>
    <match>
        <test compare="contains" name="lang">
            <string>fa</string>
        </test>
        <test name="family">
            <string>serif</string>
        </test>
        <edit mode="prepend" name="family">
            <string>Iranian Serif</string>
        </edit>
    </match>

    <!-- Fallback fonts preference order -->
    <match>
        <test name="family">
            <string>Arial</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>Iranian Sans</string>
        </edit>
    </match>
    <match>
        <test name="family">
            <string>Tahoma</string>
        </test>
        <edit name="family" mode="assign" binding="same">
            <string>Iranian Sans</string>
        </edit>
    </match>

    <alias>
        <family>Arial</family>
        <prefer>
            <family>Iranian Sans</family>
        </prefer>
    </alias>
    <alias>
        <family>Tahoma</family>
        <prefer>
            <family>Iranian Sans</family>
        </prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Iranian Sans</family>
            <family>Noto Sans</family>
            <family>Open Sans</family>
            <family>Droid Sans</family>
            <family>Roboto</family>
            <family>Tholoth</family>
            <family>Noto Sans Arabic</family>
        </prefer>
    </alias>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Iranian Serif</family>
            <family>Noto Serif</family>
            <family>Droid Serif</family>
            <family>Roboto Slab</family>
            <family>Tholoth</family>
            <family>Noto Sans Arabic</family>
        </prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>Iranian Sans</family>
            <family>Noto Sans Mono</family>
            <family>Inconsolata</family>
            <family>Droid Sans Mono</family>
            <family>Roboto Mono</family>
        </prefer>
    </alias>
</fontconfig>

and thats it.you enjoy.it make the monospaced persian and arabic fonts look better but might make some problems aswell.use it at your own risk 😀

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *