Add path/ directory to corpus

TBR=thestig@chromium.org

Review URL: https://codereview.chromium.org/1027513002
diff --git a/fx/path/11.pdf b/fx/path/11.pdf
new file mode 100644
index 0000000..0a02f6b
--- /dev/null
+++ b/fx/path/11.pdf
Binary files differ
diff --git a/fx/path/11_expected.pdf.0.png b/fx/path/11_expected.pdf.0.png
new file mode 100644
index 0000000..dcb74c8
--- /dev/null
+++ b/fx/path/11_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/1751_1.pdf b/fx/path/1751_1.pdf
new file mode 100644
index 0000000..4722f7c
--- /dev/null
+++ b/fx/path/1751_1.pdf
Binary files differ
diff --git a/fx/path/1751_1_expected.pdf.0.png b/fx/path/1751_1_expected.pdf.0.png
new file mode 100644
index 0000000..df4fc0d
--- /dev/null
+++ b/fx/path/1751_1_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/bug_0_length_line.pdf b/fx/path/bug_0_length_line.pdf
new file mode 100644
index 0000000..4581a0c
--- /dev/null
+++ b/fx/path/bug_0_length_line.pdf
@@ -0,0 +1,134 @@
+%PDF-1.4	

+

+1 0 obj		

+<<

+	/Type /Pages

+	/Kids [2 0 R]		

+	/Count 1

+>>

+endobj

+

+2 0 obj		

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 531 666]		

+	/Contents [4 0 R]	

+	/Resources <<

+		/Font <</F1 5 0 R>>

+	>>			

+	

+>>

+endobj

+

+3 0 obj		

+<<

+	/Type /Catalog

+	/Pages 1 0 R	

+>>

+endobj

+

+4 0 obj		

+<<

+	/Length 0		 

+					

+>> stream

+%% µ±Ö»ÓÐÒ»¸öµãµÄpathʱ,Èç¹ûÊÇRound Cap»á»­Ò»¸öԲȦ.ÆäËûcap²»²úÉúÊä³ö

+%% reference P231

+10 w

+q

+

+1 0 0 1 50 550 cm 

+1 J 10 50 m h S 30 50 m 30 50 l h S	

+0 J 10 30 m h S 30 30 m 30 30 l h S 	

+2 J 10 10 m h S 30 10 m 30 10 l h S	

+BT

+/F1 15 Tf -30 70 Td (Zero Length Solid line) Tj

+/F1 10 Tf 75 -25 TD

+(Zero Length Line with Round Cap; 10 Line Width) Tj

+0 -20 TD (Butt Cap; no Output) Tj

+(Projecting square Cap; no Output)'

+ET

+Q

+%%

+%% dash ½âÎö:ÀýÈç[10 15 30] 0 d½âÎöΪ10 on 15 off 30 on 10 off 15 on 30 off....

+%% ÎÒÃÇfoxitÊÇ10 on 15 off 30 on 30 off ....

+q

+1 0 0 1 50 480 cm

+[10 15 30] 0 d 

+10 0 m 210 0 l S

+1 w 0 1 0 RG 

+10 0 m 210 0 l S

+BT

+/F1 15 Tf -30 50 Td (Dash) Tj

+/F1 10 Tf 40 -30 TD (10 on 15 off 30 on 10 off 15 on 30 off....)Tj

+0 20 Td ([10 15 30] 0 d. Butt Cap)Tj

+ET

+Q

+%% 0 off ÔÚadobe²»½âÎö; 0 onÓнâÎö

+%% ÎÒÃÇfoxit²»Í¬.¿´¿´°É

+q

+1 0 0 1 20 360 cm

+[10 0] 0 d 		%% adobeÏ൱ÓÚ[] 0 d; foxitÏ൱ÓÚ[10] 0 d

+10 60 m 210 60 l S

+0 J

+[0 10] 0 d		%% 0 on 10 off...

+10 40 m 210 40 l S

+1 J

+[0 10] 0 d		%% 0 on 10 off...

+10 20 m 210 20 l S

+2 J

+[0 20] 0 d		%% 0 on 20 off.....

+10 0 m 210 0 l S

+BT

+/F1 15 Tf 0 80 Td (0 Off 0 On) Tj

+/F1 10 Tf 230 -20 TD ([10 0] 0 d 10 on 0 off... -> [10] 0 d) Tj

+(Butt Cap: [0 10] 0 d; 0 on 10 off...) '

+(Round Cap: [0 10] 0 d; 0 on 10 off...)'

+(Projecting square Cap: [0 20] 0 d; 0 on 20 off...)'

+ET

+Q

+

+%% Dash Line Cap

+q

+1 0 0 1 20 260 cm

+[20] 0 d 10 40 m 210 40 l S 

+1 J [20] 0 d 10 20 m 210 20 l S

+2 J [20] 0 d 10 0 m 210 0 l S

+1 w 0 1 0 RG

+0 J [20] 0 d 10 40 m 210 40 l S 

+1 J [20] 0 d 10 20 m 210 20 l S

+2 J [20] 0 d 10 0 m 210 0 l S

+BT

+/F1 15 Tf 0 60 Td (Dash Line Cap) Tj

+/F1 10 Tf 230 -20 TD (Butt Cap: [20] 0 d; 20 on 20 off...) Tj

+(Round Cap: [20] 0 d; 20 on 20 off...)'

+(Projecting square Cap: [20] 0 d; 20 on 20 off...)'

+ET

+Q

+

+endstream

+endobj

+

+5 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+xref	

+		

+

+trailer	

+<<

+	/Size 0		

+	/Root 3 0 R	

+>>

+

+startxref

+0		

+

+%%EOF	

+ 
\ No newline at end of file
diff --git a/fx/path/bug_0_length_line_expected.pdf.0.png b/fx/path/bug_0_length_line_expected.pdf.0.png
new file mode 100644
index 0000000..7ef7f61
--- /dev/null
+++ b/fx/path/bug_0_length_line_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/bug_0_width_line.pdf b/fx/path/bug_0_width_line.pdf
new file mode 100644
index 0000000..4346b0a
--- /dev/null
+++ b/fx/path/bug_0_width_line.pdf
@@ -0,0 +1,77 @@
+%PDF-1.4	

+

+1 0 obj		

+<<

+	/Type /Pages

+	/Kids [2 0 R]		

+	/Count 1

+>>

+endobj

+

+2 0 obj		

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 531 666]		

+	/Contents [4 0 R]	

+	/Resources <<

+		/Font <</F1 5 0 R>>

+	>>			

+	

+>>

+endobj

+

+3 0 obj		

+<<

+	/Type /Catalog

+	/Pages 1 0 R	

+>>

+endobj

+

+4 0 obj		

+<<

+	/Length 0		 

+					

+>> stream

+%%µ±Ö»ÓÐÒ»¸öµãµÄpathʱ,Èç¹ûÊÇRound Cap»á»­Ò»¸öԲȦ.ÆäËûcap²»²úÉúÊä³ö

+%% reference P231

+q

+1 0 0 1 0 600 cm 

+10 w

+1 J

+100 0 m h S			

+BT

+/F1 10 Tf 

+80 20 TD

+(Zero Length Line with Round Cap; 10 Line Width) Tj

+ET

+Q

+%%

+

+

+

+endstream

+endobj

+

+5 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+xref	

+		

+

+trailer	

+<<

+	/Size 0		

+	/Root 3 0 R	

+>>

+

+startxref

+0		

+

+%%EOF	

+ 
\ No newline at end of file
diff --git a/fx/path/bug_0_width_line_expected.pdf.0.png b/fx/path/bug_0_width_line_expected.pdf.0.png
new file mode 100644
index 0000000..2645e51
--- /dev/null
+++ b/fx/path/bug_0_width_line_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/bug_white_space.pdf b/fx/path/bug_white_space.pdf
new file mode 100644
index 0000000..e8ae197
--- /dev/null
+++ b/fx/path/bug_white_space.pdf
@@ -0,0 +1,69 @@
+%PDF-1.7	

+

+1 0 obj		

+<<

+	/Type /Pages

+	/Kids [2 0 R]		

+	/Count 1

+>>

+endobj

+

+2 0 obj		

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 531 666]		

+	/Contents [4 0 R]	

+	/Resources <<

+		/Font <</F1 5 0 R>>

+	>>			

+	

+>>

+endobj

+

+3 0 obj		

+<<

+	/Type /Catalog

+	/Pages 1 0 R	

+>>

+endobj

+

+4 0 obj		

+<<

+	/Length 0		 

+					

+>> stream

+BT

