Adding Fonts to the java Runtime

要加一种亚洲字体进JRE,请按以下步骤进行:

1.装入字体

首先,你必须装载中文、日文、韩文或传统的中文字体(楷书、宋体等)到你的系统里面

2.复制字体进font.properties

装好了字体后,复制你感兴趣字体的descriptio到font.properties,最简捷的方法是把

http://www.gaodaima.com/41224.html往JRE里增加字体

font.properties.直接改名为font.properties

例如:要使用中文字体,你可以复制或者改名font.properties.zh为font.properties.

现行的WIN32 JDK提供如下font properties 文件

./lib/font.properties

./lib/font.properties.ja

./lib/font.properties.ko

./lib/font.properties.zh

./lib/font.properties.zh_TW

并且你可以在JRE里使用多于一种的亚洲字体,所必须做的就是编辑font.properties

文件。

例如你要加三种SERIF字体;

serif.0=Times New Roman,ANSI_CHARSET

serif.1=WingDings,SYMBOL_CHARSET,NEED_CONVERTED

serif.2=Symbol,SYMBOL_CHARSET,NEED_CONVERTED

. = , attributes

后面有三个参数,如Times New Roman、WingDings就是字体名

第二个参数(SYMBOL_CHARSET)是相应字符集的处理接口

第三个参数是表明相应字符集不能直接同过UNICODE编码处理,需要与UNICODE间的转换器

通过以下语句设不同FONTS的转换器

fontcharset.serif.1=sun.awt.windows.CharToByteWingDings

fontcharset.serif.2=sun.awt.CharToByteSymbol

用户也可以定制自己的字体、字符集与自定义的UNICODE转换器

例如说你想增加你自己定制的字体到JAVA的serif    系列字体里去,

假设你的字体共有256个,从0到0Xff.正对应于UNICODE里的OXE000-0XEOFF。

首先你要设计你的转换类

package mypkg.converter;

import sun.io.CharToByteISO8859_1;

import sun.io.CharToByteConverter;

import sun.io.ConversionBufferFullException;

public class CharToByteMyFont extends sun.io.CharToByteISO8859_1 {

/*

* This method indicates the range this font covers.

*/

public boolean canConvert(char ch) {

if (ch >= 0xe000 && ch <= 0xe0ff) {

return true;

}

return false;

}

/*

* This method converts the unicode to this font index.

*/

public int convert(char[] input, int inStart, int inEnd,

byte[] output, int outStart, int outEnd)

throws ConversionBufferFullException {

int outIndex = outStart;

for (int i = inStart; i < inEnd; i++) {

char ch = input[i];

if (ch >= 0xe000 && ch <= 0xe0ff) {

if (outIndex >= outEnd)

throw new ConversionBufferFullException();

output[outIndex++] = (byte)(ch - 0xe000);

}

}

return outIndex - outStart;

}

第二步,加你自己的字体和转换器进Properties文件

你先要增加你的字体的名子进文件里,

serif.3=

然后定义相应的converter

fontcharset.serif.3=mypkg.converter.CharToByteMyfont

为了确定JRE能够找到你的转换器,你的application classpath 必须包含转换器的路径

以上是我看了sun里的相关文章后觉得很不错而粗略整理出来的,目的只在于把相关内容大概介绍一下,请不要见笑,最好参考英文原文

http://java.sun.com/products/jdk/1.1/docs/guide/intl/fontprop.html

或到http://java.sun.com/products/jdk/1.1/docs/guide/intl/index.html看更多的Internationalization相关资料以及samples

本人正在做多国语的网版词典,所以有在找相关资料,这是我看到的比较有用的叙述JAVA中字符集处理的文章,如果各位看到更好的java对unicode支持的资料请告知我,谢谢

欢迎大家阅读《往JRE里增加字体》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码

原创文章,转载请注明: 转载自搞代码

微信 赏一包辣条吧~

支付宝 赏一听可乐吧~

java增大字體_往JRE里增加字体相关推荐

  1. java增删改查_只会增删改查的Java程序员该如何发展

    首先,对于当前的Java程序员来说,要想在软件开发领域走得更远,应该做好三件事,其一是为自己设定一个主攻方向,其二是根据自身的知识基础和能力特点来制定学习计划,其三是注重行业发展趋势,积极拥抱新技术. ...

  2. es java 增删改查_【java作业】如何用序列化的方法写增删改查

