asciidoctor-pdf 1.6.1 → 2.0.0.alpha.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +1 -1
  3. data/CHANGELOG.adoc +273 -31
  4. data/NOTICE.adoc +16 -4
  5. data/README.adoc +208 -68
  6. data/asciidoctor-pdf.gemspec +3 -7
  7. data/data/fonts/ABOUT-mplus1mn-subset +1 -1
  8. data/data/fonts/ABOUT-mplus1p-subset +2 -2
  9. data/data/fonts/ABOUT-notosans-subset +26 -0
  10. data/data/fonts/ABOUT-notoserif-subset +1 -1
  11. data/data/fonts/{LICENSE-notoserif → LICENSE-noto} +0 -0
  12. data/data/fonts/mplus1mn-bold-subset.ttf +0 -0
  13. data/data/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
  14. data/data/fonts/mplus1mn-italic-subset.ttf +0 -0
  15. data/data/fonts/mplus1mn-regular-subset.ttf +0 -0
  16. data/data/fonts/mplus1p-regular-fallback.ttf +0 -0
  17. data/data/fonts/notoemoji-subset.ttf +0 -0
  18. data/data/fonts/notosans-bold-subset.ttf +0 -0
  19. data/data/fonts/notosans-bold_italic-subset.ttf +0 -0
  20. data/data/fonts/notosans-italic-subset.ttf +0 -0
  21. data/data/fonts/notosans-regular-subset.ttf +0 -0
  22. data/data/fonts/notoserif-bold-subset.ttf +0 -0
  23. data/data/fonts/notoserif-bold_italic-subset.ttf +0 -0
  24. data/data/fonts/notoserif-italic-subset.ttf +0 -0
  25. data/data/fonts/notoserif-regular-subset.ttf +0 -0
  26. data/data/themes/base-theme.yml +21 -24
  27. data/data/themes/default-for-print-theme.yml +24 -0
  28. data/data/themes/default-for-print-with-fallback-font-theme.yml +3 -0
  29. data/data/themes/default-theme.yml +55 -59
  30. data/data/themes/default-with-fallback-font-theme.yml +2 -2
  31. data/data/themes/sans-with-fallback-font-theme.yml +10 -0
  32. data/docs/theming-guide.adoc +977 -352
  33. data/lib/asciidoctor/pdf/converter.rb +1853 -1566
  34. data/lib/asciidoctor/pdf/ext/asciidoctor/document.rb +22 -1
  35. data/lib/asciidoctor/pdf/ext/asciidoctor/image.rb +9 -15
  36. data/lib/asciidoctor/pdf/ext/asciidoctor/list.rb +6 -13
  37. data/lib/asciidoctor/pdf/ext/asciidoctor/section.rb +3 -16
  38. data/lib/asciidoctor/pdf/ext/asciidoctor.rb +1 -5
  39. data/lib/asciidoctor/pdf/ext/core/file.rb +1 -1
  40. data/lib/asciidoctor/pdf/ext/core/quantifiable_stdout.rb +1 -4
  41. data/lib/asciidoctor/pdf/ext/core/string.rb +2 -2
  42. data/lib/asciidoctor/pdf/ext/core.rb +1 -4
  43. data/lib/asciidoctor/pdf/ext/pdf-core/page.rb +8 -33
  44. data/lib/asciidoctor/pdf/ext/pdf-core.rb +0 -16
  45. data/lib/asciidoctor/pdf/ext/prawn/coderay_encoder.rb +5 -7
  46. data/lib/asciidoctor/pdf/ext/prawn/extensions.rb +489 -331
  47. data/lib/asciidoctor/pdf/ext/prawn/font/afm.rb +0 -4
  48. data/lib/asciidoctor/pdf/ext/prawn/font_metric_cache.rb +1 -1
  49. data/lib/asciidoctor/pdf/ext/prawn/formatted_text/arranger.rb +33 -3
  50. data/lib/asciidoctor/pdf/ext/prawn/formatted_text/box.rb +25 -14
  51. data/lib/asciidoctor/pdf/ext/prawn/formatted_text/fragment.rb +9 -3
  52. data/lib/asciidoctor/pdf/ext/prawn/formatted_text/protect_bottom_gutter.rb +13 -0
  53. data/lib/asciidoctor/pdf/ext/prawn/images.rb +20 -18
  54. data/lib/asciidoctor/pdf/ext/prawn-svg/loaders/data.rb +6 -0
  55. data/lib/asciidoctor/pdf/ext/prawn-svg/loaders/web.rb +22 -0
  56. data/lib/asciidoctor/pdf/ext/prawn-svg/url_loader.rb +13 -0
  57. data/lib/asciidoctor/pdf/ext/prawn-svg.rb +5 -2
  58. data/lib/asciidoctor/pdf/ext/prawn-table/cell/asciidoc.rb +76 -20
  59. data/lib/asciidoctor/pdf/ext/prawn-table/cell/text.rb +39 -1
  60. data/lib/asciidoctor/pdf/ext/prawn-table/cell.rb +21 -15
  61. data/lib/asciidoctor/pdf/ext/prawn-table.rb +1 -1
  62. data/lib/asciidoctor/pdf/ext/prawn.rb +1 -0
  63. data/lib/asciidoctor/pdf/ext/pygments.rb +2 -2
  64. data/lib/asciidoctor/pdf/ext/rouge/formatters/prawn.rb +17 -20
  65. data/lib/asciidoctor/pdf/ext/rouge/themes/asciidoctor_pdf_default.rb +1 -0
  66. data/lib/asciidoctor/pdf/ext/rouge.rb +0 -1
  67. data/lib/asciidoctor/pdf/formatted_text/formatter.rb +2 -2
  68. data/lib/asciidoctor/pdf/formatted_text/inline_destination_marker.rb +8 -10
  69. data/lib/asciidoctor/pdf/formatted_text/inline_image_arranger.rb +69 -78
  70. data/lib/asciidoctor/pdf/formatted_text/inline_image_renderer.rb +7 -10
  71. data/lib/asciidoctor/pdf/formatted_text/inline_text_aligner.rb +2 -4
  72. data/lib/asciidoctor/pdf/formatted_text/parser.rb +53 -47
  73. data/lib/asciidoctor/pdf/formatted_text/parser.treetop +5 -7
  74. data/lib/asciidoctor/pdf/formatted_text/source_wrap.rb +14 -14
  75. data/lib/asciidoctor/pdf/formatted_text/text_background_and_border_renderer.rb +4 -7
  76. data/lib/asciidoctor/pdf/formatted_text/transform.rb +122 -110
  77. data/lib/asciidoctor/pdf/formatted_text.rb +0 -1
  78. data/lib/asciidoctor/pdf/index_catalog.rb +7 -11
  79. data/lib/asciidoctor/pdf/nogmagick.rb +6 -0
  80. data/lib/asciidoctor/pdf/optimizer.rb +3 -5
  81. data/lib/asciidoctor/pdf/pdfmark.rb +16 -8
  82. data/lib/asciidoctor/pdf/roman_numeral.rb +4 -22
  83. data/lib/asciidoctor/pdf/sanitizer.rb +18 -13
  84. data/lib/asciidoctor/pdf/section_info_by_page.rb +24 -0
  85. data/lib/asciidoctor/pdf/theme_loader.rb +100 -80
  86. data/lib/asciidoctor/pdf/version.rb +1 -2
  87. data/lib/asciidoctor/pdf.rb +5 -2
  88. metadata +36 -64
  89. data/data/fonts/mplus1mn-bold-ascii.ttf +0 -0
  90. data/data/fonts/mplus1mn-bold_italic-ascii.ttf +0 -0
  91. data/data/fonts/mplus1mn-italic-ascii.ttf +0 -0
  92. data/data/fonts/mplus1mn-regular-ascii-conums.ttf +0 -0
  93. data/lib/asciidoctor/pdf/ext/asciidoctor/abstract_block.rb +0 -7
  94. data/lib/asciidoctor/pdf/ext/asciidoctor/abstract_node.rb +0 -7
  95. data/lib/asciidoctor/pdf/ext/asciidoctor/list_item.rb +0 -18
  96. data/lib/asciidoctor/pdf/ext/asciidoctor/logging_shim.rb +0 -33
  97. data/lib/asciidoctor/pdf/ext/core/array.rb +0 -11
  98. data/lib/asciidoctor/pdf/ext/core/hash.rb +0 -7
  99. data/lib/asciidoctor/pdf/ext/core/regexp.rb +0 -5
  100. data/lib/asciidoctor/pdf/ext/pdf-core/pdf_object.rb +0 -8
  101. data/lib/asciidoctor-pdf/converter.rb +0 -3
  102. data/lib/asciidoctor-pdf/version.rb +0 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 38535fd62633525b00cea5277158ac23dbbd1bf515ee577ff867d7a498149b19