+/F1 20 Tf 

+100 400 TD 

+(this is\tone line) Tj

+ET

+

+

+

+

+endstream

+endobj

+

+5 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+xref	

+		

+

+trailer	

+<<

+	/Size 0		

+	/Root 3 0 R	

+>>

+

+startxref

+0		

+

+%%EOF	

+ 
\ No newline at end of file
diff --git a/fx/path/bug_white_space_expected.pdf.0.png b/fx/path/bug_white_space_expected.pdf.0.png
new file mode 100644
index 0000000..f117432
--- /dev/null
+++ b/fx/path/bug_white_space_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/catering_1.pdf b/fx/path/catering_1.pdf
new file mode 100644
index 0000000..bd9543f
--- /dev/null
+++ b/fx/path/catering_1.pdf
Binary files differ
diff --git a/fx/path/catering_1_expected.pdf.0.png b/fx/path/catering_1_expected.pdf.0.png
new file mode 100644
index 0000000..62b459c
--- /dev/null
+++ b/fx/path/catering_1_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/clipping_text.pdf b/fx/path/clipping_text.pdf
new file mode 100644
index 0000000..0a999f6
--- /dev/null
+++ b/fx/path/clipping_text.pdf
@@ -0,0 +1,87 @@
+%PDF-1.4	

+

+1 0 obj		

+<<

+	/Type /Pages

+	/Kids [2 0 R]		

+	/Count 1

+>>

+endobj

+

+2 0 obj		

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 612 792]		

+	/Contents 4 0 R	

+	/Resources <<

+		/Font <<				

+			/F1 5 0 R

+		>>

+	>>			

+	

+>>

+endobj

+

+3 0 obj		

+<<

+	/Type /Catalog

+	/Pages 1 0 R	

+>>

+endobj

+

+4 0 obj		

+<<

+	/Length 0		 

+					

+>> stream

+q

+1 0 0 1 0 500 cm

+2 w

+BT

+/F1 100 Tf

+0 0 0 rg

+6 Tr

+0 100 Td

+(Hello World!) Tj

+ET

+

+1 0 0 rg

+0 100 100 100 re f

+0 1 0 rg

+100 100 100 100 re f

+0 0 1 rg

+200 100 100 100 re f

+1 1 0 rg

+300 100 100 100 re f

+0 1 1 rg

+400 100 100 100 re f

+1 0 1 rg

+500 100 100 100 re f

+Q

+

+endstream

+endobj

+

+5 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+xref	

+		

+

+trailer	

+<<

+	/Size 0		

+	/Root 3 0 R	

+>>

+

+startxref

+0		

+

+%%EOF	

+ 
\ No newline at end of file
diff --git a/fx/path/clipping_text_expected.pdf.0.png b/fx/path/clipping_text_expected.pdf.0.png
new file mode 100644
index 0000000..983dee3
--- /dev/null
+++ b/fx/path/clipping_text_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/edit_getdash.pdf b/fx/path/edit_getdash.pdf
new file mode 100644
index 0000000..20eb144
--- /dev/null
+++ b/fx/path/edit_getdash.pdf
Binary files differ
diff --git a/fx/path/edit_getdash_expected.pdf.0.png b/fx/path/edit_getdash_expected.pdf.0.png
new file mode 100644
index 0000000..b7ac359
--- /dev/null
+++ b/fx/path/edit_getdash_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/edit_getlinecapstyle.pdf b/fx/path/edit_getlinecapstyle.pdf
new file mode 100644
index 0000000..eba47a3
--- /dev/null
+++ b/fx/path/edit_getlinecapstyle.pdf
Binary files differ
diff --git a/fx/path/edit_getlinecapstyle_expected.pdf.0.png b/fx/path/edit_getlinecapstyle_expected.pdf.0.png
new file mode 100644
index 0000000..a500aa1
--- /dev/null
+++ b/fx/path/edit_getlinecapstyle_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/edit_getlinejoinstyle.pdf b/fx/path/edit_getlinejoinstyle.pdf
new file mode 100644
index 0000000..709a1b1
--- /dev/null
+++ b/fx/path/edit_getlinejoinstyle.pdf
Binary files differ
diff --git a/fx/path/edit_getlinejoinstyle_expected.pdf.0.png b/fx/path/edit_getlinejoinstyle_expected.pdf.0.png
new file mode 100644
index 0000000..8380d5d
--- /dev/null
+++ b/fx/path/edit_getlinejoinstyle_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/edit_getlinewidth.pdf b/fx/path/edit_getlinewidth.pdf
new file mode 100644
index 0000000..907c364
--- /dev/null
+++ b/fx/path/edit_getlinewidth.pdf
Binary files differ
diff --git a/fx/path/edit_getlinewidth_expected.pdf.0.png b/fx/path/edit_getlinewidth_expected.pdf.0.png
new file mode 100644
index 0000000..85c3dba
--- /dev/null
+++ b/fx/path/edit_getlinewidth_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/edit_getmeterlimiter.pdf b/fx/path/edit_getmeterlimiter.pdf
new file mode 100644
index 0000000..1e5492a
--- /dev/null
+++ b/fx/path/edit_getmeterlimiter.pdf
@@ -0,0 +1,134 @@
+%PDF-1.7

+

+%Document Catalog

+1 0 obj

+<< 

+	/Type /Catalog

+	/Pages  2 0 R

+>>

+endobj

+

+2 0 obj

+<<

+	/Type /Pages

+	/Kids [4 0 R]

+	/Count 1

+>>

+endobj

+

+

+%Info Object

+3 0 obj

+<<

+	/Title (Written Manully PDF File)

+	/Author (Alina-Xiaoqing_chen)

+	/Subject (Basic knowledge of manul PDF)

+	/Keywords (root catalog outlines pages)

+	/Creator (Written Manully)

+	/Producer (Written Manully)

+	/CreationDate (D:20120105112853+08'00')

+	/ModDate (D:20120105112853+08'00')

+>>

+endobj

+

+

+4 0 obj

+<<

+	/Type /Page

+	/Parent 2 0 R

+	/MediaBox [0 0 612 792]

+	/Resources <<

+			/Font <</F1 8 0 R>>

+		   >>

+	/Contents [9 0 R]

+>>

+endobj

+

+8 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+9 0 obj

+<<

+	/Length 0

+>>

+stream

+q

+0 1 0 RG

+10 w

+%0 j 

+%1 J 

+1.414 M

+%[3 1] 1 d

+50 300 m

+100 500 l

+150 300 l S

+Q

+

+q

+10.123456 M

+1 0 0 RG

+10 w

+1 0 0 1 140 0 cm

+50 300 m

+100 500 l

+150 300 l S

+Q

+

+q

+2.567809 M

+0 0 1 RG

+10 w

+1 0 0 1 280 0 cm

+50 300 m

+100 500 l

+150 300 l S

+Q

+

+q

+10.0 M

+1 0 1 RG

+10 w

+1 0 0 1 420 0 cm

+50 300 m

+100 500 l

+150 300 l S

+Q

+endstream

+endobj

+

+10 0 obj

+<<

+	/Type /ExtGState

+	/LW 5

+	/LJ 0

+	/LC 1

+	/ML 2

+	/D [[5 2] 2]

+	/CA 0.5

+	/ca 0.5

+>>

+endobj

+

+

+xref

+%´ý¹¹Ôì

+

+

+trailer

+<<

+	/Size 0         % 1 greater than the highest object number

+	/Root 1 0 R

+	/Info 3 0 R

+	/ID [<81b14aafa313db63dbd6f981e49f94f4>

+	     <81b14aafa313db63dbd6f981e4>

+	    ] 

+>>

+startxref

+%´ý¼ÆËã

+

+%%EOF
\ No newline at end of file
diff --git a/fx/path/edit_getmeterlimiter_expected.pdf.0.png b/fx/path/edit_getmeterlimiter_expected.pdf.0.png
new file mode 100644
index 0000000..f07656c
--- /dev/null
+++ b/fx/path/edit_getmeterlimiter_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/edit_transform.pdf b/fx/path/edit_transform.pdf
new file mode 100644
index 0000000..73a3826
--- /dev/null
+++ b/fx/path/edit_transform.pdf
@@ -0,0 +1,55 @@
+%PDF-1.7

+%¡³Å×

+1 0 obj

+<</Type/Catalog/Pages 2 0 R >>

+endobj

+2 0 obj

+<</Type/Pages/Kids[ 4 0 R ]/Count 1>>

+endobj

+3 0 obj

