Commit 9a5d16a4039bd92024e57a2e00ffb5ec5a62adc4

Authored by Jay Berkenbilt
1 parent f80a0da3

Prepare for docbook -> rst: replace SGML entitles

We were using SGML entities for various non-ASCII characters so they
could convert properly for both HTML and print, but this is no longer
necessary as we move from docbook to RST, so just replace them. Note
that the conversions done by sphinx automatically handle "smart
quotes", so it works to just use regular quotes in place of “
and ”.
Showing 2 changed files with 61 additions and 72 deletions
... ... @@ -25,12 +25,6 @@ Things to fix:
25 25 Entities/Unicode
26 26  
27 27 <!ENTITY lastreleased "November 16, 2021"> (not needed)
28   -<!ENTITY ldquo "&#x201C;">
29   -<!ENTITY mdash "&#x2014;">
30   -<!ENTITY nbsp "&#xA0;">
31   -<!ENTITY ndash "&#x2013;">
32   -<!ENTITY rdquo "&#x201D;">
33   -<!ENTITY swversion "10.4.0"> -> |release|
34 28  
35 29 Elements:
36 30  
... ...
manual/qpdf-manual.xml
1 1 <?xml version="1.0" encoding="utf-8"?>
2 2 <!DOCTYPE book [
3   -<!ENTITY ldquo "&#x201C;">
4   -<!ENTITY rdquo "&#x201D;">
5   -<!ENTITY mdash "&#x2014;">
6   -<!ENTITY ndash "&#x2013;">
7   -<!ENTITY nbsp "&#xA0;">
8 3 <!ENTITY swversion "10.4.0">
9 4 <!ENTITY lastreleased "November 16, 2021">
10 5 ]>
... ... @@ -265,7 +260,7 @@ make
265 260 <para>
266 261 Starting with qpdf 9.1.0, the qpdf library can be built with
267 262 multiple implementations of providers of cryptographic functions,
268   - which we refer to as &ldquo;crypto providers.&rdquo; At the time
  263 + which we refer to as "crypto providers." At the time
269 264 of writing, a crypto implementation must provide MD5 and SHA2
270 265 (256, 384, and 512-bit) hashes and RC4 and AES256 with and without
271 266 CBC encryption. In the future, if digital signature is added to
... ... @@ -588,7 +583,7 @@ make
588 583 <para>
589 584 @1@option@1@outfilename@2@option@2@ does not have to be seekable, even
590 585 when generating linearized files. Specifying
591   - &ldquo;@1@option@1@-@2@option@2@&rdquo; as @1@option@1@outfilename@2@option@2@
  586 + "@1@option@1@-@2@option@2@" as @1@option@1@outfilename@2@option@2@
592 587 means to write to standard output. If you want to overwrite the
593 588 input file with the output, use the option
594 589 @1@option@1@--replace-input@2@option@2@ and omit the output file name.
... ... @@ -1249,7 +1244,7 @@ make
1249 1244  
1250 1245 <programlisting>@1@option@1@--encrypt @1@replaceable@1@user-password@2@replaceable@2@ @1@replaceable@1@owner-password@2@replaceable@2@ @1@replaceable@1@key-length@2@replaceable@2@ [ @1@replaceable@1@restrictions@2@replaceable@2@ ] --@2@option@2@
1251 1246 </programlisting>
1252   - Note that &ldquo;@1@option@1@--@2@option@2@&rdquo; terminates parsing of
  1247 + Note that "@1@option@1@--@2@option@2@" terminates parsing of
1253 1248 encryption flags and must be present even if no restrictions are
1254 1249 present.
1255 1250 </para>
... ... @@ -1548,12 +1543,12 @@ make
1548 1543 Multiple input files may be specified. Each one is given as the
1549 1544 name of the input file, an optional password (if required to open
1550 1545 the file), and the range of pages. Note that
1551   - &ldquo;@1@option@1@--@2@option@2@&rdquo; terminates parsing of page
  1546 + "@1@option@1@--@2@option@2@" terminates parsing of page