4
- data.tar.gz: 24b2f3f50bb62f71416ce783fdd173e7574680ca445e4cd724f265086b2e8978
3
+ metadata.gz: da863e1bc05edaf64e5e443bb042fdaa01cc048ac559c9955bac4d7c27fff1c1
4
+ data.tar.gz: 0712e9ee6655c004b82f64c78d3c1eb326c182576e447669cce11e4ff7ca34db
5
5
  SHA512:
6
- metadata.gz: cb5e3a7117b597b3cc2f31ee013adbbf2415d6fa36893b5375e6a2aabffcdff456c72ecce0800a1cff43a637259c1c94321338fc626bb936c38841ce87909015
7
- data.tar.gz: 7a18ab5e3d91cd6c9e1a99d2bd6885beaf329a249144e82a37fbfecbd784aae3758760c9695a82ef44304c951892d76113aad6737c11f720f888a552f00e18ab
6
+ metadata.gz: 8626792d427b27b635a6836fa0c1c7bf75faff5d82f1a71d74a23333e516086475e268cd524a5f5d2c0cfc9827b5b0f72a9d41fd6cc6b7c568506d914daf6840
7
+ data.tar.gz: 764bc2e6b6f069d437583c095a92f9e92969e306c872ea92c52e805c0063fa1d810390a303b597252adb9ca33015bd340f5e8d3851a0d64bb96d0cdc5d523329
data/.yardopts CHANGED
@@ -8,5 +8,5 @@
8
8
  lib/**/*.rb