+<</Title(Written Manully PDF File)/Author(Alina-Xiaoqing_chen)/Subject(Basic knowledge of manul PDF)/Keywords(root catalog outlines pages)/Creator(Written Manully)/Producer(Written Manully)/CreationDate(D:20120105112853+08'00')/ModDate(D:20120105112853+08'00')>>

+endobj

+4 0 obj

+<</Type/Page/Parent 2 0 R /MediaBox[ 0 0 612 792]/Resources<</Font<</F1 8 0 R >>>>/Contents 9 0 R >>

+endobj

+8 0 obj

+<</Type/Font/Subtype/Type1/BaseFont/Helvetica>>

+endobj

+9 0 obj

+<</Length 285/Filter/FlateDecode>>stream

+xœ}‘ÁNÃ0†ï}
+7)xvš¸ÉŽÛ`$XnŒª†´Ã`oO’¦­6
+j;–ÏþóQ­BµØ¾Žíái»‚ö¿sû%¾ý|ý†õ.wëXÜ10Ax+‰ÝNÑ9‚¶Œ¬k0d‘ÄAØ<Ïö3R´Ÿ/P^Ñ)‰ÆŠJɊ¤q~þéîOÍÚZg¡4äü×1zkAXPG~ÏÕœK{x©Ž]XJlš¤&n¡Æ߉ÀMgr`‹7(5C-è¼÷Øô`Օ«R¯ºXØ2Éæ‚Hô	…%0BH~Ikþ›‹Ë\Ñbõ,û…–šÑ°/h‰Í@r=)׌&=æŸD”œ˜%iœ$ú×£$'_zªÇêcD•	

+endstream

+endobj

+10 0 obj

+<<

+	/Type /ExtGState

+	/LW 5

+	/LJ 0

+	/LC 1

+	/ML 2

+	/D [[5 2] 2]

+	/CA 0.5

+	/ca 0.5

+>>

+endobj

+

+

+xref

+0 1

+0000000000 65536 f

+1 4

+0000000017 00000 n

+0000000066 00000 n

+0000000122 00000 n

+0000000403 00000 n

+8 3

+0000000522 00000 n

+0000000588 00000 n

+0000000945 00000 n

+trailer

+<</Root 1 0 R /Info 3 0 R /ID[<81B14AAFA313DB63DBD6F981E49F94F4><81B14AAFA313DB63DBD6F981E4>]/Size 11>>

+startxref

+1061

+%%EOF

diff --git a/fx/path/edit_transform_expected.pdf.0.png b/fx/path/edit_transform_expected.pdf.0.png
new file mode 100644
index 0000000..af8a185
--- /dev/null
+++ b/fx/path/edit_transform_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/lines.pdf b/fx/path/lines.pdf
new file mode 100644
index 0000000..74425ba
--- /dev/null
+++ b/fx/path/lines.pdf
Binary files differ
diff --git a/fx/path/lines_expected.pdf.0.png b/fx/path/lines_expected.pdf.0.png
new file mode 100644
index 0000000..a4fee14
--- /dev/null
+++ b/fx/path/lines_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_1.pdf b/fx/path/path_1.pdf
new file mode 100644
index 0000000..f32b404
--- /dev/null
+++ b/fx/path/path_1.pdf
Binary files differ
diff --git a/fx/path/path_10_jd.pdf b/fx/path/path_10_jd.pdf
new file mode 100644
index 0000000..eef1068
--- /dev/null
+++ b/fx/path/path_10_jd.pdf
@@ -0,0 +1,105 @@
+%PDF-1.7	

+

+1 0 obj		

+<<

+	/Type /Pages

+	/Kids [2 0 R]		

+	/Count 1

+>>

+endobj

+

+2 0 obj		

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 531 666]		

+	/Contents [4 0 R]	

+	/Resources <<

+		/Font <</F1 5 0 R>>

+	>>			

+>>

+endobj

+

+3 0 obj		

+<<

+	/Type /Catalog

+	/Pages 1 0 R	

+>>

+endobj

+

+4 0 obj		

+<<

+	/Length 0		 

+					

+>> stream

+

+100 600 40 50 re  		%w=40,h=50,pos:(100,600)

+s

+

+q

+6 0 0 1 180 600 cm		%pos:(180,600) 

+0 0 40 50 re  			%w=40,h=50

+s

+Q

+

+q

+0.866 0.5 -0.5 0.866 100 500 cm   	%pos:(100,500) Matrix = [cos¦È,sin¦È,-sin¦È,cos¦È,0,0] ¦È = 30

+0 0 40 50 re  						%w=40,h=50

+s

+Q

+

+

+q

+1 0.5773 0 1 100 400 cm   			%pos:(100,400) Matrix = [1,tan¦Á,0,1,0,0] ¦Á = 30

+0 0 40 50 re  						%w=40,h=50

+s

+Q

+

+q

+1 0 0.5773 1 100 300 cm   			%pos:(100,300) Matrix = [1,0,tan¦Â,1,0,0] ¦Â = 30

+0 0 40 50 re  						%w=40,h=50

+s

+Q

+

+BT

+

+/Font1 10 Tf	

+50 270 TD				

+(Rect5: Skews the Y axis by an angle 30) Tj							

+0 120 TD				

+(Rect4: Skews the X axis by an angle 30 ) Tj	

+0 100 TD				

+(Rect3: Rotation = 30 Pos x=100, y=500) Tj

+10 90 TD				

+(    Pos x=100, y=600) Tj

+0 10 TD				

+(Rect1: w = 40, h = 50) Tj

+120 0 TD				

+(Rect2: w = 240, h = 50 Pos x=180, y=600) Tj

+

+ET

+endstream

+endobj

+

+5 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+xref	

+		

+

+trailer	

+<<

+	/Size 0		

+	/Root 3 0 R	

+>>

+

+startxref

+0		

+

+%%EOF	

+ 
\ No newline at end of file
diff --git a/fx/path/path_10_jd_expected.pdf.0.png b/fx/path/path_10_jd_expected.pdf.0.png
new file mode 100644
index 0000000..eb7bd46
--- /dev/null
+++ b/fx/path/path_10_jd_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_1_expected.pdf.0.png b/fx/path/path_1_expected.pdf.0.png
new file mode 100644
index 0000000..f1958c1
--- /dev/null
+++ b/fx/path/path_1_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_1_expected.pdf.1.png b/fx/path/path_1_expected.pdf.1.png
new file mode 100644
index 0000000..a4b5abd
--- /dev/null
+++ b/fx/path/path_1_expected.pdf.1.png
Binary files differ
diff --git a/fx/path/path_3.pdf b/fx/path/path_3.pdf
new file mode 100644
index 0000000..a5b3d23
--- /dev/null
+++ b/fx/path/path_3.pdf
Binary files differ
diff --git a/fx/path/path_3_expected.pdf.0.png b/fx/path/path_3_expected.pdf.0.png
new file mode 100644
index 0000000..968298b
--- /dev/null
+++ b/fx/path/path_3_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_3_expected.pdf.1.png b/fx/path/path_3_expected.pdf.1.png
new file mode 100644
index 0000000..7484af6
--- /dev/null
+++ b/fx/path/path_3_expected.pdf.1.png
Binary files differ
diff --git a/fx/path/path_4.pdf b/fx/path/path_4.pdf
new file mode 100644
index 0000000..ea8ee4d
--- /dev/null
+++ b/fx/path/path_4.pdf
Binary files differ
diff --git a/fx/path/path_4_expected.pdf.0.png b/fx/path/path_4_expected.pdf.0.png
new file mode 100644
index 0000000..a30b86b
--- /dev/null
+++ b/fx/path/path_4_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_4_expected.pdf.1.png b/fx/path/path_4_expected.pdf.1.png
new file mode 100644
index 0000000..11b314c
--- /dev/null
+++ b/fx/path/path_4_expected.pdf.1.png
Binary files differ
diff --git a/fx/path/path_5_pattern.pdf b/fx/path/path_5_pattern.pdf
new file mode 100644
index 0000000..485e297
--- /dev/null
+++ b/fx/path/path_5_pattern.pdf
@@ -0,0 +1,227 @@
+%PDF-1.7	

+

+1 0 obj		

+<<

+	/Type /Catalog

+	/Pages 2 0 R	

+>>

+endobj 

+

+2 0 obj		

+<<

+	/Type /Pages

+	/Kids [3 0 R]		

+	/Count 1

+>>

+endobj

+

+3 0 obj		

+<<

+	/Type /Page 

+	/Parent 2 0 R				

+	/MediaBox [0 0 720 720]		

+	/Contents [4 0 R]	