1552 1547 selection flags.
1553 1548 </para>
1554 1549 <para>
1555 1550 Starting with qpf 8.4, the special input file name
1556   - &ldquo;@1@filename@1@.@2@filename@2@&rdquo; can be used as a shortcut for the
  1551 + "@1@filename@1@.@2@filename@2@" can be used as a shortcut for the
1557 1552 primary input filename.
1558 1553 </para>
1559 1554 <para>
... ... @@ -1581,8 +1576,8 @@ make
1581 1576 <para>
1582 1577 The page range is a set of numbers separated by commas, ranges of
1583 1578 numbers separated dashes, or combinations of those. The character
1584   - &ldquo;z&rdquo; represents the last page. A number preceded by an
1585   - &ldquo;r&rdquo; indicates to count from the end, so
  1579 + "z" represents the last page. A number preceded by an
  1580 + "r" indicates to count from the end, so
1586 1581 <literal>r3-r1</literal> would be the last three pages of the
1587 1582 document. Pages can appear in any order. Ranges can appear with a
1588 1583 high number followed by a low number, which causes the pages to
... ... @@ -1635,7 +1630,7 @@ make
1635 1630 <para>
1636 1631 Starting in qpdf version 8.3, you can specify the
1637 1632 @1@option@1@--collate@2@option@2@ option. Note that this option is
1638   - specified outside of @1@option@1@--pages&nbsp;...&nbsp;--@2@option@2@.
  1633 + specified outside of @1@option@1@--pages ... --@2@option@2@.
1639 1634 When @1@option@1@--collate@2@option@2@ is specified, it changes the
1640 1635 meaning of @1@option@1@--pages@2@option@2@ so that the specified files,
1641 1636 as modified by page ranges, are collated rather than concatenated.
... ... @@ -1711,8 +1706,8 @@ make
1711 1706  
1712 1707 <programlisting>@1@command@1@qpdf@2@command@2@ @1@option@1@--empty --pages infile.pdf 1-5 -- outfile.pdf@2@option@2@
1713 1708 </programlisting>
1714   - If you wanted to take pages 1&ndash;5 from
1715   - @1@filename@1@file1.pdf@2@filename@2@ and pages 11&ndash;15 from
  1709 + If you wanted to take pages 1 through 5 from
  1710 + @1@filename@1@file1.pdf@2@filename@2@ and pages 11 through 15 from
1716 1711 @1@filename@1@file2.pdf@2@filename@2@ in reverse, taking document-level
1717 1712 metadata from @1@filename@1@file2.pdf@2@filename@2@, you would run
1718 1713  
... ... @@ -1809,7 +1804,7 @@ outfile.pdf@2@option@2@
1809 1804 <para>
1810 1805 @1@option@1@--repeat=page-range@2@option@2@: an optional range of
1811 1806 pages that specifies which pages in the overlay/underlay file
1812   - will be repeated after the &ldquo;from&rdquo; pages are used
  1807 + will be repeated after the "from" pages are used
1813 1808 up. If you want to repeat a range of pages starting at the
1814 1809 beginning, you can explicitly use @1@option@1@--from=@2@option@2@.
1815 1810 </para>
... ... @@ -1850,7 +1845,7 @@ outfile.pdf@2@option@2@
1850 1845 <term>@1@option@1@--list-attachments@2@option@2@</term>
1851 1846 <listitem>
1852 1847 <para>
1853   - Show the &ldquo;key&rdquo; and stream number for embedded
  1848 + Show the "key" and stream number for embedded
1854 1849 files. With @1@option@1@--verbose@2@option@2@, additional
1855 1850 information, including preferred file name, description,
1856 1851 dates, and more are also displayed. The key is usually but not
... ... @@ -2447,8 +2442,8 @@ outfile.pdf@2@option@2@
2447 2442 <listitem>
2448 2443 <para>
2449 2444 For text fields and list boxes, any characters that fall
2450   - outside of US-ASCII or, if detected, &ldquo;Windows
2451   - ANSI&rdquo; or &ldquo;Mac Roman&rdquo; encoding, will be
  2445 + outside of US-ASCII or, if detected, "Windows
  2446 + ANSI" or "Mac Roman" encoding, will be