    培训19天的时候老师布置了一个用序列化反序列化做学生管理系统的作业.百度没找到怎么写,后来老师写了一份,我就贴出来吧.对蠢萌蠢萌.纱布拉基的我来说真TM难 首先你的包和里面的类是跟下图这样的:Work ...

  3. java 设置文本颜色_设置文本中的字体的颜色

    String string=" 欢迎你来到的 jack 的 android 使用技术总结 "; TextV iew info2=(TextView)super.findV iewB ...

  4. java支持wingdings吗,[转]往JRE里添加新字体

    Adding Fonts to the Java Runtime 要加一种亚洲字体进JRE,请按以下步骤进行: 1.装入字体 首先,你必须装载中文.日文.韩文或传统的中文字体(楷书.宋体等)到你的系统 ...

  5. java将多个文件写入到一个文件流中再有规律的取出_编写java程序,往一个txt文件里写入学生的基本信息,然后再读出这些信息并打印出来,最后把该文件拷贝到指...

    满意答案 azonyb 2014.02.18 采纳率:59%    等级:12 已帮助:13223人 import java.io.BufferedInputStream; import java.i ...

  6. java jre精简_精简 jre

    jre 文件结构 -bin (启动jvm虚拟机中必要的exe和dll) ​ --java.exe (java主程序,用于启动窗口程序或非阻塞程序 ) ​ --javaw.exe (用于启动 窗口程序或 ...

  7. 黑马程序员Java零基础视频教程_上部(P1-P80)

    黑马程序员Java零基础视频教程_上部(P1-P80) 1. Java入门 1.1 Java学习介绍 1.2 Java人机交互 1.2.1 常用CMD命令 2. Java基础学习 2.1 Java入门 ...

  8. Java综合知识总结_基础篇

    Java 一.JDK常用的包 java.lang: 这个是系统的基础类,比如String.Math.Integer.System和Thread, 提供常用功能. java.io: 这里面是所有输入输出 ...

  9. Java Review - 并发编程_ 回环屏障CyclicBarrier原理源码剖析

    文章目录 Pre 小Demo 类图结构 CyclicBarrier核心方法源码解读 int await() int await(long timeout, TimeUnit unit) int dow ...

最新文章

  1. 分解例题及解析_【高考物理】考前梳理,高中物理经典常考例题(带解析),收藏起来考试不低于90+!...
  2. Android/Java 获取一个byte[]的真实编码,用于解决乱码问题
  3. 二、【绪论】算法和算法评价
  4. 【独家】百度移动云高级美女产品经理:O2O日趋火爆,下个估值过亿的上门美业将花落谁家?...
  5. 租车信息系统数据库设计(3)
  6. 注解参数怎么使用变量_硅橡胶胶水有哪些特点?使用参数表现的怎么样?如何储存?...
  7. c# 结构体 4字节对齐_【专题4:平时遇到的问题】 之 【3.由结构体字节对齐引发的通信故障】...
  8. Linux 添加新硬盘
  9. vba 中sql like用法
  10. sqlserver 2008阻止保存要求重新创建表的更改
  11. 一台交换机可以有多个ip段吗_网络设备:中继器、集线器、网桥、交换机、路由器、网关的总结!...
  12. 数据工程师需要掌握的 18 个 Python 库
  13. Android使用Glide框架加载网络图片(解决无报错图片不显示问题)
  14. 304902阿里巴巴Java开发手册1.4.0
  15. C# 0xC0000005 捕获
  16. 阻滞增长模型求解_马尔萨斯与阻滞增长模型对于人口预测的分析
  17. 回归分析的几个问题:异方差性、自相关性、多重共线性
  18. 小米8 青春版root时无法检测到手机
  19. 智能语音概念界定及技术架构
  20. 总结学过的技术,实现加密注册,登录及过期不能访问,微信朋友圈功能,文章比较长,但是比较详细。

热门文章

  1. 【Java 入门】(六)表设计
  2. sql语句中count(*),count(1),count(id)区别详解
  3. 【渝粤题库】广东开放大学 金融经济学 形成性考核
  4. 苹果手机7P ios14 nfc怎么复制门禁卡
  5. linux c语言乘法口诀表好记方法,乘法口诀表好记方法
  6. Reactjs鼠标滚轮监听
  7. Java kafka producer 的常用参数的意义说明及默认值
  8. android 音量调节
  9. 啃下这些Framework技术笔记,专题解析
  10. python灰色预测_【数学建模】灰色预测及Python实现