Change serif, sans-serif and monospace generic font families mapping on Linux operating system

Change serif, sans-serif and monospace generic font families mapping on Linux operating system

Ubuntu Font FamilyDifferent Linux distributions map different fonts to generic font families like serif, sans-serif and monospace and thats fine. Unfortunately as a web developer I need those families consistent on all my machines and as similar as possible to generic font families mapping my code users have. Because of that the first thing I do when I decide to keep Linux distribution around is to configure serif, sans-serif and monospace generic font families mapping.

I usually do this only for my user account but it is also easy to configure this mappings globally. For per user configuration just login as target user and create file named .fonts.conf in target users home directory.

nano ~/.fonts.conf

Now you can place following inside and replace font families to font families you require for your work:

<!--?xml version="1.0"?>-->
<!--DOCTYPE fontconfig SYSTEM "fonts.dtd">-->
<!-- ~/.fonts.conf for per-user font configuration -->
<fontconfig>
    <alias>
        <family>serif</family>
        <prefer>
            <family>Liberation Serif</family>
        </prefer>
    </alias>
    <alias>
        <family>sans-serif</family>
        <prefer>
            <family>Liberation Sans</family>
        </prefer>
    </alias>
    <alias>
        <family>monospace</family>
        <prefer>
            <family>Liberation Mono</family>
        </prefer>
    </alias>
</fontconfig>

Instead of only one font family you can place multiple ones and fontconfig will search trough this list and pick first font that exists on your system. I usually place Liberation Sans (open source version of Arial) as sans-serif, Liberation Serif (open source version of Times New Roman) as serif and Liberation Mono (open source version of Courier New) as monospace but you can place any font that comes to your mind.

If you want to configure this for all users on Debian based machine like Ubuntu just place your file named 99-webfont-mapping.conf inside /etc/fonts/conf.avail/ and create symlink inside /etc/fonts/conf.d/ directory.

sudo nano /etc/fonts/conf.avail/99-webfont-mapping.conf
sudo ln -s /etc/fonts/conf.avail/99-webfont-mapping.conf /etc/fonts/conf.d/99-webfont-mapping.conf

You should reboot now for changes to take an effect. Enjoy!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 这个问题是由于找不到字体家族'sans-serif'导致的。根据引用\[1\]和引用\[2\]的报错信息,可以看出在系统中找不到SimHei字体。为了解决这个问题,你可以按照引用\[3\]中的步骤进行操作。首先,在Python环境中输入以下代码来查看字体路径:import matplotlib matplotlib.matplotlib_fname()。这将显示matplotlib的配置文件路径。然后,你可以将SimHei字体文件复制到该路径下的字体文件夹中。这样,当你再次运行程序时,就能够找到并使用SimHei字体了。 #### 引用[.reference_title] - *1* [解决linux服务器上matplotlib绘图中文显示方框问题](https://blog.csdn.net/liu_xzhen/article/details/122881997)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [linux下python matplotlib 中文字体Font family [‘sans-serif‘] not found. Falling back to DejaVu Sans](https://blog.csdn.net/sinat_36728101/article/details/124349841)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [解决使用matplotlib.pyplot画图包含中文乱码显示问题(macbook上 family ‘sans-serif‘ not found 问题)](https://blog.csdn.net/ben_na_/article/details/124238611)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值