9
9
  -
10
10
  CHANGELOG.adoc
11
- LICENSE.adoc
11
+ LICENSE
12
12
  NOTICE.adoc
data/CHANGELOG.adoc CHANGED
@@ -3,7 +3,274 @@
3
3
  :uri-repo: https://github.com/asciidoctor/asciidoctor-pdf
4
4
 
5
5
  This document provides a high-level view of the changes to the {project-name} by release.
6
- For a detailed view of what has changed, refer to the {uri-repo}/commits/v1.6.x[commit history] on GitHub.
6
+ For a detailed view of what has changed, refer to the {uri-repo}/commits/main[commit history] on GitHub.
7
+
8
+ == 2.0.0.alpha.2 (2022-04-29) - @mojavelinux
9
+
10
+ Enhancements::
11
+
12
+ * separate `align` and `text-align` keys in theme schema; remap old keys for backwards compatibility (#2095)
13
+ * allow theme to control the border on all sides of tables independently (#902)
14
+ * keep section title with first block of content is `breakable` option is set on section (#2075, #38)
15
+ * pass `part`, `chapterlike`, and `hidden` options to `arrange_section` method
16
+ * add support for `background-color` property on caption (#1995)
17
+ * add support for image-based icons, resolved from `iconsdir` and having the `icontype` file extension (#1770)
18
+ * add `asciidoctor/pdf/nogmagick` script to prevent Gmagick from handling PNG images (#1687)
19
+ * change name of `untitled` option on special section to `notitle`
20
+ * allow the title of any section to be hidden using the `notitle` option
21
+ * allow imported PDF page to be referenced in TOC by enclosing in parent section with `notitle` option (#1213)
22
+ * allow entry for preface to be added to TOC without adding title to body using the `notitle` option on the preface section (#1786)
23
+ * automatically promote the `notitle` option from the first block in the premable to preface section; restore lead role on opening paragraph (#1786)
24
+
25
+ Improvements::
26
+
27
+ * change "icon" to "icon image" in warning about missing admonition icon image
28
+ * report admonition type in warning about missing implicit admonition icon image
29
+
30
+ Bug Fixes::
31
+
32
+ * set the base font of the front cover image is a PDF and the title page is not active (#2092)
33
+ * pass through warnings in background SVG to logger (#1940)
34
+ * keep closing quote with trailing ellipsis in text enclosed in typographic quotes (#321)
35
+ * collapse space in front of hidden index term (#2061)
36
+ * delete dests on page before deleting it (keeps generated PDF clean of obsolete destinations)
37
+ * don't call `arrange_section` if section title is hidden
38
+ * remove `theme_font` enclosure around call to `start_new_chapter` and `start_new_part`
39
+ * change `layout_` method prefix to `inscribe_` in converter (#2099)
40
+
41
+ === Details
42
+
43
+ {url-repo}/releases/tag/v2.0.0.alpha.2[git tag] | {url-repo}/compare/v2.0.0.alpha.1\...v2.0.0.alpha.2[full diff]
44
+
45
+ == 2.0.0.alpha.1 (2022-04-20) - @mojavelinux
46
+
47
+ Enhancements::
48
+
49
+ * make delimited blocks breakable by default; require the `unbreakable` option on the block to retain the previous "`keep together`" behavior (#2004, #578, #509, #240)
50
+ * add support for the %unbreakable option on a table to prevent it from being split across pages (#2022, #871, #819, #331)
51
+ * add support for the %breakable option on a table (special case) to keep the caption and ID with the start of the table (#2022, #993)
52
+ * implement smart bottom margins on blocks to prevent extra space below blocks, particularly nested blocks (#1515, #1513, #1845)
53
+ * drop support for `top-margin` key on block and prose categories in theme; space between delimited blocks and lists now controlled using bottom margins only (#1515)
54
+ * allow location of anchor for block to be positioned relative to content using `block-anchor-top` key in theme (#2013)
55
+ * allow page numbering and running content to start after first page of a document without a title page by assigning an integer to the respective `start_at` theme key (#1644)
56
+ * allow page numbering and running content to start after toc (wherever it's placed) by assigning the keyword `after-toc` to the respective `start_at` theme key (#1763)
57
+ * allow theme to configure page numbering to start at cover (#1727)
58
+ * allow the front and back cover images to be defined in the theme (#1584)
59
+ * allow the front and back cover images to be specified as a data URI (#1584)
60
+ * allow theme to control margin and content margin of running content per periphery (header or footer) and per side (recto or verso) (#994)
61
+ * allow theme to control border style of delimited blocks (example, sidebar, code, admonition, verse, quote) (#1586)
62
+ * allow theme to control font color of first line of abstract using `abstract-first-line-font-color` key
63
+ * allow theme to control background color and border offset (only for background) of links (#1705)
64
+ * support custom role on paragraph to allow theme to control font properties (#483)
65
+ * change lead category in theme to built-in role named lead (#2031)
66
+ * allow theme to control line height of blocks using line-height property where font properties are accepted (#2032)
67
+ * don't render index section if index is empty (i.e., there are no index entries)
68
+ * allow title of special section to be hidden by setting `untitled` option on section
69
+ * stabilize font paths in built-in themes by prefixing paths with GEM_FONTS_DIR (#1568)
70
+ * assign `page-layout` attribute in running content so it can be used to select a background per layout (#1570)
71
+ * reset numbering of footnotes in each chapter (#1639)
72
+ * add chapter xreftext to label of footnote reference that refers to previous chapter (#1639)
73
+ * add support for assigning the same font file to all font variants (i.e., styles) using the wildcard key (`*`) (#1588)
74
+ * bundle Noto Sans in addition to Noto Serif and add built-in theme sans-with-fallback-font (#2010)
75
+ * allow caption max-width to be set to percentage of content by passing argument to fit-content function (#1494)
76
+ * allow theme to control text alignment of caption independent of box alignment (#1493)
77
+ * set `chapter-numeral` attribute in running content on pages in chapter if `sectnums` attribute is set (#1373)
78
+ * set `part-numeral` attribute in running content on pages in part if `partnums` attribute is set (#1373)
79
+ * add support for normal_italic font style (to reset font style to normal, then apply italic) (#1603)
80
+ * honor text alignment roles (e.g., `text-left`) or `list-text-align` theme key on callout lists
81
+ * honor text alignment roles (e.g., `text-center`) on block image (#1609)
82
+ * honor role and inherited role on inline image (#1939, #1376)
83
+ * disable running header and/or footer on toc pages if `noheader` and/or `nofooter` option is set on toc macro (#1378)
84
+ * add support for preamble toc placement
85
+ * only insert macro toc at location of first toc macro
86
+ * ignore requested pages not found in imported PDF (#1616)
87
+ * disable document outline if `outline` document attribute is unset (#1619)
88
+ * keep temporary artifacts (for debugging) if KEEP_ARTIFACTS env var is set
89
+ * define a dest name "toc" at the top of the default toc location
90
+ * normalize space characters in authors content and drop lines with unresolved attribute references (#1642)
91
+ * skip image block with missing image if computed alt text resolves to empty string (#1645)
92
+ * custom theme does not inherit from base theme by default; must be specified explicitly using `extends: base` (#1640)
93
+ * allow theme to configure number of index columns using `index_columns` key (#1663)
94
+ * configure AsciiDoc table cell to inherit font properties from table and scale font size of nested blocks (#926)
95
+ * scale font size of literal table cell (#1696)
96
+ * add support for `id` attribute on link macro
97
+ * add support for `link` attribute on icon macro (#1915)
98
+ * allow theme to configure width of block border on ends separate from sides (#1693)
99
+ * add additional glyphs to built-in fonts (heavy checkmark to fallback font; both checkmarks to monospaced font; numero sign to prose and fallback fonts) (#1625)
100
+ * allow theme to specify text decoration style, color, and width for captions (globally)
101
+ * allow admonition icon image to be remote (if allow-uri-read is set) or data URI (#1711)
102
+ * allow theme to configure font color of unresolved footnote using unresolved role
103
+ * show textual label on admonition if icon image fails to embed (#1741)
104
+ * allow theme to disable title page by assigning false to `title_page` category key (#1754)
105
+ * allow Rouge theme to be specified as theme class or instance (API only)
106
+ * allow theme to control font size of dot leader in TOC
107
+ * allow section to override outlinelevels for self and children using `outlinelevels` attribute on section
108
+ * use value of `author` attribute for PDF info and pdfmark if locked by the API (#1778)
109
+ * only extend theme in extends hierarchy once unless modified with `!important` (#1800)
110
+ * add print-optimized themes (default-for-print and default-for-print-with-fallback-font) (#1699)
111
+ * add support for power operator in theme (with same precedence as multiply and divide) (#1813)
112
+ * include floor and ceil match characters in fallback font (#1832) (*@oddhack*)
113
+ * allow horizontal and vertical lines of table grid to be styled independently (#1875) (*@hextremist*)
114
+ * allow theme to define the characters for typographical quotation marks (#1880) (*@klonfish*)
115
+ * allow theme to control top margin of callout lists that immediately follow a code block using `callout-list-margin-top-after-code` key (#1895)
116
+ * introduce `layout_general_heading` to allow extended converter to access node (#1904)
117
+ * use `Document#authors` to retrieve authors instead of extracting the information from the indexed document attributes
118
+ * add support for character references that contain both uppercase and lowercase hexadecimal characters (#1990) (*@etiwnad*)
119
+ * log error and skip table instead of raising error if cell content cannot fit into column width of table (#2009)
120
+ * extract `arrange_section` method to compute whether section title should be advanced to next page (#2023)
121
+ * introduce `callout-list` category in theme to control font properties and item spacing of callout lists (#1722)
122
+ * only indent inner paragraphs (paragraphs that follow an adjacent paragraph) if `prose-text-indent-inner` key is set in theme (#2034)
123
+ * stop and restart conversion in scratch document once the code determines the block does not fit in the available space (#2003)
124
+
125
+ Bug Fixes::
126
+
127
+ * reimplement arrange block logic by using scratch document to compute extent for content block in primary document instead of height (#2003, #2016, #789)
128
+ * correctly compute height of delimited block attached to description of item in horizontal dlist (follow-up to #2003)
129
+ * do not crash if item in horizontal description list has no desc
130
+ * do not crash if item in unordered description list has no desc and do not append subject stop to term
131
+ * ensure that `Time.parse` is loaded
132
+ * resolve images in theme correctly when theme is loaded from classloader (JRuby only) (#1829)
133
+ * log warning rather than crash if front cover image cannot be embedded (such as a broken SVG)
134
+ * do not insert blank line in index when term is forced to break (#1665)
135
+ * honor prepress page margins on subsequent pages in index (#1929)
136
+ * use more robust strategy for line height normalization that accounts for case when line contains only monospaced text (#1650)
137
+ * add support for line-height property on lead role as documented
138
+ * prevent generator from allocating space for placeholder null char (used for anchors) if font is missing glyph (#1672)
139
+ * ensure background and admonition icon image files are closed after being read (#1566)
140
+ * ensure temporary images generated by running content are cleaned up (#1566)
141
+ * fix encoding of indent in wrapped source blocks when font is AFM (#1934)
142
+ * fix spacing after first line of indented paragraph (#1557)
143
+ * fix crash if btn or kbd macro is used in section title (#1563)
144
+ * fix crash when applying text transform to heading cell in table body (#1575)
145
+ * allow custom inline role to control text transform when it's not the only role on the phrase
146
+ * do not convert already converted intrinsic width for block and inline SVG
147
+ * honor font style when looking for glyph in font
148
+ * resolve character references in custom admonition label (as defined via caption attribute)
149
+ * convert blocks inside abstract, not just the contents of the blocks
150
+ * only suggest installing prawn-gmagick gem if not loaded (#1578)
151
+ * applying double border style to thematic break should honor border width
152
+ * warn once instead of crashing if page background image cannot be embedded (#1780)
153
+ * warn once instead of crashing if `cache-uri` is set but library is not available
154
+ * sanitize values of PDF info values (#1594)
155
+ * configure headings to inherit font styles from theme (#1604)
156
+ * use conum font family defined in theme for conum in verbatim block (#1611)
157
+ * apply font color and text transform from theme to terms in horizontal dlist (#1994)
158
+ * prevent content of AsciiDoc table cell from overrunning content on subsequent pages (#1623)
159
+ * account for top/bottom padding when computing height of AsciiDoc table cell
160
+ * log error message if table cell is truncated (#1626)
161
+ * take hard line breaks into account when computing natural width of table cell (#1762)
162
+ * use "toc" as the default dest name for the macro toc
163
+ * position page split indicator correctly when block has transparent border
164
+ * replace block macro with missing PDF target with alt text
165
+ * consistently use default margin when page margin resolves to empty array
166
+ * sort page numbers in index numerically instead of lexicographically; sort mixed page number types correctly (#1657)
167
+ * use informal title prefixed with down indicator for collapsible block (#1660)
168
+ * don't apply border, shading, or padding to collapsible block (#1660)
169
+ * escape bare ampersand in attribution and citetitle of quote or verse block (#1662)
170
+ * fix numeric assertions in test suite (#1542)
171
+ * prevent converter for list item from inserting new page to position marker when next page is already instantiated (#2001)
172
+ * keep block anchor with code block when block is moved to next page (#1897)
173
+ * keep block anchor with admonition block when block is moved to next page
174
+ * remove poorly-defined (and undocumented) border bottom property for caption
175
+ * fix crash when theme specifies CMYK value for table border color (#1700)
176
+ * fallback gracefully if unrecognized convert-time syntax highlighter is used
177
+ * correctly process a sequence of two or more callouts separated by spaces in a source block (#1898)
178
+ * allow callouts sub to be disabled on source blocks (#1704)
179
+ * show missing footnote reference in superscript
180
+ * fix crash when `icons=font` and `admonition_label_min_width` is set in theme
181
+ * use oembed API over HTTPS to get thumbnail for Vimeo video
182
+ * show link to Vimeo video if `allow-uri-read` attribute is not set
183
+ * don't apply syntax highlighting if Rouge lexer fails to highlight source; show plain source instead
184
+ * don't apply syntax highlighting to source block if `specialchars` sub is disabled
185
+ * apply border bottom to correct table row when frame and grid are disabled (#1873)
186
+ * allow caption max width to be set by theme to fixed value
187
+ * fix crash when footnote is defined in section title with auto-generated ID
188
+ * do not duplicate footnotes in desc of horizontal description list (#1775)
189
+ * allow an index term to be defined in section title with auto-generated ID
190
+ * fix alignment of link box for image in running content with numeric vertical alignment
191
+ * fix vertical center alignment of normal table cell
192
+ * short-circuit xreftext containing a circular reference path
193
+ * prevent PDF page import from corrupting references in PDF (#1726)
194
+ * display decimal list marker correctly when list is reversed (e.g., 10., 09., 08., etc)
195
+ * use correct spacing for dotted border dash on table (length and spacing should match width)
196
+ * set color space on page with only image so font color is preserved in running content (#1742)
197
+ * compute font size for superscript and subscript correctly when parent element uses em and % units (#1745)
198
+ * respect hyphenation exceptions when word is adjacent to non-word character (#1715)
199
+ * fix crash when TOC is enabled and index is empty
200
+ * align TOC section properly when index exceeds one page and `section_indent` is positive (#1735)
201
+ * fix left margin drift when indentation is active across a page break (#1735, #1949)
202
+ * render image at end of section title in corresponding toc entry (#1752)
203
+ * allow inline image to be enclosed in link macro (alt text was breaking parsing)
204
+ * prevent inline image from rendering multiple times if fallback font is used for alt text (#1858)
205
+ * allow theme to set font style of first line of abstract to normal
206
+ * resize admonition label to fit if height exceeds height of content box
207
+ * fix crash when underline style is used in Rouge theme
208
+ * fix crash when Text token is not defined in custom Rouge theme
209
+ * fix crash when Pygments style is not recognized; fall back to pastie style
210
+ * avoid loss of precision in CMYK color value for conum or footnote font
211
+ * use value of `untitled-label` attribute as fallback value for doctitle in running content (#1772)
212
+ * use value of `untitled-label` attribute as fallback value for Title field in pdfmark (follow-up to #1772)
213
+ * show sensible error message if background image cannot be loaded (e.g., data is corrupt)
214
+ * honor alignment role when aligning alt text for missing block image
215
+ * don't crash when rendering alt text for block image if value of align attribute is invalid (#1781)
216
+ * correctly scale down SVG that only marginally exceeds bounds of page when `fit=scale-down`
217
+ * prevent font scale from compounding for nested blocks in AsciiDoc table cell (#2007)
218
+ * don't suppress actual error message when theme cannot be loaded; may contain information about theme being extended
219
+ * force inline image to fit within table cell when width is larger than available space (#1798)
220
+ * hide print annotation for bare email address (#1806)
221
+ * patch float precision constant so prawn-table does not fail to arrange cells that span columns (#1835)
222
+ * capture footnotes in AsciiDoc table cell and render them with other footnotes at end of article/chapter (#1777)
223
+ * prevent PDF from being used as logo image on title page (since it cannot work properly anyway)
224
+ * don't crash when generating TOC if section title is empty
225
+ * escape closing square bracket around alt text of missing image so it doesn't get matched as part of a link macro
226
+ * use value of `author` attribute in PDF info and pdfmark if `authors` attribute is not set (#1922)
227
+ * honor `pdf-folio-placement` setting even when `media=prepress` (#1917)
228
+ * honor `pre-wrap` role on phrase (#1927)
229
+ * verify alignment of list marker in AsciiDoc table cell (#1965)
230
+ * don't crash if value of `width` attribute on image has invalid format (#1970)
231
+ * don't render borders and backgrounds in scratch document
232
+ * don't insert blank page after document title if first block (chapter or toc macro) has nonfacing option (#1988)
233
+ * coerce negated variable reference to number if value of variable is numeric
234
+ * prepress page margins should honor value of `pdf-folio-placement` (#1918)
235
+ * ensure callout number in callout list stays with primary text when item is advanced to next page (#1967)
236
+
237
+ Compliance::
238
+
239
+ * drop support for Ruby < 2.7 and JRuby < 9.2 (#1681, #2038)
240
+ * declare the matrix gem as a dependency to fix compatibility with Ruby 3.1
241
+ * use `YAML.safe_load` from Ruby stdlib instead of `safe_yaml gem`
242
+ * drop deprecated Pdf module alias in API (leaving only PDF)
243
+ * remove deprecated "ascii" fonts; only bundle the more complete "subset" fonts
244
+ * remove support for `<color>` tag in passthrough content; use `<font color="...">` instead (may affect themes)
245
+ * remove asciidoctor-pdf/converter and asciidoctor-pdf/version shim scripts; use asciidoctor/pdf/converter and asciidoctor/pdf/version instead
246
+ * rename Optimizer#generate_file method to Optimizer#optimize_file
247
+ * drop support for deprecated `pdf-style` and `pdf-stylesdir` attributes (#1827)
248
+ * drop use of the undocumented `vertical-spacing` key from the built-in themes
249
+ * rename the `outline-list` category in the theme to `list` and map the `outline-list-` keys to `list-` with warning if found (#1894)
250
+ * rename the `literal` category in the theme to `codespan` and map the `literal-` keys to `codespan-` with warning if found (#1796)
251
+ * rename the `blockquote` category key in the theme to `quote` and map the `blockquote-` prefix to `quote-` with warning if found (#2054)
252
+ * rename the `key` category key in theme to `kbd` and map the `key-` prefix to `kbd-` with warning if found (#2052)
253
+ * remove unneeded _mb functions (e.g., `uppercase_mb`); multibyte support for upcase, downcase, and capitalize is now provided by corelib
254
+
255
+ Build / Infrastructure::
256
+
257
+ * migrate Linux CI jobs to GitHub Actions (#1814)
258
+ * enable CI job on macOS (#1817)
259
+ * add Ruby 3.1 to CI matrix; use as primary Ruby
260
+ * test against Asciidoctor upstream (#1821)
261
+ * skip tests for unreadable files when euid is 0
262
+ * use prawn-table release and drop recommendation to use the development version (converter now patches prawn-table)
263
+
264
+ == 1.6.2 (2021-12-31) - @mojavelinux
265
+
266
+ Enhancements::
267
+
268
+ * show URL of link for any media type when show-link-uri is set (#951)
269
+ * do not show URL of link when media type is screen or prepress when show-link-uri is unset (#951)
270
+
271
+ Bug Fixes::
272
+
273
+ * update patches for `PDF::Core.real` and `PDF::Core.real_params` to prevent scientific notation ending up in PDF (#1983) (@rillbert)
7
274
 
8
275
  == 1.6.1 (2021-09-04) - @mojavelinux
9
276
 
@@ -28,7 +295,7 @@ Bug Fixes::
28
295
  Compliance::
29
296
 
30
297
  * add support for Ruby 3 and drop support for Ruby < 2.5 and JRuby < 9.2 (#1681)
31
- * upgrade to Prawn 2.4.0 (adds support for Ruby 3)
298
+ * upgrade to Prawn 2.4.0 (adds support for Ruby 3 and OTF font support)
32
299
  * upgrade to prawn-svg 0.32 (adds support for Ruby 3 without a patch and for loading embedded images from a data URI)
33
300
  * upgrade to prawn-icon 3.0.x
34
301
  * release lock on ttfunk version (1.6 produces slightly different output from 1.5 for certain missing glyphs)
@@ -38,31 +305,6 @@ Build / Infrastructure::
38
305
 
39
306
  * run tests against pygments.rb 2.x in addition to pygments.rb 1.2.0
40
307
 
41
- == 1.5.4 (2021-01-09) - @mojavelinux
42
-
43
- Bug Fixes::
44
-
45
- * restore compatibility with Asciidoctor 2.0.12 when using Pygments (#1846)
46
- * fix numeric assertions in test suite (#1542)
47
- * keep caption with image when image is scaled down to fit page (#1803)
48
- * prevent inline image from rendering multiple times if fallback font is used for alt text (#1858)
49
- * disable cache tests if open-uri-cache gem is not available
50
- * disable hyphen tests if text-hyphen gem is not available
51
- * compensate for change in how character_spacing is applied in FontMetricCache#width_of after Prawn 2.2.2
52
- * allow inline image to be enclosed in link macro (alt text was breaking parsing)
53
- * use oembed API over HTTPS to get thumbnail for Vimeo video
54
- * use conum font family defined in theme for conum in verbatim block (#1611)
55
- * patch float precision constant so prawn-table does not fail to arrange cells that span columns (#1835)
56
- * resolve images in theme correctly when theme is loaded from classloader (JRuby only) (#1829)
57
-
58
- Compliance::
59
-
60
- * upgrade to prawn-svg 0.31 (adds support for loading embedded images from a data URI) (#1810)
61
-
62
- Build / Infrastructure::
63
-
64
- * migrate Linux CI jobs to GitHub Actions
65
-
66
308
  == 1.5.3 (2020-02-28) - @mojavelinux
67
309
 
68
310
  Bug Fixes::
@@ -133,7 +375,7 @@ Bug Fixes::
133
375
 
134
376
  == 1.5.0.rc.2 (2020-01-09) - @mojavelinux
135
377
 
136
- * patch Prawn to fix incompatibilty with Ruby 2.7 (to fix text wrapping)
378
+ * patch Prawn to fix incompatibility with Ruby 2.7 (to fix text wrapping)
137
379
  * fix crash when assigning font style to header cell in table body (#1468)
138
380
  * fix parsing of array value of pdf-page-margin attribute (#1475)
139
381
  * fix warning when reading data from a remote URL when running with Ruby 2.7 (#1477)
@@ -354,7 +596,7 @@ Bug Fixes::
354
596
  * allow theme to disable font kerning
355
597
  * add support for default theme alignment for tables (#1164)
356
598
  * add theming support to (inline) roles on phrases (#368)
357
- * allow theme to customize style of titles in running content (#1044)
599
+ * allow theme to customize style of titles in running content using `title-style` key (#1044)
358
600
  * add support for the built-in big and small roles on phrases (#459)
359
601
  * route AFM font warning through Asciidoctor logger
360
602
  * upgrade code font (M+ 1mn) to TESTFLIGHT-63a
@@ -497,8 +739,8 @@ Bug Fixes::
497
739
  * avoid call to super in prepended module to fix Ruby 1.9.3
498
740
  * look for correct file to require in bin script
499
741
  * upgrade prawn-icon from 1.3.0 to 1.4.0
500
- * upgrade rouge to 2.2.1
501
- * add concurrent-ruby to runtime dependencies for compatiblity w/ Asciidoctor 1.5.8
742
+ * upgrade rouge to 2.2.1
743
+ * add concurrent-ruby to runtime dependencies for compatibility w/ Asciidoctor 1.5.8
502
744
 
503
745
  == 1.5.0.alpha.16 (2017-07-30) - @mojavelinux
504
746
 
data/NOTICE.adoc CHANGED
@@ -18,23 +18,35 @@ See the License for the specific language governing permissions and limitations
18
18
 
19
19
  == Third-party licensed work
20
20
 
21
- M+ OUTLINE FONTS (M+ TESTFLIGHT 058)::
21
+ M+ OUTLINE FONTS (M+ TESTFLIGHT 063a)::
22
22
  The M+ OUTLINE FONTS are used for literal text, annotation numbers and fallback characters and are bundled in the PDF file.
23
23
  These fonts are free software and are designed and maintained by Coji Morishita.
24
24
  Unlimited permission is granted to use, copy, and distribute them, with or without modification, either commercially or noncommercially.
25
25
  THESE FONTS ARE PROVIDED "AS IS" WITHOUT WARRANTY.
26
+ (Effectively the same as the Zero-Clause BSD License: https://opensource.org/licenses/0BSD).
26
27
 
27
- - http://mplus-fonts.sourceforge.jp/mplus-outline-fonts/index-en.html
28
+ - http://mplus-fonts.osdn.jp/about-en.html
28
29
 
29
- Noto Serif Font (v2015-06-05)::
30
+ Noto Serif and Noto Sans Fonts (86b2e553c3e3e4d6614dadd1fa0a7a6dafd74552)::
30
31
  Noto is font family developed by the Google Internationalization Team that aims to support all the world's languages.
31
32
  The Noto Serif font is used for headings and body copy and is bundled in the PDF file.
33
+ The Noto Sans font is provided as an alternative for headings and body copy and is bundled in the PDF file.
32
34
  The Noto fonts are licensed under the Apache 2.0 License.
33
35
  You may obtain a copy of the license at:
34
36
 
35
37
  http://www.apache.org/licenses/LICENSE-2.0
36
38
 
37
- - https://code.google.com/p/noto/
39
+ - https://github.com/googlefonts/noto-fonts
40
+
41
+ Noto Emoji Font (16151a2312a1f8a7d79e91789d3cfe24559d61f7)::
42
+ Noto is font family developed by the Google Internationalization Team that aims to support all the world's languages.
43
+ The Noto Emoji font is used to support emoji characters encoded in the document.
44
+ The Noto fonts are licensed under the Apache 2.0 License.
45
+ You may obtain a copy of the license at:
46
+
47
+ http://www.apache.org/licenses/LICENSE-2.0
48
+
49
+ - https://github.com/googlefonts/noto-emoji
38
50
 
39
51
  Font Awesome Icon Font (v5.4)::
40
52
  Font Awesome (@fontawesome), the iconic font designed for Bootstrap by David Gandy (@davegandy), is used for the admonition icons and other icons in author's content and bundled in the PDF file.