You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7.8下FSCrawler出现CourierNew,Italic fallback字体警告求助

解决FSCrawler的CourierNew Italic字体 fallback警告

问题背景

两台CentOS 7.8机器运行FSCrawler,其中一台出现如下警告:

13:03:28,449 WARN [o.a.p.p.f.PDTrueTypeFont] Using fallback font 'LiberationSans' for 'CourierNew,Italic'

两台机器通过fc-list查询的可用Courier字体结果一致:

# fc-list | grep "CourierNew"
# fc-list | grep "Courier"
/usr/share/X11/fonts/Type1/c0611bt_.pfb: Courier 10 Pitch:style=Bold Italic
/usr/share/X11/fonts/Type1/c0419bt_.pfb: Courier 10 Pitch:style=Regular
/usr/share/X11/fonts/Type1/c0583bt_.pfb: Courier 10 Pitch:style=Bold
/usr/share/X11/fonts/Type1/c0582bt_.pfb: Courier 10 Pitch:style=Italic

排查与解决步骤

1. 检查JVM字体缓存与映射

FSCrawler依赖Java环境,JVM可能未正确识别系统字体:

  • 查看JVM的字体 fallback目录:ls -la $JAVA_HOME/jre/lib/fonts/fallback/
  • 若缺失Courier相关字体,复制系统字体到该目录并刷新缓存:
    cp /usr/share/X11/fonts/Type1/c0582bt_.pfb $JAVA_HOME/jre/lib/fonts/fallback/
    fc-cache -fv
    
  • 重启FSCrawler服务。

2. 配置FSCrawler字体映射

对比两台机器的FSCrawler配置文件(通常为_settings.json),添加字体映射规则:

  • 在配置文件中新增如下片段,将CourierNew,Italic映射到系统已有的Courier 10 Pitch,Italic:
    "font": {
      "mapping": {
        "CourierNew,Italic": "Courier 10 Pitch,Italic"
      }
    }
    
  • 保存配置后重启FSCrawler。

3. 刷新系统字体缓存

尽管fc-list显示字体存在,但其中一台机器的字体缓存可能失效:

  • 重新生成系统字体缓存:fc-cache -fv
  • 验证映射结果:fc-match "CourierNew,Italic",若返回Courier 10 Pitch,Italic则正常。

4. 检查运行用户权限差异

运行FSCrawler的用户可能缺少字体目录的读取权限:

  • 检查字体目录权限:ls -ld /usr/share/X11/fonts/Type1/
  • 若运行用户无读权限,调整权限:
    chmod o+r /usr/share/X11/fonts/Type1/
    

内容的提问来源于stack exchange,提问作者Manoj Agarwal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 23:33:02