% output=pdftex

\def\octnumber#1%
  {\ifcase#1
     000\or 001\or 002\or 003\or 004\or 005\or 006\or 007\or 
     010\or 011\or 012\or 013\or 014\or 015\or 016\or 017\or 
     020\or 021\or 022\or 023\or 024\or 025\or 026\or 027\or 
     030\or 031\or 032\or 033\or 034\or 035\or 036\or 037\or 
     040\or 041\or 042\or 043\or 044\or 045\or 046\or 047\or 
     050\or 051\or 052\or 053\or 054\or 055\or 056\or 057\or 
     060\or 061\or 062\or 063\or 064\or 065\or 066\or 067\or 
     070\or 071\or 072\or 073\or 074\or 075\or 076\or 077\or 
     100\or 101\or 102\or 103\or 104\or 105\or 106\or 107\or
     110\or 111\or 112\or 113\or 114\or 115\or 116\or 117\or 
     120\or 121\or 122\or 123\or 124\or 125\or 126\or 127\or 
     130\or 131\or 132\or 133\or 134\or 135\or 136\or 137\or 
     140\or 141\or 142\or 143\or 144\or 145\or 146\or 147\or 
     150\or 151\or 152\or 153\or 154\or 155\or 156\or 157\or 
     160\or 161\or 162\or 163\or 164\or 165\or 166\or 167\or 
     170\or 171\or 172\or 173\or 174\or 175\or 176\or 177\or
     200\or 201\or 202\or 203\or 204\or 205\or 206\or 207\or 
     210\or 211\or 212\or 213\or 214\or 215\or 216\or 217\or 
     220\or 221\or 222\or 223\or 224\or 225\or 226\or 227\or 
     230\or 231\or 232\or 233\or 234\or 235\or 236\or 237\or 
     240\or 241\or 242\or 243\or 244\or 245\or 246\or 247\or 
     250\or 251\or 252\or 253\or 254\or 255\or 256\or 257\or 
     260\or 261\or 262\or 263\or 264\or 265\or 266\or 267\or 
     270\or 271\or 272\or 273\or 274\or 275\or 276\or 277\or 
     300\or 301\or 302\or 303\or 304\or 305\or 306\or 307\or 
     310\or 311\or 312\or 313\or 314\or 315\or 316\or 317\or 
     320\or 321\or 322\or 323\or 324\or 325\or 326\or 327\or 
     330\or 331\or 332\or 333\or 334\or 335\or 336\or 337\or 
     340\or 341\or 342\or 343\or 344\or 345\or 346\or 347\or 
     350\or 351\or 352\or 353\or 354\or 355\or 356\or 357\or 
     360\or 361\or 362\or 363\or 364\or 365\or 366\or 367\or 
     370\or 371\or 372\or 373\or 374\or 375\or 376\or 377\fi}

\startencoding[pdu]

\defineaccent ' A {\uchar{0}{193}}   % or {\octuchar{000}{301}}
\defineaccent ` A {\uchar{0}{194}}   
\defineaccent ^ A {\uchar{0}{195}}
\defineaccent ~ A {\uchar{0}{196}}

\stopencoding

\unprotect 

\edef\PDFoctuchar#1#2%
  {\expandafter\firstoftwoarguments\string\\#1%
   \expandafter\firstoftwoarguments\string\\#2}

\def\PDFdecuchar#1#2%
  {\PDFoctuchar{\octnumber{#1}}{\octnumber{#2}}}

%def\PDFunicodetrigger{\PDFoctuchar{376}{377}} % fe ff signals unicode
\def\PDFunicodetrigger{\PDFdecuchar{254}{255}} % fe ff signals unicode

\bgroup
\catcode`!=\@@escape
\catcode92=\@@other
!gdef!dodopdfuni#1#2!fi!fi!fi{!fi!fi!fi!dopdfuni#1}

!gdef!dopdfuni#1#2#3#4#5%
  {!ifx#1!empty
     % done 
   !else!ifx#2!empty
    %!string!000#1% more efficient, but ok?
     !string!000\!octnumber{!ifnum`#1=1 32!else`#1!fi}%
   !else!ifx#1\%
     #1#2#3#4%
     !dodopdfuni{#5}%
   !else
    %!string!000#1% more efficient, but ok?
     !string!000\!octnumber{!ifnum`#1=1 32!else`#1!fi}%
     !dodopdfuni{#2#3#4#5}%
   !fi!fi!fi}
!egroup

\bgroup
\catcode`\^^M=\@@active
\gdef\enablePDFunicrlf%
  {\def\\{\PDFdecuchar{0}{13}}%
   \def\par{\\\\}%
   \catcode`\^^M=\@@active%
   \let^^M=\\}
\egroup

\def\enablePDFuniencoding%
  {\reducetocoding[pdu]\simplifycommands}

\long\def\sanitizePDFuniencoding#1\to#2%
  {\let\octuchar\PDFoctuchar 
   \let\decuchar\PDFdecuchar 
   \let\uchar   \PDFdecuchar 
   \enablePDFunicrlf
   \enablePDFuniencoding
   \edef#2{\PDFunicodetrigger#1}%
   \lccode` =1
   \lowercasestring#2\to#2% freeze spaces
  %\show#2%
   \edef#2{\expandafter\dopdfuni#2\empty\empty\empty\empty\empty\empty\empty}%
  %\lccode1=32
  %\lowercasestring#2\to#2%
  %\show#2%
   }

\protect 

\let\sanitizePDFdocencoding\sanitizePDFuniencoding % \useencoding[pdu]

\setupbodyfont[pos]
\setupinteraction[state=start]

\starttext 

\startcomment 
\'A \`A \^A \~A B C D E \TeX 
\'A \`A \^A \~A B C D E \TeX 
\'A \`A \^A \~A B C D E \TeX 
\stopcomment 

\input tufte 

\stoptext
