Skip to content

Instantly share code, notes, and snippets.

@hunzo
Last active October 27, 2025 03:37
Show Gist options
  • Select an option

  • Save hunzo/4b3fe6872736a18509f7e737ea6267e8 to your computer and use it in GitHub Desktop.

Select an option

Save hunzo/4b3fe6872736a18509f7e737ea6267e8 to your computer and use it in GitHub Desktop.
fix ubuntu-22.04 thai fonts
#!/bin/bash
# Fix Thai font rendering and replace common fonts (Segoe UI, Arial, etc.) with Noto Sans Thai/Noto Sans
set -euo pipefail
echo "[*] Installing fonts (if available)..."
if command -v apt >/dev/null 2>&1; then
sudo apt update
sudo apt install -y fonts-noto-core fonts-noto-color-emoji fonts-noto-mono || true
fi
CONF_FILE="/etc/fonts/conf.d/99-fix-thai-and-segoe.conf"
echo "📝 Create file Fontconfig: $CONF_FILE"
sudo tee "$CONF_FILE" >/dev/null <<'EOF'
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="lang" compare="contains"><string>th</string></test>
<test name="family" qual="any"><string>sans-serif</string></test>
<edit name="family" mode="assign_replace" binding="strong">
<string>Noto Sans Thai</string>
</edit>
</match>
<match target="pattern">
<test name="family" qual="any"><string>Segoe UI Webfont</string></test>
<edit name="family" mode="assign_replace" binding="strong">
<string>Noto Sans</string>
</edit>
</match>
<match target="pattern">
<test name="family" compare="contains"><string>Emoji</string></test>
<edit name="family" mode="assign_replace" binding="strong">
<string>Noto Color Emoji</string>
</edit>
</match>
<match target="pattern">
<test name="family" qual="any" compare="contains"><string>Segoe UI</string></test>
<edit name="family" mode="assign_replace" binding="strong">
<string>Noto Sans</string>
</edit>
</match>
<match target="pattern">
<test name="lang" compare="contains"><string>th</string></test>
<test name="family" qual="any" compare="contains"><string>Segoe UI</string></test>
<edit name="family" mode="assign_replace" binding="strong">
<string>Noto Sans Thai</string>
</edit>
</match>
<alias>
<family>Arial</family>
<prefer><family>Noto Sans Thai</family></prefer>
</alias>
<alias>
<family>Helvetica</family>
<prefer><family>Noto Sans Thai</family></prefer>
</alias>
<alias>
<family>Verdana</family>
<prefer><family>Noto Sans Thai</family></prefer>
</alias>
<alias>
<family>Tahoma</family>
<prefer><family>Noto Sans Thai</family></prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer><family>Noto Sans Thai</family></prefer>
</alias>
</fontconfig>
EOF
echo "⏳ Rebuild font cache..."
sudo fc-cache -vf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment