資源簡介
可以制作漢,英矢量字體,可以調節不同字體大小。

代碼片段和文件信息
#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?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????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上繪圖
- 下一篇:物聯網感知層技術
評論
共有 條評論