+	/Resources 5 0 R		

+	

+>>

+endobj

+

+

+4 0 obj

+<<

+   /Length 0

+>>

+stream

+   BT

+   /F1 25 Tf 180 630 TD (Lesson10-Graphic4.6 Pattern-homework)Tj

+   /F1 18 Tf -60 -100 TD (ColorPattern)Tj

+             280  0 TD (UnColorPattern)Tj

+   ET

+   q

+   1 0 0 1 100 300 cm

+   0.0 G

+   0.5 0.5 0.5 rg

+   25 175 175 -150 re f

+   /Pattern cs

+   /P1 scn

+   99.92 49.92 m 

+   99.92 77.52 77.52 99.92 49.92 99.92 c

+   22.32 99.92 -0.08 77.52 -0.08 49.92 c

+   -0.08 22.32 22.32 -0.08 49.92 -0.08 c

+   77.52 -0.08 99.92 22.32 99.92 49.92 c

+   B

+   224.96 49.92 m

+   224.96 77.52 202.56 99.92 174.96 99.92 c

+   147.36 99.92 124.96 77.52 124.96 49.92 c

+   124.96 22.32 147.36 -0.08 174.96 -0.08 c

+   202.56 -0.08 224.96 22.32 224.96 49.92 c

+   B

+   87.56 201.70 m

+   63.66 187.90 55.46 157.32 69.26 133.40 c 

+   83.06 109.50 113.66 101.30 137.56 115.10 c

+   161.46 128.90 169.66 159.50 155.86 183.40 c

+   142.06 207.30 111.46 215.50 87.56 201.70 c

+   B

+   50 50 m

+   175 50 l

+   112.5 158.253 l

+   b

+   Q

+   q

+   1 0 0 1 400 300 cm

+

+   0.0 G

+   1.0 1.0 0.0 rg

+   25 175 175 -150 re 

+   f

+   /Cs12 cs

+   0.7 0.10 0.30 /P2 scn

+   99.92 49.92 m

+   99.92 77.52 77.52 99.92 49.92 99.92 c

+   22.32 99.92 -0.08 77.52 -0.08 49.92 c

+   -0.08 22.32 22.32 -0.08 49.92 -0.08 c

+   77.52 -0.08 99.92 22.32 99.92 49.92 c

+   B

+   0.2 0.5 0.5 /P2 scn

+   

+   224.96 49.92 m

+   224.96 77.52 202.56 99.92 174.96 99.92 c

+   147.36 99.92 124.96 77.52 124.96 49.92 c

+   124.96 22.32 147.36 -0.08 174.96 -0.08 c

+   202.56 -0.08 224.96 22.32 224.96 49.92 c

+   B

+   0.3 0.7 0.0 /P2 scn

+   87.56 201.70 m

+   63.66 187.90 55.46 157.32 69.26 133.40 c 

+   83.06 109.50 113.66 101.30 137.56 115.10 c

+   161.46 128.90 169.66 159.50 155.86 183.40 c

+   142.06 207.30 111.46 215.50 87.56 201.70 c

+   B

+   0.8 0.0 1.0 /P2 scn

+   50 50 m

+   175 50 l

+   112.5 158.253 l

+   b

+   Q

+

+   

+endstream

+endobj

+

+5 0 obj

+<<  

+   /ColorSpace <</Cs12 10 0 R>>

+   /Pattern <</P1 6 0 R

+               

+               /P2 11 0 R>>

+>>

+endobj

+

+6 0 obj

+<<

+  /Type /Pattern                                       %Pattern definition

+  /PatternType  1                                      %Tiling pattern

+  /PaintType 1                                         %Color Tiling pattern

+  /TilingType 2                                        

+  /BBox [0 0 100 100]                                  %Pattern µÄµ¥Ôª±ß½ç

+  /XStep 100                                           %Pattern µ¥ÔªµÄˮƽ¼ä¸ô

+  /YStep 100                                           %pattern µ¥ÔªµÄ´¹Ö±¼ä¸ô

+  /Resources 7 0 R                                     %pattern ÄÚÈÝÁ÷µÄ×ÊÔ´×Öµä         

+  /Matrix [0.3464 0.2 -0.2 0.3464 0.0 0.0]

+  /Length 0

+

+>>

+stream

+   BT

+      

+      /F1 1 Tf

+      64 0 0 64 7.1771 2.4414 Tm

+      0 Tc

+      0 Tw

+      1.0 0.0 0.0 rg

+      (\001) Tj

+      0.7478 -0.007 TD

+      0.0 1.0 0.0 rg 

+      (\002) Tj

+      -0.7323 0.7813 TD

+      0.0 0.0 1.0 rg

+      (\003) Tj

+      0.6913 0.007 TD

+      0.0 0.0 0.0 rg

+      (\004) Tj

+   ET

+endstream

+endobj

+

+7 0 obj

+<<

+   /Font <</F1 8 0 R>>

+>>

+endobj

+

+8 0 obj

+<<

+  /Type /Font

+  /Subtype /Type1

+  /Encoding 9 0 R

+  /BaseFont /ZapfDingbats

+

+>>

+endobj

+

+9 0 obj

+<< 

+  /Type /Encoding

+  /Differences [1 /a109 /a110 /a111 /a112]

+>>

+endobj

+

+%........uncolor pattern..........

+10 0 obj

+   [/Pattern /DeviceRGB]

+endobj

+

+11 0 obj

+<<

+   /Type /Pattern

+   /PatternType 1

+   /PaintType 2

+   /TilingType 2

+   /BBox [0 0 100 100]

+   /XStep 100

+   /YStep 100  

+   /Resources 7 0 R                                     %pattern ÄÚÈÝÁ÷µÄ×ÊÔ´×Öµä         

+  /Matrix [0.4 0.0 0.0 0.4 0.0 0.0]

+  /Length 0

+

+>>

+stream

+   BT

+      

+      /F1 1 Tf

+      64 0 0 64 7.1771 2.4414 Tm

+      0 Tc

+      0 Tw

+      (\001) Tj

+      0.7478 -0.007 TD

+      (\002) Tj

+      -0.7323 0.7813 TD

+      (\003) Tj

+      0.6913 0.007 TD

+      (\004) Tj

+   ET

+endstream

+endobj

+

+  

+

+xref

+trailer

+<<

+   /Size 0

+   /Root 1 0 R

+>>

+startxref

+0

+

+%%EOF
\ No newline at end of file
diff --git a/fx/path/path_5_pattern_expected.pdf.0.png b/fx/path/path_5_pattern_expected.pdf.0.png
new file mode 100644
index 0000000..ecbc1f6
--- /dev/null
+++ b/fx/path/path_5_pattern_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_6_graphics4.5.5.pdf b/fx/path/path_6_graphics4.5.5.pdf
new file mode 100644
index 0000000..ea66117
--- /dev/null
+++ b/fx/path/path_6_graphics4.5.5.pdf
@@ -0,0 +1,255 @@
+%PDF-1.7	

+

+

+1 0 obj		

+<<

+	/Type /Pages

+	/Kids [2 0 R]		

+	/Count 1

+>>

+endobj

+

+2 0 obj		

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 720 720]		

+	/Contents [4 0 R]	

+	/Resources <<

+		/Font <</F1 5 0 R>>

+		/ColorSpace<<

+                             /CS1 6 0 R /CS2 7 0 R /CS3 8 0 R /CS4 9 0 R 

+		             /CS5 11 0 R /CS6 12 0 R /CS7 14 0 R 

+                           >>

+	           >>			

+	

+>>

+endobj

+3 0 obj		

+<<

+	/Type /Catalog

+	/Pages 1 0 R	

+>>

+

+endobj

+

+4 0 obj		

+<<

+	/Length 0		 

+					

+>> stream

+BT /F1 25 Tf 180 630 TD (Lesson9-Graphic4.5.5-homework)Tj

+/F1 15 Tf -130 -55 TD (DeviceRGB)Tj

+140 0 TD (DeviceCMYK)Tj

+140 0 TD (DeviceGray)Tj

+

+-280 -100 TD (CalGray)Tj

+140 0 TD (CalRGB)Tj

+140 0 TD (Lab)Tj

+140 0 TD (ICCBased)Tj

+

+-420 -100 TD (Indexed)Tj

+140 0 TD (Separation)Tj

+140 0 TD (DeviceN)Tj

+

+-280 -100 TD (K,k)Tj

+140 0 TD (RG,rg)Tj

+140 0 TD (G,g)Tj

+140 0 TD (CS,cs,SCN,scn)Tj

