news 2026/8/25 6:36:40

Linux命令-xlsfonts(列出 X11 可用字体)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令-xlsfonts(列出 X11 可用字体)

Linux命令-xlsfonts(列出 X11 可用字体)

    • 🔰 简介
    • 📖 语法
    • ⚙️ 选项
    • 💡 示例
      • 示例 1:浏览和过滤字体
      • 示例 2:长格式查看字体详细信息
      • 示例 3:分析字体可用性脚本
      • 示例 4:为 xterm 选择合适的字体
      • 示例 5:字体路径管理和字体服务器
    • ⚠️ 注意
    • 📚 相关命令
    • 📝 总结

快速参考xlsfonts列出 X11 服务器可用字体的工具,支持通配符按名称模式过滤。它是 X11 核心字体系统(X Logical Font Description,简称 XLFD)的浏览工具,在传统 X11 应用开发和字体调试中至关重要

现代 Linux 桌面已广泛使用 fontconfig 和客户端字体渲染(如 Pango、Cairo),X11 核心字体(XLFD)主要用于传统 X11 应用(xterm、xfontsel、旧版 X 程序)。


🔰 简介

X11 核心字体系统使用XLFD(X Logical Font Description)格式来命名字体。一个完整的 XLFD 字体名包含 14 个由-分隔的字段:

-foundry-family-weight-slant-setwidth-addstyle-pixelSize-pointSize-resolutionX-resolutionY-spacing-avgWidth-charsetEncoding-

例如:-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso8859-1

xlsfonts让你浏览和搜索这个字体命名空间,是理解和调试 X11 字体问题的首选工具。

XLFD 14 字段详解

序号字段名含义示例值
1FOUNDRY字体厂商miscadobebitstream
2FAMILY_NAME字体族名fixedcourierhelvetica
3WEIGHT_NAME字重mediumboldlight
4SLANT倾斜r(正)、i(斜)、o(倾斜)
5SETWIDTH_NAME宽度normalcondensedsemicondensed
6ADD_STYLE_NAME附加样式通常为空
7PIXEL_SIZE像素大小152024
8POINT_SIZE点数大小140(每10点)
9RESOLUTION_X水平分辨率75100
10RESOLUTION_Y垂直分辨率75100
11SPACING间距p(比例)、m(等宽)、c(字符单元)
12AVERAGE_WIDTH平均宽度90(每10像素)
13CHARSET_REGISTRY字符集注册iso8859jisx0208gb2312
14CHARSET_ENCODING字符集编码1(8859-1)、1983(JIS)

安装方式

# Debian/Ubuntu$sudoapt-getinstallx11-utils# RHEL/CentOS/Fedora$sudoyuminstallxorg-x11-utils# RHEL 7$sudodnfinstallxorg-x11-utils# Fedora / RHEL 8+# 安装常用核心字体(某些现代发行版不默认安装)$sudoapt-getinstallxfonts-base xfonts-75dpi xfonts-100dpi# Debian/Ubuntu$sudodnfinstallxorg-x11-fonts-misc xorg-x11-fonts-75dpi# Fedora# 验证安装$whichxlsfonts /usr/bin/xlsfonts

📖 语法

xlsfonts[选项][模式]
  • 模式:可包含*(匹配任意字符)和?(匹配单个字符)的 XLFD 字体名通配符
  • 默认模式*列出所有字体

⚙️ 选项

