linux添加字体

安装rpm包

yum install -y fontconfig ttmkfdir

下载字体文件,可以在站长素材上下载:http://font.chinaz.com/

将文件解压到/usr/share/fonts/下

如果服务器可以重启,重启服务器就完成了。

查看是否生效,我安装的是“微软雅黑”

fc-list

bash-4.1# fc-list
Microsoft YaHei,微软雅黑:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
Microsoft YaHei,微软雅黑:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiony,Negrito,Полужирный,Fet,Kalın,Krepko,Lodia

如果不能重启服务器就要进行下面的步骤:

cd /usr/shared/fonts/ && ttmkfdir

上面的命令会生成fonts.scale文件,是字体信息汇总的(不太清楚是不是必须的步骤)

然后刷新:

fc-cache

查看是否生效:

fc-list

以下是docker镜像的制作方式,yum库有时需要重建!

RUN rpm --rebuilddb && yum install -y fontconfig ttmkfdir
COPY micro-vista-yahei.ttf micro-vista-yahei-Bold.ttf /usr/share/fonts/

添加字体后java程序不需要配置

Linux 系统中添加 Windows 字体,可以通过以下步骤完成。这些步骤适用于大多数主流 Linux 发行版(如 Ubuntu、Debian、Fedora 等)。 --- ### ✅ 步骤 1:获取 Windows 字体文件 Windows 系统字体通常位于 `C:\Windows\Fonts` 目录下。你可以从中复制 `.ttf` 或 `.otf` 格式的字体文件(例如 `SimSun.ttf`、`Arial.ttf`、`Times New Roman.ttf` 等)。 --- ### ✅ 步骤 2:将字体文件复制到 Linux 系统 #### 方法一:系统级安装(适用于所有用户) 将字体文件复制到 `/usr/share/fonts/` 目录下的一个子目录中,例如: ```bash sudo cp SimSun.ttf /usr/share/fonts/truetype/ ``` 如果没有 `truetype` 文件夹,可以创建: ```bash sudo mkdir -p /usr/share/fonts/truetype/ ``` #### 方法二:用户级安装(仅适用于当前用户) 将字体文件复制到当前用户的字体目录: ```bash mkdir -p ~/.fonts cp SimSun.ttf ~/.fonts/ ``` --- ### ✅ 步骤 3:更新字体缓存 执行以下命令更新字体缓存,使系统识别新字体: ```bash fc-cache -fv ``` --- ### ✅ 验证字体是否安装成功 你可以使用以下命令查看字体是否被正确加载: ```bash fc-list :lang=zh ``` 这将列出所有已安装的中文字体(如果你安装的是中文 Windows 字体)。 --- ### ✅ 示例代码:Java 中使用新字体 假设你已经成功安装了 `SimSun.ttf`,你可以在 Java 应用程序中使用它: ```java import java.awt.Font; import java.awt.GraphicsEnvironment; public class FontTest { public static void main(String[] args) { // 注册字体到 Java 环境中 try { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); Font font = Font.createFont(Font.TRUETYPE_FONT, new java.io.File("/usr/share/fonts/truetype/SimSun.ttf")); ge.registerFont(font); System.out.println("字体 SimSun 已注册"); } catch (Exception e) { e.printStackTrace(); } // 使用字体 Font useFont = new Font("SimSun", Font.PLAIN, 12); System.out.println("当前字体名称: " + useFont.getFamily()); } } ``` > ⚠️ 注意:如果 Java 应用运行在 GUI 环境中(如 Swing),确保字体文件路径正确,并且字体名称与系统注册的一致。 --- ### ✅ 问题原因解释 Linux 系统默认不包含 Windows 字体,因此需要手动安装。Java 程序默认只能使用系统已注册的字体,因此即使你将字体文件放在系统中,也需要通过 `Font.createFont()` 和 `registerFont()` 在 Java 中显式注册该字体,才能在图形界面中使用。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值