+140 0 TD (CS,cs,SC,sc)Tj

+ET

+

+q 1 0 0 1 0 500 cm

+/DeviceRGB cs 1 0 0.5 sc 50 0 70 60 re f

+

+/DeviceCMYK cs 1 0 0 0 sc 190 0 70 60 re f

+

+/DeviceGray cs 0.8 sc 330 0 70 60 re f

+Q

+

+q 1 0 0 1 0 400 cm

+/CS1 cs 0.5 sc 50 0 70 60 re f

+/CS2 cs 0 1 0 sc 190 0 70 60 re f

+/CS3 cs 20 30 50 sc 330 0 70 60 re f

+/CS4 cs 0.7 0.7 0.3 sc 470 0 70 60 re f

+Q

+

+q 1 0 0 1 0 300 cm

+/CS5 cs 2 sc 50 0 70 60 re f

+/CS6 cs 1 scn 190 0 70 60 re f

+/CS7 cs 1 0 scn 330 0 70 60 re f

+Q

+% K,k

+q 1 0 0 1 0 200 cm

+0 1 0 0 K

+1 0 0 0 k

+50 0 70 60 re b

+Q

+%RG,rg

+q 1 0 0 1 0 200 cm

+0 1 0 RG

+0 0 1 rg

+190 0 70 60 re b

+Q

+% G,g

+q 1 0 0 1 0 200 cm

+0.1 G

+0.8 g

+330 0 70 60 re b

+Q

+% cs,CS,SCN,scn

+ 

+q 1 0 0 1 0 200 cm

+/DeviceRGB cs

+/DeviceRGB CS

+1 1 0 scn

+1 0 0 SCN

+470 0 70 60 re B

+Q

+

+% cs,CS, sc,SC

+q 1 0 0 1 0 200 cm

+/DeviceCMYK cs

+/DeviceCMYK CS

+1 0.5 0.5 0 sc

+0 1 1 0 SC

+610 0 70 60 re B

+Q

+

+endstream

+endobj

+

+5 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+

+6 0 obj

+[ /CalGray		%CalgrayÑÕÉ«¿Õ¼ä

+<< /WhitePoint [ 0.9505 1.0000 1.0890 ] >>

+]

+endobj

+

+7 0 obj

+[/CalRGB		%CalRGBÑÕÉ«¿Õ¼ä

+<<			%CalRGBÑÕÉ«¿Õ¼ä´Êµä

+/WhitePoint [ 0.9505 1.0000 1.0890 ]

+/Gamma [ 1.8000 1.8000 1.8000]

+/Matrix	[ 0.4497 0.2446 0.0252 0.3163 0.6720 0.1412 0.1845 0.0833 0.9227 ]	

+>>]

+endobj

+

+8 0 obj

+[ /Lab		%CIEL*a*b*ÑÕÉ«¿Õ¼ä

+<< /WhitePoint [0.9505 1.0000 1.0890 ]

+/Range [ -128 127 -128 127 ]

+>>

+]

+endobj

+

+9 0 obj		%Color space

+[/ICCBased 10 0 R ]

+endobj

+

+10 0 obj		%ICC profile stream

+<< /N 3

+%/Alternate /DeviceRGB

+/Length 0

+/Filter /ASCIIHexDecode

+>>

+stream

+00 00 02 0C 61 70 70 6C 02 00 00 00 6D 6E 74 72

+52 47 42 20 58 59 5A 20 07 CB 00 02 00 16 00 0E

+00 22 00 2C 61 63 73 70 41 50 50 4C 00 00 00 00

+61 70 70 6C 00 00 04 01 00 00 00 00 00 00 00 02

+00 00 00 00 00 00 F6 D4 00 01 00 00 00 00 D3 2B

+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

+00 00 00 09 64 65 73 63 00 00 00 F0 00 00 00 71

+72 58 59 5A 00 00 01 64 00 00 00 14 67 58 59 5A

+00 00 01 78 00 00 00 14 62 58 59 5A 00 00 01 8C

+00 00 00 14 72 54 52 43 00 00 01 A0 00 00 00 0E

+67 54 52 43 00 00 01 B0 00 00 00 0E 62 54 52 43

+00 00 01 C0 00 00 00 0E 77 74 70 74 00 00 01 D0

+00 00 00 14 63 70 72 74 00 00 01 E4 00 00 00 27

+64 65 73 63 00 00 00 00 00 00 00 17 41 70 70 6C

+65 20 31 33 22 20 52 47 42 20 53 74 61 6E 64 61

+72 64 00 00 00 00 00 00 00 00 00 00 00 17 41 70

+70 6C 65 20 31 33 22 20 52 47 42 20 53 74 61 6E

+64 61 72 64 00 00 00 00 00 00 00 00 00 00 00 00

+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

+00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

+00 58 59 5A 58 59 5A 20 00 00 00 00 00 00 63 0A

+00 00 35 0F 00 00 03 30 58 59 5A 20 00 00 00 00

+00 00 53 3D 00 00 AE 37 00 00 15 76 58 59 5A 20

+00 00 00 00 00 00 40 89 00 00 1C AF 00 00 BA 82

+63 75 72 76 00 00 00 00 00 00 00 01 01 CC 63 75

+63 75 72 76 00 00 00 00 00 00 00 01 01 CC 63 75

+63 75 72 76 00 00 00 00 00 00 00 01 01 CC 58 59

+58 59 5A 20 00 00 00 00 00 00 F3 1B 00 01 00 00

+00 01 67 E7 74 65 78 74 00 00 00 00 20 43 6F 70

+79 72 69 67 68 74 20 41 70 70 6C 65 20 43 6F 6D

+70 75 74 65 72 73 20 31 39 39 34 00 >

+endstream

+endobj

+

+11 0 obj

+[/Indexed /DeviceRGB 4 <000000 010101 445522 FF0000 558866>]

+endobj

+

+12 0 obj			% Color space

+[ /Separation		%ÑÕÉ«¿Õ¼ä×åÃû

+/LogoGreen		%×ÅÉ«¼ÁµÄÃû×Ö

+/DeviceCMYK		%±êʶÁË¿ÉÑ¡ÑÕÉ«¿Õ¼ä

+13 0 R			%É«²Êת»»º¯Êý

+]

+endobj

+

+13 0 obj			%transformation function

+<< /FunctionType 4

+/Domain [0.0 1.0]

+/Range [ 0.0  1.0  0.0  1.0  0.0  1.0  0.0  1.0 ]

+/Length 62

+>>stream

+{ dup 0.84 mul

+exch 0.00 exch dup 0.44 mul

+exch 0.21 mul

+}

+endstream

+endobj

+

+14 0 obj

+[/DeviceN 

+	[/Cyan /Black] 

+	/DeviceCMYK 

+	15 0 R	

+]	

+endobj

+

+15 0 obj		

+<< 

+/FunctionType 4

+/Domain [0.0 1.0 0.0 1.0]

+/Range [0.0 1.0 0.0 1.0 0.0 1.0 0.0 1.0 ]

+/Length 0

+>>stream

+{0 0 3 -1 roll} 

+endstream

+endobj

+

+

+xref

+trailer

+<<

+	/Size 0

+	/Root 3 0 R

+>>

+startxref

+0

+

+%%EOF
\ No newline at end of file
diff --git a/fx/path/path_6_graphics4.5.5_expected.pdf.0.png b/fx/path/path_6_graphics4.5.5_expected.pdf.0.png
new file mode 100644
index 0000000..5dc50f5
--- /dev/null
+++ b/fx/path/path_6_graphics4.5.5_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_7.pdf b/fx/path/path_7.pdf
new file mode 100644
index 0000000..1f23021
--- /dev/null
+++ b/fx/path/path_7.pdf
@@ -0,0 +1,474 @@
+%PDF-1.5	

+

+1 0 obj		

+<<

+	/Type /Pages

+	/Kids [2 0 R 8 0 R]		

+	/Count 2

+>>

+endobj

+

+2 0 obj		

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 612 792]		

+	/Contents 4 0 R		

+	/Resources <<

+		/Font <</F1 5 0 R>>

+		/ExtGState<</G1 6 0 R>>

+	>>			

+	

+>>

+endobj

+

+8 0 obj

+<<

+	/Type /Page 

+	/Parent 1 0 R				

+	/MediaBox [0 0 612 792]		

+	/Contents 9 0 R		

+	/Resources <<

+		/Font <</F1 5 0 R>>

+		/ExtGState<</G2 10 0 R /G3 11 0 R>>

+	>>	

+>>

+endobj

+

+3 0 obj		

+<<