2452 2447 replaced by the <literal>?</literal> character.
2453 2448 </para>
2454 2449 </listitem>
... ... @@ -2529,7 +2524,7 @@ outfile.pdf@2@option@2@
2529 2524 <listitem>
2530 2525 <para>
2531 2526 Avoid optimizing images whose pixel count
2532   - (width&nbsp;×&nbsp;height) is below the specified amount. If
  2527 + (width × height) is below the specified amount. If
2533 2528 omitted, the default is 16,384 pixels. Use 0 for no minimum.
2534 2529 </para>
2535 2530 </listitem>
... ... @@ -2661,7 +2656,7 @@ outfile.pdf@2@option@2@
2661 2656 streams. This is generally safe but could, in some cases, cause
2662 2657 damage to the content streams. This option is intended for people
2663 2658 who wish to study PDF content streams or to debug PDF content.
2664   - You should not use this for &ldquo;production&rdquo; PDF files.
  2659 + You should not use this for "production" PDF files.
2665 2660 </para>
2666 2661 <para>
2667 2662 When normalizing content, if qpdf runs into any lexical errors, it
... ... @@ -2841,7 +2836,7 @@ outfile.pdf@2@option@2@
2841 2836 <para>
2842 2837 Show the contents of the given object. This is especially
2843 2838 useful for inspecting objects that are inside of object
2844   - streams (also known as &ldquo;compressed objects&rdquo;).
  2839 + streams (also known as "compressed objects").
2845 2840 </para>
2846 2841 </listitem>
2847 2842 </varlistentry>
... ... @@ -2934,7 +2929,7 @@ outfile.pdf@2@option@2@
2934 2929 <para>
2935 2930 This option is repeatable. If specified, only specified
2936 2931 objects will be shown in the
2937   - &ldquo;<literal>objects</literal>&rdquo; key of the JSON
  2932 + "<literal>objects</literal>" key of the JSON
2938 2933 output. If absent, all objects will be shown.
2939 2934 </para>
2940 2935 </listitem>
... ... @@ -2952,7 +2947,7 @@ outfile.pdf@2@option@2@
2952 2947 conditions that @1@option@1@--check@2@option@2@ detects. These are
2953 2948 issued as warnings instead of errors. If qpdf finds no errors
2954 2949 but finds warnings, it will exit with a status of 3 (as of
2955   - version&nbsp;2.0.4). When @1@option@1@--check@2@option@2@ is combined
  2950 + version 2.0.4). When @1@option@1@--check@2@option@2@ is combined
2956 2951 with other options, checks are always performed before any
2957 2952 other options are processed. For erroneous files,
2958 2953 @1@option@1@--check@2@option@2@ will cause qpdf to attempt to
... ... @@ -3300,10 +3295,10 @@ outfile.pdf@2@option@2@
3300 3295 </para>
3301 3296 <variablelist>
3302 3297 <varlistentry>
3303   - <term>&ldquo;C&rdquo;</term>
  3298 + <term>"C"</term>
3304 3299 <listitem>
3305 3300 <para>
3306   - The qpdf library includes a &ldquo;C&rdquo; language interface
  3301 + The qpdf library includes a "C" language interface
3307 3302 that provides a subset of the overall capabilities. The header
3308 3303 file @1@filename@1@qpdf/qpdf-c.h@2@filename@2@ includes information
3309 3304 about its use. As long as you use a C++ linker, you can link C
... ... @@ -3451,7 +3446,7 @@ outfile.pdf@2@option@2@
3451 3446 </para>
3452 3447 <para>
3453 3448 The top-level JSON structure contains a
3454   - &ldquo;<literal>version</literal>&rdquo; key whose value is
  3449 + "<literal>version</literal>" key whose value is
3455 3450 simple integer. The value of the <literal>version</literal> key
3456 3451 will be incremented if a non-compatible change is made. A
3457 3452 non-compatible change would be any change that involves removal
... ... @@ -3507,10 +3502,10 @@ outfile.pdf@2@option@2@
3507 3502 </listitem>
3508 3503 </itemizedlist>
3509 3504 For example, the help output indicates includes a
3510   - &ldquo;<literal>pagelabels</literal>&rdquo; key whose value is
  3505 + "<literal>pagelabels</literal>" key whose value is