选项说明
-display 显示器指定 X 显示器(默认$DISPLAY
-fn 模式指定字体名模式(与命令行模式等价)
-l长格式:每行一项属性(显示 XLFD 所有字段)
-ll超长格式:列出所有属性包括字体特性
-m列出字体的最小和最大边界尺寸
-C多列输出(节省屏幕空间)
-1单列输出(每行一个字体)
-w 宽度指定输出宽度(默认 79 字符)
-n 列数指定输出列数
-u输出不排序(保持字体服务器返回的原始顺序)

💡 示例

示例 1:浏览和过滤字体

# 列出所有字体(数量可能很多!)$ xlsfonts|wc-l4289# 搜索特定字体族$ xlsfonts-fn'*fixed*'-misc-fixed-medium-r-normal--0-0-75-75-c-0-iso10646-1 -misc-fixed-medium-r-normal--13-100-100-100-c-70-iso10646-1 -misc-fixed-medium-r-normal--13-120-75-75-c-80-iso10646-1 -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1 -misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1 -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1...# 搜索 Courier 字体$ xlsfonts-fn'*courier*'-adobe-courier-medium-o-normal--0-0-100-100-m-0-iso10646-1 -adobe-courier-bold-o-normal--0-0-100-100-m-0-iso10646-1 -adobe-courier-medium-r-normal--0-0-100-100-m-0-iso10646-1 -adobe-courier-bold-r-normal--0-0-100-100-m-0-iso10646-1...# 搜索等宽字体(spacing=m)$ xlsfonts-fn'*-*-*-*-*-*-*-*-*-*-*-m-*'|head-10-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1...# 搜索特定大小(15 像素)$ xlsfonts-fn'*-*-*-*-*-*-15-*'# 搜索中文字体$ xlsfonts-fn'*gb2312*'2>/dev/null -isas-song ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0 -isas-fangsong ti-medium-r-normal--16-160-72-72-c-160-gb2312.1980-0# 预期输出:各类过滤条件下的匹配字体名列表

示例 2:长格式查看字体详细信息

# 长格式解析 XLFD 每个字段$ xlsfonts-fn'*-fixed-medium-r-normal--15-*'-lDIR: minbounds maximum bounds overlap properties -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 MIN_SPACE bounds: width=9, left=0, right=9ascent=13, descent=2, attributes=0MAX_SPACE bounds: width=9, left=0, right=9ascent=13, descent=2, attributes=0overlaps: FALSE properties: FAMILY_NAME=Fixed FOUNDRY=Misc WEIGHT_NAME=Medium SLANT=R SETWIDTH_NAME=Normal ADD_STYLE_NAME=(null)PIXEL_SIZE=15POINT_SIZE=140RESOLUTION_X=75RESOLUTION_Y=75SPACING=C AVERAGE_WIDTH=90CHARSET_REGISTRY=ISO10646 CHARSET_ENCODING=1MIN_SPACE=9NORM_SPACE=9MAX_SPACE=9END_SPACE=9AVG_CAPITAL_WIDTH=9AVG_LOWERCASE_WIDTH=9QUAD_WIDTH=18FIGURE_WIDTH=9SUPERSCRIPT_X=6SUPERSCRIPT_Y=8SUBSCRIPT_X=6SUBSCRIPT_Y=3SUPERSCRIPT_SIZE=13SUBSCRIPT_SIZE=10SMALL_CAP_SIZE=9UNDERLINE_POSITION=-1STRIKEOUT_ASCENT=6STRIKEOUT_DESCENT=3X_HEIGHT=12CAP_HEIGHT=11RAW_ASCENT=3323RAW_DESCENT=553RAW_PIXEL_SIZE=1524RAW_POINT_SIZE=1394RAW_AVERAGE_WIDTH=894MIN_CHAR_BYTE2=32MAX_CHAR_BYTE2=255DEFAULT_CHAR=0FONT_TYPE=FONT_IS_FIXED_WIDTH FONT=-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 FACE_NAME=Fixed COPYRIGHT="Public domain font. Share and enjoy."RESOLUTION=0FULL_NAME=Misc Fixed# 超长格式(-ll)包含更多渲染细节$ xlsfonts-fn'*fixed*15*'-ll|head-30DIR: minbounds maximum bounds overlap direction properties -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1... direction: ink metrics LEFT_TO_RIGHT# 预期输出:完整的字体属性信息

示例 3:分析字体可用性脚本

#!/bin/bash# X11 字体分析脚本echo"=== X11 字体系统分析$(date)==="echo""# 1. 总字体数统计TOTAL=$(xlsfonts|wc-l)echo"总字体数:$TOTAL"echo""# 2. 按厂商统计echo"--- 按字体厂商统计 ---"xlsfonts|awk-F'-''{print $2}'|sort|uniq-c|sort-rn|head-10# 3. 按字体族统计echo""echo"--- 常见字体族 ---"forfamilyinfixed courier helveticatimes;doCOUNT=$(xlsfonts-fn"*$family*"2>/dev/null|wc-l)echo"$family:$COUNT"doneecho""# 4. 按字符集统计echo"--- 按字符集统计 ---"xlsfonts|awk-F'-''{print $NF}'|sort|uniq-c|sort-rn|head-10# 5. 等宽字体列表echo""echo"--- 等宽字体(适合终端使用)---"xlsfonts-fn'*-*-*-*-*-*-*-*-*-*-*-m-*'|head-20xlsfonts-fn'*-*-*-*-*-*-*-*-*-*-*-c-*'|head-10# 6. 检查中文字体支持echo""echo"--- 中文字体检查 ---"CN_COUNT=$(xlsfonts-fn'*gb2312*'2>/dev/null|wc-l)if["$CN_COUNT"-gt0];thenecho"✅ 发现$CN_COUNT个中文字体:"xlsfonts-fn'*gb2312*'elseecho"❌ 未找到 GB2312 中文字体"echo" 安装: sudo apt-get install xfonts-intl-chinese"fi# 7. 字体路径echo""echo"--- 字体路径 ---"xset q|grep"Font Path"# 预期输出:# === X11 字体系统分析 ===# 总字体数: 4289# --- 按字体厂商统计 ---# 2134 misc# 890 adobe# 567 bitstream# 345 sony# ...# --- 等宽字体(适合终端使用)---# -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1# ...# --- 中文字体检查 ---# ❌ 未找到 GB2312 中文字体# --- 字体路径 ---# Font Path: /usr/share/fonts, /usr/share/X11/fonts

示例 4:为 xterm 选择合适的字体

# 传统 X11 应用(如 xterm)使用 XLFD 字体名配置# 以下展示如何查找和测试适合 xterm 的等宽字体# Step 1: 查找中等大小的等宽字体$ xlsfonts-fn'*-*-*-*-*-*-14-*-*-*-*-*-*'|head-20$ xlsfonts-fn'*-*-*-*-*-*-13-*-*-*-*-*-*'|head-10# Step 2: 测试字体效果$ xterm-fn'-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso10646-1'&$ xterm-fn'-misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1'&$ xterm-fn'-adobe-courier-medium-r-normal--14-100-100-100-m-90-iso10646-1'&# Step 3: 在 ~/.Xresources 中永久配置$cat>>~/.Xresources<<'XRES' ! xterm 字体配置 XTerm*font: -misc-fixed-medium-r-normal--15-140-75-75-c-90-iso10646-1 XTerm*boldFont: -misc-fixed-bold-r-normal--15-140-75-75-c-90-iso10646-1 XRES$ xrdb-merge~/.Xresources# 预期效果:新启动的 xterm 使用配置的字体# Step 4: 使用 xfontsel 图形化浏览字体(比 xlsfonts 更直观)$ xfontsel&# 点击 fmly 选择 fixed,点击 pxlsz 选择大小,实时预览

示例 5:字体路径管理和字体服务器

# X 核心字体通过 xset 管理字体路径# 查看当前字体路径$ xset q|grep"Font Path"Font Path: /usr/share/fonts/X11/misc/, /usr/share/fonts/X11/Type1/, /usr/share/fonts/X11/75dpi/, /usr/share/fonts/X11/100dpi/, built-ins# 临时添加字体目录$ xset +fp /usr/local/share/fonts/custom/ $ xset fp rehash# 验证新字体是否可用$ xlsfonts-fn'*customprefix*'# 恢复默认字体路径$ xset fp default# 查看字体目录中的文件(.pcf.gz 是 X 核心字体格式)$ls/usr/share/fonts/X11/misc/ 10x20-ISO8859-1.pcf.gz 6x13-ISO8859-1.pcf.gz cursor.pcf.gz 5x7-ISO8859-1.pcf.gz 7x14-ISO8859-1.pcf.gz olcursor.pcf.gz...# 编译安装自定义字体$sudomkdir-p/usr/local/share/fonts/myfonts $sudocpmyfont.pcf /usr/local/share/fonts/myfonts/ $sudomkfontdir /usr/local/share/fonts/myfonts/ $ xset +fp /usr/local/share/fonts/myfonts/ $ xset fp rehash $ xlsfonts-fn'*myfont*'

⚠️ 注意

X11 核心字体 vs fontconfig

特性X11 核心字体(xlsfonts)fontconfig(fc-list)
字体格式PCF、BDF、SpeedoTrueType、OpenType、Type1
命名方式XLFD(14 字段)人性化名称
适用范围传统 X11 应用现代 GTK/Qt 应用
配置工具xset fpfc-cachefonts.conf
查询命令xlsfontsfc-listfc-match

关键提示

  1. 现代 Linux 不需要手动管理 X 核心字体,大多数桌面应用使用 fontconfig。仅在运行 xterm、xfontsel 等传统 X 工具时需要。
  2. 如果xlsfonts返回空,检查 X 字体路径:xset q | grep "Font Path",确保字体目录存在且包含.pcf.gz文件。
  3. GTK/Qt 应用使用 fontconfig,不要尝试用 xlsfonts 查询 GTK 字体,应使用fc-list
  4. 对于中文等非拉丁文字,X 核心字体支持有限,建议使用支持 fontconfig 的现代终端(如 gnome-terminal、alacritty)

📚 相关命令

命令说明
xfontsel图形化 X11 字体浏览器
xset设置 X 用户偏好(含字体路径管理)
mkfontdir为 X 字体目录创建索引
fc-listfontconfig 字体列表(现代字体系统)
fc-matchfontconfig 字体匹配
fc-cache重建 fontconfig 字体缓存
xrdbX 资源数据库(含字体配置)

📝 总结

xlsfonts是 X11传统字体系统的窗口,虽然现代桌面已转向 fontconfig,但它仍然有其价值:

  • XLFD 命名体系:14 字段精确描述字体,是 X11 开发者必须理解的历史遗产
  • 传统应用调试:xterm、xfontsel 等工具仍依赖 XLFD 字体名称
  • 字体可用性检查:快速确认某个字体是否已安装到 X 核心字体路径
  • 历史理解:了解 X11 字体系统有助于理解现代 Linux 图形栈的演进

日常操作使用fc-list,遇到传统 X11 应用字体问题时才使用xlsfonts。二者是不同时代的字体查询工具,针对不同的字体系统。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 6:35:26

耐高温线缆性能可靠性研究:技术创新与质量管控

引言在众多工业领域中&#xff0c;耐高温线缆扮演着至关重要的角色。无论是航天航空的复杂环境&#xff0c;还是石油化工的高温作业场景&#xff0c;都离不开高质量的耐高温线缆。它不仅保障了设备的稳定运行&#xff0c;更是安全生产的关键所在。然而&#xff0c;市场上线缆厂…

作者头像 李华
网站建设 2026/8/25 6:34:50

立柱拐臂码垛机:中小企业码垛升级的高性价比方案

在建材、化工、粮油等行业的中小型生产企业中&#xff0c;老旧车间空间局促、用工成本高、改造预算有限&#xff0c;是码垛环节自动化升级的核心阻碍。立柱拐臂码垛机凭借紧凑结构、稳定产能与亲民投入&#xff0c;精准匹配中小企业需求&#xff0c;成为产线末端自动化改造的优…

作者头像 李华
网站建设 2026/8/25 6:33:22

SkinLayer Studio:3ds Max蒙皮效率革命,4.5天工作压缩至1天

在3D角色动画制作流程中&#xff0c;蒙皮&#xff08;Skinning&#xff09;是连接模型与骨骼、赋予角色生命的关键一步&#xff0c;但其过程往往耗时且繁琐。传统的手动权重绘制和调整&#xff0c;一个中等复杂度的角色动辄需要数天时间&#xff0c;成为项目进度的一大瓶颈。如…

作者头像 李华
网站建设 2026/8/25 6:26:39

Docker部署Nginx实战:从原理到生产环境完整指南

你肯定遇到过这种情况&#xff1a;本地开发一切正常&#xff0c;代码跑得飞快&#xff0c;接口响应也快&#xff0c;但一到部署环节&#xff0c;各种问题就来了。端口冲突、环境变量缺失、依赖版本不对、配置文件路径错误……光是让一个简单的 Nginx 服务在服务器上跑起来&…

作者头像 李华
网站建设 2026/8/25 6:25:18

高效英语词汇记忆法:深度解析高考英语词汇与六级英语词汇记忆技巧

在当今全球化的背景下&#xff0c;英语作为国际通用语言的重要性日益凸显。无论是面对高考英语词汇的挑战&#xff0c;还是准备四级英语单词背诵、六级英语词汇记忆等考试&#xff0c;掌握高效的词汇记忆方法已经成为学习者的必备技能。本文将深入探讨考研英语单词、托福单词记…

作者头像 李华