1typedef struct
2{
3 const char *op;
4 const char *description;
5} OperatorMapping;
6
7OperatorMapping op_mapping[] = {
8 { .op: "b", .description: "Close, fill, and stroke path using nonzero winding number rule" },
9 { .op: "B", .description: "Fill and stroke path using nonzero winding number rule" },
10 { .op: "b*", .description: "Close, fill, and stroke path using even-odd rule" },
11 { .op: "B*", .description: "Fill and stroke path using even-odd rule" },
12 { .op: "BDC", .description: "(PDF 1.2) Begin marked-content sequence with property list" },
13 { .op: "BI", .description: "Begin inline image object" },
14 { .op: "BMC", .description: "(PDF 1.2) Begin marked-content sequence" },
15 { .op: "BT", .description: "Begin text object" },
16 { .op: "BX", .description: "(PDF 1.1) Begin compatibility section" },
17 { .op: "c", .description: "Append curved segment to path (three control points)" },
18 { .op: "cm", .description: "Concatenate matrix to current transformation matrix" },
19 { .op: "CS", .description: "(PDF 1.1) Set color space for stroking operations" },
20 { .op: "cs", .description: "(PDF 1.1) Set color space for nonstroking operations" },
21 { .op: "d", .description: "Set line dash pattern" },
22 { .op: "d0", .description: "Set glyph width in Type 3 font" },
23 { .op: "d1", .description: "Set glyph width and bounding box in Type 3 font" },
24 { .op: "Do", .description: "Invoke named XObject" },
25 { .op: "DP", .description: "(PDF 1.2) Define marked-content point with property list" },
26 { .op: "EI", .description: "End inline image object" },
27 { .op: "EMC", .description: "(PDF 1.2) End marked-content sequence" },
28 { .op: "ET", .description: "End text object" },
29 { .op: "EX", .description: "(PDF 1.1) End compatibility section" },
30 { .op: "f", .description: "Fill path using nonzero winding number rule" },
31 { .op: "F", .description: "Fill path using nonzero winding number rule (obsolete)" },
32 { .op: "f*", .description: "Fill path using even-odd rule" },
33 { .op: "G", .description: "Set gray level for stroking operations" },
34 { .op: "g", .description: "Set gray level for nonstroking operations" },
35 { .op: "gs", .description: "(PDF 1.2) Set parameters from graphics state parameter dictionary" },
36 { .op: "h", .description: "Close subpath" },
37 { .op: "i", .description: "Set flatness tolerance" },
38 { .op: "ID", .description: "Begin inline image data" },
39 { .op: "j", .description: "Set line join style" },
40 { .op: "J", .description: "Set line cap style" },
41 { .op: "K", .description: "Set CMYK color for stroking operations" },
42 { .op: "k", .description: "Set CMYK color for nonstroking operations" },
43 { .op: "l", .description: "Append straight line segment to path" },
44 { .op: "m", .description: "Begin new subpath" },
45 { .op: "M", .description: "Set miter limit" },
46 { .op: "MP", .description: "(PDF 1.2) Define marked-content point" },
47 { .op: "n", .description: "End path without filling or stroking" },
48 { .op: "q", .description: "Save graphics state" },
49 { .op: "Q", .description: "Restore graphics state" },
50 { .op: "re", .description: "Append rectangle to path" },
51 { .op: "RG", .description: "Set RGB color for stroking operations" },
52 { .op: "rg", .description: "Set RGB color for nonstroking operations" },
53 { .op: "ri", .description: "Set color rendering intent" },
54 { .op: "s", .description: "Close and stroke path" },
55 { .op: "S", .description: "Stroke path" },
56 { .op: "SC", .description: "(PDF 1.1) Set color for stroking operations" },
57 { .op: "sc", .description: "(PDF 1.1) Set color for nonstroking operations" },
58 { .op: "SCN", .description: "(PDF 1.2) Set color for stroking operations (ICCBased and special color spaces)" },
59 { .op: "scn", .description: "(PDF 1.2) Set color for nonstroking operations (ICCBased and special color spaces)" },
60 { .op: "sh", .description: "(PDF 1.3) Paint area defined by shading pattern" },
61 { .op: "T*", .description: "Move to start of next text line" },
62 { .op: "Tc", .description: "Set character spacing" },
63 { .op: "Td", .description: "Move text position" },
64 { .op: "TD", .description: "Move text position and set leading" },
65 { .op: "Tf", .description: "Set text font and size" },
66 { .op: "Tj", .description: "Show text" },
67 { .op: "TJ", .description: "Show text, allowing individual glyph positioning" },
68 { .op: "TL", .description: "Set text leading" },
69 { .op: "Tm", .description: "Set text matrix and text line matrix" },
70 { .op: "Tr", .description: "Set text rendering mode" },
71 { .op: "Ts", .description: "Set text rise" },
72 { .op: "Tw", .description: "Set word spacing" },
73 { .op: "Tz", .description: "Set horizontal text scaling" },
74 { .op: "v", .description: "Append curved segment to path (initial point replicated)" },
75 { .op: "w", .description: "Set line width" },
76 { .op: "W", .description: "Set clipping path using nonzero winding number rule" },
77 { .op: "W*", .description: "Set clipping path using even-odd rule" },
78 { .op: "y", .description: "Append curved segment to path (final point replicated)" },
79 { .op: "'", .description: "Move to next line and show text" },
80 { .op: "\"", .description: "Set word and character spacing, move to next line, and show text" },
81};
82

source code of poppler/test/pdf-operators.c