| line |
true |
false |
branch |
|
35
|
0 |
27 |
if (!font_name) return 0.5; |
|
38
|
0 |
27 |
if (strstr(font_name, "Courier")) { |
|
43
|
1 |
26 |
if (strstr(font_name, "Helvetica") || strstr(font_name, "Arial")) { |
|
|
0 |
1 |
if (strstr(font_name, "Helvetica") || strstr(font_name, "Arial")) { |
|
48
|
1 |
0 |
if (strstr(font_name, "Times")) { |
|
62
|
0 |
28 |
if (!opts) return; |
|
85
|
0 |
10 |
if (!opts) return; |
|
108
|
0 |
27 |
if (!text) return 0.0; |
|
127
|
0 |
24 |
if (!text) return NULL; |
|
130
|
0 |
24 |
if (!wm) return NULL; |
|
135
|
24 |
0 |
if (opts) { |
|
143
|
0 |
24 |
if (!wm->data.text.text) { |
|
165
|
0 |
1 |
if (image_obj_num == 0) return NULL; |
|
168
|
0 |
1 |
if (!wm) return NULL; |
|
173
|
1 |
0 |
if (opts) { |
|
188
|
0 |
25 |
if (!wm) return; |
|
190
|
24 |
1 |
if (wm->type == PDFMAKE_WM_TYPE_TEXT && wm->data.text.text) { |
|
|
24 |
0 |
if (wm->type == PDFMAKE_WM_TYPE_TEXT && wm->data.text.text) { |
|
208
|
0 |
6 |
if (!format) return NULL; |
|
211
|
0 |
6 |
if (!stamp) return NULL; |
|
216
|
6 |
0 |
if (opts) { |
|
224
|
0 |
6 |
if (!stamp->data.text.format) { |
|
244
|
0 |
3 |
if (!stamp) return NULL; |
|
249
|
3 |
0 |
if (opts) { |
|
256
|
3 |
0 |
stamp->data.bates.prefix = prefix ? strdup(prefix) : strdup(""); |
|
257
|
3 |
0 |
stamp->data.bates.suffix = suffix ? strdup(suffix) : strdup(""); |
|
259
|
3 |
0 |
stamp->data.bates.digits = digits > 0 ? digits : 6; |
|
262
|
3 |
0 |
if (!stamp->data.bates.prefix || !stamp->data.bates.suffix) { |
|
|
0 |
3 |
if (!stamp->data.bates.prefix || !stamp->data.bates.suffix) { |
|
274
|
0 |
9 |
if (!stamp) return; |
|
276
|
6 |
3 |
if (stamp->type == PDFMAKE_WM_STAMP_TEXT && stamp->data.text.format) { |
|
|
6 |
0 |
if (stamp->type == PDFMAKE_WM_STAMP_TEXT && stamp->data.text.format) { |
|
278
|
3 |
0 |
} else if (stamp->type == PDFMAKE_WM_STAMP_BATES) { |
|
299
|
3 |
0 |
if (!wm || !out_x || !out_y || !out_rotation) return; |
|
|
3 |
0 |
if (!wm || !out_x || !out_y || !out_rotation) return; |
|
|
3 |
0 |
if (!wm || !out_x || !out_y || !out_rotation) return; |
|
|
0 |
3 |
if (!wm || !out_x || !out_y || !out_rotation) return; |
|
301
|
3 |
0 |
if (wm->type == PDFMAKE_WM_TYPE_TEXT) { |
|
388
|
3 |
0 |
if (!stamp || !out_x || !out_y) return; |
|
|
3 |
0 |
if (!stamp || !out_x || !out_y) return; |
|
|
0 |
3 |
if (!stamp || !out_x || !out_y) return; |
|
463
|
0 |
4 |
if (!format) return NULL; |
|
468
|
0 |
4 |
if (!output) return NULL; |
|
476
|
46 |
4 |
while (*src && (size_t)(dst - output) < out_size - 64) { |
|
|
46 |
0 |
while (*src && (size_t)(dst - output) < out_size - 64) { |
|
477
|
13 |
33 |
if (*src == '%' && *(src + 1)) { |
|
|
13 |
0 |
if (*src == '%' && *(src + 1)) { |
|
505
|
0 |
0 |
if (filename) { |
|
536
|
5 |
0 |
size_t prefix_len = prefix ? strlen(prefix) : 0; |
|
537
|
5 |
0 |
size_t suffix_len = suffix ? strlen(suffix) : 0; |
|
542
|
0 |
5 |
if (!output) return NULL; |
|
545
|
5 |
0 |
snprintf(output, prefix_len + digits + suffix_len + 16, format, |
|
|
5 |
0 |
snprintf(output, prefix_len + digits + suffix_len + 16, format, |
|
565
|
0 |
2 |
if (!doc) return 0; |
|
568
|
0 |
2 |
if (opacity < 0.0) opacity = 0.0; |
|
569
|
0 |
2 |
if (opacity > 1.0) opacity = 1.0; |
|
572
|
0 |
2 |
if (!arena) return 0; |
|
575
|
0 |
2 |
if (gs.kind != PDFMAKE_DICT) return 0; |
|
599
|
35 |
6 |
for (p = text; *p; p++) { |
|
600
|
0 |
35 |
switch (*p) { |
|
648
|
3 |
0 |
if (gs_name) { |
|
654
|
0 |
3 |
if (wm->opts.position == PDFMAKE_WM_POS_TILE) { |
|
660
|
0 |
0 |
wm->data.text.text_width : wm->data.image.width; |
|
662
|
0 |
0 |
wm->data.text.text_height : wm->data.image.height; |
|
667
|
0 |
0 |
for (ty = 0; ty < page->height + content_height; ty += spacing_y) { |
|
668
|
0 |
0 |
for (tx = 0; tx < page->width + content_width; tx += spacing_x) { |
|
670
|
0 |
0 |
if (wm->type == PDFMAKE_WM_TYPE_TEXT) { |
|
698
|
0 |
3 |
if (wm->opts.position == PDFMAKE_WM_POS_DIAGONAL) { |
|
712
|
0 |
0 |
wm->data.text.text_width * wm->opts.scale : |
|
717
|
0 |
3 |
} else if (rotation != 0.0) { |
|
731
|
3 |
0 |
if (wm->type == PDFMAKE_WM_TYPE_TEXT) { |
|
778
|
2 |
1 |
if (stamp->type == PDFMAKE_WM_STAMP_TEXT) { |
|
789
|
0 |
3 |
if (!text) return PDFMAKE_ENOMEM; |
|
836
|
3 |
0 |
if (!page || !wm) return PDFMAKE_EINVAL; |
|
|
0 |
3 |
if (!page || !wm) return PDFMAKE_EINVAL; |
|
839
|
0 |
3 |
if (wm->opts.opacity <= 0.0) { |
|
846
|
3 |
0 |
if (wm->opts.opacity < 1.0) { |
|
847
|
2 |
1 |
if (wm->extgstate_num == 0) { |
|
850
|
3 |
0 |
if (wm->extgstate_num) { |
|
858
|
3 |
0 |
if (wm->type == PDFMAKE_WM_TYPE_TEXT) { |
|
860
|
3 |
0 |
base_font = wm->opts.font_name ? wm->opts.font_name : "Helvetica"; |
|
866
|
0 |
3 |
if (wm->type == PDFMAKE_WM_TYPE_IMAGE) { |
|
875
|
3 |
0 |
gs_name[0] ? gs_name : NULL, |
|
882
|
1 |
2 |
if (page->has_content && page->contents_num) { |
|
|
1 |
0 |
if (page->has_content && page->contents_num) { |
|
884
|
1 |
0 |
if (old_obj && old_obj->kind == PDFMAKE_STREAM && old_obj->as.stream) { |
|
|
1 |
0 |
if (old_obj && old_obj->kind == PDFMAKE_STREAM && old_obj->as.stream) { |
|
|
1 |
0 |
if (old_obj && old_obj->kind == PDFMAKE_STREAM && old_obj->as.stream) { |
|
890
|
1 |
2 |
if (!old_data || old_len == 0) { |
|
|
0 |
1 |
if (!old_data || old_len == 0) { |
|
895
|
0 |
1 |
if (wm->opts.as_overlay) { |
|
922
|
2 |
0 |
if (!doc || !wm) return PDFMAKE_EINVAL; |
|
|
0 |
2 |
if (!doc || !wm) return PDFMAKE_EINVAL; |
|
926
|
3 |
2 |
for (i = 0; i < page_count; i++) { |
|
928
|
3 |
0 |
if (page) { |
|
930
|
0 |
3 |
if (err != PDFMAKE_OK) return err; |
|
947
|
0 |
0 |
if (!doc || !wm) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!doc || !wm) return PDFMAKE_EINVAL; |
|
951
|
0 |
0 |
if (start_page < 0) start_page = 0; |
|
952
|
0 |
0 |
if (end_page < 0 || (size_t)end_page >= page_count) { |
|
|
0 |
0 |
if (end_page < 0 || (size_t)end_page >= page_count) { |
|
956
|
0 |
0 |
for (i = start_page; i <= end_page; i++) { |
|
958
|
0 |
0 |
if (page) { |
|
960
|
0 |
0 |
if (err != PDFMAKE_OK) return err; |
|
981
|
2 |
0 |
if (!doc || !stamp) return PDFMAKE_EINVAL; |
|
|
0 |
2 |
if (!doc || !stamp) return PDFMAKE_EINVAL; |
|
986
|
1 |
1 |
if (stamp->type == PDFMAKE_WM_STAMP_BATES) { |
|
990
|
3 |
2 |
for (i = 0; i < page_count; i++) { |
|
992
|
0 |
3 |
if (!page) continue; |
|
996
|
3 |
0 |
base_font = stamp->opts.font_name ? stamp->opts.font_name : "Helvetica"; |
|
1027
|
0 |
0 |
if (!doc || !stamp) return PDFMAKE_EINVAL; |
|
|
0 |
0 |
if (!doc || !stamp) return PDFMAKE_EINVAL; |
|
1031
|
0 |
0 |
if (start_page < 0) start_page = 0; |
|
1032
|
0 |
0 |
if (end_page < 0 || (size_t)end_page >= page_count) { |
|
|
0 |
0 |
if (end_page < 0 || (size_t)end_page >= page_count) { |
|
1037
|
0 |
0 |
if (stamp->type == PDFMAKE_WM_STAMP_BATES) { |
|
1041
|
0 |
0 |
for (i = start_page; i <= end_page; i++) { |
|
1043
|
0 |
0 |
if (!page) continue; |
|
1047
|
0 |
0 |
base_font = stamp->opts.font_name ? stamp->opts.font_name : "Helvetica"; |