3511 3506 an array of one element. That element is a dictionary with keys
3512   - &ldquo;<literal>index</literal>&rdquo; and
3513   - &ldquo;<literal>label</literal>&rdquo;. In addition to
  3507 + "<literal>index</literal>" and
  3508 + "<literal>label</literal>". In addition to
3514 3509 describing the meaning of those keys, this tells you that the
3515 3510 actual JSON output will contain a <literal>pagelabels</literal>
3516 3511 array, each of whose elements is a dictionary that contains an
... ... @@ -3546,7 +3541,7 @@ outfile.pdf@2@option@2@
3546 3541 <para>
3547 3542 Strings, names, and indirect object references in the original
3548 3543 PDF file are all converted to strings in the JSON
3549   - representation. In the case of a &ldquo;normal&rdquo; PDF file,
  3544 + representation. In the case of a "normal" PDF file,
3550 3545 you can tell the difference because a name starts with a slash
3551 3546 (<literal>/</literal>), and an indirect object reference looks
3552 3547 like <literal>n n R</literal>, but if there were to be a string
... ... @@ -3631,11 +3626,11 @@ outfile.pdf@2@option@2@
3631 3626 <para>
3632 3627 The image information included in the <literal>page</literal>
3633 3628 section of the JSON output includes the key
3634   - &ldquo;<literal>filterable</literal>&rdquo;. Note that the
  3629 + "<literal>filterable</literal>". Note that the
3635 3630 value of this field may depend on the
3636 3631 @1@option@1@--decode-level@2@option@2@ that you invoke qpdf with. The
3637 3632 JSON output includes a top-level key
3638   - &ldquo;<literal>parameters</literal>&rdquo; that indicates the
  3633 + "<literal>parameters</literal>" that indicates the
3639 3634 decode level used for computing whether a stream was
3640 3635 filterable. For example, jpeg images will be shown as not
3641 3636 filterable by default, but they will be shown as filterable if
... ... @@ -3674,8 +3669,8 @@ outfile.pdf@2@option@2@
3674 3669 is to generating warnings for recoverable problems. Note that
3675 3670 recovery will not always produce the desired results even if it is
3676 3671 able to get through the file. Unlike most other PDF files that
3677   - produce generic warnings such as &ldquo;This file is
3678   - damaged,&rdquo;, qpdf generally issues a detailed error message
  3672 + produce generic warnings such as "This file is
  3673 + damaged,", qpdf generally issues a detailed error message
3679 3674 that would be most useful to a PDF developer. This is by design as
3680 3675 there seems to be a shortage of PDF validation tools out there.
3681 3676 This was, in fact, one of the major motivations behind the initial
... ... @@ -3918,7 +3913,7 @@ outfile.pdf@2@option@2@
3918 3913 </para>
3919 3914 <para>
3920 3915 Prior to qpdf version 8.1, higher level interfaces were added as
3921   - &ldquo;convenience functions&rdquo; in either
  3916 + "convenience functions" in either
3922 3917 <classname>QPDF</classname> or
3923 3918 <classname>QPDFObjectHandle</classname>. For compatibility, older
3924 3919 convenience functions for operating with pages will remain in
... ... @@ -3954,7 +3949,7 @@ outfile.pdf@2@option@2@
3954 3949 immediately constructed from the single token and the parser
3955 3950 returns. Otherwise, the parser iterates in a special mode in which
3956 3951 it accumulates objects until it finds a balancing closer. During
3957   - this process, the &ldquo;<literal>R</literal>&rdquo; keyword is
  3952 + this process, the "<literal>R</literal>" keyword is
3958 3953 recognized and an indirect <classname>QPDFObjectHandle</classname>
3959 3954 may be constructed.
3960 3955 </para>
... ... @@ -4008,7 +4003,7 @@ outfile.pdf@2@option@2@
4008 4003 </listitem>
4009 4004 <listitem>
4010 4005 <para>
4011   - The parser sees &ldquo;<literal>&lt;&lt;</literal>&rdquo;, so
  4006 + The parser sees "<literal>&lt;&lt;</literal>", so
