java 实现获取本机 字体包

JAVA 读取.ttf字体文件包含的所有文字、并将文字打印为对应字体的png图片输出 ps:因为工作需要,需要将.ttf的字体文件包含的文字都读取出来,但是百度怎么都找不java能用的方法,要么就是驴头不对马嘴的胡乱粘贴,没办法只能靠自己硬着头皮写了一些,可能想法太过粗糙,有什么好的想法希望大家也都提一下,欢迎指正批评。 先说一些实现思路,我所需解析的.ttf文件编码是GB-2312的,所以我先用GB-2312的编码,将文件读取为字符流,然后对获得到的字符流进行解析,如下图: 虽然有很多乱码,但是我们需要的字符串unicode编码都在,只有进行分... 阅读详情
package com.LovePatPrint.common;

import java.awt.*; 
import java.util.*; 
import java.util.List;
import java.text.*; 
/**
 * @category 获取系统字体包
 * @author lmc
 * @time 2014-6-16 16:08:59
 */
public class GetSysFont
{
  public static void main(String[] args)
{
    	List font=GetSysFont.returnFont();
    	if(font.size()>0)
    	{
    		for(int i=0;i<font.size();i++)
    		{
    			System.out.println(font.get(i));
    		}
    	}
    }
    
    public static List returnFont()
    {
    	List list=new ArrayList();
    	Font[] fonts=GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
    	for(int i=0;i<fonts.length;i++){ 
    		list.add(fonts[i].getFamily());//获取字体
    	} 
    	List array=removeDeuplicate(list);//去除重复
    	String[] result=new String[array.size()]; 
    	for(int i=0;i<array.size();i++)
    	{ 
    		result[i]=array.get(i).toString();
    	}
    	//按首字母排序开始
    	Comparator<Object> com=Collator.getInstance(java.util.Locale.CHINA);    
        Arrays.sort(result,com);   
        List font=new ArrayList();
        for(String i:result){       
        	font.add(i);
        }  
        //按首字母排序结束
        return font;
    }
    public static List removeDeuplicate(List arlList)
	{
		HashSet h=new HashSet(arlList);
		arlList.clear();
		arlList.addAll(h);
		List list=new ArrayList();
		list=arlList;
		return list;
	}  
}

Java后端Word转PDF全方案:从Aspose到开源docx4j的实战与避坑 文档格式转换是数据处理与系统集成中的常见需求,其核心原理在于将源文档的结构化内容与样式信息,通过特定的渲染引擎重新绘制为目标格式。在Java生态中,实现高保真、跨平台的Word转PDF功能,对保障数据安全、实现自动化流程具有重要技术价值,尤其适用于OA、CMS、知识库等需要文档预览与归档的内部系统。针对这一需求,开发者需在商业库与开源方案间做出权衡:Aspose.Words以其卓越的保真度和易用性成为企业级首选,而基于docx4j与Apache FOP的开源组合则提供了可控的替代路径。无论选择哪条技术路线, 阅读详情

相关推荐

Alpine版OpenJDK8字体缺失?3步搞定Excel导出乱码问题(附Dockerfile完整配置)

本文针对使用Alpine版OpenJDK8镜像时因字体缺失导致的Excel导出乱码问题,提供了完整的解决方案。通过分析问题根源,详细介绍了如何在Dockerfile中高效安装fontconfig及ttf-dejavu等字体包,并附上验证方法和优化配置,帮助运维和开发者一劳永逸地解决容器化Java应用中的字体渲染难题。

weixin_29228203的博客 390

Java 通过指定的ttf字体库,提取特定文字

前言    web开发中常常须要用到各类字体,可是网上下载的TTF字体文件最小也有好几兆,要是须要用到几种字体,那简直惨不忍睹。    一般状况下,咱们会用BMFont代替TTF字体,BMFont也有着不少的优点,可是缺点也很明显,每次修改都要美工的配合,并且不支持字号改变(不考虑缩放)。    那么有没有办法能把TTF字体文件变小点呢?答案是确定的,除了用FontCreator那种累死人不偿命的东

tuonioooo 4841

kkFileView--一款文件文档在线预览解决方案

概述 kkFileView为文件文档在线预览解决方案,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等。 一、项目特性 支持word excel ppt,pdf等办公文档 支持txt,java,php,py,md,js,css等所有纯文本 支持zip,rar,jar,tar,gzip等压缩包 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)

淡定波的博客 6249

java 获取当前系统可用字体名称

//获取系统的字体 public static void getLocalFontFamily(){ GraphicsEnvironment ge=GraphicsEnvironment.getLocalGraphicsEnvironment(); String [] fontName=ge.getAvailableFontFamilyNames(...

weixin_30912051的博客 810

基于SWT的Java图书管理系统:从环境搭建到打包部署全攻略

Java桌面应用开发中,SWT作为原生控件库,能构建高性能、跨平台的图形界面。其原理是直接调用操作系统API,实现原生外观和高效渲染。技术价值在于提升用户体验和系统稳定性,尤其适合需要复杂交互的桌面软件。在图书管理、库存系统等场景中,SWT结合JDBC事务控制,可确保数据一致性。本文以图书管理系统为例,详解SWT环境配置、CRUD操作、借阅事务及打包技巧,助你避开常见坑点,打造可交付的课程设计作品。

