X-Git-Url: http://git.chise.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=kagecgi%2Fkageeg.c;h=891a67ca76702f6deb0034f1d79ca5b003bcf9f8;hb=abb0756bd8ecd99c4d6cec4867adf9f9b30faaae;hp=7fb3613bb549d9ad2e7eb927cb3d353dbb57bf1c;hpb=b755cadf536858496296e43b30baec2cd9ec8c13;p=chise%2Fkage.git diff --git a/kagecgi/kageeg.c b/kagecgi/kageeg.c index 7fb3613..891a67c 100755 --- a/kagecgi/kageeg.c +++ b/kagecgi/kageeg.c @@ -1,16 +1,12 @@ //kageeg.c // -#include -//#include - -#include -#include -#include "kagecgi.h" #include "kage.h" +#include "kagecgi.h" +#include "sysdep.h" -void generateGlyphByIDS(const GString *in, GString *out, int flag){ - GString *tmp1, *tmp2, *tmp3, *tmp4; +void generateGlyphByIDS(const KGString *in, KGString *out, int flag){ + KGString *tmp1, *tmp2; //pass this method if 'in' is not UCS parts if((in->str)[0] != 'u'){ @@ -23,101 +19,41 @@ void generateGlyphByIDS(const GString *in, GString *out, int flag){ return; } - tmp1 = g_string_new(in->str); - tmp2 = g_string_new(in->str); -// tmp3 = g_string_new(in->str); -// tmp4 = g_string_new(in->str); - - //append design flag -// if(kDesign == 10) g_string_append(tmp1, "-10"); -// else if(kDesign == 11) g_string_append(tmp1, "-11"); -// else if(kDesign == 20) g_string_append(tmp1, "-20"); -// else if(kDesign == 30) g_string_append(tmp1, "-30"); -// else if(kDesign == 40) g_string_append(tmp1, "-40"); -// else g_string_append(tmp1, "-00"); -// if(kDesign == 10) g_string_append(tmp2, "-10"); -// else if(kDesign == 11) g_string_append(tmp2, "-11"); -// else if(kDesign == 20) g_string_append(tmp2, "-20"); -// else if(kDesign == 30) g_string_append(tmp2, "-30"); -// else if(kDesign == 40) g_string_append(tmp2, "-40"); -// else g_string_append(tmp2, "-00"); -// g_string_append(tmp3, "-00"); -// g_string_append(tmp4, "-00"); + tmp1 = kg_string_new(in->str); + tmp2 = kg_string_new(in->str); //append place flag if(1 <= flag && flag <= 7){ - if(tmp1->len != 7) g_string_append(tmp1, "-"); - if(flag == 1) g_string_append(tmp1, "01"); - else if(flag == 2) g_string_append(tmp1, "02"); - else if(flag == 3) g_string_append(tmp1, "03"); - else if(flag == 4) g_string_append(tmp1, "04"); - else if(flag == 5) g_string_append(tmp1, "05"); - else if(flag == 6) g_string_append(tmp1, "06"); + if(tmp1->len != 7) kg_string_append(tmp1, "-"); + if(flag == 1) kg_string_append(tmp1, "01"); + else if(flag == 2) kg_string_append(tmp1, "02"); + else if(flag == 3) kg_string_append(tmp1, "03"); + else if(flag == 4) kg_string_append(tmp1, "04"); + else if(flag == 5) kg_string_append(tmp1, "05"); + else if(flag == 6) kg_string_append(tmp1, "06"); } -// g_string_append(tmp2, "00"); -// if(flag == 1) g_string_append(tmp3, "01"); -// else if(flag == 2) g_string_append(tmp3, "02"); -// else if(flag == 3) g_string_append(tmp3, "03"); -// else if(flag == 4) g_string_append(tmp3, "04"); -// else if(flag == 5) g_string_append(tmp3, "05"); -// else if(flag == 6) g_string_append(tmp3, "06"); -// else g_string_append(tmp3, "00"); -// g_string_append(tmp4, "00"); - generateGlyph(tmp1, out); if(out->len != 0) return; generateGlyph(tmp2, out); if(out->len != 0) return; -// generateGlyph(tmp3, out); -// if(out->len != 0) return; -// generateGlyph(tmp4, out); return; } -void generateGlyph(const GString *in, GString *out){ - GString *tmp, *in2; - tmp = g_string_new(""); - g_string_set_size(out, 0); - -// in2 = g_string_new(in->str); +void generateGlyph(const KGString *in, KGString *out){ + KGString *tmp; + tmp = kg_string_new(""); + kg_string_set_size(out, 0); - //1st search -// if(*(in2->str) == 'u' && (in2->len == 4 || in2->len == 5)){ -// //append design flag -// if(kDesign == 10) g_string_append(in2, "-1000"); -// else if(kDesign == 11) g_string_append(in2, "-1100"); -// else if(kDesign == 20) g_string_append(in2, "-2000"); -// else if(kDesign == 30) g_string_append(in2, "-3000"); -// else if(kDesign == 40) g_string_append(in2, "-4000"); -// else g_string_append(in2, "-0000"); - - //search from parts(1st) -// searchPartsData(in2, tmp); -// if(tmp->len != 0){ -// g_string_assign(out, tmp->str); -// return; -// } - - //search from alias(1st) -// searchAliasData(in2, tmp); -// if(tmp->len != 0){ -// generateGlyph(tmp, out); -// if(out->len == 0) return; -// //save to cache ... not yet -// return; -// } -// } - - //2nd search - //search from parts(2nd) + //search from parts searchPartsData(in, tmp); if(tmp->len != 0){ - g_string_assign(out, tmp->str); - return; + tmp = CalcSizes(tmp, 1); + out = kg_string_assign(out, tmp->str); + return; } - //search from alias(2nd) + //search from alias searchAliasData(in, tmp); if(tmp->len != 0){ generateGlyph(tmp, out); @@ -135,19 +71,19 @@ void generateGlyph(const GString *in, GString *out){ } } -void doCombine(const GString *in, GString *out){ - GString *partIDS1, *partIDS2, *partIDS3; - GString *partStroke1, *partStroke2, *partStroke3; +void doCombine(const KGString *in, KGString *out){ + KGString *partIDS1, *partIDS2, *partIDS3; + KGString *partStroke1, *partStroke2, *partStroke3; int result[12]; - partIDS1 = g_string_new(""); - partIDS2 = g_string_new(""); - partIDS3 = g_string_new(""); - partStroke1 = g_string_new(""); - partStroke2 = g_string_new(""); - partStroke3 = g_string_new(""); + partIDS1 = kg_string_new(""); + partIDS2 = kg_string_new(""); + partIDS3 = kg_string_new(""); + partStroke1 = kg_string_new(""); + partStroke2 = kg_string_new(""); + partStroke3 = kg_string_new(""); - g_string_set_size(out, 0); + kg_string_set_size(out, 0); //check first IDC if(strncmp(in->str, "u2ff", 4) != 0) return; @@ -269,7 +205,7 @@ void doCombine(const GString *in, GString *out){ } } -void drawGlyph(const GString *in, const int mode){ +void drawGlyph(const KGString *in, const int mode){ int i, j; int *buf; buf = convertStroke(in->str, buf, &j);