10 // define for localhost environment
\r
11 #define errorFileSize 4009
\r
12 #define errorFileName "error.png"
\r
13 #define pngFilePath "/var/www/fontsjp/v0.4/"
\r
14 #define databaseFileName "../../kagedb/wiki"
\r
16 #define kBaseline 188
\r
17 #define pngWidth 200
\r
18 #define pngHeight 200
\r
19 #define canvasWidth 400
\r
20 #define canvasHeight 400
\r
22 #define min(x1,x2) ((x1) > (x2))? (x2):(x1)
\r
23 #define max(x1,x2) ((x1) > (x2))? (x1):(x2)
\r
29 png_bytepp kageCanvas;
\r
35 GString *kResultText;
\r
38 void generateGlyph(const GString *in, GString *out);
\r
39 void searchPartsData(const GString *in, GString *out);
\r
40 void searchAliasData(const GString *in, GString *out);
\r
41 void searchCacheData(const GString *in, GString *out);
\r
42 void doCombine(const GString *in, GString *out);
\r
43 void drawGlyph(const GString *in, const int mode);
\r
45 int isIDS(const GString *in);
\r
46 void divideInto2(const GString *in, GString *partIDS1, GString *partIDS3);
\r
47 void divideInto3(const GString *in, GString *partIDS1, GString *partIDS2, GString *partIDS3);
\r
48 void addStrokeWithTransform(const GString *stroke, const int num, const int *tf, GString *out, int mode);
\r
49 void convertArray(int *buf, GString *out, int size, int mode);
\r
50 int * convertStroke(const char *in, int *a, int *size);
\r
51 void convert99(const GString *in, GString *out);
\r
52 void convert99calc(const char *in, GString *out);
\r
54 void DotsWidth(int *dlx, int *drx);
\r
55 void DotsHeight(int *dly, int *dry);
\r
56 void PartsWidth(const GString *in, int *lx, int *rx);
\r
57 void PartsHeight(const GString *in, int *ly, int *ry);
\r
58 GString * CalcSizes(const GString *in, int mode);
\r
60 void CalcOptions(const GString *in, int *mitsudo, int *flag, double *yoko, double *tate);
\r
61 void DoDrawParts(const GString *in, const int lx1, const double rf1, const int ly1, const double rfy1);
\r
62 void DoDrawMixFont(const GString *in1, const int lx1, const double rf1, const GString *in2, const int lx2, const double rf2, const int ly1, const double rfy1, const int ly2, const double rfy2);
\r
64 void combineYoko2(const GString *parts1, const GString *parts3, int *result);
\r
65 void combineYoko3(const GString *parts1, const GString *parts2, const GString *parts3, int *result);
\r
66 void combineTate2(const GString *parts1, const GString *parts3, int *result);
\r
67 void combineTate3(const GString *parts1, const GString *parts2, const GString *parts3, int *result);
\r
68 void combineHame2(const GString *parts1, const GString *parts3, int *result);
\r
72 void searchPartsData(const GString *in, GString *out);
\r
73 void searchAliasData(const GString *in, GString *out);
\r
75 png_bytepp initPng(int width, int height);
\r
76 int closePng(int width, int height, png_bytepp canvas);
\r
77 int writePng(int width, int height, png_bytepp image, FILE *fp);
\r
79 void fillPolygon(struct kPoint *p, int number, int col, unsigned char **image);
\r