4012 4007 it calls itself recursively in dictionary creation mode.
4013 4008 </para>
4014 4009 </listitem>
... ... @@ -4016,13 +4011,13 @@ outfile.pdf@2@option@2@
4016 4011 <para>
4017 4012 In dictionary creation mode, the parser keeps accumulating
4018 4013 objects until it encounters
4019   - &ldquo;<literal>&gt;&gt;</literal>&rdquo;. Each object that is
  4014 + "<literal>&gt;&gt;</literal>". Each object that is
4020 4015 read is pushed onto a stack. If
4021   - &ldquo;<literal>R</literal>&rdquo; is read, the last two
  4016 + "<literal>R</literal>" is read, the last two
4022 4017 objects on the stack are inspected. If they are integers, they
4023 4018 are popped off the stack and their values are used to construct
4024 4019 an indirect object handle which is then pushed onto the stack.
4025   - When &ldquo;<literal>&gt;&gt;</literal>&rdquo; is finally read,
  4020 + When "<literal>&gt;&gt;</literal>" is finally read,
4026 4021 the stack is converted into a
4027 4022 <classname>QPDF_Dictionary</classname> which is placed in a
4028 4023 <classname>QPDFObjectHandle</classname> and returned.
... ... @@ -4296,7 +4291,7 @@ outfile.pdf@2@option@2@
4296 4291 other after adding them. Now it is possible to create a
4297 4292 @1@firstterm@1@reserved object@2@firstterm@2@ using
4298 4293 <function>QPDFObjectHandle::newReserved</function>. This is an
4299   - indirect object that stays &ldquo;unresolved&rdquo; even if it is
  4294 + indirect object that stays "unresolved" even if it is
4300 4295 queried for its type. So now, if you want to create a set of
4301 4296 mutually referential objects, you can create reservations for each
4302 4297 one of them and use those reservations to construct the
... ... @@ -4317,7 +4312,7 @@ outfile.pdf@2@option@2@
4317 4312 <classname>QPDF</classname> object from a different
4318 4313 <classname>QPDF</classname> object, which we refer to as
4319 4314 @1@firstterm@1@foreign objects@2@firstterm@2@. This allows arbitrary
4320   - merging of PDF files. The &ldquo;from&rdquo;
  4315 + merging of PDF files. The "from"
4321 4316 <classname>QPDF</classname> object must remain valid after the
4322 4317 copy as discussed in the note below. The @1@command@1@qpdf@2@command@2@
4323 4318 command-line tool provides limited support for basic page
... ... @@ -4371,7 +4366,7 @@ outfile.pdf@2@option@2@
4371 4366 </para>
4372 4367 <para>
4373 4368 This outline was written prior to implementation and is not
4374   - exactly accurate, but it provides a correct &ldquo;notional&rdquo;
  4369 + exactly accurate, but it provides a correct "notional"
4375 4370 idea of how writing works. Look at the code in
4376 4371 <classname>QPDFWriter</classname> for exact details.
4377 4372 <itemizedlist>
... ... @@ -4561,7 +4556,7 @@ outfile.pdf@2@option@2@
4561 4556 For general information about how to access instances of
4562 4557 <classname>QPDFObjectHandle</classname>, please see the comments
4563 4558 in @1@filename@1@QPDFObjectHandle.hh@2@filename@2@. Search for
4564   - &ldquo;Accessor methods&rdquo;. This section provides a more
  4559 + "Accessor methods". This section provides a more