weixin_34034670的博客 376

Java物资管理系统源码拆解:JDBC与DAO模式实战

数据库访问层是Java桌面应用开发的核心环节,而JDBC作为最底层的数据库操作接口,决定了业务系统与MySQL等关系型数据库交互的效率和可靠性。面对复杂的物资出入库、库存联动等实际业务场景,采用DAO模式将数据访问与业务逻辑解耦,不仅能让代码结构清晰,还能有效提升系统的可维护性。对于正在完成课程设计或毕业设计的学生而言,理解PreparedStatement参数绑定、事务控制、并发锁等基础原理,比直接套用SSM框架更能筑牢技术根基。一个基于Swing界面与JDBC手写DAO的Java物资管理系统,恰好提供了

weixin_34072296的博客 228

java 获取已有字体,java获取本机全部可用字体

java获取本机所有可用字体//just for fun,那个28个字母的函数满满都是恶心import java.awt.GraphicsEnvironment ;class Tester{public static void main(String args[]){GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvir...

weixin_29553791的博客 502

验证码字体

生成验证码时,当设置的字体服务器上没有,生成的验证码会乱码,此为终极解决方案,永不担心字体不存在而导致验证码乱码问题

java 获取系统中可用的字体的名字

代码: public static void main(String[] args) { GraphicsEnvironment e = GraphicsEnvironment.getLocalGraphicsEnvironment(); //返回本地 GraphicsEnvironment 。 String [] forName = e.getAvailableFontFa...

Cara 4070

Blender学习笔记——制作向量场

#下载Blender - UE4 - FGA Vector Field Editor插件的压缩包,Github上的下载地址如下:https://github.com/isathar/Blender_UE4_VectorFieldEditor #下载并解压后将FGA VectorFields文件夹复制到C:\Program Files\Blender Foundation\Blender 2.83\2.83\scripts\addons目录下,此步骤可根据blender安装的位置自行调整,只要放入addon

wychao2020的博客 1724

Tecplot进阶:巧用公式与多Frame对比,实现CFD多工况数据差异的可视化分析

本文详细介绍了如何利用Tecplot进行CFD多工况数据差异的可视化分析,通过公式计算和多Frame对比,实现变量差值自动计算、多视图同步展示和差异量化统计。文章还提供了数据准备、基础操作、实战技巧和常见问题解决方案,帮助工程师高效完成CFD后处理工作。

weixin_29227425的博客 528

fop生成pdf的中文乱码问题

1.建立font metrics文件,对ttc或ttf有不同的方法。 确定系统字体文件夹下的字体文件(微软雅黑字体的路径为C:\WINDOWS\Fonts\msyh.ttf)。 然后在命令提示符下执行如下命令: TTF字体文件 java -cpc:\fop\build\fop.jar;c:\fop\lib\avalon-framework-4.2.0.jar;c:\fo

hulua2010的专栏 4183

避坑指南:ArcGIS 做莫兰指数分析,你的‘空间关系概念化’选对了吗?

本文深入解析了ArcGIS中莫兰指数分析的关键参数——'空间关系概念化'的选择策略。通过对比反距离法、固定距离法和K最近邻法的适用场景与影响机制,帮助研究者避免常见误区,提升空间自相关分析的准确性和解释力。特别针对全域莫兰指数和局域莫兰指数的计算差异提供了实用建议。

weixin_30872157的博客 805

PDF转word

​ 1.有时候报错,可能是因为本机缺少相应的字体包,直接去字体网站 (https://cn.ffonts.net/)下载字体,放入本机的系统字体目录即可.

qq_40068304的博客 874

中国高精度年度平均气温栅格数据集(1901-2024)

本文基于中国月度平均气温栅格数据集,计算生成1901-2024年1km分辨率的年度平均气温数据集,并按中国省市行政区划进行裁剪。该数据集融合CRU全球数据和WorldClim高分辨率数据,经496个站点验证,具有高时空精度和长时间序列特点,覆盖全国(含港澳台)逾百年气温记录,为气候变化研究、生态水文分析及农业生产评估等提供重要数据支撑。数据格式为Tif,单位为0.1℃,可获取全国、各省及各市三个尺度的气温栅格数据。

PPdata_Academy的博客 1242

STRING数据库的蛋白质相互作用(PPI)网络分析

在转录调控相关的文献中,我们经常能够看到这样的蛋白质相互作用网络(protein protein interaction network,PPI network)。具体而言,这些相关的文献中首先通过RNA-seq、表达谱芯片或者蛋白质组分析等,找到了在不同分组样本间一系列的差异表达基因或蛋白。

weixin_43029125的博客 9452

pd4ml使用

在本机e盘建立fonts目录,从c//windows//Fonts//拷贝所有字体文件进fonts目录,截图如下 这两个包也需要放进去fonts目录,然后再执行java -jar pd4ml-310b10.jar -configure.fonts ../fonts ../fonts,就可以参照官网的demo使用了。 下面是我的demo,里面包含了jar包和简要代码。https://downl...

qq_28078033的博客 956

探索niri:让你的Linux桌面布局无拘无束

niri是一款基于Wayland的滚动平铺合成器,采用创新的窗口管理方式。它将窗口排列为向右无限延伸的条目,支持独立显示器布局和动态垂直工作区,确保多任务操作流畅性。核心功能包括概要视图、截图界面、屏幕投射、手势操作、窗口分组等,并支持自定义布局和动画效果。niri具备良好的稳定性,兼容xwayland-satellite工具,灵感来自PaperWM但突破了GNOME限制。该项目为追求高效桌面管理的用户提供了全新解决方案,欢迎加入社区交流体验。

weixin_44626085的博客 1816

java 应用 中文字体_Linux 添加中文字体库,解决Java 生成中文水印不显示问题

本机 Windows 环境测试以下代码生成中文水印完全没问题,但是发布到Linux下不显示,一开始以为是报错了没打印出来,搜索发现直接提示中文乱码的或者不显示的,才明白原来是字体库原因,于是开始解决这个问题。/***@paramsrcImgPath 源图片路径*@paramtarImgPath 保存的图片路径*@paramwaterMarkContent 文字内容*@parammarkConten...

weixin_39712969的博客 305

OSCP-1-3-natraj(本地文件包含、日志中毒、apache2配置漏洞、nmap提权)

像往常一样,我们将使用“Netdiscover”工具识别主机的 IP。所以,让我们首先用 nmap 列出所有 TCP 端口。我们从访问web服务(80端口)开始,在那里我们找到了几张关于Natraj的图片和信息,我们将查看源代码和robots.txt,似乎没有什么有用的。(或至少,目前)。因此,让我们继续进行。在 Dirb 及其默认字典的帮助下,我们找到了一个名为“”的目录。我们进入并列出一个名为“”的文件:如果我们执行它,我们会看到它什么也不做。我们可能需要添加其他内容。

墨痕诉清风的博客 528

【机器学习-18】特征筛选:提升模型性能的关键步骤

我们将介绍不同类型的特征筛选方法,包括基于统计的方法、基于模型的方法和嵌入式方法等,并详细解释每种方法的原理和适用场景。通过特征筛选,我们可以减少数据集的维度,降低模型的复杂度,提高模型的泛化能力,并加速模型的训练过程。通过选择适当的特征筛选方法,我们可以减少模型的复杂度,提高模型的泛化能力,并加速模型的训练过程。然而,并非所有的特征都对模型的性能提升有所贡献,有些特征甚至可能是冗余的、噪声较大的或者与目标变量无关的。我们的目标是通过特征筛选选择出对欺诈检测最有用的特征,以提高模型的预测精度。

qq_38614074的博客 1万+

Java PDF处理实战:iText入门教程与高频场景详解

PDF文档操作是Java后端开发中的高频需求,涉及生成、提取、合并、水印、加密等场景。iText作为成熟的PDF类库,通过PdfReader、PdfStamper等核心对象实现结构化处理,其坐标系统与字体嵌入机制决定了输出稳定性。在实战中,中文乱码、生僻字渲染和版本差异(iText 5/7)是常见痛点,而合理选择字体策略与API能有效规避。无论是报表导出、合同生成,还是批量盖章、资料归档,掌握iText都能大幅提升开发效率。从环境搭建到报错排查,内容覆盖五个高频场景,帮助开发者快速上手Java PDF处理。

weixin_29196613的博客 233

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

JRE极限精简探求手册 1 ——精简一个Swing的即时战略游戏

JRE极限精简探求手册 1 ——精简一个Swing的即时战略游戏

aabbyyz的博客 447

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Ubuntu - JVM环境下中文不显示. 解决

问题描述:        最近在Ubuntu下用JVM时,

kangqiao182的专栏 1936

Linux下SAP GUI安装实战:从选型、部署到排错指南

跨平台桌面应用与Java运行时环境是系统运维中的常见挑战。SAP GUI for Java作为Linux下唯一官方SAP客户端,其安装涉及SAR归档解压、JRE版本匹配及本地库依赖,对终端环境稳定性影响显著。通过SAPCAR工具解压、Platinkit静默批量部署、字体与SNC配置,可实现SAP GUI在RHEL、Ubuntu及国产系统中的高效落地,满足业务顾问、Basis团队及运维人员的日常操作需求。本文从环境准备到故障排错,系统梳理Linux下SAP GUI从选型到运维的完整链路。

weixin_34050005的博客 318

文档在线预览:keking/kkFileView踩坑记

文章目录一、概述1、官方文档2、使用二、部署服务1、传统部署方式(1)环境要求(2)生成部署包2、docker部署方式三、踩坑1、预览并发问题&预览首次打开慢2、字体问题乱码3、水印问题4、使用nginx代理5、docker部署指定配置 一、概述1、官方文档gitee源码:https://gitee.com/ke...

weixin_36968313的博客 601
上一篇: js 控制div 横向 纵向 移动
下一篇: s 标签 遍历 list 数组
OnePiece_Sky
博客等级 码龄15年 9粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值