summaryrefslogtreecommitdiffstats
path: root/filters/kword/pdf/xpdf/CHANGES
blob: 6cf5c8ef119ee12910de1ec5b41de21624e2569e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
0.2 (95-dec-12)
---------------
First public release.


0.3 (96-jan-13)
---------------
LZW patent workaround.
Implemented inline images.
Fixed (mostly) disjoint polygon fills.
Added remote server stuff.
Added page number on command line.
Fixed problem with font encodings which caused character misalignment.
Fixed inverted CCITT decoding and inverted image mask drawing.
Now compiles under gcc 2.7.x (ignore those stupid 'unused parameter'
  warnings).
Many minor bug fixes and optimizations.


0.4 (96-apr-24)
---------------
Implemented DCT filter.
Implemented PostScript output; wrote pdftops program.
Implemented links.
Implemented font rotation -- I was wrong: X11R6 servers *do* support
  font rotation (by specifying a matrix in place of a size).
Added bindings for Home/End, Page Up/Down, arrow keys.
Added initialZoom resource and -z option.
Added geometry resource and -g option.
Fixed image size off-by-one bug.
Fixed bug where page content is reference to an array of streams.
Cleaned up uninitialized variables which were causing random problems
  on various platforms.
Manually skip whitespace before calling atoi() for startxref.
Replaced calls to XrmCombineFileDatabase() with calls to
  XrmGetFileDatabase() and XrmMergeDatabases() so it will work under
  older versions of X.
Fixed problem with reading multiple xref tables in updated PDF files.
Check for encryption and print appropriate error message.
Rudimentary dithering of images.
Fixed bug in CCITTFax filter (pass mode followed by horizontal mode).
Optimized drawImage() and drawImageMask().
Changed several things to ease porting:
  - changed '__inline' to 'inline' (to adhere to the ANSI standard)
  - surrounded interface/implementation pragmas with #ifdef _GNUC__
  - got rid of empty array initializer lists
  - moved Operator type definition from Gfx.cpp to Gfx.h
  - renamed String, uint, etc.
  - ability to uncompress to file (NO_POPEN and USE_GZIP flags)
  - added definitions of XK_Page_Up/Down and XPointer for old versions
    of X
For VMS port:
  - use correct Xdefaults name for VMS, get rid of ltkGetHomeDir()
  - added '#include <stddef.h>' before all X includes
  - renamed files with multiple periods in their names
Fixed window resizing infinite oscillation bug.
Fixed problem with string-type (as opposed to stream-type) indexed
  color space lookup tables (which are used in inline images).