+	/Type /Catalog

+	/Pages 1 0 R	

+>>

+endobj

+

+4 0 obj		

+<<

+	/Length 0		 

+					

+>> stream

+%%%%%%%%%line width

+

+

+q

+1 0 0 1 0 620 cm

+10 w				% set line width 10

+%1 0 0 RG

+%1 0 0 rg

+BT

+/F1 80 Tf

+0 1 0 RG 0 1 0 rg

+300 0 Td 2 Tr (Hello) Tj 	% fill, and then stroke	text	

+0 -80 Td 0 Tr (Hello)Tj		

+ET

+

+0 0 0 RG

+1 w 10 0 40 40 re S

+

+0 w 70 0 40 40 re S

+1 w 

+q

+4 0 0 1 10 -60 cm

+0 0 40 40 re S

+Q

+

+BT

+/F1 20 Tf

+10 60 Td (Line Width)Tj

+/F1 15 Tf 

+0 -15 Td (1 w) Tj

+60 0 Td (0 w) Tj

+-60 -60 Td (1 w 4 1 Scale) Tj

+0 0 0 rg				% change fill color

+200 60 Td (fill and stroke) Tj

+40 -15 Td (10 w) Tj

+10 -80 Td (fill) Tj

+/F1 50 Tf

+-130 150 Td (Graphic State)Tj

+ET

+Q	

+

+%%%%%%%%%%%%%%%line cap & line join

+% J j

+0.5 0.5 0.5 RG

+0.5 0.6 0.5 rg

+q

+15 w

+1 0 0 1 0 420 cm

+0 j 1 J

+50 0 m 80 50 l 110 0 l

+S

+

+1 j 0 J

+180 0 m 210 50 l 240 0 l S

+

+2 j 2 J

+310 0 m 340 50 l 370 0 l S

+

+1 w 2 j 2 J

+0 1 0 RG

+310 0 m 340 50 l 370 0 l S

+180 0 m 210 50 l 240 0 l S

+50 0 m 80 50 l 110 0 l S

+

+BT

+/F1 20 Tf

+5 90 Td

+(LineJoin: j && LineCap: J)Tj

+/F1 15 Tf

+30 -30 Td (0 j 1 J) Tj

+130 0 Td (1 j 0 J)Tj

+130 0 Td (2 j 2 J) Tj

+ET

+Q

+

+%/G1 gs

+%%%%%%%%%%%%%%%%MiterLimit

+q

+1 0 0 1 0 250 cm

+10 w

+100 M 30 0 m 35 50 l 40 0 l S

+10 M 70 0 m 75 50 l 80 0 l S

+2 j 110 0 m 115 50 l 120 0 l S 0 j

+

+170 0 m 190 50 l 210 0 l S

+2 M 230 0 m 250 50 l 270 0 l S 

+2 j 290 0 m 310 50 l 330 0 l S 0 j

+

+380 0 m 410 50 l 440 0 l S

+1.414 M 460 0 m 490 50 l 520 0 l S

+2 j 540 0 m 570 50 l 600 0 l S 0 j

+

+

+q

+1 w

+0 1 0 RG

+30 0 m 35 50 l 40 0 l S

+70 0 m 75 50 l 80 0 l S

+110 0 m 115 50 l 120 0 l S

+170 0 m 190 50 l 210 0 l S

+230 0 m 250 50 l 270 0 l S

+290 0 m 310 50 l 330 0 l S

+380 0 m 410 50 l 440 0 l S

+460 0 m 490 50 l 520 0 l S

+540 0 m 570 50 l 600 0 l S

+Q

+

+BT

+/F1 20 Tf

+5 130 Td

+(MiterLimit: M. 10M~11.5 2M~60 1.414M~90(degree)) Tj 

+0 -25 Td (100 M) Tj

+40 -40 Td (10 M) Tj

+55 0 Td (2 j) Tj

+60 10 Td (10 M) Tj

+70 0 Td (2 M) Tj

+70 0 Td (2 j) Tj

+90 0 Td (2 M) Tj

+60 0 Td (1.414 M)Tj

+105 0 Td (2 j) Tj

+ET

+

+Q

+%%%%%%%%%%%%%%Dash Pattern

+q

+10 w

+[] 0 d 5 190 m 150 190 l S

+2 J [20] 24 d 5 170 m 150 170 l S

+0 J [20] 24 d 5 150 m 150 150 l S

+1 J [20] 24 d 5 130 m 150 130 l S

+0 J 1 j [2] 0 d 350 150 50 50 re S

+[2] 0 d 420 150 40 40 re S

+50 w 

+[1 2 5 7 8 1 4 5 12 4 5] 0 d 5 50 m  200 50 l S

+

+q

+1 w 0 1 0 RG

+[] 0 d 5 190 m 150 190 l S

+[3] 0 d 5 170 m 150 170 l S

+[2] 1 d 5 150 m 150 150 l S

+[3 5] 6 d 5 130 m 150 130 l S

+[2] 0 d

+350 150 50 50 re S

+420 150 40 40 re S

+Q

+BT

+/F1 20 Tf

+5 210 Td (Line Dash Pattern: d. Solid) Tj

+/F1 15 Tf

+170 -20 Td (0 J [] 0 d)Tj

+0 -20 Td (2 J [20] 24 d [3] 0 d) Tj

+0 -20 Td (0 J [20] 24 d [2] 1 d) Tj

+0 -20 Td (1 J [20] 24 d [3 5] 6 d) Tj

+150 80 Td([2] 0 d 50*50) Tj

+100 0 Td (40*40) Tj

+-200 -150 Td ([1 2 5 7 8 1 4 5 12 4 5] 0 d) Tj

+ET

+Q

+

+endstream

+endobj

+

+9 0 obj

+<<

+	/Length 0

+>>

+stream

+q

+1 0 0 1 0 650 cm

+5 0 m 25 40 l 45 0 l S

+70 0 m 90 40 l 110 0 l s

+135 0 m 155 40 l 175 0 l h S

+200 0 m 220 40 l 240 0 l h 200 40 l S

+[2] 1 d 270 0 m 290 40 310 40 330 0 c S [] 0 d

+360 0 m 400 40 420 0 v S

+450 0 m 470 40 510 0 y S

+		% show text

+BT

+/F1 20 Tf

+5 105 Td (Path Construction: m re; l c v y h ) Tj

+0 -25 Td (Path Painting: S s f f* B B* b b* n) Tj

+/F1 15 Tf 

+10 -35 Td (S) Tj

+65 0 Td (s) Tj

+60 0 Td (h S) Tj

+55 0 Td (h l S)Tj

+100 0 Td (c)Tj

+60 0 Td (v p1=P0)Tj

+90 0 Td (y P2=P3)Tj

+

+ET

+Q

+		%%%%%%fill

+q

+1 0 0 1 0 500 cm

+0.5 0.5 0.5 rg

+17 0 m 50 95 l 80 0 l 0 60 l 96 60 l h f			%% draw pentagon

+q

+1 0 0 RG 17 0 m 50 95 l S		%% draw first line

+0 1 0 RG 50 95 m 80 0 l S		%% draw second line

+0 0 1 RG 80 0 m 0 60 l S		%% draw third line

+1 1 0 RG 0 60 m 96 60 l S		%% draw fourth line

+1 0 1 RG 96 60 m 17 0 l S		%% draw fifth line

+Q

+q 

+1 0 0 1 100 0 cm 17 0 m 50 95 l 80 0 l 0 60 l 96 60 l h f* 

+q

+1 0 0 RG 17 0 m 50 95 l S		%% draw first line

+0 1 0 RG 50 95 m 80 0 l S		%% draw second line

+0 0 1 RG 80 0 m 0 60 l S		%% draw third line

+1 1 0 RG 0 60 m 96 60 l S		%% draw fourth line

+1 0 1 RG 96 60 m 17 0 l S		%% draw fifth line

+Q

+

+1 0 0 1 150 50 cm						%% draw doughnut

+0 40 m 22.08 40 40 22.08 40 0 c

+40 -22.08 22.08 -40 0 -40 c

+-22.08 -40 -40 -22.08 -40 0 c

+-40 22.08 -22.08 40 0 40 c h

+

+0 20 m 11.04 20 20 11.04 20 0 c

+20 -11.04 11.04 -20 0 -20 c

+-11.04 -20 -20 -11.04 -20 0 c

+-20 11.04 -11.04 20 0 20 c h B*

+q

+1 0 0 RG 0 40 m 22.08 40 40 22.08 40 0 c S		%% draw first line

