--- psiconv/trunk/lib/psiconv/generate_layout.c 2000/12/27 02:12:23 80 +++ psiconv/trunk/lib/psiconv/generate_layout.c 2002/01/29 18:38:38 142 @@ -23,6 +23,11 @@ #include "generate_routines.h" #include "error.h" +#ifdef DMALLOC +#include +#endif + + int psiconv_write_color(psiconv_buffer buf, const psiconv_color value) { int res; @@ -39,13 +44,16 @@ int psiconv_write_font(psiconv_buffer buf, const psiconv_font value) { - int res; + int res,i; if (!value) { psiconv_warn(0,psiconv_buffer_length(buf),"Null font"); return -PSICONV_E_GENERATE; } - if ((res = psiconv_write_string(buf,value->name))) + if ((res = psiconv_write_u8(buf,strlen(value->name)+1))) return res; + for (i = 0; i < strlen(value->name); i++) + if ((res = psiconv_write_u8(buf,value->name[i]))) + return res; return psiconv_write_u8(buf,value->screenfont); } @@ -94,8 +102,6 @@ goto ERROR; if ((res = psiconv_write_u8(extra_buf,value->character))) goto ERROR; - if ((res = psiconv_write_bool(extra_buf,value->on))) - goto ERROR; if ((res = psiconv_write_bool(extra_buf,value->indent))) goto ERROR; if ((res = psiconv_write_color(extra_buf,value->color))) @@ -258,6 +264,13 @@ goto ERROR; } + if (!base || (value->wrap_to_fit_cell != base->wrap_to_fit_cell)) { + if ((res = psiconv_write_u8(extra_buf,0x0f))) + goto ERROR; + if ((res = psiconv_write_bool(extra_buf,value->wrap_to_fit_cell))) + goto ERROR; + } + if (!base || (value->border_distance != base->border_distance)) { if ((res = psiconv_write_u8(extra_buf,0x10))) goto ERROR; @@ -399,8 +412,8 @@ if ((res = psiconv_write_u8(extra_buf,0x1f))) goto ERROR; if ((res = psiconv_write_u8(extra_buf, - base->super_sub == psiconv_superscript?1: - base->super_sub == psiconv_superscript?2:0))) + value->super_sub == psiconv_superscript?1: + value->super_sub == psiconv_subscript?2:0))) goto ERROR; }