From e34d93101ea2af05083148496929e0d7c2dc470b Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Wed, 15 Dec 2010 21:43:23 +0000 Subject: Add searchable keywords to code for content stream interpreter. --- mupdf/pdf_interpret.c | 137 +++++++++++++++++++++++++------------------------- 1 file changed, 68 insertions(+), 69 deletions(-) diff --git a/mupdf/pdf_interpret.c b/mupdf/pdf_interpret.c index 425b009f..afcc7c50 100644 --- a/mupdf/pdf_interpret.c +++ b/mupdf/pdf_interpret.c @@ -405,24 +405,24 @@ pdf_runkeyword(pdf_csi *csi, fz_obj *rdb, char *buf) case 'B': switch(buf[1]) { - case 0: + case 0: /* "B" */ if (csi->top < 0) goto syntaxerror; pdf_showpath(csi, 0, 1, 1, 0); break; - case 'D': + case 'D': /* "BDC" */ if ((buf[2] != 'C') || (buf[3] != 0)) goto defaultcase; if (csi->top < 2) goto syntaxerror; break; - case 'M': + case 'M': /* "BMC" */ if ((buf[2] != 'C') || (buf[3] != 0)) goto defaultcase; if (csi->top < 1) goto syntaxerror; break; - case 'T': + case 'T': /* "BT" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) @@ -430,14 +430,14 @@ pdf_runkeyword(pdf_csi *csi, fz_obj *rdb, char *buf) csi->tm = fz_identity; csi->tlm = fz_identity; break; - case 'X': + case 'X': /* "BX" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) goto syntaxerror; csi->xbalance ++; break; - case '*': + case '*': /* "B*" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) @@ -449,7 +449,7 @@ pdf_runkeyword(pdf_csi *csi, fz_obj *rdb, char *buf) } break; - case 'C': + case 'C': /* "CS" */ if ((buf[1] == 'S') && (buf[2] == 0)) { fz_colorspace *cs; @@ -505,13 +505,13 @@ Lsetcolorspace: case 'D': switch (buf[1]) { - case 'P': + case 'P': /* "Dp" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 2) goto syntaxerror; break; - case 'o': + case 'o': /* "Do" */ { fz_obj *dict; fz_obj *obj; @@ -588,20 +588,20 @@ Lsetcolorspace: case 'E': switch (buf[1]) { - case 'X': + case 'X': /* "EX" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) goto syntaxerror; csi->xbalance --; break; - case 'M': + case 'M': /* "EW" */ if ((buf[2] != 'C') || (buf[3] != 0)) goto defaultcase; if (csi->top < 0) goto syntaxerror; break; - case 'T': + case 'T': /* "ET" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) @@ -614,7 +614,7 @@ Lsetcolorspace: } break; - case 'F': + case 'F': /* "F" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 0) @@ -622,7 +622,7 @@ Lsetcolorspace: pdf_showpath(csi, 0, 1, 0, 0); break; - case 'G': + case 'G': /* "G" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 1) @@ -633,7 +633,7 @@ Lsetcolorspace: pdf_setcolor(csi, PDF_MSTROKE, v); break; - case 'J': + case 'J': /* "J" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 1) @@ -641,7 +641,7 @@ Lsetcolorspace: gstate->strokestate.linecap = fz_toint(csi->stack[0]); break; - case 'K': + case 'K': /* "K" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 4) @@ -659,12 +659,12 @@ Lsetcolorspace: case 'M': switch (buf[1]) { - case 0: + case 0: /* "M" */ if (csi->top < 1) goto syntaxerror; gstate->strokestate.miterlimit = fz_toreal(csi->stack[0]); break; - case 'P': + case 'P': /* "Mp" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) @@ -675,7 +675,7 @@ Lsetcolorspace: } break; - case 'Q': + case 'Q': /* "Q" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 0) @@ -683,7 +683,7 @@ Lsetcolorspace: pdf_grestore(csi); break; - case 'R': + case 'R': /* "RG" */ if ((buf[1] != 'G') || (buf[2] != 0)) goto defaultcase; if (csi->top < 3) @@ -700,14 +700,13 @@ Lsetcolorspace: case 'S': switch (buf[1]) { - case 0: + case 0: /* "S" */ if (csi->top < 0) goto syntaxerror; pdf_showpath(csi, 0, 0, 1, 0); break; - case 'C': + case 'C': /* "SC" or "SCN" */ { - /* SC or SCN */ pdf_material *mat; fz_obj *patterntype; fz_obj *dict; @@ -794,21 +793,21 @@ Lsetcolor: case 'T': switch (buf[1]) { - case 'c': + case 'c': /* "Tc" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) goto syntaxerror; gstate->charspace = fz_toreal(csi->stack[0]); break; - case 'w': + case 'w': /* "Tw" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) goto syntaxerror; gstate->wordspace = fz_toreal(csi->stack[0]); break; - case 'z': + case 'z': /* "Tz" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) @@ -817,14 +816,14 @@ Lsetcolor: pdf_flushtext(csi); gstate->scale = a; break; - case 'L': + case 'L': /* "TL" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) goto syntaxerror; gstate->leading = fz_toreal(csi->stack[0]); break; - case 'f': + case 'f': /* "Tf" */ { fz_obj *dict; fz_obj *obj; @@ -856,21 +855,21 @@ Lsetcolor: break; } - case 'r': + case 'r': /* "Tr" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) goto syntaxerror; gstate->render = fz_toint(csi->stack[0]); break; - case 's': + case 's': /* "Ts" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) goto syntaxerror; gstate->rise = fz_toreal(csi->stack[0]); break; - case 'd': + case 'd': /* "Td" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 2) @@ -879,7 +878,7 @@ Lsetcolor: csi->tlm = fz_concat(m, csi->tlm); csi->tm = csi->tlm; break; - case 'D': + case 'D': /* "TD" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 2) @@ -889,7 +888,7 @@ Lsetcolor: csi->tlm = fz_concat(m, csi->tlm); csi->tm = csi->tlm; break; - case 'm': + case 'm': /* "Tm" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 6) @@ -907,7 +906,7 @@ Lsetcolor: csi->tm = m; csi->tlm = csi->tm; break; - case '*': + case '*': /* "T*" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) @@ -916,14 +915,14 @@ Lsetcolor: csi->tlm = fz_concat(m, csi->tlm); csi->tm = csi->tlm; break; - case 'j': + case 'j': /* "Tj" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) goto syntaxerror; pdf_showtext(csi, csi->stack[0]); break; - case 'J': + case 'J': /* "TJ" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) @@ -938,13 +937,13 @@ Lsetcolor: case 'W': switch (buf[1]) { - case 0: + case 0: /* "W" */ if (csi->top < 0) goto syntaxerror; csi->clip = 1; csi->clipevenodd = 0; break; - case '*': + case '*': /* "W*" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) @@ -960,12 +959,12 @@ Lsetcolor: case 'b': switch (buf[1]) { - case 0: + case 0: /* "b" */ if (csi->top < 0) goto syntaxerror; pdf_showpath(csi, 1, 1, 1, 0); break; - case '*': + case '*': /* "b*" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) @@ -980,7 +979,7 @@ Lsetcolor: case 'c': switch (buf[1]) { - case 0: + case 0: /* "c" */ if (csi->top < 6) goto syntaxerror; a = fz_toreal(csi->stack[0]); @@ -991,7 +990,7 @@ Lsetcolor: f = fz_toreal(csi->stack[5]); fz_curveto(csi->path, a, b, c, d, e, f); break; - case 'm': + case 'm': /* "cm" */ { if (buf[2] != 0) goto defaultcase; @@ -1008,7 +1007,7 @@ Lsetcolor: gstate->ctm = fz_concat(m, gstate->ctm); break; } - case 's': + case 's': /* "cs" */ if (buf[2] != 0) goto defaultcase; what = PDF_MFILL; @@ -1021,7 +1020,7 @@ Lsetcolor: case 'd': switch (buf[1]) { - case 0: + case 0: /* "d" */ { fz_obj *array; if (csi->top < 2) @@ -1035,8 +1034,8 @@ Lsetcolor: gstate->strokestate.dashphase = fz_toreal(csi->stack[1]); break; } - case '0': - case '1': + case '0': /* "d0" */ + case '1': /* "d1" */ if (buf[2] != 0) goto defaultcase; /* we don't care about setcharwidth and setcachedevice */ @@ -1049,12 +1048,12 @@ Lsetcolor: case 'f': switch (buf[1]) { - case 0: + case 0: /* "f" */ if (csi->top < 0) goto syntaxerror; pdf_showpath(csi, 0, 1, 0, 0); break; - case '*': + case '*': /* "f*" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 0) @@ -1069,7 +1068,7 @@ Lsetcolor: case 'g': switch (buf[1]) { - case 0: + case 0: /* "g" */ if (csi->top < 1) goto syntaxerror; @@ -1077,7 +1076,7 @@ Lsetcolor: pdf_setcolorspace(csi, PDF_MFILL, fz_devicegray); pdf_setcolor(csi, PDF_MFILL, v); break; - case 's': + case 's': /* "gs" */ { fz_obj *dict; fz_obj *obj; @@ -1105,7 +1104,7 @@ Lsetcolor: } break; - case 'h': + case 'h': /* "h" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 0) @@ -1113,7 +1112,7 @@ Lsetcolor: fz_closepath(csi->path); break; - case 'i': + case 'i': /* "i" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 1) @@ -1121,7 +1120,7 @@ Lsetcolor: /* flatness */ break; - case 'j': + case 'j': /* "j" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 1) @@ -1129,7 +1128,7 @@ Lsetcolor: gstate->strokestate.linejoin = fz_toint(csi->stack[0]); break; - case 'k': + case 'k': /* "k" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 4) @@ -1144,7 +1143,7 @@ Lsetcolor: pdf_setcolor(csi, PDF_MFILL, v); break; - case 'l': + case 'l': /* "l" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 2) @@ -1154,7 +1153,7 @@ Lsetcolor: fz_lineto(csi->path, a, b); break; - case 'm': + case 'm': /* "m" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 2) @@ -1164,7 +1163,7 @@ Lsetcolor: fz_moveto(csi->path, a, b); break; - case 'n': + case 'n': /* "n" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 0) @@ -1172,7 +1171,7 @@ Lsetcolor: pdf_showpath(csi, 0, 0, 0, csi->clipevenodd); break; - case 'q': + case 'q': /* "q" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 0) @@ -1183,13 +1182,13 @@ Lsetcolor: case 'r': switch (buf[1]) { - case 'i': + case 'i': /* "ri" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 1) goto syntaxerror; break; - case 'e': + case 'e': /* "re" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 4) @@ -1206,7 +1205,7 @@ Lsetcolor: fz_lineto(csi->path, x, y + h); fz_closepath(csi->path); break; - case 'g': + case 'g': /* "rg" */ if (buf[2] != 0) goto defaultcase; if (csi->top < 3) @@ -1227,17 +1226,17 @@ Lsetcolor: case 's': switch (buf[1]) { - case 0: + case 0: /* "s" */ if (csi->top < 0) goto syntaxerror; pdf_showpath(csi, 1, 0, 1, 0); break; - case 'c': + case 'c': /* "sc" or "scn" */ if ((buf[2] != 0) && ((buf[2] != 'n') || (buf[3] != 0))) goto defaultcase; what = PDF_MFILL; goto Lsetcolor; - case 'h': + case 'h': /* "sh" */ { fz_obj *dict; fz_obj *obj; @@ -1271,7 +1270,7 @@ Lsetcolor: } break; - case 'v': + case 'v': /* "v" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 4) @@ -1283,7 +1282,7 @@ Lsetcolor: fz_curvetov(csi->path, a, b, c, d); break; - case 'w': + case 'w': /* "w" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 1) @@ -1291,7 +1290,7 @@ Lsetcolor: gstate->strokestate.linewidth = fz_toreal(csi->stack[0]); break; - case 'y': + case 'y': /* "y" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 4) @@ -1303,7 +1302,7 @@ Lsetcolor: fz_curvetoy(csi->path, a, b, c, d); break; - case '\'': + case '\'': /* "'" */ if (buf[1] != 0) goto defaultcase; if (csi->top < 1) @@ -1316,7 +1315,7 @@ Lsetcolor: pdf_showtext(csi, csi->stack[0]); break; - case '"': + case '"': /* """ */ if (buf[1] != 0) goto defaultcase; if (csi->top < 3) -- cgit v1.2.3