… | |
… | |
37 | return psiconv_write_u8(buf,value->blue); |
37 | return psiconv_write_u8(buf,value->blue); |
38 | } |
38 | } |
39 | |
39 | |
40 | int psiconv_write_font(psiconv_buffer buf, const psiconv_font value) |
40 | int psiconv_write_font(psiconv_buffer buf, const psiconv_font value) |
41 | { |
41 | { |
42 | int res; |
42 | int res,i; |
43 | if (!value) { |
43 | if (!value) { |
44 | psiconv_warn(0,psiconv_buffer_length(buf),"Null font"); |
44 | psiconv_warn(0,psiconv_buffer_length(buf),"Null font"); |
45 | return -PSICONV_E_GENERATE; |
45 | return -PSICONV_E_GENERATE; |
46 | } |
46 | } |
|
|
47 | if ((res = psiconv_write_u8(buf,strlen(value->name)+1))) |
|
|
48 | return res; |
|
|
49 | for (i = 0; i < strlen(value->name); i++) |
47 | if ((res = psiconv_write_string(buf,value->name))) |
50 | if ((res = psiconv_write_u8(buf,value->name[i]))) |
48 | return res; |
51 | return res; |
49 | return psiconv_write_u8(buf,value->screenfont); |
52 | return psiconv_write_u8(buf,value->screenfont); |
50 | } |
53 | } |
51 | |
54 | |
52 | int psiconv_write_border(psiconv_buffer buf, const psiconv_border value) |
55 | int psiconv_write_border(psiconv_buffer buf, const psiconv_border value) |
53 | { |
56 | { |
… | |
… | |
86 | if (!value) { |
89 | if (!value) { |
87 | psiconv_warn(0,psiconv_buffer_length(buf),"Null bullet"); |
90 | psiconv_warn(0,psiconv_buffer_length(buf),"Null bullet"); |
88 | return -PSICONV_E_GENERATE; |
91 | return -PSICONV_E_GENERATE; |
89 | } |
92 | } |
90 | |
93 | |
91 | if (!(extra_buf = psiconv_buffer_new(0))) |
94 | if (!(extra_buf = psiconv_buffer_new())) |
92 | return -PSICONV_E_NOMEM; |
95 | return -PSICONV_E_NOMEM; |
93 | if ((res = psiconv_write_size(extra_buf,value->font_size))) |
96 | if ((res = psiconv_write_size(extra_buf,value->font_size))) |
94 | goto ERROR; |
97 | goto ERROR; |
95 | if ((res = psiconv_write_u8(extra_buf,value->character))) |
98 | if ((res = psiconv_write_u8(extra_buf,value->character))) |
96 | goto ERROR; |
|
|
97 | if ((res = psiconv_write_bool(extra_buf,value->on))) |
|
|
98 | goto ERROR; |
99 | goto ERROR; |
99 | if ((res = psiconv_write_bool(extra_buf,value->indent))) |
100 | if ((res = psiconv_write_bool(extra_buf,value->indent))) |
100 | goto ERROR; |
101 | goto ERROR; |
101 | if ((res = psiconv_write_color(extra_buf,value->color))) |
102 | if ((res = psiconv_write_color(extra_buf,value->color))) |
102 | goto ERROR; |
103 | goto ERROR; |
… | |
… | |
140 | |
141 | |
141 | if (!value) { |
142 | if (!value) { |
142 | psiconv_warn(0,psiconv_buffer_length(buf),"Null paragraph layout list"); |
143 | psiconv_warn(0,psiconv_buffer_length(buf),"Null paragraph layout list"); |
143 | return -PSICONV_E_GENERATE; |
144 | return -PSICONV_E_GENERATE; |
144 | } |
145 | } |
145 | if (!(extra_buf = psiconv_buffer_new(0))) |
146 | if (!(extra_buf = psiconv_buffer_new())) |
146 | return -PSICONV_E_NOMEM; |
147 | return -PSICONV_E_NOMEM; |
147 | |
148 | |
148 | if (!base || psiconv_compare_color(base->back_color,value->back_color)) { |
149 | if (!base || psiconv_compare_color(base->back_color,value->back_color)) { |
149 | if ((res = psiconv_write_u8(extra_buf,0x01))) |
150 | if ((res = psiconv_write_u8(extra_buf,0x01))) |
150 | goto ERROR; |
151 | goto ERROR; |
… | |
… | |
349 | psiconv_buffer extra_buf; |
350 | psiconv_buffer extra_buf; |
350 | if (!value) { |
351 | if (!value) { |
351 | psiconv_warn(0,psiconv_buffer_length(buf),"Null character layout list"); |
352 | psiconv_warn(0,psiconv_buffer_length(buf),"Null character layout list"); |
352 | return -PSICONV_E_GENERATE; |
353 | return -PSICONV_E_GENERATE; |
353 | } |
354 | } |
354 | if (!(extra_buf = psiconv_buffer_new(0))) |
355 | if (!(extra_buf = psiconv_buffer_new())) |
355 | return -PSICONV_E_NOMEM; |
356 | return -PSICONV_E_NOMEM; |
356 | |
357 | |
357 | if (!base || psiconv_compare_color(base->color,value->color)) { |
358 | if (!base || psiconv_compare_color(base->color,value->color)) { |
358 | if ((res = psiconv_write_u8(extra_buf,0x19))) |
359 | if ((res = psiconv_write_u8(extra_buf,0x19))) |
359 | goto ERROR; |
360 | goto ERROR; |
… | |
… | |
397 | "Unknown supersubscript (%d); assuming normal", |
398 | "Unknown supersubscript (%d); assuming normal", |
398 | value->super_sub); |
399 | value->super_sub); |
399 | if ((res = psiconv_write_u8(extra_buf,0x1f))) |
400 | if ((res = psiconv_write_u8(extra_buf,0x1f))) |
400 | goto ERROR; |
401 | goto ERROR; |
401 | if ((res = psiconv_write_u8(extra_buf, |
402 | if ((res = psiconv_write_u8(extra_buf, |
402 | base->super_sub == psiconv_superscript?1: |
403 | value->super_sub == psiconv_superscript?1: |
403 | base->super_sub == psiconv_superscript?2:0))) |
404 | value->super_sub == psiconv_subscript?2:0))) |
404 | goto ERROR; |
405 | goto ERROR; |
405 | } |
406 | } |
406 | |
407 | |
407 | if (!base || (value->underline != base->underline)) { |
408 | if (!base || (value->underline != base->underline)) { |
408 | if ((res = psiconv_write_u8(extra_buf,0x20))) |
409 | if ((res = psiconv_write_u8(extra_buf,0x20))) |