ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

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

Linux命令-xlsfonts(列出 X11 可用字体) Linux命令-xlsfonts列出 X11 可用字体 简介 语法⚙️ 选项 示例示例 1浏览和过滤字体示例 2长格式查看字体详细信息示例 3分析字体可用性脚本示例 4为 xterm 选择合适的字体示例 5字体路径管理和字体服务器⚠️ 注意 相关命令 总结快速参考xlsfonts是列出 X11 服务器可用字体的工具支持通配符按名称模式过滤。它是 X11 核心字体系统X Logical Font Description简称 XLFD的浏览工具在传统 X11 应用开发和字体调试中至关重要。现代 Linux 桌面已广泛使用 fontconfig 和客户端字体渲染如 Pango、CairoX11 核心字体XLFD主要用于传统 X11 应用xterm、xfontsel、旧版 X 程序。 简介X11 核心字体系统使用XLFDX 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-1xlsfonts让你浏览和搜索这个字体命名空间是理解和调试 X11 字体问题的首选工具。XLFD 14 字段详解序号字段名含义示例值1FOUNDRY字体厂商misc、adobe、bitstream2FAMILY_NAME字体族名fixed、courier、helvetica3WEIGHT_NAME字重medium、bold、light4SLANT倾斜r(正)、i(斜)、o(倾斜)5SETWIDTH_NAME宽度normal、condensed、semicondensed6ADD_STYLE_NAME附加样式通常为空7PIXEL_SIZE像素大小15、20、248POINT_SIZE点数大小140(每10点)9RESOLUTION_X水平分辨率75、10010RESOLUTION_Y垂直分辨率75、10011SPACING间距p(比例)、m(等宽)、c(字符单元)12AVERAGE_WIDTH平均宽度90(每10像素)13CHARSET_REGISTRY字符集注册iso8859、jisx0208、gb231214CHARSET_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...# 搜索等宽字体spacingm$ 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: width9, left0, right9ascent13, descent2, attributes0MAX_SPACE bounds: width9, left0, right9ascent13, descent2, attributes0overlaps: FALSE properties: FAMILY_NAMEFixed FOUNDRYMisc WEIGHT_NAMEMedium SLANTR SETWIDTH_NAMENormal ADD_STYLE_NAME(null)PIXEL_SIZE15POINT_SIZE140RESOLUTION_X75RESOLUTION_Y75SPACINGC AVERAGE_WIDTH90CHARSET_REGISTRYISO10646 CHARSET_ENCODING1MIN_SPACE9NORM_SPACE9MAX_SPACE9END_SPACE9AVG_CAPITAL_WIDTH9AVG_LOWERCASE_WIDTH9QUAD_WIDTH18FIGURE_WIDTH9SUPERSCRIPT_X6SUPERSCRIPT_Y8SUBSCRIPT_X6SUBSCRIPT_Y3SUPERSCRIPT_SIZE13SUBSCRIPT_SIZE10SMALL_CAP_SIZE9UNDERLINE_POSITION-1STRIKEOUT_ASCENT6STRIKEOUT_DESCENT3X_HEIGHT12CAP_HEIGHT11RAW_ASCENT3323RAW_DESCENT553RAW_PIXEL_SIZE1524RAW_POINT_SIZE1394RAW_AVERAGE_WIDTH894MIN_CHAR_BYTE232MAX_CHAR_BYTE2255DEFAULT_CHAR0FONT_TYPEFONT_IS_FIXED_WIDTH FONT-Misc-Fixed-Medium-R-Normal--15-140-75-75-C-90-ISO10646-1 FACE_NAMEFixed COPYRIGHTPublic domain font. Share and enjoy.RESOLUTION0FULL_NAMEMisc 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总字体数:$TOTALecho# 2. 按厂商统计echo--- 按字体厂商统计 ---xlsfonts|awk-F-{print $2}|sort|uniq-c|sort-rn|head-10# 3. 按字体族统计echoecho--- 常见字体族 ---forfamilyinfixed courier helveticatimes;doCOUNT$(xlsfonts-fn*$family*2/dev/null|wc-l)echo$family:$COUNTdoneecho# 4. 按字符集统计echo--- 按字符集统计 ---xlsfonts|awk-F-{print $NF}|sort|uniq-c|sort-rn|head-10# 5. 等宽字体列表echoecho--- 等宽字体适合终端使用---xlsfonts-fn*-*-*-*-*-*-*-*-*-*-*-m-*|head-20xlsfonts-fn*-*-*-*-*-*-*-*-*-*-*-c-*|head-10# 6. 检查中文字体支持echoecho--- 中文字体检查 ---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-chinesefi# 7. 字体路径echoecho--- 字体路径 ---xset q|grepFont 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~/.XresourcesXRES ! 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|grepFont PathFont 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 核心字体xlsfontsfontconfigfc-list字体格式PCF、BDF、SpeedoTrueType、OpenType、Type1命名方式XLFD14 字段人性化名称适用范围传统 X11 应用现代 GTK/Qt 应用配置工具xset fpfc-cache、fonts.conf查询命令xlsfontsfc-list、fc-match关键提示现代 Linux 不需要手动管理 X 核心字体大多数桌面应用使用 fontconfig。仅在运行 xterm、xfontsel 等传统 X 工具时需要。如果xlsfonts返回空检查 X 字体路径xset q | grep Font Path确保字体目录存在且包含.pcf.gz文件。GTK/Qt 应用使用 fontconfig不要尝试用 xlsfonts 查询 GTK 字体应使用fc-list。对于中文等非拉丁文字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。二者是不同时代的字体查询工具针对不同的字体系统。
返回列表