「矢量汉字java」矢量汉字的数学原理

博主:adminadmin 2023-03-19 22:44:05 343

今天给各位分享矢量汉字java的知识,其中也会对矢量汉字的数学原理进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java里什么是矢量?

矢量:既有大小又有方向的量。

new Vector()其实就是一个数组,其底层是数组数据结构。

Vector是线程同步的,次容量为100%延长,比如初始默认是10,如果满了会变成20容量。

Vector已经被ArrayList替代了,ArraList是线程不同步的,50%延长,其效率高。

什么是矢量汉字

矢量字库保存的是对每一个汉字的描述信息,比如一个笔划的起始、终止坐标,半径、弧度等等。在显示、打印这一类字库时,要经过一系列的数学运算才能输出结果,但是这一类字库保存的汉字理论上可以被无限地放大,笔划轮廓仍然能保持圆滑,打印时使用的字库均为此类字库。Windows使用的字库也为以上两类,在FONTS目录下,如果字体扩展名为FON,表示该文件为点阵字库,扩展名为TTF则表示矢量字库

如何识别矢量汉字

每个汉字的矢量数据都由一指针指向。每个汉字矢量数据指针占6个字节, 其格式为:前4个字节为汉字的矢量数据在文件中的偏移, 后2个字节为汉字的矢量数据的长度。

汉字指针在指针区的偏移由公式计算:pos=((qu-16)*94+wei-1)*6。

注:qu--区号。wei--位号。

汉字的矢量数据格式为:控制码+坐标值。共有十种控制码,以下是控制码的 含义:

(1)若控制码第7,6位为11,清除码,结束当前笔划,将第一个坐标与当前坐

标连线;建立新笔划,(X,Y)各占7位,由控制码的第5位开始,即:11XXXXXX XYYYYYYY。

注:一个字节的位:

7 6 5 4 3 2 1 0

X X X X X X X X

(2)若控制码小于等于0x40,之后控制码大小个字节为坐标值,每个坐标占一个字节,共有控制码大小个坐标,(X,Y)坐标各占4位,其自的最高位为符号位, 即:FXXXFYYY。

(3)若控制码的高4位等于4,之后控制码的低4位大小个字节为坐标值,每个坐标占一个字节,共有控制码大小个坐标,(X,Y)坐标各占4位,X为正,Y为正,即:+XXXX+YYYY。

(4)若控制码的高4位等于5,之后控制码的低4位大小个字节为坐标值,每个坐标占一个字节,共有控制码大小个坐标,(X,Y)坐标各占4位,X为负,Y为正,即:-XXXX+YYYY。

(5)若控制码的高4位等于6,之后控制码的低4位大小个字节为坐标值,每个坐标占一个字节,共有控制码大小个坐标,(X,Y)坐标各占4位,X为负,Y为负,即:-XXXX-YYYY。

(6)若控制码的高4位等于7,之后控制码的低4位大小个字节为坐标值,每个坐标占一个字节,共有控制码大小个坐标,(X,Y)坐标各占4位,X为正,Y为负,即:+XXXX-YYYY。

(7)若控制码等于0x80, 其后1字节为Y坐标值, 最高位为符号位, X坐标不 变, 即:10000000 FYYYYYYY。

(8) 若控制码等于0x90, 其后1字节为X坐标值, 最高位为符号位, Y坐标不 变,即:10000001 FXXXXXXX。

(9) 若控制码的高4位等于8,其后1字节为Y坐标值,控制码的低4位值为X坐标值,X坐标各占4位,最高位为符号位,Y坐标各占8位,最高位为符号位, 即:1000FXXXFYYYYYYY。

(10)若控制码的高4位等于9,其后1字节为X坐标值,控制码的低4位值为Y坐标值,Y坐标各占4位,最高位为符号位,X坐标各占8位,最高位为符号位, 即:1000FYYYFXXXXXXX。

关于矢量汉字java和矢量汉字的数学原理的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。