资源简介
可以制作汉,英矢量字体,可以调节不同字体大小。
代码片段和文件信息
#include “ft2build.h“
//#include FT_FREETYPE_H
#include “freetype/freetype.h“
#include “freetype/ftglyph.h“
#include
#include “Unicode.h“
#include
#include “testfont.h“
typedef unsigned short UINT16;
typedef short INT16;
typedef unsigned char UINT8;
typedef char INT8;
typedef unsigned int UINT32;
typedef int INT32;
#define GB_OFFSET_NUMBER 94 //the number of one GB zone.
#define GB_MIN_ZONE 0xA0 //min value of the zone number of GB code
#define GB_MAX_ZONE 0xF8 //max value of the zone number of GB code
#define GB_MIN_OFFSET 0xA1 //min value of the offset number of GB code
#define GB_MAX_OFFSET 0xFF //max value of the offset number of GB code
#define MAX_OFFSET_IN_TABLE 8272 //the max offset of the conversion table.
#define ENLISH_FONT 0
#define CHINA_FONT 1
#define MAX 50
UINT16 set_font_width = 0;
UINT16 set_font_higth = 0;
INT8 PATH_FONT_NAME[MAX];
UINT32 Ascender;
void initgr(void)
{
int gd = DETECT gm = 0;
initgraph(&gd &gm ““);
}
int writeAassicToFile( const char *file const char *path)
{
FILE *fp = NULL;
FILE *fp1 =NULL;
FT_Library pFTLib = NULL;
FT_Face pFTFace = NULL;
FT_Glyph glyph;
FT_Error error = 0 ;
UINT8 buffer[4096];
UINT32 header[256];
UINT16 count = 0 assic_nu = 0 read_nu i j = 0 k;
UINT16 m n;
UINT32 address = 0;
INT8 name[100];
UINT16 Font_w Font_h;
UINT16 start_point = 0;
if( (fp = fopen(file “wb“)) == NULL ){
printf(“fail open %s file!“ file);
return 0;
}
#if 1
if( (fp1 = fopen(“ASSIC_Info.txt“ “w+“)) == NULL ){
printf(“fail open %s file!“ file);
return 0;
}
#endif
if( FT_Init_FreeType( & pFTLib) ){
pFTLib = 0 ;
printf( “ There is some error when Init Library “ );
return - 1 ;
}
error = FT_New_Face(pFTLib path 0 & pFTFace);
if( error ){
printf(“fail open %s font file err num : %d \n“ path error);
return -1;
}
address = 1024; //存储字符码表的信息
FT_Set_Char_Size(pFTFace set_font_width * 64 set_font_higth*64 72 72);
Ascender = pFTFace->size->metrics.ascender >> 6;
printf(“Vector font %s file running...\n“ file);
for( k = 0x20; k < 128; k++)
{
FT_Load_Glyph(pFTFace FT_Get_Char_Index(pFTFace k) FT_LOAD_DEFAULT);
error = FT_Get_Glyph(pFTFace -> glyph & glyph);
if(error){
printf(“fail get %x data info\n“ i);
return -1;
}
FT_Glyph_To_Bitmap( & glyph ft_render_mode_normal 0 1 );
FT_BitmapGlyph bitmap_glyph = (FT_BitmapGlyph)glyph;
FT_Bitmap &bitmap = bitmap_glyph -> bitmap;
if (bitmap_glyph->left < 0){
bitmap_glyph->left = 0;
}
header[k] = ((bitmap_glyph->left+bitmap.width)<< 24) | address;
Font_w = bitmap.width;
Font_h = bitmap.rows;// dy = Ascender-bitmap_glyph->top;
start_point = (Ascender- bitmap_glyph->top);//Ascender- bitmap_glyph->top
if (bitmap_glyph->top < bit
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 25552 2016-06-05 22:32 font\ASSIC_24.bin
文件 44032 2016-06-05 19:22 font\ASSIC_32.bin
文件 5998 2016-06-05 22:32 font\ASSIC_Info.txt
文件 56828 2014-09-23 21:34 font\Debug\assic.bin
文件 2302976 2014-09-21 17:22 font\Debug\font.bsc
文件 1314892 2016-06-05 22:32 font\Debug\font.exe
文件 601960 2016-06-05 22:32 font\Debug\font.ilk
文件 47979 2016-06-05 22:32 font\Debug\font.obj
文件 4198540 2016-06-05 22:12 font\Debug\font.pch
文件 1721344 2016-06-05 22:32 font\Debug\font.pdb
文件 0 2014-09-21 17:22 font\Debug\font.sbr
文件 19123 2016-06-05 22:11 font\Debug\testfont.obj
文件 295936 2016-06-05 22:32 font\Debug\vc60.idb
文件 94208 2016-06-05 22:32 font\Debug\vc60.pdb
文件 8212 2016-06-05 22:32 font\font.cpp
文件 3582 2016-05-28 21:04 font\font.dsp
文件 514 2014-09-22 21:50 font\font.dsw
文件 58368 2016-06-05 22:42 font\font.ncb
文件 51712 2016-06-05 22:42 font\font.opt
文件 2669 2016-06-05 22:32 font\font.plg
文件 19680 2014-09-21 16:18 font\freetype\config\ftconfig.h
文件 19680 2011-12-03 03:20 font\freetype\config\ftconfig.h.bak
文件 25095 2012-02-11 17:29 font\freetype\config\ftheader.h
文件 1399 2009-03-14 21:45 font\freetype\config\ftmodule.h
文件 50672 2011-07-20 12:46 font\freetype\config\ftoption.h
文件 7313 2011-10-01 15:06 font\freetype\config\ftstdlib.h
文件 246597 2014-09-21 17:15 font\freetype\freetype.h
文件 10342 2011-12-03 03:20 font\freetype\ftadvanc.h
文件 5245 2011-04-13 06:28 font\freetype\ftbbox.h
文件 6749 2009-03-14 21:45 font\freetype\ftbdf.h
............此处省略94个文件信息
- 上一篇:GDI+ 在picturebox上绘图
- 下一篇:物联网感知层技术
相关资源
- 国内首篇利用freetype的跨平台truetype字
- freetype-1.3.1.tar.gz
- FreeType 结合opencv在图像上显示中文程
- freetype2.6.2
- QT下自定义控件的拖动,标尺,控件的
- freetype-2.9.1
- freetype2+SDL+SDL_ttf源码包及字符串转b
- QT实现基于freetype的TTF字体拆解
- Qt使用FreeType字轮廓线动画
- linux下用freetype2显示汉字
- freetype的Lib、头文件及调用样例
- OpenGL使用Window API绘制矢量字体非常简
- Freetype 中文教程
- OpenGL、FreeType 中文纹理绘制
- freetype-2.4.8.tar.bz2
- freetype-2.8
- FreeType库
- 使用Qt(mingw)编译FreeType为 .a 静态库
- freetype-2.10.0.tar.gz最新版高速
- freetype_SDL_Dl_ttf_debug.tar.gz
- stm32矢量字体freetype.rar
评论
共有 条评论