If an X font is not found, try smaller and then larger sizes (this is
  useful for old or broken X servers which can't scale bitmap fonts).
Added -rgb (color cube size) option.
Various minor bug fixes.


0.5 (96-may-23)
---------------
Fixed bug in LTKWindow which broke the remote server mode.
Fixed PostScript output:
  - doesn't seg fault if file is unwritable.
  - incorrect DSC comment - need colon in '%%Page:'.
  - use 'imagemask' command for masks.
  - output filters in the correct order.
  - Stream::isBinary() checks the next-to-bottom, not top, stream.
  - if page width > height, rotate it 90 degrees.
  - if page is larger than paper size, scale it down.
Set default MediaBox to 8.5" x 11" to deal with non-compliant PDF
  files which don't specify a MediaBox.
Added DEBUG_MEM stuff in gmem.c and gmempp.cpp.
Fixed memory leaks:
  - LTKWindow didn't delete the LTKBox.
  - LinkAction needs a virtual destructor.
Use $(RANLIB) variable in goo/Makefile and ltk/Makefile.
Allocate image data after calling XCreateImage, using
  image->bytes_per_line -- works in 24-bit mode now.
DCTStream rounds width of rowBuf lines up to the next multiple of
  mcuWidth, so last MCU doesn't run off end of buffer.
Increase size of block (from 255 to 1024 bytes) read at end of file to
  search for 'startxref'.
Skip past garbage at start of file, look for '%PDF'.
Moved more compiler options out of Makefiles into Makefile.config.
Top-level Makefile uses '$(MAKE)' instead of 'make' for making
  subdirectories.
Space/PageDown/Next and Backspace/PageUp/Previous now moves to
  next/previous page if already scrolled to bottom/top of current
  page.


0.5a (96-jul-09)
----------------
[not a public release]
For PDF 1.2 (a.k.a. Amber, a.k.a. Acrobat 3) support:
  - look for trailer after first xref instead of at end of file.
Deal with font subsets by converting character names of the form
  'Cnnnn' to the appropriate character from the standard encoding.
Extract encoding from embedded Type 1 fonts.
Kludge to fill one-pixel thick polygons.
Changed X font encoding to use endash for hyphen (gets rid of too-long
  hyphens).
Handle Resources key in Pages dictionaries (needed for pstoedit
  output).
Fix comment handling in Parser (needed for pstoedit output).
Move Bezier curve conversion from GfxState to XOutputDev; look at
  flatness parameter in GfxState.
Change all of the path functions in XOutputDev (stroke, fill, clip) to
  use the same path transformation/conversion function.
Rewrote PostScript output driver as a subclass of OutputDev; removed
  duplicated code (ps_ functions) from Gfx.
Fixed bug in xref code with small (< 1024 bytes) PDF files.
Implemented BX/EX operators.
Added PDFDoc class.


0.6 (96-nov-12)
---------------
Add support for PostScript output to stdout (-) and to a command
  (|lpr); added -ps option and psFile resource.
Decryption is implemented but not included in the distribution due to
  legal restrictions: the decryption algorithm is a trade secret of
  RSA, Inc., and the U.S.A. still has bogus export controls on
  cryptography software.
Added .xpdfrc config file:
  - Added fontmap parameter: user can map PDF font names to X fonts.
  - Added fontpath parameter: search for Type 1 font if encoding is
    not in PDF file.
Incremental display: display is updated after every 200 commands.
Added forward and backward by-10-page buttons.
Links:
  - Implement links with "Launch" actions that point to PDF files.
  - Draw borders around links.
  - Handle links with named destinations.
  - GoToR links specify a page number instead of a page reference.
Optimizations:
  - Rewrote Stream to use buffering, and added lookChar() functions;
    rewrote Lexer to take advantage of this.
  - Use hash tables for name->code mapping in font encodings.
  - Made XOutputDev::doCurve() iterative, changed /2 to *0.5, and
    changed the flatness test.
Added file name to window title.
Implemented RunLength filter.
Implemented forms.
Convert ObjType to an enum.
Changed isDict("Pages") to isDict() (in Catalog.cpp) to deal with
  incorrect PDF files.
Changed color selection so that very pale colors don't map to white.
Fixed bug in CCITTFax filter (multiple make-up codes).
In GString::clear(): need to set length to 0 before calling resize().
Base initial window size on first displayed page, not page 1; deal
  correctly with rotated pages.
Added ltkGetIntResource() and LTKApp::getIntResource().
PostScript output fixes:
  - Escape backslashes in strings.
  - When doing ASCII85 encoding, keep both chars of EOF marker ('~>')
    on same line.
  - Add extra line '%-EOD-' after image data streams; call wrapper
    functions for image and imagemask which look for this line -- this
    should fix the 'too much data in stream' bug.
  - Font tags can be reused for different fonts on different pages --
    so use font object reference (number/generation) instead.
Initialize character widths to zero (this caused crashes on OSF/1).
Handle image masks which go outside of pixmap.
Makefile.config changes:
  - Remove -o in C++ compile rule.
  - Add $(AR) variable.
Code which read char widths from font dictionary read all but the last
  width.
Add 'return 0;' to main() in xpdf and pdftops.
Allow fonts to use StandardEncoding.
Convert man pages to VMS help files.

0.7 (97-may-28)
---------------
Implemented FlateDecode filter (for PDF 1.2).
Basic xref table reconstruction for damaged files
New pdftotext program converts PDF to plain text.
Implemented menus in LTK; added a menu to xpdf.
Added open and save functions; allow xpdf to start without any PDF
  file.
Implemented text find.
Implemented text select/copy.
Change mouse cursor when it's over a link.
Embed Type 1 fonts in PostScript output.
Moved rotate functions to menu; added quit to menu.
Fixed stroke color bug in PostScript output (was using fill color
  instead of stroke color; this sometimes caused lines to be missing
  (white) in PostScript output).
Support Launch-type links -- pops up a dialog before executing
  anything.  Expects the A (action) dictionary to contain a Unix
  dictionary with F (file) and P (paremeter) keys just like the Win
  dictionary.
A moveto op all by itself should just be discarded, instead of
  generating a subpath with one point (this was causing seg faults).
Balanced parentheses in strings don't need to be escaped.
Tj operator in PostScript prolog didn't check for zero when dividing
  by length of string.
Implemented selection in LTK; TextIn widgets support dragging/copy/
  paste.
Handle font subsets that use hex character codes.
Added icon pixmap; added the XPMLIB and NO_XPM variables to
  Makefile.config.
Fixed subtle bug in use of horizontal scaling parameter (it affects
  only the width of drawn characters, not positioning done in text
  space).
Memory testing (with DEBUG_MEM):
  - gmalloc now fills memory blocks with garbage to catch unitialized
    fields.
  - gfree fills memory blocks with garbage to catch uses of freed
    blocks.
Handle image masks which go off the pixmap on the top and/or left.
Fixed inline functions which had two return statements (to make the
  HP, SCO, and other cfront-based compilers happy).
Fixed bug which caused seg faults when following a link to a different
  file (info in LinkGoto object was used after link was deleted by
  loadFile).
If page content is an array of streams, the streams are concatenated;
  objects and commands can span multiple streams.
If file open fails, try lower-casing and upper-casing the file name.
Commands should end when lexer sees a '/' character.
GString::append(char *, int) was broken.
Changed LTKScrollingCanvas redraw to be more efficient: copy as much
  as possible from window before copying from off-screen pixmap.
Ignore gs (set extended graphics state) operator.
Handle colorspaces (CalGray/RGB are treated as DeviceGray/RGB; the
  weird colorspaces are not yet implemented).
Named destinations (for links) can be strings as well as names; deal
  with the names tree in the catalog.
Clip to the page CropBox.
Added '-q' to gzip options (to suppress warnings, in case user has -v
  in GZIP env var).
Added 'include Makefile.config' to top-level Makefile.
Added INSTALL variable to Makefile.config; used in top-level
  Makefile.
Always initialize LinkDest left/bottom/top/right/zoom fields (bogus
  floating point values were causing crashes on Alpha).
Added Makefile.config options for Digital Unix (DEC compilers), HP-UX
  (HP compilers), SCO Unix, and Evans & Sutherland ES/OS.
Added flag to set stream mode in fopen call for VMS.
Rewrote Link module.
Pages with no contents shouldn't cause an error message.
In PostScript output: pdfImM needs to set fill color before doing
  imagemask.
If font doesn't specify character widths, use widths from built-in
  font, based on font flags.
Fixed LTK scrollbar to delay before repeating and to control the
  period between repeats.
Removed window/widget copy() methods (they were untested and unused).
Unknown filter types produce a single error message instead of a
  stream of errors.
Added a dummy target in top-level Makefile so making individual
  executables (e.g., 'make pdftops') should now work.
Added optional xpdf-flip.ltk with buttons on right side instead of
  bottom of window.

0.7a (98-feb-22)
----------------
Moved find command from menu to toolbar button ('f' key still works).
Support TrueColor visuals.
Added a -cmap option and a installCmap resource to install a private
  colormap.
Mouse button 2 pans the window.
Selecting a URI link now executes a configurable command (from the
  urlCommand resource).
Added a "link info" display which shows the URL or file for the link
  under the mouse.
Don't draw (or convert to PostScript) text drawn in render modes 3 and
  7 -- this is invisible text, used by Acrobat Capture; this text is
  still passed to the TextPage object so that selection works.
Recognize (and quietly ignore) marked content operators (BMC, BDC,
  EMC, MP, DP).
Recognize new color-setting operators (scn, SCN).
Added A4_PAPER option.
Embed external Type 1 font files (this currently only works with PFA
  files).
Added "-level1" option (in xpdf and pdftops) to generate Level 1
  PostScript.
Setup autoconf -- replaced Makefile.config.  Added SELECT_TAKES_INT
  flag, and use configure to autodetect (for HP-UX).
Fixed appendToPath() to behave reasonably when appending ".." to root
  directory.
Fixed array size in FlateStream::compHuffmanCodes() (was causing xpdf
  to crash under OSF/1).
ASCII85Stream, ASCIIHexStream, and DCTStream didn't check for EOF and
  could run past the end of the stream in damaged files.
Handle hex escapes (#xx) in names.  Still allow the name /# for
  backward-compatibility.
Check for NULL characters in encoding array in GfxFont.cpp (was calling
  strcmp() with NULL which crashed under Solaris).
PageAttrs::PageAttrs() didn't initialize crop box boundaries.
Changed uses of lookup() to lookupNF() in XRef.cpp.
Fixed type checking of operators which take a variable number of
  args.
Gfx::buildImageStream() doesn't need to check for parser (since I got
  rid of the bogus array-of-command thing).
XOutputFont matches on font reference instead of font tag (similar to
  PSOutputDev fix).
Fixed bug in position calculation for multi-char substitutions in
  XOutputDev.
Cleaned up local variables which hid class variables.
Optimized variable length decoding in CCITTFaxStream.
Set link border width to zero if Border dictionary entry is missing.
Throw away zero-length strings in TextOutputDev -- they don't have
  valid xMin/xMax values.
Swapped order of XLIBS and XPMLIB in xpdf/Makefile.
Deleted 'LTKApp::' in function declaration in LTKApp.h.
Changed '(XKeyEvent *)&event' to '&event.xkey' in LTKApp.cpp.
Check that the link rectangle coordinates are in the correct order,
  and swap if necessary.
TextOutputDev didn't set text to NULL, which caused pdftotext to
  segfault if it couldn't open it's output file.
Fixed a hash table search bug in GfxFontEncoding::getCharCode().
Cleaned up colorspace code: rewrote GfxColorSpace and added
  GfxImageColorMap; cleaned up PSOutputDev::doImage.
Handle named colorspaces in images.
Correctly set the default color after a colorspace change.
Old setcolor operators now set the colorspace.
Fixed bug with uncompressed blocks in FlateStream.
Fixed bug with fixed Huffman code table in FlateStream.
Added hash table of X windows (for LTKWindow and LTKWidget) to LTKApp
  and replaced calls to XQueryTree with hash table searches -- this
  avoids a roundtrip to the server for each event and also fixes the
  problem where XQueryTree crashed if the window no longer existed
  (with leftover events from a destroyed window).  (Thanks to Yair
  Lenga for the suggestion.)
Create a new GC for selection -- xor black and white (instead of LTK
  foreground and background).
Fixed crash with blank lines in .xpdfrc.
Allow spaces in font descriptors in fontmap lines in .xpdfrc.
Check for bogus object number in XRef::fetch().
Use MacRomanEncoding for TrueType fonts that don't specify an
  encoding.
Certain PDF generators apparently don't include FontDescriptors for
  Arial, TimesNewRoman, and CourierNew -- set GfxFont flags
  appropriately.
Fixed a bug in width guessing in GfxFont -- sans serif and serif were
  swapped.
Rewrote XRef::readXRef() to avoid using a parser to read the xref
  entries.
Added NO_TEXT_SELECT option.
Ignore APPn/COM/etc. markers in DCT streams.
Replaced select() with XMultiplexInput() in LTKApp.cpp for VMS.
Handle WM_DELETE_WINDOW protocol -- if you ask the window manager to
  delete the xpdf window, xpdf will exit cleanly; other
  windows/dialogs are simply closed.
Optimized DCT decoder; switched to integer arithmetic.
The "/Type /Annots" field in an annotation dictionary is optional.
Check for null nameTree in Catalog::findDest().
In XOutputDev, search user font map before default font map.
Added "normal" SETWIDTH parameter to all font descriptors in
  XOutputDev (some systems have a narrow-width Helvetica font).
Added FOPEN_READ_BIN and FOPEN_WRITE_BIN to support Win32.
Added a hack which allows better font substitution for some Type 3
  fonts.  Also allow character names of the form /nn and /nnn.
Added <strings.h> and <bstring.h> to LTKApp.cpp (needed by AIX and IRIX
  for bzero() declaration for FD_ZERO).

0.80 (98-nov-27)
----------------
Support for some Japanese fonts (Type 0 fonts using the Adobe-Japan1-2
  character collection, horizontal only).
Added pdfinfo application.
Added pdftopbm application.
Added pdfimages application.
Added -papercolor option and .paperColor resource.
Fixed divide-by-zero problem in XOutputDev Type 3 font matrix kludge.
Font subset char names can be 'Bxx' as well as 'Cxx' and 'Gxx'.
Fixed bug in color space conversion in DCTStream filter (YCC->RGB was
  correct, YCCK->CMYK was broken).
Added XRef::getDocInfo() and PDFDoc::getDocInfo() to support pdfinfo.
Optimized GfxImageColorMap.
Lexer::getStream(), getPos(), and setPos() check for null stream.
Decryption code now does strings as well as streams.
ASCII85 decoder rounds short tuples up instead of down.
CropBox and MediaBox can be non-integers.
PostScript output:
  - Use a rectangle operator.
  - Call setpagedevice with page size.
  - Insert %%PageOrientation comments.
  - Add paper size flags (-paperw and -paperh) to xpdf and pdftops.
  - If HAVE_POPEN is not defined, and user tries to print to '|...',
    the PSOutputDev destructor tried to write to the PS file.
  - Added support for forms (pdftops -form).
Removed error messages for empty paths in stroke, fill, etc. operators.
Don't allow flatnesses less than 1 in XOutputDev (this speeds up
  rendering a little bit when there are lots of tiny curves).
