Line 0
Link Here
|
|
|
1 |
diff -ur src/wprint-ft2.c.orig src/wprint-ft2.c |
2 |
--- src/wprint-ft2.c.orig 2001-10-26 02:41:29.000000000 +0800 |
3 |
+++ src/wprint-ft2.c 2003-07-19 15:18:55.000000000 +0800 |
4 |
@@ -20,8 +20,11 @@ |
5 |
Error("Couldn't find suitable Cmap"); |
6 |
|
7 |
index = FT_Get_Char_Index(ti->font.ttface,unicode ); |
8 |
+ |
9 |
+ FT_Set_Char_Size (ti->font.ttface, 0, 16*64, 0, 0); |
10 |
|
11 |
- if((error=FT_Load_Glyph(ti->font.ttface, index, FT_LOAD_NO_SCALE))) |
12 |
+ if((error=FT_Load_Glyph(ti->font.ttface, index, FT_LOAD_NO_BITMAP |
13 |
+ | FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH))) |
14 |
FTError("Couldn't load glyph", error); |
15 |
glyphToPs(out,unicode,ti,b64name); |
16 |
|
17 |
@@ -280,13 +283,13 @@ |
18 |
{ |
19 |
FT_Done_Face(ti->font.ttface); |
20 |
} |
21 |
-int setFont(struct tt_info *ti,char *file) |
22 |
+int setFont(struct tt_info *ti,char *file,int faceindex) |
23 |
{ |
24 |
int error; |
25 |
int i,l,total; |
26 |
FT_SfntName name; |
27 |
|
28 |
- if ((error = FT_New_Face(ti->ttengine,file,0,&(ti->font.ttface)) != 0)) |
29 |
+ if ((error = FT_New_Face(ti->ttengine,file,faceindex,&(ti->font.ttface)) != 0)) |
30 |
{ |
31 |
FTError("Coudn't set TrueType font", error); |
32 |
} |
33 |
diff -ur src/wprint.c.orig src/wprint.c |
34 |
--- src/wprint.c.orig 2002-04-02 04:59:57.000000000 +0800 |
35 |
+++ src/wprint.c 2003-07-19 15:18:32.000000000 +0800 |
36 |
@@ -518,6 +518,7 @@ |
37 |
fnc[i].xr = 72; |
38 |
fnc[i].yr = 72; |
39 |
fnc[i].pt = 14.0; |
40 |
+ fnc[i].faceindex = 0; |
41 |
|
42 |
comma = strchr(from,','); |
43 |
if (comma != NULL) |
44 |
@@ -531,8 +532,8 @@ |
45 |
|
46 |
*p = 0; |
47 |
if (strchr(p + 1,';') != NULL) |
48 |
- sscanf(p + 1,"%[^;];%d;%d;%lf",enco, |
49 |
- &fnc[i].xr,&fnc[i].yr,&fnc[i].pt); |
50 |
+ sscanf(p + 1,"%[^;];%d;%d;%lf;%d",enco, |
51 |
+ &fnc[i].xr,&fnc[i].yr,&fnc[i].pt,&fnc[i].faceindex); |
52 |
else |
53 |
strcpy(enco,p + 1); |
54 |
|
55 |
@@ -559,6 +560,7 @@ |
56 |
fnc[i].xr = fnc[i - 1].xr; |
57 |
fnc[i].yr = fnc[i - 1].yr; |
58 |
fnc[i].pt = fnc[i - 1].pt; |
59 |
+ fnc[i].faceindex = fnc[i - 1].faceindex; |
60 |
} |
61 |
} |
62 |
return(i); |
63 |
@@ -925,7 +927,7 @@ |
64 |
ttglobalinfo.font.xr = fnc[i].xr; |
65 |
ttglobalinfo.font.yr = fnc[i].yr; |
66 |
ttglobalinfo.font.charsize = fnc[i].pt; |
67 |
- setFont(&ttglobalinfo,fnc[i].filename); |
68 |
+ setFont(&ttglobalinfo,fnc[i].filename,fnc[i].faceindex); |
69 |
generateFont(out,aux,&ttglobalinfo); |
70 |
unsetFont(&ttglobalinfo); |
71 |
} |
72 |
diff -ur src/wprint.h.orig src/wprint.h |
73 |
--- src/wprint.h.orig 2002-04-02 04:39:04.000000000 +0800 |
74 |
+++ src/wprint.h 2003-07-19 14:58:57.000000000 +0800 |
75 |
@@ -152,6 +152,7 @@ |
76 |
int xr; |
77 |
int yr; |
78 |
double pt; |
79 |
+ int faceindex; |
80 |
}; |
81 |
typedef struct |
82 |
{ |
83 |
@@ -161,7 +162,7 @@ |
84 |
Font *newFont(unsigned short fid,unsigned short feid); |
85 |
Font *addChar(unsigned short unicode,int fontid); |
86 |
int initTT(struct tt_info *ti); |
87 |
-int setFont(struct tt_info *ti,char *); |
88 |
+int setFont(struct tt_info *ti,char *,int faceindex); |
89 |
int unsetFont(struct tt_info *ti); |
90 |
void finalizeTT(struct tt_info *ti); |
91 |
FILE *processConfiguration(FILE *in,char *entry,char *encoding); |