4565 4560 in-depth discussion of the behavior and the rationale for the
4566 4561 behavior.
4567 4562 </para>
... ... @@ -4807,8 +4802,8 @@ outfile.pdf@2@option@2@
4807 4802 <para>
4808 4803 Once a file is optimized, we have information about which objects
4809 4804 access which other objects. We can then process these tables to
4810   - decide which part (as described in &ldquo;Linearized PDF Document
4811   - Structure&rdquo; in the PDF specification) each object is
  4805 + decide which part (as described in "Linearized PDF Document
  4806 + Structure" in the PDF specification) each object is
4812 4807 contained within. This tells us the exact order in which objects
4813 4808 are written. The <classname>QPDFWriter</classname> class asks for
4814 4809 this information and enqueues objects for writing in the proper
... ... @@ -4923,7 +4918,7 @@ print &quot;\n&quot;;
4923 4918 </para>
4924 4919 <para>
4925 4920 The PDF specification refers to objects in object streams as
4926   - &ldquo;compressed objects&rdquo; regardless of whether the object
  4921 + "compressed objects" regardless of whether the object
4927 4922 stream is compressed.
4928 4923 </para>
4929 4924 <para>
... ... @@ -5061,8 +5056,8 @@ print &quot;\n&quot;;
5061 5056 by <literal>/W</literal> above. A 0 in <literal>/W</literal>
5062 5057 indicates that the field is omitted and has the default value.
5063 5058 The default value for the field type is
5064   - &ldquo;<literal>1</literal>&rdquo;. All other default values are
5065   - &ldquo;<literal>0</literal>&rdquo;.
  5059 + "<literal>1</literal>". All other default values are
  5060 + "<literal>0</literal>".
5066 5061 </para>
5067 5062 <para>
5068 5063 PDF 1.5 has three field types:
... ... @@ -5226,7 +5221,7 @@ print &quot;\n&quot;;
5226 5221 <listitem>
5227 5222 <para>
5228 5223 Overhaul error handling for the object handle functions in
5229   - the C API. See comments in the &ldquo;Object handling&rdquo;
  5224 + the C API. See comments in the "Object handling"
5230 5225 section of @1@filename@1@include/qpdf/qpdf-c.h@2@filename@2@ for
5231 5226 details. In particular, exceptions thrown by the underlying
5232 5227 C++ code when calling object accessors are caught and
... ... @@ -7273,7 +7268,7 @@ print &quot;\n&quot;;
7273 7268 are passed to the qpdf CLI in Windows, qpdf will now
7274 7269 correctly receive them. In the past, they would have
7275 7270 either been encoded as Windows code page 1252 (also known
7276   - as &ldquo;Windows ANSI&rdquo; or as something
  7271 + as "Windows ANSI" or as something
7277 7272 unintelligible. In almost all cases, qpdf is able to
7278 7273 properly interpret Unicode arguments now, whereas in the
7279 7274 past, it would almost never interpret them properly. The
... ... @@ -7356,7 +7351,7 @@ print &quot;\n&quot;;
7356 7351 <listitem>
7357 7352 <para>
7358 7353 In the @1@option@1@--pages@2@option@2@ option, allow use of
7359   - &ldquo;.&rdquo; as a shortcut for the primary input file.
  7354 + "." as a shortcut for the primary input file.
7360 7355 That way, you can do @1@command@1@qpdf in.pdf --pages . 1-2 --
7361 7356 out.pdf@2@command@2@ instead of having to repeat
7362 7357 @1@filename@1@in.pdf@2@filename@2@ in the command.
... ... @@ -7477,7 +7472,7 @@ print &quot;\n&quot;;
7477 7472 <para>
7478 7473 Add new method
7479 7474 <function>QPDFPageObjectHelper::shallowCopyPage()</function>
7480   - to copy a new page that is a &ldquo;shallow copy&rdquo; of a
  7475 + to copy a new page that is a "shallow copy" of a
7481 7476 page. The resulting object is an indirect object ready to be
7482 7477 passed to
7483 7478 <function>QPDFPageDocumentHelper::addPage()</function> for
... ... @@ -7689,7 +7684,7 @@ print &quot;\n&quot;;
7689 7684 @1@option@1@--oi-min-height@2@option@2@, and
7690 7685 @1@option@1@--oi-min-area@2@option@2@ prevent recompression of
7691 7686 images whose width, height, or pixel area
7692   - (width&nbsp;&#xd7;&nbsp;height) are below a specified
  7687 + (width &#xd7; height) are below a specified
7693 7688 threshold.
7694 7689 </para>
7695 7690 </listitem>
... ... @@ -8154,7 +8149,7 @@ print &quot;\n&quot;;
8154 8149 </listitem>
8155 8150 <listitem>
8156 8151 <para>
8157   - In &ldquo;newline before endstream&rdquo; mode, insert the
  8152 + In "newline before endstream" mode, insert the
8158 8153 required extra newline before the
8159 8154 <literal>endstream</literal> at the end of object streams.
8160 8155 This one case was previously omitted.
... ... @@ -8169,7 +8164,7 @@ print &quot;\n&quot;;
8169 8164 <itemizedlist>
8170 8165 <listitem>
8171 8166 <para>
8172   - The first round of higher level &ldquo;helper&rdquo;
  8167 + The first round of higher level "helper"
8173 8168 interfaces has been introduced. These are designed to
8174 8169 provide a more convenient way of interacting with certain
8175 8170 document features than using
... ... @@ -8290,7 +8285,7 @@ print &quot;\n&quot;;
8290 8285 <listitem>
8291 8286 <para>
8292 8287 On the command line when specifying page ranges, support
8293   - preceding a page number by &ldquo;r&rdquo; to indicate that it
  8288 + preceding a page number by "r" to indicate that it
8294 8289 should be counted from the end. For example, the range
8295 8290 <literal>r3-r1</literal> would indicate the last three pages
8296 8291 of a document.
... ... @@ -8337,8 +8332,8 @@ print &quot;\n&quot;;
8337 8332 not of the expected type. In most cases, qpdf will be able
8338 8333 to warn for such cases rather than fail with an exception.
8339 8334 Previous versions of qpdf would sometimes fail with errors
8340   - such as &ldquo;operation for dictionary object attempted on
8341   - object of wrong type&rdquo;. This situation should be mostly
  8335 + such as "operation for dictionary object attempted on
  8336 + object of wrong type". This situation should be mostly
8342 8337 or entirely eliminated now.
8343 8338 </para>
8344 8339 </listitem>
... ... @@ -9142,8 +9137,8 @@ print &quot;\n&quot;;
9142 9137 command line by specifying use of 256-bit keys. qpdf also
9143 9138 supports the deprecated encryption method used by Acrobat IX.
9144 9139 This encryption style has known security weaknesses and should
9145   - not be used in practice. However, such files exist &ldquo;in
9146   - the wild,&rdquo; so support for this scheme is still useful.
  9140 + not be used in practice. However, such files exist "in
  9141 + the wild," so support for this scheme is still useful.
9147 9142 New methods
9148 9143 <function>QPDFWriter::setR6EncryptionParameters</function>
9149 9144 (for the PDF 2.0 scheme) and
... ... @@ -9340,7 +9335,7 @@ print &quot;\n&quot;;
9340 9335 Bug fix: if an object stream ended with a scalar object not
9341 9336 followed by space, qpdf would incorrectly report that it
9342 9337 encountered a premature EOF. This bug has been in qpdf since
9343   - version&nbsp;2.0.
  9338 + version 2.0.
9344 9339 </para>
9345 9340 </listitem>
9346 9341 </itemizedlist>
... ... @@ -9881,12 +9876,12 @@ print &quot;\n&quot;;
9881 9876 Žarko Gajić has written a Delphi wrapper for qpdf, which can
9882 9877 be downloaded from qpdf's download side. Žarko's Delphi
9883 9878 wrapper is released with the same licensing terms as qpdf
9884   - itself and comes with this disclaimer: &ldquo;Delphi wrapper
  9879 + itself and comes with this disclaimer: "Delphi wrapper
9885 9880 unit @1@filename@1@qpdf.pas@2@filename@2@ created by Žarko Gajić
9886 9881 (<ulink
9887 9882 url="http://zarko-gajic.iz.hr/">http://zarko-gajic.iz.hr/</ulink>).
9888 9883 Use at your own risk and for whatever purpose you want. No
9889   - support is provided. Sample code is provided.&rdquo;
  9884 + support is provided. Sample code is provided."
9890 9885 </para>
9891 9886 </listitem>
9892 9887 <listitem>
... ... @@ -9982,7 +9977,7 @@ print &quot;\n&quot;;
9982 9977 <listitem>
9983 9978 <para>
9984 9979 Include proper support for LZW streams encoded without the
9985   - &ldquo;early code change&rdquo; flag. Special thanks to Atom
  9980 + "early code change" flag. Special thanks to Atom
9986 9981 Smasher who reported the problem and provided an input file
9987 9982 compressed in this way, which I did not previously have.
9988 9983 </para>
... ...