Moved the font subset character name guessing from GfxFont to
  XOutputDev and TextOutputDev - now these files print correctly.
Cast argument to XFree() to XPointer; add XPointer definition where
  necessary (portability fixes).
Various minor VMS fixes.
Changes to configure script and Makefiles:
  - Print a warning if X is missing.
  - Use C++ when checking select() argument type (HP-UX).
  - Use 0 instead of NULL when checking select().
  - Default to gcc instead of c++.
  - Get rid of AC_C_INLINE -- this is meant for C, not C++.
  - Changed -USE_GZIP to -DUSE_GZIP.
  - Added ability to compile ouside of the source tree.
  - Added .cpp.o rule to {goo,ltk,xpdf}/Makefile.in.
  - Added @LIBS@ to XLIBS in xpdf/Makefile.in.
  - In top-level Makefile.in: added '-' to clean commands; added
    distclean rule.
  - Create install directories.
  - Use INSTALL_DATA (instead of INSTALL) for man pages.
  - Changed xpdf-ltk.h rule to avoid leaving an empty file when
    ltkbuild fails.
  - Change things so that by default, ltkbuild is not built and
    xpdf-ltk.h is not rebuilt.
  - Use AM_PROG_CC_STDC to add compiler flags for ANSI C.
  - Modify autoconf's builtin macros to check for xlC.
  - Use Steve Robbins' smr_CHECK_LIB to test for pixmap library (Xpm)
    -- this should fix the problems on systems that have the library
    but not the include file.
  - Added better test for sys/select.h, sys/bsdtypes.h, strings.h,
    bstring.h.
  - New VMS make scripts from Martin P.J. Zinser.
  - Moved dependences into Makefile.in -- this gets rid of problems
    with 'cc -MM' (which is gcc-specific) and 'include Makefile.dep'
    (which isn't supported by all make implementations).  Also changed
    all non-system include files to '#include "..."' (from '<...>').
Tweaked the TextOutputDev heuristics slightly.
Modify Gfx to use a stack of resources -- this is necessary for Form
  XObjects, which can define their own local resources; also modified
  PSOutputDev to dump fonts used by forms.
Look for excessively large MediaBox (compared to CropBox) and shrink
  it to CropBox.
Minor fix to scrolling when dragging a selection.
Various patches for pdftex and Win32 support.
Deal with Separation colorspaces by using their alternate colorspace
  entry.
Added PBMOutputDev for pdftopbm application.
Added ImageOutputDev for pdfimages application.
Separated XOutputDev into LTKOutputDev + XOutputDev.
Added support for 1-D and mixed 1-D/2-D (Group 3) decoding to
  CCITTDecode filter.
Added resetImage(), getImagePixel(), and skipImageLine() to Stream
  class; used these in XOutputDev, PSOutputDev, and ImageOutputDev.
Implemented predictor for LZW and Flate filters.
In pdfImM1 in PSOutputDev prolog: div should be idiv.
Changed output from printUsage() function in parseargs to look nicer.

0.90 (99-aug-02)
----------------
Added Type 1/1C font rendering, using t1lib.
Added "backward" and "forward" buttons.
Added fit-page and fit-page-width zoom factors; replaced zoom-in and
  zoom-out buttons with a zoom popup menu.
Type 1C fonts are converted to Type 1 and embedded in PostScript.
Support vertical Japanese text.
Added Japanese text support (EUC-JP) to pdftotext.
Bumped PDF version to 1.3.  Added stub functions for ri and sh
  operators. (But there are still some missing 1.3 features.)
Added -raw option to pdftotext.
Minor changes to allow compiling under MS Visual C++ 5.0.
Top-level makefile: changed 'mkdir -p' to '-mkdir -p'.
Configure script: added X_CFLAGS to smr_CHECK_LIB(Xpm).
Added Xpm_CFLAGS to xpdf/Makefile.in (this is needed to get the -I for
  the xpm includes).
Rewrote code that handles font encodings; added support for Type 1C
  fonts.
In the setpagedevice dictionary in PostScript output - added a
  /Policies entry which tells the PS interpreter to scale the page to
  fit the available paper.
Changed PageUp behavior slightly: move to bottom (instead of top) of
  previous page.
TextPage used character's dx (width + char space) instead of just its
  width.
Read base URI from document Catalog (for URI-type links).
Minor change to configure script to avoid using 'unset'.
Fixed bugs in CropBox inheritance.
Fixed a bug in resource stack handling for form objects.
Display forms even if they have a missing/incorrect FormType.
Fixed a bug in stream predictors -- the predictor parameters (width,
  comps, bits) don't need to match the actual image parameters.
  Completely rearranged the predictor code.
Fixed PostScript output to correctly handle stream predictors.
Don't segfault on empty (zero-page) documents.
Added the xpdf.viKeys feature.
Added the ffi and ffl ligatures to XOutputDev and TextOutputDev.
Pdftotext and pdfimages now check okToCopy().
Added a '-q' flag to all programs (except pdfinfo) to suppress
  messages and errors.
Deal with DeviceN colorspaces by using their alternate colorspace
  entry.
Change PostScript output so setpagedevice is only called once, at the
  very beginning of the document (to avoid problems on duplex
  printers).
Changes to configure script and makefiles for DOS/DJGPP.
FontEncoding::getCharCode() looked for (code>0) instead of (code>=0).
Added keypad arrow keys, etc. to xpdf.
Minor changes to gfile.{h,cpp} (<windows.h>) to compile under VC++.
Fixed CCITTFaxStream to correctly handle all parameters.
Modifications to gfile.{h,cc} for Acorn.
Some minor changes for OS/2.
Added 'SHELL = /bin/sh' to Makefiles.
Compare file version to pdfVersionNum+0.0001 to avoid floating point
  precision problems.
Added LDFLAGS to Makefiles.
Removed strip entirely from configure and Makefiles.
Fixed a bug in choosing the correct DCTStream color transform.

0.91 (2000-aug-14)
------------------
Added TrueType font rendering, using FreeType.
Support for Chinese fonts (Type 0 fonts using the Adobe-GB1-2
  character collection).
Decryption code is included with the main distribution (now that the
  US export regulations are a little bit less irrational).
Added (very basic) support for generating PostScript with Japanese
  fonts -- only tested with ghostscript so far.
Added support for generating EPS files (pdftops -eps).
Much-improved image filtering in xpdf (for downsampling and for
  transforms other than 0/90/180/270-degree rotations).
Implemented a basic full-screen (presentation) mode (xpdf
  -fullscreen).  (There is currently no way to switch between window
  and full-screen modes on the fly -- this will be fixed in a later
  release.)
Added "reload" menu item.
Do a better job with anti-aliased Type 1 fonts on non-white
  backgrounds.
Handle Lab color spaces.
Handle non-null user passwords.
Avoid security hole with tmpnam()/fopen() -- added openTempFile() in
  goo/gfile.cpp.  [Thanks to Joseph S. Myers for pointing this out.]
Filter out quote marks (' and ") in URLs before running urlCommand to
  avoid a potential security hole.  [Thanks to Frank Doepper for
  pointing this out.]
Fixed TrueColor detection to look at the complete list of available
  visuals, not just the default visual.
In gfile.h, changed NAMLEN(dirent) macro to NAMLEN(d).
Removed copyright character from start-up banners.
In the open and save dialogs, if the open/save button is pressed with
  no file name, the dialog is not canceled.
Added Xpm_CFLAGS to ltk/Makefile.
XOutputDev::updateLineAttrs was using dashLength before it was
  defined.
In top-level Makefile.in, use INSTALL_PROGRAM instead of INSTALL.
In man page, recommend -q instead of -err in .mailcap.
Changes for GNOME / Bonobo support:
  - Separated Stream classes into BaseStream and FilterStream trees.
  - Got rid of all FileStream-specific stuff.
  - Added a PDFDoc constructor that takes a BaseStream* instead of a
    file name.
Allow newlines inside strings (Photoshop does this).
Don't require whitespace between tokens in consecutive content
  streams (for pages that specify an array of streams).
Look at MissingWidth when constructing font character widths array.
Fixed a bug that caused incorrect PostScript output for images that
  use 8-bit indexed color spaces with < 256 colors in the palette.
Handle case where embedded font file is bad (this was seg faulting).
Minor changes for Windows/pdftex.
Work around a bug in PDF files from the IBM patent server.
Fixed bugs in PostScript form generation: use pdfStartPage instead of
  pdfSetup; problem with inline images.
Minor bug fix in FlateStream::loadFixedCodes().
Added %%DocumentMedia and %%PageMedia comments to the PostScript so
  that gsview (a Windows frontend for ghostscript) gets the right
  paper size.
Draw AcroForm fields that have appearance annotations.
Bounds check gray, CMYK, and RGB values (in GfxColor).
Moved the link border drawing code into Page (from PDFDoc).
Minor modifications for pdftohtml.
PSOutputDev: use the Type 3 font scaling kludge from XOutputDev.
Separation color spaces were handled incorrectly in images.
Fixed a bug with form bounding boxes.
Modified the t1lib support -- replace libt1x code with my own code.
  Type 1 and TrueType fonts are now handled similarly, and clipping
  works on Type 1 fonts.
Don't print copyright banner (xpdf); add -v switch to get copyright
  and version info (all apps); get rid of -err switch (xpdf).
Automatically reload the PDF file if it has been changed, i.e., if the
  modification time is different.
Fixed a memory (malloc size) bug in CCITTFaxStream.
Fixed two bugs in FontEncoding::hash() -- handle zero-length character
  names (which were found in a (buggy?) PDF file), and handle
  character names with high-bit-set characters (use unsigned ints).
Added PDFDoc::isLinearized() and corresponding code in pdfinfo.cpp.
Handle files with an incorrect page count in the Pages dictionary
  (FOP, from the Apache project produces a page count of 0).
Handle TrueType equivalents to the Base14 fonts (Arial, TimesNewRoman,
  CourierNew) -- Adobe's tools use these names without embedding the
  fonts.
Tweaked the Type 3 font sizing kludge.
Changed pdfimages (ImageOutputDev) so it doesn't output JPEG files for
  4-component color spaces, since these seem to confuse most image
  viewers.
Added support for generating OPI comments (pdftops -opi).
In XOutputDev::drawImage() and drawImageMask(), check for images that
  are completely off-page.
Use the provided alternate or a default (DeviceGray/RGB/CMYK) color
  space for ICCBased color spaces.
Incorporated MacOS-specific code from Leonard Rosenthol.
Configure script switches to C++ for the strings.h/bstring.h test.
Gfx::opRestore() calls clearPath() to handle (apparently) buggy PDF
  files produced by FreeHand.
The /Type field in most dictionaries is optional (PDF 1.3 change).
Move printCommands variable definition into Gfx.cpp.
If page is smaller than paper, center the PostScript output.
Fix a minor bug in the SELECT_TAKES_INT detection in the configure
  script.
TextOutputDev filters out control characters.
Changed enough occurrences of 'char *' to 'const char *' to keep gcc
  2.95 from barfing.
Support for Latin-2 and Latin-5 in pdftotext (however, this will only
  work if the PDF file contains correct font encodings, which seems to
  be rare).
TextOutputDev converts "eightoldstyle" to "eight", etc.
Don't use the return value from sprintf() -- most systems return the
  length, but some return the string.
Minor fixes for SunOS 4.
Configure script looks for both select() and fd_set in sys/select.h.
Configure script checks for gethostbyname() in -lbsd (for LynxOS).
Fix missing closepath bug in PostScript output.
Change PostScript portrait/landscape mode selection so it only uses
  landscape if the page width is greater than the paper width.
Tweaked the VMS code in makePathAbsolute().

0.91a (2000-oct-11)
-------------------
Implemented separable CMYK PostScript output (the -level1sep switch to
  pdftops).
Implemented Pattern color spaces with tiling patterns (polygon fills
  only).
Implemented Stamp annotations.
Implemented Named link actions.
Fixed a really dumb bug in the TrueColor code in SFont (which affects
  both Type 1 and TrueType font rendering on 16-bit displays).
Rewrote the GfxColorSpace / GfxColor code.
Switched from djgppcfg to dj_make.bat (from Michael Richmond).
Bug in the Type 1 encoding parser -- couldn't handle lines of the form
  'dup NNN/name put' (with no space between the code and the name).
Fixed the mkstemp() test in configure.in -- switched from
  AC_TRY_COMPILE to AC_TRY_LINK and added <unistd.h>.
Added DESTDIR to top-level Makefile.in.
Fixed an incorrect OPI comment in PSOutputDev.
Minor tweak to the CCITTFax code to avoid writing past the end of an
  array on an invalid data stream.
Xpdf crashed if the user selected 'reload' when no document was
  loaded.
Look for character names of the form "xx" (two hex digits with no
  leading alphabetic char) and 'cNNN' (decimal digits with a leading
  alphabetic char that happens to be a hex digit).
FlateStream didn't correctly handle zero-length streams.
Xref reconstruction didn't handle the case where the opening "<<"
  immediately followed "trailer" with no intervening whitespace.
Fix the %%DocumentSuppliedResources comment in EPS output.
Scale annotations to fit their rectangles.
Added Stream::close() to handle cases (e.g., patterns) where a Stream
  object is used multiple times before it is deleted.
Added the topLevel arg to Gfx::go() so it doesn't call out->dump() for
  every pattern element (and form).
Rearranged the GfxResources class.
Clean up white space handling in Lexer.
Make the dpi parameter to PDFDoc::displayPage etc. a double - this
  avoids margin gaps with fit-page and fit-width.
Fix a rounding problem in xpdf.cpp that was causing the window to
  sometimes be one pixel too small.
Fixed a minor bug in dealing with Base-14 TrueType font names.
Fixed Lab -> RGB color space conversion.
Added support for opacity values (from PDF 1.4) to GfxState and
  OutputDev.  [Thanks to Leonard Rosenthol.]
Implemented type 2 functions; rearranged the Function class
  hierarchy.

0.91b (2000-oct-29)
-------------------
Print a warning about Type 3 fonts (XOutputDev, PSOutputDev).
Added the scroll lock behavior to 'n' and 'p' keys in xpdf.
Change FileStream buffer size to a #define'd constant.
Renamed Pattern to GfxPattern to avoid clashes with Windows and MacOS
  types.
Added CNS (Big5) Chinese font support (CHINESE_CNS_SUPPORT); renamed
  CHINESE_SUPPORT to CHINESE_GB_SUPPORT.

0.91c (2000-nov-19)
-------------------
Fix an endianness problem in the Type 1 font code which resulted in an
  incorrect display with "-t1lib plain" on big-endian systems.
CCITTFax stream decoder will skip over extra zero bits at end of line,
  even if EncodedByteAlign flag wasn't set.
Added Big5 support to pdftotext (with CHINESE_CNS_SUPPORT enabled).
Fixed a typo in the CNS/Big5 encoding translation table.
Change the form code in PSOutputDev to store images in arrays of
  strings.
The xref reconstruction (for damaged files) now also looks for
  'endstream' tags, and the parser uses this information when setting
  up stream objects.
In pdfinfo, convert Unicode chars in the 00xx range into 8-bit chars;
  print a warning if there are any other Unicode chars.

0.92 (2000-dec-03)
------------------
Fixed %%BeginResource comment (for xpdf procset) in PostScript
  output.
Added "-title" switch and "xpdf.title" resource to set the window
  title.
Check for <freetype.h> in addition to <freetype/freetype.h>.
Upgraded the configure script to smr_macros 0.2.4 - this should fix a
  bug where configure wasn't correctly finding t1lib.

0.92a (2000-dec-17)
-------------------
Added 'extern "C" { ... }' in various places for ANSI C++ compliance.
Tweaked the code that figures out DPI for fit-to-page and fit-to-width
  modes.
Fixed the image transformation code in XOutputDev -- no more missing
  lines.
Implemented color key image masking in XOutputDev.

0.92b (2001-jan-07)
-------------------
Fixed a bug in the error-checking code in the Separation/DeviceN color
  space parsing functions.  [Thanks to Lidia Mirkin.]
Added wheel mouse support (mouse buttons 4 and 5).  [Thanks to
  Thorsten Schreiner.]
Added preliminary support for FreeType 2 (disabled by default).

0.92c (2001-jun-04)
-------------------
Fixed a bug in the new image transformation code.
Look for character names of the form "<letter><digit><digit>", instead
  of looking for names beginning with a few specific letters.
T1FontFile::T1FontFile wasn't initializing vars, and ~T1FontFile
  wasn't checking before calling T1_DeleteFont -- this caused crashes
  if it tried to open a nonexistent font file.
Catalog::Catalog didn't set baseURI to NULL early enough.
Tweak the check for strings.h in the configure script.
Yet another fix for the image rotation code in XOutputDev --
  off-by-one problem when upsampling.
Handle Type 1/1C encodings when using FreeType 2.
Allow FreeType2 to render user-supplied Type 1 base fonts.
Opening a new file from full-screen mode tried to scroll.
Fixed a bug in GfxFont constructor (missing check for NULL base font
  name).
Don't crash if a Type 1 font's FontBBox is non-integer.
Pdfinfo prints page size.
Tweak for the alpha hack in T1Font/TTFont: sample the middle pixel
  instead of the top-left pixel.
Automatically activate the text input widget in the find window.
Changed a Japanese char code mapping in XOutputDev and TextOutputDev:
  period was being incorrectly mapped to small circle (end-of-sentence
  character).
Add the 0/+/-/z/w key bindings to control the zoom setting.
Fixed ImageOutputDev (pdfimages) to correctly handle inline image
  masks.
Extract ascent/descent info from font descriptor.

0.92d (2001-jun-26)
-------------------
Embed TrueType fonts in PostScript output.  (Added a "-noembtt" flag
  to pdftops.)
Extract encoding from TrueType fonts.
Moved Function classes to a separate file (Function.h/cc).
Implemented multi-dimensional sampled Functions.
Implemented Type 4 (PostScript calculator) Functions.
For Type 0 fonts, FontDescriptor is in descendant font, not parent.
  [Thanks to Lidia Mirkin.]
Added the "-htmlmeta" option to pdftotext.
In TextOutputDev, when computing the number of blank lines to insert,
  do a sanity check on the result.
If both FlateDecode and some other filter (e.g., DCTDecode) were
  applied to an image stream, getPSFilter() crashed instead of just
  returning NULL.
Handle the /Identity function.

0.92e (2001-aug-23)
-------------------
Widths in font dict should override built-in font widths.
Changed "rotate left/right" menu items to "rotate
  clockwise/counterclockwise".
The link parsing code choked if the Border array was incorrect (too
  short).
Modified PSOutputDev to output CMYK for fill/stroke colors.

0.93 (2001-oct-25)
------------------
Implement PDF 1.4 (128-bit) decryption.
Bump supported PDF version number to 1.4.
Text output for Simplified Chinese.  [Thanks to Cheung Siu Fai.]
Read an app-defaults file for Xpdf.
Read a system-wide config file (<prefix>/etc/xpdfrc) if ~/.xpdfrc
  doesn't exist.
Accept and verify owner password; if correct, allow all actions.
Added a "-level2sep" option to pdftops to generate Level 2 separable
  PostScript.  The PostScript separation convention operators are used
  to handle custom (spot) colors.  [Thanks to Thomas Freitag for help
  on this.]
Add support for FreeType 2 to the configure script.  Warning: this
  requires FT 2.0.5 or newer.
Fixed the bounding rectangle overlap test in the disconnected subpath
  fill hack in XOutputDev.
Stupid typo in font name table in PSOutputDev.
Changing the zoom setting with a keyboard shortcut didn't update the
  displayed setting.
Modified the mouse wheel support and added the second wheel (mouse
  buttons 6 and 7).  [Thanks to Michal Pasternak.]
Character and word spacing is affected by horizontal scaling (display
  and PS output).  [Thanks to Eddy Ng.]
Rotation specified by the text matrix, character spacing, and
  horizontal scaling interacted incorrectly (display and PS output).
Some broken Type 1/1C fonts have a zero BBox -- kludge around this by
  assuming a largeish BBox.
Handle PDF files with an incorrect (too small) xref table size.
Allow "-?" and "--help" as aliases for "-h" (all apps).
Correctly handle unescaped parens in strings in Lexer.
Fixed a bug in LTK where a menu got posted multiple times if you right
  clicked while a page was being rendered.
Removed a comma inside a string in configure.in.
Kludge around broken PDF files that use char 32 but encode it as
  .notdef instead of space.
Clean up various compiler warnings: use constructor args like "fooA"
  if there is a field named "foo".  Everything now compiles cleanly
  under gcc 2.91.66, 2.95.2, and 3.0.1.
Page objects now read all of the page rectangles (MediaBox, CropBox,
  BleedBox, TrimBox, ArtBox), as requested by the pdfTeX folks.
  Added a new PDFRectangle struct to hold these.
Use XOutputDev's Type 3 font size hack in TextOutputDev too, so it
  does a little better job of extracting text in Type 3 fonts.
Modify pdfimages to write one-bit images as PBM files.
Work around a bug in cygwin's implementation of fseek.

0.93a (2001-nov-21)
-------------------
Implemented the sh (shaded fill) operator for the axial shading type.
Minor fixes to avoid compiler warnings.
Cleaned up global variables -- moved many into instance vars and
  function args.
Minor fixes for OS/2.
Fix the system config file path for VMS.
Fix an uninitialized var in XOutputDev that caused crashes on Alphas.
Don't incrementally update the display in full-screen mode.
For Type 1/1C fonts, use the FontBBox from the PDF FontDescriptor
  (instead of the one in the font file) if present -- this avoids
  problems with fonts that have non-standard FontMatrixes.
Add the Euro character to WinAnsiEncoding.
Track the bounding box of the clip region to make rendering patterns
  more efficient.
Fix openTempFile() for Win32.

0.93b (2001-dec-11)
-------------------
Added a duplex option to PSOutputDev and a -duplex switch to pdftops.
Added XRef::PDFgetDocInfoNF() for pdftex project.
Updated the VMS build script.

0.93c (2001-dec-12)
-------------------
Completely rewrote the code that handles font encodings:
  - everything is Unicode-based
  - 16-bit fonts are handled much more cleanly
  - text output encoding can be set more flexibly
New .xpdfrc config files.

1.00 (2002-feb-01)
------------------
More work on the font encoding rewrite:
  - use the ToUnicode font dict entry
  - pdfinfo and pdftotext (with '-htmlmeta') convert info strings to
    the selected text encoding
Added key bindings for forward ('v') and backward ('b').
Added the pdffonts program which lists the fonts used in a PDF file.
Fixed several problems in the TrueType font embedding code (for
  PostScript output).
Accept named destination on command line.
Added several new items to pdfinfo: file size, PDF version, tagged
  (yes or no), XML metadata (with the -meta option).
Pdftops didn't get the portrait/landscape setting correct for PDF
  files with rotated pages.
The TrueTypeFontFile class (including the Type 42 converter) now
  understands cmap format 6.
Improved the "about" window -- mention the GPL, add a list of key
  bindings.
Added Zcaron and zcaron characters to WinAnsiEncoding.
The '0' keyboard shortcut didn't update the zoom popup menu.
Handle the complete list of alternate names for the Base14 fonts.
Fixed substitute font scaling in XOutputDev - scale only the width,
  not the height.
Implemented stitching (type 3) functions.
Handle the case of moveto/closepath/clip, which defines an empty
  clipping region.
Move dependences into separate Makefile.dep files; get rid of the
  distdepend target.
Move all of the configure-script-generated -D options out of the
  Makefiles and into a top-level .h file (aconf.h).
Cleaned up the FreeType 1/2 detection code in the configure script.
Pdfinfo prints dates in a more readable format.
Fixed a bug in the Paeth image predictor.
Handle annotations with multiple states.
Another workaround for buggy X servers: clip points that are way out
  of bounds.
Added libpaper support (for Debian).
Generate PostScript DSC resource comments for PS (not just EPS)
  files.
The save and restore (q/Q) operators shouldn't save/restore the path.
Performance optimization: disable pattern drawing in TextOutputDev.

1.00a (2002-feb-25)
-------------------
Added an optimized special case for one-bit images in XOutputDev.
Implemented CID TrueType font embedding; added a psEmbedCIDTrueType
  option.
The initialZoom X resource was broken.
The reverse MacRoman encoding should return 32 for "space" (not 202,
  which is an alternate encoding).
Tweaks to the FreeType 2 support: only disable hinting if the bytecode
  interpreter is disabled (i.e., disable autohinting but not bytecode
  hinting); add some padding to the glyph cache for CJK fonts.
Added level3 and level3Sep options for the psLevel setting and
  corresponding -level3 and -level3Sep options to pdftops.
Added a -level2 option to pdftops for consistency.
Avoid a divide by zero in pdftotext.  [Thanks to William Bader.]
Added a Greek language support package.  [Thanks to Alexandros
  Diamantidis and Maria Adaloglou.]
Don't bother trying to extract a "builtin" encoding from a TrueType
  font.
Accept either a page number or a page reference in a link
  destination.
Update the fontFixedWidth flag in GfxFont after reading the char
  widths (used by the Acorn RiscOS port).
Removed yet another (illegal but not caught by gcc) class specified
  from a .h file.
Avoid using snprintf - it's not available everywhere.
Improved the CMYK->RGB transform.
Use mkstemps where available.

1.01 (2002-may-20)
------------------
Implemented Type 3 fonts.
Implemented PostScript CID font embedding; added a
  psEmbedCIDPostScriptFonts option.
Implemented PostScript 16-bit font substitution; added psNamedFont16
  and psFont16 options.
Moved the initialZoom setting from X resources to the xpdfrc file.
Implemented the radial shading type in the sh (shaded fill) operator.
  [Thanks to Mike Sweet.]
Added an 'include' command to the xpdfrc format.
Added the displayNamedCIDFontX option so different fonts can be used
  within one character collection.
Added a simple reverse video mode (-rv switch, xpdf.reverseVideo
  resource).
Implemented stroked text in XOutputDev (with t1lib and FreeType2).
  [Thanks to Leonard Rosenthol.]
Implemented stroked text in PSOutputDev.
Added a built-in Unicode map for UCS-2.
New key binding in xpdf: 'g' activates the page number text field.
PSOutputDev will now embed external TrueType fonts in addition to
  external Type 1 fonts.
The psEmbedType1Fonts and psEmbedTrueTypeFonts options were missing
  the "Fonts" suffix.
Documentation in xpdf.1 for -freetype option was wrong.
Added the Big5ascii Unicode map to the Chinese-traditional support
  package (maps 7-bit ASCII straight through).  [Thanks to Lawrence
  Lai.]
Modified the EUC-CN and EUC-JP encodings to pass 7-bit ASCII straight
  through.  [Thanks to Lawrence Lai.]
Avoid a divide by zero in XOutputDev.  [Thanks to Simon Burge.]
Remove old code in openTempFile that removed an extension from the
  name returned by tmpnam.
Tweak the scrolling behavior when switching pages.  [Thanks to Case
  Jones.]
In the code that guesses character names (for font subsets), also
  handle names of the form 'ABnnn'.  [Thanks to Colin Granville.]
Fix the transform code for annotations.
Improved the CMap file parser to handle more general PostScript
  lexical conventions.
Added '-enc' option to pdfinfo.
Added the small caps and oldstyle numbers from Adobe's Unicode
  corporate use area to the Latin1 and ASCII7 Unicode maps.
The code in TextOutputDev that guesses Type 3 font size could generate
  a zero size, which resulted in div-by-zero errors.
Various tools (including Adobe's) occasionally embed Type 1 fonts but
  label them Type 1C - so check for a '%!' at the start.
Some tools embed Type 1C fonts with an extra whitespace char at the
  beginning - just skip over it.
Fixed a typo in the Simplified Chinese add-to-xpdfrc file.
Updates to dj_make.bat and the djgpp build instructions.
Added a Turkish language support package.
Updated VMS build scripts.  [Thanks to Martin Zinser.]
Modify the incremental display update code to redraw less often if
  most of the commands are vector graphics, as opposed to text and
  images.
Tweak the Type 1 font bbox code to look at the bboxes in both the PDF
  font object and the embedded font file.
Fixed the ETenms-B5-H CMap file (for traditional Chinese) to map the
  Latin characters to their proportional versions.
Added an optional displayCIDFontX entry for one of the Arphic TrueType
  fonts in the traditional Chinese 'add-to-xpdfrc' file.
Remove leading '-' on include statements in Makefiles.
Added psASCIIHex parameter.
Added the GBK Unicode map to the simplified Chinese language pack.
Pdftotext now opens the text file in binary mode to avoid Microsoft's
  annoying automatic end-of-line translation stuff.
Added an executeCommand function in goo/gfile.cpp.  [Thanks to Mikhail
  Kruk.]
The %ALDImagePosition OPI comment was wrong if the page was scaled to
  a different paper size.
The OPI code was saving the default transform matrix before calling
  setpagedevice, which can change the matrix.
Fixed a crash when an inline image dictionary contains garbage.
Upgraded to autoconf 2.53.
Use unsigned int file offsets, to allow access to PDF files in the 2-4
  GB size range; use fseek64/ftell64 if available.
Fixed two floating point exception cases that came up with broken PDF
  files.
Avoid a crash when printing an error message regarding an unnamed
  font.
Default link border width should be 1.  [Thanks to Michael Pfeiffer.]
Minor tweak to build with FreeType 2.1.0.
Handle "weird" characters in PostScript font names.
PSOutputDev now handles PostScript XObjects.
Added several more page attributes for the pdftex project.
Transferred the copyright to Glyph & Cog, LLC.

2.00 (2002-nov-04)
------------------
Switched to the Motif toolkit.
Support multiple open documents (in separate windows).
Added document outlines to the viewer.
Modified the text extraction (placement) algorithm.
Implemented the JBIG2 decoder.
Added a Latin2 language support package.
Added support for movie annotations.
Switched back to native LZW decompression code.
Text extraction from Type 3 fonts was (partly) broken.
The owner password checking code was missing a step in the case of
  128-bit encryption.
Added the 'printCommands' option to the xpdfrc file.
Added key binding for '?' to bring up the about/help dialog.
In TextOutputDev, ignore any text that's outside the page bounding
  box.
Text extraction throws away "tiny" characters after the first 20000
  per page, to avoid really slow runtimes with PDF files that use
  special fonts to do shading or cross-hatching; added the
  'textKeepTinyChars' option to disable this behavior.
Text extraction discards duplicated text (fake boldface, shadow
  effects).
Added ctrl-F as a key binding for find.
Added a "find next" function, bound to ctrl-G.
Added ctrl-P as a key binding for print.
Modified the DCT decoder to handle progressive and non-interleaved
  JPEG streams.
Added key bindings for ctrl-Home and ctrl-End.
Allow the initialZoom setting to be made in either the xpdfrc file or
  as an X resource.
Added a Hebrew language support package.  [Thanks to Roy Arav.]
The "make distclean" target now creates (empty) Makefile.dep files in
  the three subdirectories.
Initialize XRef::ownerPasswordOk.
Correctly handle stroking of Type 3 fonts in PSOutputDev.
Generate correct PostScript for fonts with "weird" character names
  (e.g., "(").
Generate correct PostScript for images using Indexed color spaces with
  DeviceN base color spaces.
Added lowercase Roman numerals to ISO-2022-CN.unicodeMap (simplified
  Chinese support package).
Tweak the image scaling code to better handle flipped (top-bottom
  and/or left-right) images.
Generate correct PostScript code for inline images and images in Type
  3 fonts which are too large for a single PS string.
Correctly handle indexed color spaces whose base color spaces have
  component ranges other than [0,1].
Optimized the DCT decoder.
Fixed mistakes in the list of key bindings in the about/help dialog.
Optimized the Flate decoder.
Add literal names for punctuation and digits to the Unicode name
  table.
Cygwin's popen wants mode "r", not "rb".
Fixed a bug in the Type 4 function parser (the "if" operator wasn't
  parsed correctly).
Fix a bug in PS output for TrueType fonts with no PDF encoding.
Make the bbox size in FTFont more liberal (to avoid problems with
  fonts that have incorrect bboxes).
Reverse the colors in PBM files generated by pdfimages, so the common
  case (an image mask filled with black) comes out correct.
Add fseeko/ftello support which is basically identical to
  fseek64/ftell64.  [Thanks to Nassib Nassar.]
Modified column assignment in text extractor to account for characters
  that convert to multiple characters in the output encoding.
Fix TrueType fonts which have an incorrect cmap table length.
Work around a pragma bug in the version of gcc that ships with MacOS X
  10.2.  [Thanks to Frank Siegert and Andrew Stone.]
Fix a problem that was causing an infinite loop when a damaged content
  stream contains an 'ID' command inside a dictionary.
Handle the case where systempapername() returns NULL (libpaper
  support).
Handle fonts which are defined directly in the font resource
  dictionary rather than as separate objects.
Track process colors in Level 1 separable PostScript.
Pdfinfo now checks the return value from mktime to avoid seg faults in
  flakey strftime implementations.
If duplex is not enabled in PostScript output, leave the duplex
  setting alone, allowing the spooler to insert its own setting.
Added three missing fclose calls.
Change the default encoding for TrueType fonts (used when the PDF file
  doesn't specify an encoding) from MacRomanEncoding to
  WinAnsiEncoding.
Move X_CFLAGS to the end of the list in CXXFLAGS (in Makefile.in) to
  avoid some of the FreeType2 include path problems.
Fixed an obscure bug in the LZW decoder.  [Thanks to Martin
  Schroeder.]
Fixed a bug in decryption when using the newer (PDF 1.4) algorithm
  with shorter-than-128-bit keys.
Minor optimization for image data streams: the ImageStream class can
  return an entire buffered line.