Branch Coverage

src/pdfmake_encoding.c
Criterion Covered Total %
branch 27 152 17.7


line true false branch
300 0 0 if (!name) return NULL;
302 0 0 if (strcmp(name, "StandardEncoding") == 0 ||
303 0 0 strcmp(name, "Standard") == 0) {
306 0 0 if (strcmp(name, "WinAnsiEncoding") == 0 ||
307 0 0 strcmp(name, "WinAnsi") == 0) {
310 0 0 if (strcmp(name, "MacRomanEncoding") == 0 ||
311 0 0 strcmp(name, "MacRoman") == 0) {
314 0 0 if (strcmp(name, "SymbolEncoding") == 0 ||
315 0 0 strcmp(name, "Symbol") == 0) {
318 0 0 if (strcmp(name, "ZapfDingbatsEncoding") == 0 ||
319 0 0 strcmp(name, "ZapfDingbats") == 0) {
332 0 0 if (!font) return 0;
335 0 0 if (font->type == PDFMAKE_FONT_TRUETYPE ||
336 0 0 font->type == PDFMAKE_FONT_CID_TRUETYPE) {
337 0 0 if (font->ttf) {
344 0 0 if (font->type == PDFMAKE_FONT_TYPE1) {
346 0 0 if (charcode < 256) {
359 0 0 if (!font) return 0;
362 0 0 if (font->type == PDFMAKE_FONT_TRUETYPE ||
363 0 0 font->type == PDFMAKE_FONT_CID_TRUETYPE) {
364 0 0 if (font->ttf) {
371 0 0 if (font->type == PDFMAKE_FONT_TYPE1) {
373 0 0 for (i = 0; i < 256; i++) {
374 0 0 if (pdfmake_encoding_winansi[i] == unicode) {
401 0 0 if (*p >= end) return 0xFFFD;
405 0 0 if (c < 0x80) {
409 0 0 if ((c & 0xE0) == 0xC0) {
411 0 0 if (*p >= end) return 0xFFFD;
413 0 0 if ((c2 & 0xC0) != 0x80) return 0xFFFD;
417 0 0 if ((c & 0xF0) == 0xE0) {
419 0 0 if (*p + 1 >= end) return 0xFFFD;
422 0 0 if ((c2 & 0xC0) != 0x80 || (c3 & 0xC0) != 0x80) return 0xFFFD;
0 0 if ((c2 & 0xC0) != 0x80 || (c3 & 0xC0) != 0x80) return 0xFFFD;
426 0 0 if ((c & 0xF8) == 0xF0) {
428 0 0 if (*p + 2 >= end) return 0xFFFD;
432 0 0 if ((c2 & 0xC0) != 0x80 || (c3 & 0xC0) != 0x80 ||
0 0 if ((c2 & 0xC0) != 0x80 || (c3 & 0xC0) != 0x80 ||
433 0 0 (c4 & 0xC0) != 0x80) return 0xFFFD;
453 0 0 if (!font) return 0.0;
455 0 0 if (font->type == PDFMAKE_FONT_TRUETYPE ||
456 0 0 font->type == PDFMAKE_FONT_CID_TRUETYPE) {
457 0 0 if (font->ttf) {
461 0 0 } else if (font->type == PDFMAKE_FONT_TYPE1) {
482 0 0 if (!ts || !text || !ts->font) return 0.0;
0 0 if (!ts || !text || !ts->font) return 0.0;
0 0 if (!ts || !text || !ts->font) return 0.0;
488 0 0 while (p < end) {
490 0 0 if (unicode == 0xFFFD) continue;
500 0 0 if (unicode == 0x0020) {
528 38144 149 for (i = 0; i < 256; i++) {
530 23776 14368 enc->map[i] = (v == 0xFFFF) ? 0 : v;
558 0 21 if (!enc) return 0;
559 0 21 if (!name) {
563 0 21 if (strcmp(name, "StandardEncoding") == 0) {
566 21 0 if (strcmp(name, "WinAnsiEncoding") == 0) {
569 0 0 if (strcmp(name, "MacRomanEncoding") == 0) {
572 0 0 if (strcmp(name, "MacExpertEncoding") == 0) {
575 0 0 if (strcmp(name, "SymbolEncoding") == 0) {
578 0 0 if (strcmp(name, "ZapfDingbatsEncoding") == 0) {
604 14 0 if (!diff_arr || diff_arr->kind != PDFMAKE_ARRAY) return;
0 14 if (!diff_arr || diff_arr->kind != PDFMAKE_ARRAY) return;
608 42 14 for (i = 0; i < n; i++) {
610 0 42 if (!item) continue;
612 14 28 if (item->kind == PDFMAKE_INT) {
616 0 28 if (item->kind != PDFMAKE_NAME) continue;
619 0 28 if (!glyph) { code++; continue; }
621 28 0 if (code >= 0 && code < 256) {
28 0 if (code >= 0 && code < 256) {
624 28 0 if (cp) enc->map[code] = cp;
641 0 35 if (!out) return -1;
646 0 35 if (!encoding_obj) return 0;
648 21 14 if (encoding_obj->kind == PDFMAKE_NAME) {
654 14 0 if (encoding_obj->kind == PDFMAKE_DICT) {
658 0 14 if (be && be->kind == PDFMAKE_NAME) {
0 0 if (be && be->kind == PDFMAKE_NAME) {
665 14 0 if (diff) apply_differences(arena, diff, out);