From 2625b1ff7a913645407c429ddf7a8f0ea9031300 Mon Sep 17 00:00:00 2001 From: konn Date: Sun, 27 Apr 2008 15:28:52 +0000 Subject: [PATCH] * Added attribute for au XHTML converter. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/RELEASE_0_12_0@2554 1a406e8e-add9-4483-a2c8-d8cac5b7c224 --- include/chxj_xhtml_mobile_1_0.h | 2 ++ src/chxj_xhtml_mobile_1_0.c | 42 +++++++++++++++++----- .../test_chxj_xhtml_mobile_1_0.c | 20 +++++------ 3 files changed, 45 insertions(+), 19 deletions(-) diff --git a/include/chxj_xhtml_mobile_1_0.h b/include/chxj_xhtml_mobile_1_0.h index 17c1bbae..a1644166 100644 --- a/include/chxj_xhtml_mobile_1_0.h +++ b/include/chxj_xhtml_mobile_1_0.h @@ -30,6 +30,8 @@ struct xhtml_t { int out_len; int pre_flag; int textarea_flag; + int font_color_flag; + int font_size_flag; device_table *spec; mod_chxj_config *conf; diff --git a/src/chxj_xhtml_mobile_1_0.c b/src/chxj_xhtml_mobile_1_0.c index c2d63f09..cf063eb9 100644 --- a/src/chxj_xhtml_mobile_1_0.c +++ b/src/chxj_xhtml_mobile_1_0.c @@ -1184,8 +1184,9 @@ s_xhtml_1_0_start_font_tag(void *pdoc, Node *node) xhtml_t *xhtml = GET_XHTML(pdoc); Doc *doc = xhtml->doc; Attr *attr; + char *size = NULL; + char *color = NULL; - W_L("buf.pool, value); } else if (STRCASEEQ('s','S',"size",name) && value && *value) { - W_L(" size=\""); - W_V(value); - W_L("\""); + size = apr_pstrdup(doc->buf.pool, value); + } + } + if (color) { + W_L(""); + xhtml->font_color_flag++; + } + if (size) { + xhtml->font_size_flag++; + switch(*size) { + case '1': W_L(""); break; + case '2': W_L(""); break; + case '3': W_L(""); break; + case '4': W_L(""); break; + case '5': W_L(""); break; + case '6': W_L(""); break; + case '7': W_L(""); break; + default: + WRN(doc->r, "invlalid font size. [%s] != (1|2|3|4|5|6|7)", size); + xhtml->font_size_flag--; } } - W_L(">"); return xhtml->out; } @@ -1224,7 +1241,14 @@ s_xhtml_1_0_end_font_tag(void *pdoc, Node *UNUSED(child)) xhtml_t *xhtml = GET_XHTML(pdoc); Doc *doc = xhtml->doc; - W_L(""); + if (xhtml->font_size_flag) { + W_L(""); + xhtml->font_size_flag--; + } + if (xhtml->font_color_flag) { + W_L(""); + xhtml->font_color_flag--; + } return xhtml->out; } diff --git a/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c b/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c index 6e6a950c..f2ab28cd 100644 --- a/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c +++ b/test/chxj_xhtml_mobile_1_0/test_chxj_xhtml_mobile_1_0.c @@ -12973,7 +12973,7 @@ void test_xhtml_meta_tag_009() void test_xhtml_font_tag_001() { #define TEST_STRING "" -#define RESULT_STRING "" +#define RESULT_STRING "\n" char *ret; char *tmp; device_table spec; @@ -13002,7 +13002,7 @@ void test_xhtml_font_tag_001() void test_xhtml_font_tag_002() { #define TEST_STRING "あああ" -#define RESULT_STRING "あああ" +#define RESULT_STRING "あああ" char *ret; char *tmp; device_table spec; @@ -13031,7 +13031,7 @@ void test_xhtml_font_tag_002() void test_xhtml_font_tag_003() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; @@ -13060,7 +13060,7 @@ void test_xhtml_font_tag_003() void test_xhtml_font_tag_004() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; @@ -13089,7 +13089,7 @@ void test_xhtml_font_tag_004() void test_xhtml_font_tag_005() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; @@ -13351,7 +13351,7 @@ void test_xhtml_font_tag_013() void test_xhtml_font_tag_014() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; @@ -13380,7 +13380,7 @@ void test_xhtml_font_tag_014() void test_xhtml_font_tag_015() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; @@ -13409,7 +13409,7 @@ void test_xhtml_font_tag_015() void test_xhtml_font_tag_016() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; @@ -13467,7 +13467,7 @@ void test_xhtml_font_tag_017() void test_xhtml_font_tag_018() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; @@ -13496,7 +13496,7 @@ void test_xhtml_font_tag_018() void test_xhtml_font_tag_019() { #define TEST_STRING "アアア" -#define RESULT_STRING "アアア" +#define RESULT_STRING "アアア" char *ret; char *tmp; device_table spec; -- 2.11.0