To solve the issue without manually merging font files, you should use Fontconfig, the standard font management system on Linux. Konsole itself doesn’t have a “Fallback” button in its settings because it relies on the OS to handle characters it can’t find in your primary font.
Here is the specific recommendation to set this up:
1. Identify Your Font Names
Open your terminal and run this command to find the exact “Family” names of the fonts you want to use:
fc-list : family | grep -i "your font name"
-
Primary (English): e.g.,
Hack,Fira Code, orJetBrains Mono. -
Fallback (Arabic): e.g.,
Noto Sans ArabicorIBM Plex Sans Arabic.
2. Create a Custom Font Configuration
You don’t need to change system files. Create a local configuration file for your user:
-
Open (or create) the file:
~/.config/fontconfig/fonts.conf -
Paste the following code into it:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>YOUR_ENGLISH_FONT_NAME</family>
<prefer>
<family>YOUR_ENGLISH_FONT_NAME</family>
<family>YOUR_ARABIC_FONT_NAME</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>YOUR_ENGLISH_FONT_NAME</family>
<family>YOUR_ARABIC_FONT_NAME</family>
</prefer>
</alias>
</fontconfig>
Replace YOUR_ENGLISH_FONT_NAME and YOUR_ARABIC_FONT_NAME with the names you found in Step 1.
3. Apply the Changes
Run this command to refresh the system’s font cache:
fc-cache -fv
Then, fully restart Konsole.
Why this is the “correct” way:
-
No File Merging: You keep your font files clean and original. If the fonts are updated by your Linux distribution, your fallback settings will still work.
-
System-Wide: This doesn’t just fix Konsole; it teaches your entire desktop that whenever you use your favorite English font, the Arabic one is its “partner” for missing characters.
-
Monospace Safety: By defining this in Fontconfig, the system handles the alignment issues better than a “Frankenstein” merged font file would.
If you are using a specific Konsole Profile, ensure that under Settings > Edit Current Profile > Appearance, the “Font” matches the YOUR_ENGLISH_FONT_NAME you put in the config file.