I use a font manager to substitute fonts. There are many great open source fonts and I would be happy to exchange information. Here is my config (~/.config/fontconfig/39-Aliases.conf).
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- Generated by Font Manager. Do NOT edit this file. -->
<fontconfig>
<alias binding="strong">
<family>Meiryo</family>
<prefer>
<family>Inter</family>
</prefer>
<accept/>
<default/>
</alias>
<alias binding="strong">
<family>Helvetica</family>
<prefer>
<family>Inter</family>
</prefer>
<accept/>
<default/>
</alias>
<alias binding="strong">
<family>Segoe UI</family>
<prefer>
<family>Inter</family>
</prefer>
<accept/>
<default/>
</alias>
<alias binding="strong">
<family>Times New Roman</family>
<prefer>
<family>Gelasio</family>
</prefer>
<accept/>
<default/>
</alias>
<alias binding="strong">
<family>Helvetica Neue</family>
<prefer>
<family>Inter</family>
</prefer>
<accept/>
<default/>
</alias>
<alias binding="strong">
<family>Times</family>
<prefer>
<family>Gelasio</family>
</prefer>
<accept/>
<default/>
</alias>
<alias binding="strong">
<family>Arial</family>
<prefer>
<family>Inter</family>
</prefer>
<accept/>
<default/>
</alias>
<alias binding="strong">
<family>Inter</family>
<prefer/>
<accept>
<family>Noto Sans CJK JP</family>
</accept>
<default/>
</alias>
<alias binding="strong">
<family>Georgia</family>
<prefer>
<family>Gelasio</family>
</prefer>
<accept/>
<default/>
</alias>
</fontconfig>