+0 1 0 RG 40 0 m 40 -22.08 22.08 -40 0 -40 c S		%% draw second line

+0 0 1 RG 0 -40 m -22.08 -40 -40 -22.08 -40 0 c S	%% draw third line

+1 1 0 RG -40 0 m -40 22.08 -22.08 40 0 40 c S		%% draw fourth line

+

+1 0 0 RG 0 20 m 11.04 20 20 11.04 20 0 c S		%% draw first line

+0 1 0 RG 20 0 m 20 -11.04 11.04 -20 0 -20 c S		%% draw second line

+0 0 1 RG 0 -20 m -11.04 -20 -20 -11.04 -20 0 c S	%% draw third line

+1 1 0 RG -20 0 m -20 11.04 -11.04 20 0 20 c S		%% draw fourth line

+Q

+

+1 0 0 1 100 0 cm

+0 40 m 22.08 40 40 22.08 40 0 c

+40 -22.08 22.08 -40 0 -40 c

+-22.08 -40 -40 -22.08 -40 0 c

+-40 22.08 -22.08 40 0 40 c h

+

+0 20 m 11.04 20 20 11.04 20 0 c

+20 -11.04 11.04 -20 0 -20 c

+-11.04 -20 -20 -11.04 -20 0 c

+-20 11.04 -11.04 20 0 20 c h B

+q

+1 0 0 RG 0 40 m 22.08 40 40 22.08 40 0 c S		%% draw first line

+0 1 0 RG 40 0 m 40 -22.08 22.08 -40 0 -40 c S		%% draw second line

+0 0 1 RG 0 -40 m -22.08 -40 -40 -22.08 -40 0 c S	%% draw third line

+1 1 0 RG -40 0 m -40 22.08 -22.08 40 0 40 c S		%% draw fourth line

+

+1 0 0 RG 0 20 m 11.04 20 20 11.04 20 0 c S		%% draw first line

+0 1 0 RG 20 0 m 20 -11.04 11.04 -20 0 -20 c S		%% draw second line

+0 0 1 RG 0 -20 m -11.04 -20 -20 -11.04 -20 0 c S	%% draw third line

+1 1 0 RG -20 0 m -20 11.04 -11.04 20 0 20 c S		%% draw fourth line

+Q

+

+0.5 0.6 0.5 rg

+1 0 0 1 100 0 cm

+0 20 m -11.04 20 -20 11.04 -20 0 c

+-20 -11.04 -11.04 -20 0 -20 c

+11.04 -20 20 -11.04 20 0 c

+20 11.04 11.04 20 0 20 c h 

+

+0 40 m 22.08 40 40 22.08 40 0 c

+40 -22.08 22.08 -40 0 -40 c

+-22.08 -40 -40 -22.08 -40 0 c

+-40 22.08 -22.08 40 0 40 c h B

+q

+1 0 0 RG 0 40 m 22.08 40 40 22.08 40 0 c S		%% draw first line

+0 1 0 RG 40 0 m 40 -22.08 22.08 -40 0 -40 c S		%% draw second line

+0 0 1 RG 0 -40 m -22.08 -40 -40 -22.08 -40 0 c S	%% draw third line

+1 1 0 RG -40 0 m -40 22.08 -22.08 40 0 40 c S		%% draw fourth line

+

+1 0 0 RG 0 20 m -11.04 20 -20 11.04 -20 0 c S		%% draw first line

+0 1 0 RG -20 0 m -20 -11.04 -11.04 -20 0 -20 c S	%% draw second line

+0 0 1 RG 0 -20 m 11.04 -20 20 -11.04 20 0 c S		%% draw third line

+1 1 0 RG 20 0 m 20 11.04 11.04 20 0 20 c S		%% draw fourth line

+Q

+

+Q

+

+BT

+/F1 15 Tf

+20 100 Td (None-Zero)Tj

+100 0 Td (Even-Odd)Tj

+100 0 Td (Even-Odd)Tj

+100 0 Td (None-Zero)Tj

+100 0 Td (None-Zero)Tj

+ET

+Q %% path construction

+

+%% clipping 

+q

+1 0 0 1 0 445 cm

+BT

+/F1 15 Tf

+140 5 Td (Fill Path, set Clipping and show text inside the Clipping) Tj

+ET

+0 1 0 rg

+5 0 120 20 re W f

+.5 .5 .5 rg

+BT

+/F1 20 Tf

+5 5 Td (Clipping Path) Tj

+ET

+Q

+

+q

+1 0 0 1 0 410 cm

+BT

+/F1 15 Tf

+140 5 Td (Stroke Path, set Clipping and show text ) Tj

+ET

+1 1 0 RG

+4 w

+5 0 100 20 re 

+W S

+.5 .5 .5 rg

+BT

+/F1 20 Tf

+5 5 Td (Clipping Path) Tj

+ET

+Q

+

+q

+1 0 0 1 0 350 cm

+BT

+/F1 15 Tf

+130 15 Td (Fill and Stroke Path, set Clipping and fill path object) Tj

+ET

+/G3 gs	

+%/G2 gs			

+0 1 0 rg 1 1 0 RG

+10 10 50 20 re  W B

+.5 .5 .5 rg 0 0 0 RG

+10 10 40 20 re f

+Q

+

+q

+1 0 0 1 0 300 cm

+BT

+/F1 15 Tf

+130 20 Td (No-op for Path, set Clipping and fill path object) Tj

+ET				

+0 1 0 rg 1 1 0 RG

+10 10 50 20 re W n

+.5 .5 .5 rg 0 0 0 RG

+10 10 40 20 re f

+Q

+

+q

+2 0 0 1 200 300 cm

+10 0 m 60 0 l 60 50 l 10 50 l h

+ W n

+0 1 0 rg

+%10 0 60 60 re f

+Q

+

+

+%%end clipping path

+endstream

+endobj

+5 0 obj

+<<

+	/Type /Font

+	/Subtype /Type1

+	/BaseFont /Helvetica

+>>

+endobj

+

+6 0 obj

+<<

+/Type /ExtGState

+/SA true

+/LW 10

+/TR 7 0 R

+>>

+endobj

+

+10 0 obj

+<<

+/Type /ExtGState

+/LW 10

+>>

+endobj

+11 0 obj

+<<

+/Type /ExtGState

+/LW 5

+>>

+

+7 0 obj

+<<

+/FunctionType 0

+/Domain [0.0 1.0]

+/Range [0.0 1.0]

+/Size 2

+/BitPerSample 8

+/Length 7

+/Filter /ASCIIHexDecode

+>>

+stream

+01 00 >

+endstream

+endobj

+

+

+

+

+xref	

+		

+

+trailer	

+<<

+	/Size 0		

+	/Root 3 0 R	

+>>

+

+startxref

+0		

+

+%%EOF	

+ 
\ No newline at end of file
diff --git a/fx/path/path_7_expected.pdf.0.png b/fx/path/path_7_expected.pdf.0.png
new file mode 100644
index 0000000..9366f70
--- /dev/null
+++ b/fx/path/path_7_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/path_7_expected.pdf.1.png b/fx/path/path_7_expected.pdf.1.png
new file mode 100644
index 0000000..225fac5
--- /dev/null
+++ b/fx/path/path_7_expected.pdf.1.png
Binary files differ
diff --git a/fx/path/path_9.pdf b/fx/path/path_9.pdf
new file mode 100644
index 0000000..6d1428e
--- /dev/null
+++ b/fx/path/path_9.pdf
@@ -0,0 +1,173 @@
+%PDF-1.7	
+
+1 0 obj		
+<<
+	/Type /Pages
+	/Kids [2 0 R]		
+	/Count 1
+>>
+endobj
+
+2 0 obj		
+<<
+	/Type /Page 
+	/Parent 1 0 R				
+	/MediaBox [0 0 531 666]		
+	/Contents [4 0 R]	
+	/Resources <<
+		/Font <</F1 5 0 R>>
+		/ExtGState<</G1 6 0 R>>
+	>>			
+>>
+endobj
+
+3 0 obj		
+<<
+	/Type /Catalog
+	/Pages 1 0 R	
+>>
+endobj
+
+5 0 obj
+<<
+	/Type /Font
+	/Subtype /Type1
+	/BaseFont /Helvetica
+>>
+endobj
+
+6 0 obj				% Graphics State Parameter Dictionaries
+<<
+/Type /ExtGState	
+/LW 5				% Line Width = 5
+/LJ	0				% Line Join Style = Miter Join  
+					% Miter Join (0 j)  Round join (1 j) 
+/LC 1				% Line Cap Style = Round cap    
+					% Butt cap (0 J)  Round cap (1 J) Projecting square cap (2 J)
+/ML 2				% Miter Limit = 2
+/D [[10 15] 2]		% Line Dash Pattern: 10 units on, 15 units off, 2 units offset
+/CA 0.5				% Stroking alpha = 0.5
+/ca 0.5				% Nonstrking alpha = 0.5
+>>
+endobj
+
+4 0 obj		
+<<
+	/Length 0		 
+					
+>> stream
+
+%Homework1: line cap & line join
+q
+0.5 0.5 0.5 RG
+0.5 0.6 0.5 rg
+5 w				% Line Width = 5
+0 j				% Line Join Style = Miter Join  
+				% Miter Join (0 j)  Round join (1 j)
+1 J				% Line Cap Style = Round cap    
+				% Butt cap (0 J)  Round cap (1 J) Projecting square cap (2 J)
+2 M				% Miter Limit = 2
+[10 8] 1 d  	% Line Dash Pattern: 10 units on, 8 units off, 1 units offset
+50 590 m 
+70 640 l 
+90 590 l
+S
+BT
+/F1 10 Tf 
+20 570 Td 
+(Line Width = 5, Line Join = Miter Join, Line Cap = Round Cap, Miter Limit = 2) Tj				%% Tj: Show Text
+0 -10 Td
+(Line Dash Patten: 10 units on, 8 units off, 1 units offset) Tj				%% Tj: Show Text
+0 90 Td
+(Homework1: line cap & line join) Tj				%% Tj: Show Text
+ET
+Q
+
+%Homework2: Graphics State Parameter Dictionaries
+q
+/G1 gs
+0 1 0 RG
+1 0 0 rg
+20 300 200 200 re
+b
+BT
+/F1 10 Tf 
+20 510 Td
+(Graphics State Parameter Dictionaries:) Tj
+0 10 Td
+(Homework2:) Tj
+ET
+Q
+
+%Homework3: Text Clipping
+q
+
+BT
+/F1 10 Tf 
+250 510 Td
+(Homework3: Text Clipping) Tj
+ET
+
+1 0 0 1 250 465 cm 
+BT								%% BT:begin Text; ET: end Text
+/F1 50 Tf 						%% select font; set font;
+7 Tr			  				%% Text rendering modes 7; Add text to path for clipping
+0 0 Td 
+(Hello World!) Tj				%% Tj: Show Text
+ET
+
+1 0 0 rg
+0 0 50 50 re f
+
+0 1 0 rg
+50 0 50 50 re f
+
+0 0 1 rg
+100 0 50 50 re f
+
+1 1 0 rg
+150 0 50 50 re f
+
+0 1 1 rg
+200 0 50 50 re f
+
+1 0 1 rg
+250 0 50 50 re f
+Q
+
+%Homework4: Bezier Curve
+q
+0 0.5 0.5 rg
+0.5 0.5 1 RG
+BT
+/F1 10 Tf 
+20 266 Td
+(Homework4: Bezier Curve) Tj
+ET
+
+1 0 0 1 -240 230 cm 
+270 0 m 290 40 310 40 330 0 c S
+360 0 m 400 40 420 0 v S
+450 0 m 470 40 510 0 y S
+Q
+
+
+endstream
+endobj
+
+
+
+xref	
+		
+
+trailer	
+<<
+	/Size 0		
+	/Root 3 0 R	
+>>
+
+startxref
+0		
+
+%%EOF	
+ 
\ No newline at end of file
diff --git a/fx/path/path_9_expected.pdf.0.png b/fx/path/path_9_expected.pdf.0.png
new file mode 100644
index 0000000..02349ef
--- /dev/null
+++ b/fx/path/path_9_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/pentagon.pdf b/fx/path/pentagon.pdf
new file mode 100644
index 0000000..cdbefdf
--- /dev/null
+++ b/fx/path/pentagon.pdf
@@ -0,0 +1,144 @@
+%PDF-1.4

+

+1 0 obj

+<<

+  /Type /Catalog

+  /Outlines 6 0 R

+  /Pages 2 0 R

+>>

+endobj

+

+

+

+

+2 0 obj

+<<

+  /Type /Pages

+  /Kids [3 0 R]

+  /Count 1

+>>

+endobj

+

+

+

+

+3 0 obj

+<<

+  /Type /Page

+  /Parent 2 0 R

+  /MediaBox [-50 -300 300 300]

+  /Contents 4 0 R

+  /Resources << /Font<</Font1 5 0 R>> >>  

+>>

+endobj

+

+4 0 obj

+<<

+  /Length 0

+>>stream

+%======================================

+  q

+    %------draw pentagon, nonzero winding number rule

+    0 1 0  RG	

+    1 0 0  rg

+    5 w

+    200 35 m

+    160 160 l

+    265 85 l

+    135 85 l

+    240 160 l

+    b		%(h f S) 

+

+    %------draw pentagon, even-odd rule

+    1 0 0 1 0 -150 cm			% move coordinate 0 by x, -150 by y

+    0 1 0  RG	

+    1 0 0  rg

+    1 j

+    5 w

+    200 35 m

+    160 160 l

+    265 85 l

+    135 85 l

+    240 160 l

+    b*		%(h f* S) 

+

+

+    %-----------draw circle, nonzero winding number rule.(two circle wind in same direction)

+    1 0 0 1 -200 -100 cm

+    1 w

+    264.919 342.306 m

+    272.672 342.306 278.959 336.019 278.959 328.265 c

+    278.959 320.511 272.672 314.225 264.919 314.225 c

+    257.164 314.225 250.878 320.511 250.878 328.265 c

+    250.878 336.019 257.164 342.306 264.919 342.306 c

+

+

+    264.919 358.614 m

+    281.679 358.614 295.267 345.026 295.267 328.265 c

+    295.267 311.504 281.679 297.916 264.919 297.916 c

+    248.157 297.916 234.569 311.504 234.569 328.265 c

+    234.569 345.026 248.157 358.614 264.919 358.614 c

+    b

+

+    %---------draw circle, even-odd rule.(two circle wind in same direction)

+    1 0 0 1 0 -100 cm

+    0 0 1 rg			%blue

+    264.919 342.306 m

+    272.672 342.306 278.959 336.019 278.959 328.265 c

+    278.959 320.511 272.672 314.225 264.919 314.225 c

+    257.164 314.225 250.878 320.511 250.878 328.265 c

+    250.878 336.019 257.164 342.306 264.919 342.306 c

+

+

+    264.919 358.614 m

+    281.679 358.614 295.267 345.026 295.267 328.265 c

+    295.267 311.504 281.679 297.916 264.919 297.916 c

+    248.157 297.916 234.569 311.504 234.569 328.265 c

+    234.569 345.026 248.157 358.614 264.919 358.614 c

+    b*

+

+

+  Q

+%======================================

+endstream

+endobj

+

+

+

+6 0 obj

+<<

+  /Type /Outlines

+  /First 7 0 R

+  /Last 7 0 R

+  /Count 1

+>>

+endobj

+

+

+

+

+7 0 obj

+<<

+  /Title (example page)

+  /Parent 6 0 R

+  /Dest [3 0 R /Fit]

+>>

+endobj

+

+

+

+

+xref

+

+

+trailer

+<<

+  /Size 0

+  /Root 1 0 R

+>>

+

+

+startxref

+0

+

+%%EOF
\ No newline at end of file
diff --git a/fx/path/pentagon_expected.pdf.0.png b/fx/path/pentagon_expected.pdf.0.png
new file mode 100644
index 0000000..6d7e4e0
--- /dev/null
+++ b/fx/path/pentagon_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/transparent.pdf b/fx/path/transparent.pdf
new file mode 100644
index 0000000..5cd8140
--- /dev/null
+++ b/fx/path/transparent.pdf
Binary files differ
diff --git a/fx/path/transparent1.pdf b/fx/path/transparent1.pdf
new file mode 100644
index 0000000..2914a30
--- /dev/null
+++ b/fx/path/transparent1.pdf
Binary files differ
diff --git a/fx/path/transparent1_expected.pdf.0.png b/fx/path/transparent1_expected.pdf.0.png
new file mode 100644
index 0000000..6d9c862
--- /dev/null
+++ b/fx/path/transparent1_expected.pdf.0.png
Binary files differ
diff --git a/fx/path/transparent_expected.pdf.0.png b/fx/path/transparent_expected.pdf.0.png
new file mode 100644
index 0000000..033e416
--- /dev/null
+++ b/fx/path/transparent_expected.pdf.0.png
Binary files differ