diff --git a/pitfall/pitfall/test/test-cff/indesign-cff-hello b/pitfall/pitfall/test/test-cff/indesign-cff-hello
new file mode 100644
index 00000000..0607979d
Binary files /dev/null and b/pitfall/pitfall/test/test-cff/indesign-cff-hello differ
diff --git a/pitfall/pitfall/test/test-cff/indesign-cff-hello.pdf b/pitfall/pitfall/test/test-cff/indesign-cff-hello.pdf
new file mode 100644
index 00000000..e61d05d7
--- /dev/null
+++ b/pitfall/pitfall/test/test-cff/indesign-cff-hello.pdf
@@ -0,0 +1,106 @@
+%PDF-1.3
%
+1 0 obj
<>>>
endobj
2 0 obj
<>stream
+
+
+
+
+ 2017-07-15T14:31:04-07:00
+ 2017-07-15T14:31:04-07:00
+ 2017-07-15T14:31:04-07:00
+ Adobe InDesign CS5.5 (7.5)
+
+
+
+ 1
+ JPEG
+ 256
+ 256
+ /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4AE0Fkb2JlAGSAAAAAAQUAAgAD/9sAhAAKBwcHBwcKBwcKDgkJCQ4RDAsLDBEU
EBAQEBAUEQ8RERERDxERFxoaGhcRHyEhISEfKy0tLSsyMjIyMjIyMjIyAQsJCQ4MDh8XFx8rIx0j
KzIrKysrMjIyMjIyMjIyMjIyMjIyMjI+Pj4+PjJAQEBAQEBAQEBAQEBAQEBAQEBAQED/wAARCAEA
AMYDAREAAhEBAxEB/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQACAgMBAQEBAQAA
AAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwMEAgYCcwECAxEEAAUhEjFBUQYTYSJxgRQykaEH
FbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmElEVGpLRW01Uo
GvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4KTlJ
WWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQACEQMEIRIxQQVRE2Ei
BnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I14kSDF1STCAkKGBkmNkUaJ2R0VTfy
o7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2hpamtsbW5vZHV2d3h5ent8fX5/c4SFhoeIiY
qLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwCbeU/KflW58q6L
cXGi6fNNNp9rJJJJaws7u0MbMzM0ZJJJ3OKpt/gzyf8A9WHTf+kOD/qnirv8GeT/APqw6b/0hwf9
U8Vd/gzyf/1YdN/6Q4P+qeKu/wAGeT/+rDpv/SHB/wBU8Vd/gzyf/wBWHTf+kOD/AKp4q7/Bnk//
AKsOm/8ASHB/1TxV3+DPJ/8A1YdN/wCkOD/qnirv8GeT/wDqw6b/ANIcH/VPFXf4M8n/APVh03/p
Dg/6p4q7/Bnk/wD6sOm/9IcH/VPFXf4M8n/9WHTf+kOD/qnirv8ABnk//qw6b/0hwf8AVPFXf4M8
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
rLdQkIhsL+Pk5Emw5Ooqe5GKv//Z
+
+
+
+
+
+ uuid:3e218ab4-42b6-d54f-890b-08505c5687b9
+ xmp.did:01801174072068118DBBE9C1AD713645
+ xmp.did:01801174072068118DBBE9C1AD713645
+ proof:pdf
+
+
+
+ created
+ xmp.iid:01801174072068118DBBE9C1AD713645
+ 2017-07-15T08:33:47-07:00
+ Adobe InDesign 7.5
+
+
+ saved
+ xmp.iid:02801174072068118DBBE9C1AD713645
+ 2017-07-15T14:30:32-07:00
+ Adobe InDesign 7.5
+ /;/metadata
+
+
+ saved
+ xmp.iid:03801174072068118DBBE9C1AD713645
+ 2017-07-15T14:30:32-07:00
+ Adobe InDesign 7.5
+ /metadata
+
+
+
+
+
+ 63
+
+
+ application/pdf
+
+
+ Adobe PDF Library 9.9
+ False
+
+
+
+
endstream
endobj
3 0 obj
<>
endobj
5 0 obj
<>/ExtGState<>/Font<>/ProcSet[/PDF/Text]>>/TrimBox[0.0 0.0 612.0 792.0]/Type/Page>>
endobj
6 0 obj
<>stream
+Hr
+w6PH.V0 C<.}wPz1~aBH XH)Yr52bM
sr4M55
4bL@/.. v/
endstream
endobj
9 0 obj
<>
endobj
10 0 obj
<>
endobj
11 0 obj
<>stream
+H\j >wP %m i I*4*uB~2~}j߽Qz0
;]Z;mK5eB
+6n[M
+w*wsses1*\\/fB&
+FШKv
=e<[$L<>$&!>g>G3ב̔[$ħ'Kb&$r5VE=u^8r~ `
endstream
endobj
12 0 obj
<>stream
+HOu`lBv4NUHj0nMXKJc&lP@1"#8Ɩ2_DssD'O;y?IlI H()~9#UJ沪'TR(FvQƧnPA=@UuڬUJbh֧{L{vkX`KݭFI4=v*VmvY/2,U'lI6$qx(%ʉJX"k6-;!-
+'nr!H$]ʻQΓ]b<#ŨyeӬEF-ɩ;;z.XMmg;B}3#:n}E)!B'B!Yea*>žYb9Q3&*G is7Yof`rKS%!#tr))(dr-X"TPɋՉW59c*=zCՁ6}4ċevvwqގ'B<'lkJߴ;.n
+0ŬhΰLk0kv5ڥԠ(QLeQ0C~wՂ bPPC=
`N)Z<5!{J9^߲긂y )0U>P.~/)v.IƀG
7Gq:RLӳd8ybA%683D蒢bIu{]2>G z
endstream
endobj
8 0 obj
<>
endobj
7 0 obj
[/ICCBased 13 0 R]
endobj
13 0 obj
<>stream
+HyTSwoɞc
[5laQIBHADED2mtFOE.c}088GNg9w߽ '0 ֠Jb
+ 2y.-;!KZ ^i"L0-
@8(r;q7Ly&Qq4j|9
+V)gB0iW8#8wթ8_٥ʨQQj@&A)/g>'K t;\
ӥ$պFZUn(4T%)뫔0C&Zi8bxEB;Pӓ̹Aom?W=
+x- [ 0}y)7ta>jT7@tܛ`q2ʀ&6ZLĄ?_yxg)˔zçLU*uSkSeO4?c. R
߁-25 S>ӣVd`rn~Y&+`;A4 A9 =-tl`;~p Gp| [`L`< "AYA+Cb(R, *T2B-
+ꇆnQt}MA0alSx k&^>0|>_',G!"F$H:R!zFQd?r9\A&GrQhE]a4zBgE#H *B=0HIpp0MxJ$D1D, VĭKĻYdE"EI2EBGt4MzNr!YK ?%_(0J:EAiQ(()ӔWT6U@P+!~mDeԴ!hӦh/']B/ҏӿ?a0nhF!X8܌kc&5S6lIa2cKMA!E#ƒdV(kel
}}Cq9
+N')].uJr
+wG xR^[oƜchg`>b$*~ :Eb~,m,-ݖ,Y¬*6X[ݱF=3뭷Y~dó tizf6~`{v.Ng#{}}jc1X6fm;'_9 r:8q:˜O:ϸ8uJqnv=MmR 4
+n3ܣkGݯz=[==<=GTB(/S,]6*-W:#7*e^YDY}UjAyT`#D="b{ų+ʯ:!kJ4Gmt}uC%K7YVfFY.=b?SƕƩȺy
چk5%4m7lqlioZlG+Zzmzy]?uuw|"űNwW&e֥ﺱ*|j5kyݭǯg^ykEklD_p߶7Dmo꿻1ml{Mś
nLl<9O [$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD- u`ֲK³8%yhYѹJº;.!
+zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs
2F[p(@Xr4Pm8Ww)Km
endstream
endobj
14 0 obj
<>
endobj
xref
0 15
0000000000 65535 f
+0000000016 00000 n
+0000000112 00000 n
+0000011269 00000 n
+0000000000 00000 f
+0000011320 00000 n
+0000011626 00000 n
+0000014179 00000 n
+0000014069 00000 n
+0000011797 00000 n
+0000012410 00000 n
+0000012714 00000 n
+0000013054 00000 n
+0000014213 00000 n
+0000016861 00000 n
+trailer
<]>>
startxref
17037
%%EOF
\ No newline at end of file
diff --git a/pitfall/pitfall/test/test-cff/textedit-sample.pdf b/pitfall/pitfall/test/test-cff/textedit-sample.pdf
new file mode 100644
index 00000000..fcc0ae76
Binary files /dev/null and b/pitfall/pitfall/test/test-cff/textedit-sample.pdf differ
diff --git a/pitfall/pitfall/test/test-cff/textedit-sample.rtf b/pitfall/pitfall/test/test-cff/textedit-sample.rtf
new file mode 100644
index 00000000..6e690399
--- /dev/null
+++ b/pitfall/pitfall/test/test-cff/textedit-sample.rtf
@@ -0,0 +1,8 @@
+{\rtf1\ansi\ansicpg1252\cocoartf1504\cocoasubrtf830
+{\fonttbl\f0\fnil\fcharset0 FiraSansOT;}
+{\colortbl;\red255\green255\blue255;}
+{\*\expandedcolortbl;;}
+\margl1440\margr1440\vieww10800\viewh8400\viewkind0
+\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
+
+\f0\fs200 \cf0 x}
\ No newline at end of file