Last active
September 29, 2025 08:25
-
-
Save hunzo/4a032a17297d3e487bfd7fd1bd845931 to your computer and use it in GitHub Desktop.
create file /etc/fonts/conf.d/99-segoe-ui-alias.conf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
CONF_FILE_1="/etc/fonts/conf.d/99-fix-all-thai.conf" | |
sudo tee "$CONF_FILE_1" >/dev/null <<'EOF' | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<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 | |
# Rebuild font cache | |
sudo fc-cache -vf | |
echo "✅ Thai font fix applied. Now sans-serif (lang=th) will use Noto Sans Thai." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Fix Thai font rendering on Linux Mint/Noto | |
# Force sans-serif (Thai) to use Noto Sans Thai | |
CONF_FILE_1="/etc/fonts/conf.d/99-fix-thai.conf" | |
sudo tee "$CONF_FILE_1" >/dev/null <<'EOF' | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<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" qual="any"><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"><string>sans-serif</string></test> | |
<edit name="family" mode="assign_replace" binding="strong"> | |
<string>Noto Sans Thai</string> | |
</edit> | |
</match> | |
</fontconfig> | |
EOF | |
CONF_FILE_2="/etc/fonts/conf.d/99-fix-segoe-ui-alias.conf" | |
sudo tee "$CONF_FILE_2" >/dev/null <<'EOF' | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<!-- Regular --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Noto Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>regular</const> | |
</edit> | |
</match> | |
<!-- Light --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Light</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Noto Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>light</const> | |
</edit> | |
</match> | |
<!-- Semibold --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Semibold</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Noto Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>semibold</const> | |
</edit> | |
</match> | |
<!-- Bold --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Bold</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Noto Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>bold</const> | |
</edit> | |
</match> | |
<!-- Black --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Black</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Noto Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>black</const> | |
</edit> | |
</match> | |
<!-- Italic --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Italic</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Noto Sans</string> | |
</edit> | |
<edit name="slant" mode="assign" binding="strong"> | |
<const>italic</const> | |
</edit> | |
</match> | |
<!-- Aliases --> | |
<alias> | |
<family>Segoe UI</family> | |
<prefer> | |
<family>Noto Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Light</family> | |
<prefer> | |
<family>Noto Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Semibold</family> | |
<prefer> | |
<family>Noto Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Bold</family> | |
<prefer> | |
<family>Noto Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Black</family> | |
<prefer> | |
<family>Noto Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Italic</family> | |
<prefer> | |
<family>Noto Sans</family> | |
</prefer> | |
</alias> | |
</fontconfig> | |
EOF | |
# Rebuild font cache | |
sudo fc-cache -vf | |
echo "✅ Thai font fix applied. Now sans-serif (lang=th) will use Noto Sans Thai." |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Fix Thai font rendering on Linux Mint/Ubuntu | |
# Force sans-serif (Thai) to use Noto Sans Thai | |
CONF_FILE_1="/etc/fonts/conf.d/99-fix-thai.conf" | |
sudo tee "$CONF_FILE_1" >/dev/null <<'EOF' | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<match target="pattern"> | |
<test name="family" qual="any"><string>Segoe UI Webfont</string></test> | |
<edit name="family" mode="assign_replace" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
</match> | |
<match target="pattern"> | |
<test name="family" qual="any"><string>Segoe UI</string></test> | |
<edit name="family" mode="assign_replace" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
</match> | |
<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> | |
</fontconfig> | |
EOF | |
CONF_FILE_2="/etc/fonts/conf.d/99-fix-segoe-ui-alias.conf" | |
sudo tee "$CONF_FILE_2" >/dev/null <<'EOF' | |
<?xml version="1.0"?> | |
<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> | |
<fontconfig> | |
<!-- Regular --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>regular</const> | |
</edit> | |
</match> | |
<!-- Light --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Light</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>light</const> | |
</edit> | |
</match> | |
<!-- Semibold --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Semibold</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>semibold</const> | |
</edit> | |
</match> | |
<!-- Bold --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Bold</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>bold</const> | |
</edit> | |
</match> | |
<!-- Black --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Black</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
<edit name="weight" mode="assign" binding="strong"> | |
<const>black</const> | |
</edit> | |
</match> | |
<!-- Italic --> | |
<match target="pattern"> | |
<test name="family" qual="any"> | |
<string>Segoe UI Italic</string> | |
</test> | |
<edit name="family" mode="assign" binding="strong"> | |
<string>Ubuntu Sans</string> | |
</edit> | |
<edit name="slant" mode="assign" binding="strong"> | |
<const>italic</const> | |
</edit> | |
</match> | |
<!-- Aliases --> | |
<alias> | |
<family>Segoe UI</family> | |
<prefer> | |
<family>Ubuntu Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Light</family> | |
<prefer> | |
<family>Ubuntu Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Semibold</family> | |
<prefer> | |
<family>Ubuntu Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Bold</family> | |
<prefer> | |
<family>Ubuntu Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Black</family> | |
<prefer> | |
<family>Ubuntu Sans</family> | |
</prefer> | |
</alias> | |
<alias> | |
<family>Segoe UI Italic</family> | |
<prefer> | |
<family>Ubuntu Sans</family> | |
</prefer> | |
</alias> | |
</fontconfig> | |
EOF | |
# Rebuild font cache | |
sudo fc-cache -vf | |
echo "✅ Thai font fix applied. Now sans-serif (lang=th) will use Noto Sans Thai." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment