asciidoctor-pdf 2.3.23 → 2.3.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.adoc +40 -1
- data/README.adoc +1 -1
- data/data/fonts/ABOUT-mplus1mn-subset +1 -1
- data/data/fonts/ABOUT-mplus1p-subset +1 -1
- data/data/fonts/fa-legacy-mapping.yml +786 -0
- data/data/fonts/mplus1mn-bold-subset.ttf +0 -0
- data/data/fonts/mplus1mn-bold_italic-subset.ttf +0 -0
- data/data/fonts/mplus1mn-italic-subset.ttf +0 -0
- data/data/fonts/mplus1mn-regular-subset.ttf +0 -0
- data/data/fonts/mplus1p-regular-fallback.ttf +0 -0
- data/data/fonts/notosans-regular-subset.ttf +0 -0
- data/data/fonts/notoserif-regular-subset.ttf +0 -0
- data/lib/asciidoctor/pdf/converter.rb +44 -28
- data/lib/asciidoctor/pdf/ext/asciidoctor/document.rb +15 -1
- data/lib/asciidoctor/pdf/ext/prawn/extensions.rb +5 -14
- data/lib/asciidoctor/pdf/ext/prawn/formatted_text/box.rb +1 -1
- data/lib/asciidoctor/pdf/ext/prawn-icon/interface.rb +11 -0
- data/lib/asciidoctor/pdf/ext/prawn-icon/legacy.rb +11 -0
- data/lib/asciidoctor/pdf/ext/prawn-icon.rb +6 -0
- data/lib/asciidoctor/pdf/ext.rb +1 -0
- data/lib/asciidoctor/pdf/formatted_text.rb +3 -0
- data/lib/asciidoctor/pdf/version.rb +1 -1
- metadata +6 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6d3d3298e3d9c986a74fd881afef3849962ab116bfb821d3dc0ae5aa119cdda7
|
|
4
|
+
data.tar.gz: 322b16750318c051ada5b847aa1abe9ef77259f04976f37f74c956011d025ee9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2ad59d7144d4585635e3e2c69fee235ea5f0ab592edf79b2092dfbd2f4078f2f3762c963f3d5a2dda22ded28e31eb4868fe2cc78477bb8abce83dae827e0a482
|
|
7
|
+
data.tar.gz: cb719b82e3c3a9111d9b3ceb64f21481b8bdd35499e452a6dcb0c10dfc3c2ca52db116ea3cc2999ec83984141a87ed04379e9fa1723abaab2f8f39a17a1271ca
|
data/CHANGELOG.adoc
CHANGED
|
@@ -5,6 +5,45 @@
|
|
|
5
5
|
This document provides a high-level view of the changes to the {project-name} by release.
|
|
6
6
|
For a detailed view of what has changed, refer to the {url-repo}/commits/main[commit history] on GitHub.
|
|
7
7
|
|
|
8
|
+
== 2.3.25 (2026-08-31) - @mojavelinux
|
|
9
|
+
|
|
10
|
+
Enhancements::
|
|
11
|
+
|
|
12
|
+
* add the ballot X glyphs (U+2717 and U+2718) to the code and fallback fonts (#2652)
|
|
13
|
+
|
|
14
|
+
Improvements::
|
|
15
|
+
|
|
16
|
+
* suppress warning if glyph for LF cannot be found in fallback font as it's unlike to impact rendering
|
|
17
|
+
|
|
18
|
+
Bug Fixes::
|
|
19
|
+
|
|
20
|
+
* properly encode all non-ASCII IDs when creating and referencing destinations in PDF (#2646) (*@sandraLbdvTW*)
|
|
21
|
+
* don't crash when creating toc for article with only an abstract section (#2649)
|
|
22
|
+
* use empty value for preface in running content if `preface-title` attribute is explicitly unset (#2644)
|
|
23
|
+
* don't allow `admonition-label-min-width` key to be less than required space to fit admonition icon
|
|
24
|
+
* correctly map all icons from FontAwesome 4 (#2373)
|
|
25
|
+
* don't include children of section with empty title in TOC
|
|
26
|
+
* don't include children of section with empty title in outline
|
|
27
|
+
* when checking whether an attribute is unspecified, consider attributes that are soft set/unset from API/CLI (#2654)
|
|
28
|
+
* restore original require after loading treetop
|
|
29
|
+
|
|
30
|
+
=== Details
|
|
31
|
+
|
|
32
|
+
{url-repo}/releases/tag/v2.3.25[git tag] | {url-repo}/compare/v2.3.24\...v2.3.25[full diff]
|
|
33
|
+
|
|
34
|
+
== 2.3.24 (2025-11-15) - @mojavelinux
|
|
35
|
+
|
|
36
|
+
Improvements::
|
|
37
|
+
|
|
38
|
+
* bypass any dry run logic if remaining height on page is less than heading font size
|
|
39
|
+
* update import_page method on converter to return true if page was imported (nil otherwise), on par with the functionality of method it replaces
|
|
40
|
+
* limit min toclevels value so it does not cause TOC to be empty (#2619)
|
|
41
|
+
* add checkmark glyph (U+2713) to prose fonts (Noto Serif and Noto Sans) to avoid need for fallback font (#2617)
|
|
42
|
+
|
|
43
|
+
=== Details
|
|
44
|
+
|
|
45
|
+
{url-repo}/releases/tag/v2.3.24[git tag] | {url-repo}/compare/v2.3.23\...v2.3.24[full diff]
|
|
46
|
+
|
|
8
47
|
== 2.3.23 (2025-10-26) - @mojavelinux
|
|
9
48
|
|
|
10
49
|
Bug Fixes::
|
|
@@ -1683,7 +1722,7 @@ Bug Fixes::
|
|
|
1683
1722
|
* Allow font properties to be set per element in running content (#454)
|
|
1684
1723
|
* Prevent the SVG from modifying the document font (#494)
|
|
1685
1724
|
* Implement decorative border for multipage quote and verse blocks (#270, #557, #558)
|
|
1686
|
-
* Encode anchors in hex that contain characters outside of ASCII range (#481, #
|
|
1725
|
+
* Encode anchors in hex that contain characters outside of ASCII range (#481, #308)
|
|
1687
1726
|
* Size the line number gutter correctly (accounting for width of largest line number) (#402)
|
|
1688
1727
|
* Allow theme to specify default value for pdfwidth attribute on image and document in README (#455)
|
|
1689
1728
|
* Fix front matter page numbering by adding page labels for all front matter pages in outline (#458)
|
data/README.adoc
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
= Asciidoctor PDF: A native PDF converter for AsciiDoc
|
|
2
2
|
Dan Allen <https://github.com/mojavelinux[@mojavelinux]>; Sarah White <https://github.com/graphitefriction[@graphitefriction]>
|
|
3
|
-
v2.3.
|
|
3
|
+
v2.3.25, 2026-08-31
|
|
4
4
|
// Settings:
|
|
5
5
|
:experimental:
|
|
6
6
|
:idprefix:
|
|
@@ -15,7 +15,7 @@ The following changes were made using fontforge to produce mplus1mn-*-ascii.ttf
|
|
|
15
15
|
** Latin Extended-A (U+0100–U+017f)
|
|
16
16
|
** Greek Alphabet (U+0391–U+03c9)
|
|
17
17
|
** Cyrillic (U+0400–U+04ff)
|
|
18
|
-
** Assorted Symbols (U+20ac, U+2713–U+2714)
|
|
18
|
+
** Assorted Symbols (U+20ac, U+2713–U+2714, U+2717–U+2718)
|
|
19
19
|
** Enclosed Numbers (U+2460–U+2473, U+2776–U+277f, U+24eb–U+24f4) (mplus1mn-regular only)
|
|
20
20
|
** Box Drawing Symbols (U+2500–U+257f)
|
|
21
21
|
** .notdef glyph
|
|
@@ -17,7 +17,7 @@ The following changes were made using fontforge to produce mplus1p-regular-fallb
|
|
|
17
17
|
** Mathematical Operators (U+2200–U+22ff, U+2116)
|
|
18
18
|
** General Punctuation (U+2000–U203a)
|
|
19
19
|
** Geometric Shapes (U+25a0–U25ff)
|
|
20
|
-
** Assorted Symbols (U+20ac, U+2122, U+21d0–U+21d5, U+2190–U+2195, U+2610–U+2611, U+2713–U+2714)
|
|
20
|
+
** Assorted Symbols (U+20ac, U+2122, U+21d0–U+21d5, U+2190–U+2195, U+2610–U+2611, U+2713–U+2714, U+2717–U+2718)
|
|
21
21
|
** Latin Small Capital Letters (U+1D00, U+0299, U+1D04, U+1D05, U+1D07, U+A730, U+0262, U+029C, U+026A, U+1D0A, U+1D0B, U+029F, U+1D0D, U+0274, U+1D0F, U+1D18, U+A7AF (missing), U+0280, U+A731, U+1D1B, U+1D1C, U+1D20, U+1D21, U+028F, U+1D22)
|
|
22
22
|
** .notdef glyph
|
|
23
23
|
* Added BOM (U+feff), hair space (U+200a), zero-width space (U+200b) and line feed (U+000a) characters (from blank)
|
|
@@ -0,0 +1,786 @@
|
|
|
1
|
+
fa-500px: fab-500px
|
|
2
|
+
fa-address-book: fas-address-book
|
|
3
|
+
fa-address-book-o: far-address-book
|
|
4
|
+
fa-address-card: fas-address-card
|
|
5
|
+
fa-address-card-o: far-address-card
|
|
6
|
+
fa-adjust: fas-adjust
|
|
7
|
+
fa-adn: fab-adn
|
|
8
|
+
fa-align-center: fas-align-center
|
|
9
|
+
fa-align-justify: fas-align-justify
|
|
10
|
+
fa-align-left: fas-align-left
|
|
11
|
+
fa-align-right: fas-align-right
|
|
12
|
+
fa-amazon: fab-amazon
|
|
13
|
+
fa-ambulance: fas-ambulance
|
|
14
|
+
fa-american-sign-language-interpreting: fas-american-sign-language-interpreting
|
|
15
|
+
fa-anchor: fas-anchor
|
|
16
|
+
fa-android: fab-android
|
|
17
|
+
fa-angellist: fab-angellist
|
|
18
|
+
fa-angle-double-down: fas-angle-double-down
|
|
19
|
+
fa-angle-double-left: fas-angle-double-left
|
|
20
|
+
fa-angle-double-right: fas-angle-double-right
|
|
21
|
+
fa-angle-double-up: fas-angle-double-up
|
|
22
|
+
fa-angle-down: fas-angle-down
|
|
23
|
+
fa-angle-left: fas-angle-left
|
|
24
|
+
fa-angle-right: fas-angle-right
|
|
25
|
+
fa-angle-up: fas-angle-up
|
|
26
|
+
fa-apple: fab-apple
|
|
27
|
+
fa-archive: fas-archive
|
|
28
|
+
fa-area-chart: fas-chart-area
|
|
29
|
+
fa-arrow-circle-down: fas-arrow-circle-down
|
|
30
|
+
fa-arrow-circle-left: fas-arrow-circle-left
|
|
31
|
+
fa-arrow-circle-o-down: far-arrow-alt-circle-down
|
|
32
|
+
fa-arrow-circle-o-left: far-arrow-alt-circle-left
|
|
33
|
+
fa-arrow-circle-o-right: far-arrow-alt-circle-right
|
|
34
|
+
fa-arrow-circle-o-up: far-arrow-alt-circle-up
|
|
35
|
+
fa-arrow-circle-right: fas-arrow-circle-right
|
|
36
|
+
fa-arrow-circle-up: fas-arrow-circle-up
|
|
37
|
+
fa-arrow-down: fas-arrow-down
|
|
38
|
+
fa-arrow-left: fas-arrow-left
|
|
39
|
+
fa-arrow-right: fas-arrow-right
|
|
40
|
+
fa-arrow-up: fas-arrow-up
|
|
41
|
+
fa-arrows: fas-arrows-alt
|
|
42
|
+
fa-arrows-alt: fas-expand-arrows-alt
|
|
43
|
+
fa-arrows-h: fas-arrows-alt-h
|
|
44
|
+
fa-arrows-v: fas-arrows-alt-v
|
|
45
|
+
fa-asl-interpreting: fas-american-sign-language-interpreting
|
|
46
|
+
fa-assistive-listening-systems: fas-assistive-listening-systems
|
|
47
|
+
fa-asterisk: fas-asterisk
|
|
48
|
+
fa-at: fas-at
|
|
49
|
+
fa-audio-description: fas-audio-description
|
|
50
|
+
fa-automobile: fas-car
|
|
51
|
+
fa-backward: fas-backward
|
|
52
|
+
fa-balance-scale: fas-balance-scale
|
|
53
|
+
fa-ban: fas-ban
|
|
54
|
+
fa-bandcamp: fab-bandcamp
|
|
55
|
+
fa-bank: fas-university
|
|
56
|
+
fa-bar-chart: far-chart-bar
|
|
57
|
+
fa-bar-chart-o: far-chart-bar
|
|
58
|
+
fa-barcode: fas-barcode
|
|
59
|
+
fa-bars: fas-bars
|
|
60
|
+
fa-bath: fas-bath
|
|
61
|
+
fa-bathtub: fas-bath
|
|
62
|
+
fa-battery: fas-battery-full
|
|
63
|
+
fa-battery-0: fas-battery-empty
|
|
64
|
+
fa-battery-1: fas-battery-quarter
|
|
65
|
+
fa-battery-2: fas-battery-half
|
|
66
|
+
fa-battery-3: fas-battery-three-quarters
|
|
67
|
+
fa-battery-4: fas-battery-full
|
|
68
|
+
fa-battery-empty: fas-battery-empty
|
|
69
|
+
fa-battery-full: fas-battery-full
|
|
70
|
+
fa-battery-half: fas-battery-half
|
|
71
|
+
fa-battery-quarter: fas-battery-quarter
|
|
72
|
+
fa-battery-three-quarters: fas-battery-three-quarters
|
|
73
|
+
fa-bed: fas-bed
|
|
74
|
+
fa-beer: fas-beer
|
|
75
|
+
fa-behance: fab-behance
|
|
76
|
+
fa-behance-square: fab-behance-square
|
|
77
|
+
fa-bell: fas-bell
|
|
78
|
+
fa-bell-o: far-bell
|
|
79
|
+
fa-bell-slash: fas-bell-slash
|
|
80
|
+
fa-bell-slash-o: far-bell-slash
|
|
81
|
+
fa-bicycle: fas-bicycle
|
|
82
|
+
fa-binoculars: fas-binoculars
|
|
83
|
+
fa-birthday-cake: fas-birthday-cake
|
|
84
|
+
fa-bitbucket: fab-bitbucket
|
|
85
|
+
fa-bitbucket-square: fab-bitbucket
|
|
86
|
+
fa-bitcoin: fab-bitcoin
|
|
87
|
+
fa-black-tie: fab-black-tie
|
|
88
|
+
fa-blind: fas-blind
|
|
89
|
+
fa-bluetooth: fab-bluetooth
|
|
90
|
+
fa-bluetooth-b: fab-bluetooth-b
|
|
91
|
+
fa-bold: fas-bold
|
|
92
|
+
fa-bolt: fas-bolt
|
|
93
|
+
fa-bomb: fas-bomb
|
|
94
|
+
fa-book: fas-book
|
|
95
|
+
fa-bookmark: fas-bookmark
|
|
96
|
+
fa-bookmark-o: far-bookmark
|
|
97
|
+
fa-braille: fas-braille
|
|
98
|
+
fa-briefcase: fas-briefcase
|
|
99
|
+
fa-btc: fab-btc
|
|
100
|
+
fa-bug: fas-bug
|
|
101
|
+
fa-building: fas-building
|
|
102
|
+
fa-building-o: far-building
|
|
103
|
+
fa-bullhorn: fas-bullhorn
|
|
104
|
+
fa-bullseye: fas-bullseye
|
|
105
|
+
fa-bus: fas-bus
|
|
106
|
+
fa-buysellads: fab-buysellads
|
|
107
|
+
fa-cab: fas-taxi
|
|
108
|
+
fa-calculator: fas-calculator
|
|
109
|
+
fa-calendar: fas-calendar-alt
|
|
110
|
+
fa-calendar-check-o: far-calendar-check
|
|
111
|
+
fa-calendar-minus-o: far-calendar-minus
|
|
112
|
+
fa-calendar-o: far-calendar
|
|
113
|
+
fa-calendar-plus-o: far-calendar-plus
|
|
114
|
+
fa-calendar-times-o: far-calendar-times
|
|
115
|
+
fa-camera: fas-camera
|
|
116
|
+
fa-camera-retro: fas-camera-retro
|
|
117
|
+
fa-car: fas-car
|
|
118
|
+
fa-caret-down: fas-caret-down
|
|
119
|
+
fa-caret-left: fas-caret-left
|
|
120
|
+
fa-caret-right: fas-caret-right
|
|
121
|
+
fa-caret-square-o-down: far-caret-square-down
|
|
122
|
+
fa-caret-square-o-left: far-caret-square-left
|
|
123
|
+
fa-caret-square-o-right: far-caret-square-right
|
|
124
|
+
fa-caret-square-o-up: far-caret-square-up
|
|
125
|
+
fa-caret-up: fas-caret-up
|
|
126
|
+
fa-cart-arrow-down: fas-cart-arrow-down
|
|
127
|
+
fa-cart-plus: fas-cart-plus
|
|
128
|
+
fa-cc: far-closed-captioning
|
|
129
|
+
fa-cc-amex: fab-cc-amex
|
|
130
|
+
fa-cc-diners-club: fab-cc-diners-club
|
|
131
|
+
fa-cc-discover: fab-cc-discover
|
|
132
|
+
fa-cc-jcb: fab-cc-jcb
|
|
133
|
+
fa-cc-mastercard: fab-cc-mastercard
|
|
134
|
+
fa-cc-paypal: fab-cc-paypal
|
|
135
|
+
fa-cc-stripe: fab-cc-stripe
|
|
136
|
+
fa-cc-visa: fab-cc-visa
|
|
137
|
+
fa-certificate: fas-certificate
|
|
138
|
+
fa-chain: fas-link
|
|
139
|
+
fa-chain-broken: fas-unlink
|
|
140
|
+
fa-check: fas-check
|
|
141
|
+
fa-check-circle: fas-check-circle
|
|
142
|
+
fa-check-circle-o: far-check-circle
|
|
143
|
+
fa-check-square: fas-check-square
|
|
144
|
+
fa-check-square-o: far-check-square
|
|
145
|
+
fa-chevron-circle-down: fas-chevron-circle-down
|
|
146
|
+
fa-chevron-circle-left: fas-chevron-circle-left
|
|
147
|
+
fa-chevron-circle-right: fas-chevron-circle-right
|
|
148
|
+
fa-chevron-circle-up: fas-chevron-circle-up
|
|
149
|
+
fa-chevron-down: fas-chevron-down
|
|
150
|
+
fa-chevron-left: fas-chevron-left
|
|
151
|
+
fa-chevron-right: fas-chevron-right
|
|
152
|
+
fa-chevron-up: fas-chevron-up
|
|
153
|
+
fa-child: fas-child
|
|
154
|
+
fa-chrome: fab-chrome
|
|
155
|
+
fa-circle: fas-circle
|
|
156
|
+
fa-circle-o: far-circle
|
|
157
|
+
fa-circle-o-notch: fas-circle-notch
|
|
158
|
+
fa-circle-thin: far-circle
|
|
159
|
+
fa-clipboard: far-clipboard
|
|
160
|
+
fa-clock-o: far-clock
|
|
161
|
+
fa-clone: far-clone
|
|
162
|
+
fa-close: fas-times
|
|
163
|
+
fa-cloud: fas-cloud
|
|
164
|
+
fa-cloud-download: fas-cloud-download-alt
|
|
165
|
+
fa-cloud-upload: fas-cloud-upload-alt
|
|
166
|
+
fa-cny: fas-yen-sign
|
|
167
|
+
fa-code: fas-code
|
|
168
|
+
fa-code-fork: fas-code-branch
|
|
169
|
+
fa-codepen: fab-codepen
|
|
170
|
+
fa-codiepie: fab-codiepie
|
|
171
|
+
fa-coffee: fas-coffee
|
|
172
|
+
fa-cog: fas-cog
|
|
173
|
+
fa-cogs: fas-cogs
|
|
174
|
+
fa-columns: fas-columns
|
|
175
|
+
fa-comment: fas-comment
|
|
176
|
+
fa-comment-o: far-comment
|
|
177
|
+
fa-commenting: fas-comment-alt
|
|
178
|
+
fa-commenting-o: far-comment-dots
|
|
179
|
+
fa-comments: fas-comments
|
|
180
|
+
fa-comments-o: far-comments
|
|
181
|
+
fa-compass: far-compass
|
|
182
|
+
fa-compress: fas-compress
|
|
183
|
+
fa-connectdevelop: fab-connectdevelop
|
|
184
|
+
fa-contao: fab-contao
|
|
185
|
+
fa-copy: fas-copy
|
|
186
|
+
fa-copyright: far-copyright
|
|
187
|
+
fa-creative-commons: fab-creative-commons
|
|
188
|
+
fa-credit-card: far-credit-card
|
|
189
|
+
fa-credit-card-alt: fas-credit-card
|
|
190
|
+
fa-crop: fas-crop
|
|
191
|
+
fa-crosshairs: fas-crosshairs
|
|
192
|
+
fa-css3: fab-css3
|
|
193
|
+
fa-cube: fas-cube
|
|
194
|
+
fa-cubes: fas-cubes
|
|
195
|
+
fa-cut: fas-cut
|
|
196
|
+
fa-cutlery: fas-utensils
|
|
197
|
+
fa-dashboard: fas-tachometer-alt
|
|
198
|
+
fa-dashcube: fab-dashcube
|
|
199
|
+
fa-database: fas-database
|
|
200
|
+
fa-deaf: fas-deaf
|
|
201
|
+
fa-deafness: fas-deaf
|
|
202
|
+
fa-dedent: fas-outdent
|
|
203
|
+
fa-delicious: fab-delicious
|
|
204
|
+
fa-desktop: fas-desktop
|
|
205
|
+
fa-deviantart: fab-deviantart
|
|
206
|
+
fa-diamond: far-gem
|
|
207
|
+
fa-digg: fab-digg
|
|
208
|
+
fa-dollar: fas-dollar-sign
|
|
209
|
+
fa-dot-circle-o: far-dot-circle
|
|
210
|
+
fa-download: fas-download
|
|
211
|
+
fa-dribbble: fab-dribbble
|
|
212
|
+
fa-drivers-license: fas-id-card
|
|
213
|
+
fa-drivers-license-o: far-id-card
|
|
214
|
+
fa-dropbox: fab-dropbox
|
|
215
|
+
fa-drupal: fab-drupal
|
|
216
|
+
fa-edge: fab-edge
|
|
217
|
+
fa-edit: fas-edit
|
|
218
|
+
fa-eercast: fab-sellcast
|
|
219
|
+
fa-eject: fas-eject
|
|
220
|
+
fa-ellipsis-h: fas-ellipsis-h
|
|
221
|
+
fa-ellipsis-v: fas-ellipsis-v
|
|
222
|
+
fa-empire: fab-empire
|
|
223
|
+
fa-envelope: fas-envelope
|
|
224
|
+
fa-envelope-o: far-envelope
|
|
225
|
+
fa-envelope-open: fas-envelope-open
|
|
226
|
+
fa-envelope-open-o: far-envelope-open
|
|
227
|
+
fa-envelope-square: fas-envelope-square
|
|
228
|
+
fa-envira: fab-envira
|
|
229
|
+
fa-eraser: fas-eraser
|
|
230
|
+
fa-etsy: fab-etsy
|
|
231
|
+
fa-eur: fas-euro-sign
|
|
232
|
+
fa-euro: fas-euro-sign
|
|
233
|
+
fa-exchange: fas-exchange-alt
|
|
234
|
+
fa-exclamation: fas-exclamation
|
|
235
|
+
fa-exclamation-circle: fas-exclamation-circle
|
|
236
|
+
fa-exclamation-triangle: fas-exclamation-triangle
|
|
237
|
+
fa-expand: fas-expand
|
|
238
|
+
fa-expeditedssl: fab-expeditedssl
|
|
239
|
+
fa-external-link: fas-external-link-alt
|
|
240
|
+
fa-external-link-square: fas-external-link-square-alt
|
|
241
|
+
fa-eye: fas-eye
|
|
242
|
+
fa-eye-slash: far-eye-slash
|
|
243
|
+
fa-eyedropper: fas-eye-dropper
|
|
244
|
+
fa-fa: fab-font-awesome
|
|
245
|
+
fa-facebook: fab-facebook-f
|
|
246
|
+
fa-facebook-f: fab-facebook-f
|
|
247
|
+
fa-facebook-official: fab-facebook
|
|
248
|
+
fa-facebook-square: fab-facebook-square
|
|
249
|
+
fa-fast-backward: fas-fast-backward
|
|
250
|
+
fa-fast-forward: fas-fast-forward
|
|
251
|
+
fa-fax: fas-fax
|
|
252
|
+
fa-feed: fas-rss
|
|
253
|
+
fa-female: fas-female
|
|
254
|
+
fa-fighter-jet: fas-fighter-jet
|
|
255
|
+
fa-file: fas-file
|
|
256
|
+
fa-file-archive-o: far-file-archive
|
|
257
|
+
fa-file-audio-o: far-file-audio
|
|
258
|
+
fa-file-code-o: far-file-code
|
|
259
|
+
fa-file-excel-o: far-file-excel
|
|
260
|
+
fa-file-image-o: far-file-image
|
|
261
|
+
fa-file-movie-o: far-file-video
|
|
262
|
+
fa-file-o: far-file
|
|
263
|
+
fa-file-pdf-o: far-file-pdf
|
|
264
|
+
fa-file-photo-o: far-file-image
|
|
265
|
+
fa-file-picture-o: far-file-image
|
|
266
|
+
fa-file-powerpoint-o: far-file-powerpoint
|
|
267
|
+
fa-file-sound-o: far-file-audio
|
|
268
|
+
fa-file-text: fas-file-alt
|
|
269
|
+
fa-file-text-o: far-file-alt
|
|
270
|
+
fa-file-video-o: far-file-video
|
|
271
|
+
fa-file-word-o: far-file-word
|
|
272
|
+
fa-file-zip-o: far-file-archive
|
|
273
|
+
fa-files-o: far-copy
|
|
274
|
+
fa-film: fas-film
|
|
275
|
+
fa-filter: fas-filter
|
|
276
|
+
fa-fire: fas-fire
|
|
277
|
+
fa-fire-extinguisher: fas-fire-extinguisher
|
|
278
|
+
fa-firefox: fab-firefox
|
|
279
|
+
fa-first-order: fab-first-order
|
|
280
|
+
fa-flag: fas-flag
|
|
281
|
+
fa-flag-checkered: fas-flag-checkered
|
|
282
|
+
fa-flag-o: far-flag
|
|
283
|
+
fa-flash: fas-bolt
|
|
284
|
+
fa-flask: fas-flask
|
|
285
|
+
fa-flickr: fab-flickr
|
|
286
|
+
fa-floppy-o: far-save
|
|
287
|
+
fa-folder: fas-folder
|
|
288
|
+
fa-folder-o: far-folder
|
|
289
|
+
fa-folder-open: fas-folder-open
|
|
290
|
+
fa-folder-open-o: far-folder-open
|
|
291
|
+
fa-font: fas-font
|
|
292
|
+
fa-font-awesome: fab-font-awesome
|
|
293
|
+
fa-fonticons: fab-fonticons
|
|
294
|
+
fa-fort-awesome: fab-fort-awesome
|
|
295
|
+
fa-forumbee: fab-forumbee
|
|
296
|
+
fa-forward: fas-forward
|
|
297
|
+
fa-foursquare: fab-foursquare
|
|
298
|
+
fa-free-code-camp: fab-free-code-camp
|
|
299
|
+
fa-frown-o: far-frown
|
|
300
|
+
fa-futbol-o: far-futbol
|
|
301
|
+
fa-gamepad: fas-gamepad
|
|
302
|
+
fa-gavel: fas-gavel
|
|
303
|
+
fa-gbp: fas-pound-sign
|
|
304
|
+
fa-ge: fab-empire
|
|
305
|
+
fa-gear: fas-cog
|
|
306
|
+
fa-gears: fas-cogs
|
|
307
|
+
fa-genderless: fas-genderless
|
|
308
|
+
fa-get-pocket: fab-get-pocket
|
|
309
|
+
fa-gg: fab-gg
|
|
310
|
+
fa-gg-circle: fab-gg-circle
|
|
311
|
+
fa-gift: fas-gift
|
|
312
|
+
fa-git: fab-git
|
|
313
|
+
fa-git-square: fab-git-square
|
|
314
|
+
fa-github: fab-github
|
|
315
|
+
fa-github-alt: fab-github-alt
|
|
316
|
+
fa-github-square: fab-github-square
|
|
317
|
+
fa-gitlab: fab-gitlab
|
|
318
|
+
fa-gittip: fab-gratipay
|
|
319
|
+
fa-glass: fas-glass-martini
|
|
320
|
+
fa-glide: fab-glide
|
|
321
|
+
fa-glide-g: fab-glide-g
|
|
322
|
+
fa-globe: fas-globe
|
|
323
|
+
fa-google: fab-google
|
|
324
|
+
fa-google-plus: fab-google-plus-g
|
|
325
|
+
fa-google-plus-circle: fab-google-plus
|
|
326
|
+
fa-google-plus-official: fab-google-plus
|
|
327
|
+
fa-google-plus-square: fab-google-plus-square
|
|
328
|
+
fa-google-wallet: fab-google-wallet
|
|
329
|
+
fa-graduation-cap: fas-graduation-cap
|
|
330
|
+
fa-gratipay: fab-gratipay
|
|
331
|
+
fa-grav: fab-grav
|
|
332
|
+
fa-group: fas-users
|
|
333
|
+
fa-h-square: fas-h-square
|
|
334
|
+
fa-hacker-news: fab-hacker-news
|
|
335
|
+
fa-hand-grab-o: far-hand-rock
|
|
336
|
+
fa-hand-lizard-o: far-hand-lizard
|
|
337
|
+
fa-hand-o-down: far-hand-point-down
|
|
338
|
+
fa-hand-o-left: far-hand-point-left
|
|
339
|
+
fa-hand-o-right: far-hand-point-right
|
|
340
|
+
fa-hand-o-up: far-hand-point-up
|
|
341
|
+
fa-hand-paper-o: far-hand-paper
|
|
342
|
+
fa-hand-peace-o: far-hand-peace
|
|
343
|
+
fa-hand-pointer-o: far-hand-pointer
|
|
344
|
+
fa-hand-rock-o: far-hand-rock
|
|
345
|
+
fa-hand-scissors-o: far-hand-scissors
|
|
346
|
+
fa-hand-spock-o: far-hand-spock
|
|
347
|
+
fa-hand-stop-o: far-hand-paper
|
|
348
|
+
fa-handshake-o: far-handshake
|
|
349
|
+
fa-hard-of-hearing: fas-deaf
|
|
350
|
+
fa-hashtag: fas-hashtag
|
|
351
|
+
fa-hdd-o: far-hdd
|
|
352
|
+
fa-header: fas-heading
|
|
353
|
+
fa-headphones: fas-headphones
|
|
354
|
+
fa-heart: fas-heart
|
|
355
|
+
fa-heart-o: far-heart
|
|
356
|
+
fa-heartbeat: fas-heartbeat
|
|
357
|
+
fa-history: fas-history
|
|
358
|
+
fa-home: fas-home
|
|
359
|
+
fa-hospital-o: far-hospital
|
|
360
|
+
fa-hotel: fas-bed
|
|
361
|
+
fa-hourglass: fas-hourglass
|
|
362
|
+
fa-hourglass-1: fas-hourglass-start
|
|
363
|
+
fa-hourglass-2: fas-hourglass-half
|
|
364
|
+
fa-hourglass-3: fas-hourglass-end
|
|
365
|
+
fa-hourglass-end: fas-hourglass-end
|
|
366
|
+
fa-hourglass-half: fas-hourglass-half
|
|
367
|
+
fa-hourglass-o: far-hourglass
|
|
368
|
+
fa-hourglass-start: fas-hourglass-start
|
|
369
|
+
fa-houzz: fab-houzz
|
|
370
|
+
fa-html5: fab-html5
|
|
371
|
+
fa-i-cursor: fas-i-cursor
|
|
372
|
+
fa-id-badge: far-id-badge
|
|
373
|
+
fa-id-card: fas-id-card
|
|
374
|
+
fa-id-card-o: far-id-card
|
|
375
|
+
fa-ils: fas-shekel-sign
|
|
376
|
+
fa-image: fas-image
|
|
377
|
+
fa-imdb: fab-imdb
|
|
378
|
+
fa-inbox: fas-inbox
|
|
379
|
+
fa-indent: fas-indent
|
|
380
|
+
fa-industry: fas-industry
|
|
381
|
+
fa-info: fas-info
|
|
382
|
+
fa-info-circle: fas-info-circle
|
|
383
|
+
fa-inr: fas-rupee-sign
|
|
384
|
+
fa-instagram: fab-instagram
|
|
385
|
+
fa-institution: fas-university
|
|
386
|
+
fa-internet-explorer: fab-internet-explorer
|
|
387
|
+
fa-intersex: fas-transgender
|
|
388
|
+
fa-ioxhost: fab-ioxhost
|
|
389
|
+
fa-italic: fas-italic
|
|
390
|
+
fa-joomla: fab-joomla
|
|
391
|
+
fa-jpy: fas-yen-sign
|
|
392
|
+
fa-jsfiddle: fab-jsfiddle
|
|
393
|
+
fa-key: fas-key
|
|
394
|
+
fa-keyboard-o: far-keyboard
|
|
395
|
+
fa-krw: fas-won-sign
|
|
396
|
+
fa-language: fas-language
|
|
397
|
+
fa-laptop: fas-laptop
|
|
398
|
+
fa-lastfm: fab-lastfm
|
|
399
|
+
fa-lastfm-square: fab-lastfm-square
|
|
400
|
+
fa-leaf: fas-leaf
|
|
401
|
+
fa-leanpub: fab-leanpub
|
|
402
|
+
fa-legal: fas-gavel
|
|
403
|
+
fa-lemon-o: far-lemon
|
|
404
|
+
fa-level-down: fas-level-down-alt
|
|
405
|
+
fa-level-up: fas-level-up-alt
|
|
406
|
+
fa-life-bouy: fas-life-ring
|
|
407
|
+
fa-life-buoy: fas-life-ring
|
|
408
|
+
fa-life-ring: far-life-ring
|
|
409
|
+
fa-life-saver: fas-life-ring
|
|
410
|
+
fa-lightbulb-o: far-lightbulb
|
|
411
|
+
fa-line-chart: fas-chart-line
|
|
412
|
+
fa-link: fas-link
|
|
413
|
+
fa-linkedin: fab-linkedin-in
|
|
414
|
+
fa-linkedin-square: fab-linkedin
|
|
415
|
+
fa-linode: fab-linode
|
|
416
|
+
fa-linux: fab-linux
|
|
417
|
+
fa-list: fas-list
|
|
418
|
+
fa-list-alt: far-list-alt
|
|
419
|
+
fa-list-ol: fas-list-ol
|
|
420
|
+
fa-list-ul: fas-list-ul
|
|
421
|
+
fa-location-arrow: fas-location-arrow
|
|
422
|
+
fa-lock: fas-lock
|
|
423
|
+
fa-long-arrow-down: fas-long-arrow-alt-down
|
|
424
|
+
fa-long-arrow-left: fas-long-arrow-alt-left
|
|
425
|
+
fa-long-arrow-right: fas-long-arrow-alt-right
|
|
426
|
+
fa-long-arrow-up: fas-long-arrow-alt-up
|
|
427
|
+
fa-low-vision: fas-low-vision
|
|
428
|
+
fa-magic: fas-magic
|
|
429
|
+
fa-magnet: fas-magnet
|
|
430
|
+
fa-mail-forward: fas-share
|
|
431
|
+
fa-mail-reply: fas-reply
|
|
432
|
+
fa-mail-reply-all: fas-reply-all
|
|
433
|
+
fa-male: fas-male
|
|
434
|
+
fa-map: fas-map
|
|
435
|
+
fa-map-marker: fas-map-marker-alt
|
|
436
|
+
fa-map-o: far-map
|
|
437
|
+
fa-map-pin: fas-map-pin
|
|
438
|
+
fa-map-signs: fas-map-signs
|
|
439
|
+
fa-mars: fas-mars
|
|
440
|
+
fa-mars-double: fas-mars-double
|
|
441
|
+
fa-mars-stroke: fas-mars-stroke
|
|
442
|
+
fa-mars-stroke-h: fas-mars-stroke-h
|
|
443
|
+
fa-mars-stroke-v: fas-mars-stroke-v
|
|
444
|
+
fa-maxcdn: fab-maxcdn
|
|
445
|
+
fa-meanpath: fab-font-awesome
|
|
446
|
+
fa-medium: fab-medium
|
|
447
|
+
fa-medkit: fas-medkit
|
|
448
|
+
fa-meetup: fab-meetup
|
|
449
|
+
fa-meh-o: far-meh
|
|
450
|
+
fa-mercury: fas-mercury
|
|
451
|
+
fa-microchip: fas-microchip
|
|
452
|
+
fa-microphone: fas-microphone
|
|
453
|
+
fa-microphone-slash: fas-microphone-slash
|
|
454
|
+
fa-minus: fas-minus
|
|
455
|
+
fa-minus-circle: fas-minus-circle
|
|
456
|
+
fa-minus-square: fas-minus-square
|
|
457
|
+
fa-minus-square-o: far-minus-square
|
|
458
|
+
fa-mixcloud: fab-mixcloud
|
|
459
|
+
fa-mobile: fas-mobile-alt
|
|
460
|
+
fa-mobile-phone: fas-mobile
|
|
461
|
+
fa-modx: fab-modx
|
|
462
|
+
fa-money: far-money-bill-alt
|
|
463
|
+
fa-moon-o: far-moon
|
|
464
|
+
fa-mortar-board: fas-graduation-cap
|
|
465
|
+
fa-motorcycle: fas-motorcycle
|
|
466
|
+
fa-mouse-pointer: fas-mouse-pointer
|
|
467
|
+
fa-music: fas-music
|
|
468
|
+
fa-navicon: fas-bars
|
|
469
|
+
fa-neuter: fas-neuter
|
|
470
|
+
fa-newspaper-o: far-newspaper
|
|
471
|
+
fa-object-group: far-object-group
|
|
472
|
+
fa-object-ungroup: far-object-ungroup
|
|
473
|
+
fa-odnoklassniki: fab-odnoklassniki
|
|
474
|
+
fa-odnoklassniki-square: fab-odnoklassniki-square
|
|
475
|
+
fa-opencart: fab-opencart
|
|
476
|
+
fa-openid: fab-openid
|
|
477
|
+
fa-opera: fab-opera
|
|
478
|
+
fa-optin-monster: fab-optin-monster
|
|
479
|
+
fa-outdent: fas-outdent
|
|
480
|
+
fa-pagelines: fab-pagelines
|
|
481
|
+
fa-paint-brush: fas-paint-brush
|
|
482
|
+
fa-paper-plane: fas-paper-plane
|
|
483
|
+
fa-paper-plane-o: far-paper-plane
|
|
484
|
+
fa-paperclip: fas-paperclip
|
|
485
|
+
fa-paragraph: fas-paragraph
|
|
486
|
+
fa-paste: fas-paste
|
|
487
|
+
fa-pause: fas-pause
|
|
488
|
+
fa-pause-circle: fas-pause-circle
|
|
489
|
+
fa-pause-circle-o: far-pause-circle
|
|
490
|
+
fa-paw: fas-paw
|
|
491
|
+
fa-paypal: fab-paypal
|
|
492
|
+
fa-pencil: fas-pencil-alt
|
|
493
|
+
fa-pencil-square: fas-pen-square
|
|
494
|
+
fa-pencil-square-o: far-edit
|
|
495
|
+
fa-percent: fas-percent
|
|
496
|
+
fa-phone: fas-phone
|
|
497
|
+
fa-phone-square: fas-phone-square
|
|
498
|
+
fa-photo: far-image
|
|
499
|
+
fa-picture-o: far-image
|
|
500
|
+
fa-pie-chart: fas-chart-pie
|
|
501
|
+
fa-pied-piper: fab-pied-piper
|
|
502
|
+
fa-pied-piper-alt: fab-pied-piper-alt
|
|
503
|
+
fa-pied-piper-pp: fab-pied-piper-pp
|
|
504
|
+
fa-pinterest: fab-pinterest
|
|
505
|
+
fa-pinterest-p: fab-pinterest-p
|
|
506
|
+
fa-pinterest-square: fab-pinterest-square
|
|
507
|
+
fa-plane: fas-plane
|
|
508
|
+
fa-play: fas-play
|
|
509
|
+
fa-play-circle: fas-play-circle
|
|
510
|
+
fa-play-circle-o: far-play-circle
|
|
511
|
+
fa-plug: fas-plug
|
|
512
|
+
fa-plus: fas-plus
|
|
513
|
+
fa-plus-circle: fas-plus-circle
|
|
514
|
+
fa-plus-square: fas-plus-square
|
|
515
|
+
fa-plus-square-o: far-plus-square
|
|
516
|
+
fa-podcast: fas-podcast
|
|
517
|
+
fa-power-off: fas-power-off
|
|
518
|
+
fa-print: fas-print
|
|
519
|
+
fa-product-hunt: fab-product-hunt
|
|
520
|
+
fa-puzzle-piece: fas-puzzle-piece
|
|
521
|
+
fa-qq: fab-qq
|
|
522
|
+
fa-qrcode: fas-qrcode
|
|
523
|
+
fa-question: fas-question
|
|
524
|
+
fa-question-circle: fas-question-circle
|
|
525
|
+
fa-question-circle-o: far-question-circle
|
|
526
|
+
fa-quora: fab-quora
|
|
527
|
+
fa-quote-left: fas-quote-left
|
|
528
|
+
fa-quote-right: fas-quote-right
|
|
529
|
+
fa-ra: fab-rebel
|
|
530
|
+
fa-random: fas-random
|
|
531
|
+
fa-ravelry: fab-ravelry
|
|
532
|
+
fa-rebel: fab-rebel
|
|
533
|
+
fa-recycle: fas-recycle
|
|
534
|
+
fa-reddit: fab-reddit
|
|
535
|
+
fa-reddit-alien: fab-reddit-alien
|
|
536
|
+
fa-reddit-square: fab-reddit-square
|
|
537
|
+
fa-refresh: fas-sync
|
|
538
|
+
fa-registered: far-registered
|
|
539
|
+
fa-remove: fas-times
|
|
540
|
+
fa-renren: fab-renren
|
|
541
|
+
fa-reorder: fas-bars
|
|
542
|
+
fa-repeat: fas-redo
|
|
543
|
+
fa-reply: fas-reply
|
|
544
|
+
fa-reply-all: fas-reply-all
|
|
545
|
+
fa-resistance: fab-rebel
|
|
546
|
+
fa-retweet: fas-retweet
|
|
547
|
+
fa-rmb: fas-yen-sign
|
|
548
|
+
fa-road: fas-road
|
|
549
|
+
fa-rocket: fas-rocket
|
|
550
|
+
fa-rotate-left: fas-undo
|
|
551
|
+
fa-rotate-right: fas-redo
|
|
552
|
+
fa-rouble: fas-ruble-sign
|
|
553
|
+
fa-rss: fas-rss
|
|
554
|
+
fa-rss-square: fas-rss-square
|
|
555
|
+
fa-rub: fas-ruble-sign
|
|
556
|
+
fa-ruble: fas-ruble-sign
|
|
557
|
+
fa-rupee: fas-rupee-sign
|
|
558
|
+
fa-s15: fas-bath
|
|
559
|
+
fa-safari: fab-safari
|
|
560
|
+
fa-save: fas-save
|
|
561
|
+
fa-scissors: fas-cut
|
|
562
|
+
fa-scribd: fab-scribd
|
|
563
|
+
fa-search: fas-search
|
|
564
|
+
fa-search-minus: fas-search-minus
|
|
565
|
+
fa-search-plus: fas-search-plus
|
|
566
|
+
fa-sellsy: fab-sellsy
|
|
567
|
+
fa-send: fas-paper-plane
|
|
568
|
+
fa-send-o: far-paper-plane
|
|
569
|
+
fa-server: fas-server
|
|
570
|
+
fa-share: fas-share
|
|
571
|
+
fa-share-alt: fas-share-alt
|
|
572
|
+
fa-share-alt-square: fas-share-alt-square
|
|
573
|
+
fa-share-square: fas-share-square
|
|
574
|
+
fa-share-square-o: far-share-square
|
|
575
|
+
fa-shekel: fas-shekel-sign
|
|
576
|
+
fa-sheqel: fas-shekel-sign
|
|
577
|
+
fa-shield: fas-shield-alt
|
|
578
|
+
fa-ship: fas-ship
|
|
579
|
+
fa-shirtsinbulk: fab-shirtsinbulk
|
|
580
|
+
fa-shopping-bag: fas-shopping-bag
|
|
581
|
+
fa-shopping-basket: fas-shopping-basket
|
|
582
|
+
fa-shopping-cart: fas-shopping-cart
|
|
583
|
+
fa-shower: fas-shower
|
|
584
|
+
fa-sign-in: fas-sign-in-alt
|
|
585
|
+
fa-sign-language: fas-sign-language
|
|
586
|
+
fa-sign-out: fas-sign-out-alt
|
|
587
|
+
fa-signal: fas-signal
|
|
588
|
+
fa-signing: fas-sign-language
|
|
589
|
+
fa-simplybuilt: fab-simplybuilt
|
|
590
|
+
fa-sitemap: fas-sitemap
|
|
591
|
+
fa-skyatlas: fab-skyatlas
|
|
592
|
+
fa-skype: fab-skype
|
|
593
|
+
fa-slack: fab-slack
|
|
594
|
+
fa-sliders: fas-sliders-h
|
|
595
|
+
fa-slideshare: fab-slideshare
|
|
596
|
+
fa-smile-o: far-smile
|
|
597
|
+
fa-snapchat: fab-snapchat
|
|
598
|
+
fa-snapchat-ghost: fab-snapchat-ghost
|
|
599
|
+
fa-snapchat-square: fab-snapchat-square
|
|
600
|
+
fa-snowflake-o: far-snowflake
|
|
601
|
+
fa-soccer-ball-o: far-futbol
|
|
602
|
+
fa-sort: fas-sort
|
|
603
|
+
fa-sort-alpha-asc: fas-sort-alpha-down
|
|
604
|
+
fa-sort-alpha-desc: fas-sort-alpha-up
|
|
605
|
+
fa-sort-amount-asc: fas-sort-amount-down
|
|
606
|
+
fa-sort-amount-desc: fas-sort-amount-up
|
|
607
|
+
fa-sort-asc: fas-sort-up
|
|
608
|
+
fa-sort-desc: fas-sort-down
|
|
609
|
+
fa-sort-down: fas-sort-down
|
|
610
|
+
fa-sort-numeric-asc: fas-sort-numeric-down
|
|
611
|
+
fa-sort-numeric-desc: fas-sort-numeric-up
|
|
612
|
+
fa-sort-up: fas-sort-up
|
|
613
|
+
fa-soundcloud: fab-soundcloud
|
|
614
|
+
fa-space-shuttle: fas-space-shuttle
|
|
615
|
+
fa-spinner: fas-spinner
|
|
616
|
+
fa-spoon: fas-utensil-spoon
|
|
617
|
+
fa-spotify: fab-spotify
|
|
618
|
+
fa-square: fas-square
|
|
619
|
+
fa-square-o: far-square
|
|
620
|
+
fa-stack-exchange: fab-stack-exchange
|
|
621
|
+
fa-stack-overflow: fab-stack-overflow
|
|
622
|
+
fa-star: fas-star
|
|
623
|
+
fa-star-half: fas-star-half
|
|
624
|
+
fa-star-half-empty: fas-star-half
|
|
625
|
+
fa-star-half-full: fas-star-half
|
|
626
|
+
fa-star-half-o: far-star-half
|
|
627
|
+
fa-star-o: far-star
|
|
628
|
+
fa-steam: fab-steam
|
|
629
|
+
fa-steam-square: fab-steam-square
|
|
630
|
+
fa-step-backward: fas-step-backward
|
|
631
|
+
fa-step-forward: fas-step-forward
|
|
632
|
+
fa-stethoscope: fas-stethoscope
|
|
633
|
+
fa-sticky-note: fas-sticky-note
|
|
634
|
+
fa-sticky-note-o: far-sticky-note
|
|
635
|
+
fa-stop: fas-stop
|
|
636
|
+
fa-stop-circle: fas-stop-circle
|
|
637
|
+
fa-stop-circle-o: far-stop-circle
|
|
638
|
+
fa-street-view: fas-street-view
|
|
639
|
+
fa-strikethrough: fas-strikethrough
|
|
640
|
+
fa-stumbleupon: fab-stumbleupon
|
|
641
|
+
fa-stumbleupon-circle: fab-stumbleupon-circle
|
|
642
|
+
fa-subscript: fas-subscript
|
|
643
|
+
fa-subway: fas-subway
|
|
644
|
+
fa-suitcase: fas-suitcase
|
|
645
|
+
fa-sun-o: far-sun
|
|
646
|
+
fa-superpowers: fab-superpowers
|
|
647
|
+
fa-superscript: fas-superscript
|
|
648
|
+
fa-support: far-life-ring
|
|
649
|
+
fa-table: fas-table
|
|
650
|
+
fa-tablet: fas-tablet-alt
|
|
651
|
+
fa-tachometer: fas-tachometer-alt
|
|
652
|
+
fa-tag: fas-tag
|
|
653
|
+
fa-tags: fas-tags
|
|
654
|
+
fa-tasks: fas-tasks
|
|
655
|
+
fa-taxi: fas-taxi
|
|
656
|
+
fa-telegram: fab-telegram
|
|
657
|
+
fa-television: fas-tv
|
|
658
|
+
fa-tencent-weibo: fab-tencent-weibo
|
|
659
|
+
fa-terminal: fas-terminal
|
|
660
|
+
fa-text-height: fas-text-height
|
|
661
|
+
fa-text-width: fas-text-width
|
|
662
|
+
fa-th: fas-th
|
|
663
|
+
fa-th-large: fas-th-large
|
|
664
|
+
fa-th-list: fas-th-list
|
|
665
|
+
fa-themeisle: fab-themeisle
|
|
666
|
+
fa-thermometer: fas-thermometer
|
|
667
|
+
fa-thermometer-0: fas-thermometer-empty
|
|
668
|
+
fa-thermometer-1: fas-thermometer-quarter
|
|
669
|
+
fa-thermometer-2: fas-thermometer-half
|
|
670
|
+
fa-thermometer-3: fas-thermometer-three-quarters
|
|
671
|
+
fa-thermometer-4: fas-thermometer-full
|
|
672
|
+
fa-thermometer-empty: fas-thermometer-empty
|
|
673
|
+
fa-thermometer-full: fas-thermometer-full
|
|
674
|
+
fa-thermometer-half: fas-thermometer-half
|
|
675
|
+
fa-thermometer-quarter: fas-thermometer-quarter
|
|
676
|
+
fa-thermometer-three-quarters: fas-thermometer-three-quarters
|
|
677
|
+
fa-thumb-tack: fas-thumbtack
|
|
678
|
+
fa-thumbs-down: fas-thumbs-down
|
|
679
|
+
fa-thumbs-o-down: far-thumbs-down
|
|
680
|
+
fa-thumbs-o-up: far-thumbs-up
|
|
681
|
+
fa-thumbs-up: fas-thumbs-up
|
|
682
|
+
fa-ticket: fas-ticket-alt
|
|
683
|
+
fa-times: fas-times
|
|
684
|
+
fa-times-circle: fas-times-circle
|
|
685
|
+
fa-times-circle-o: far-times-circle
|
|
686
|
+
fa-times-rectangle: fas-window-close
|
|
687
|
+
fa-times-rectangle-o: far-window-close
|
|
688
|
+
fa-tint: fas-tint
|
|
689
|
+
fa-toggle-down: far-caret-square-down
|
|
690
|
+
fa-toggle-left: far-caret-square-left
|
|
691
|
+
fa-toggle-off: fas-toggle-off
|
|
692
|
+
fa-toggle-on: fas-toggle-on
|
|
693
|
+
fa-toggle-right: far-caret-square-right
|
|
694
|
+
fa-toggle-up: far-caret-square-up
|
|
695
|
+
fa-trademark: fas-trademark
|
|
696
|
+
fa-train: fas-train
|
|
697
|
+
fa-transgender: fas-transgender
|
|
698
|
+
fa-transgender-alt: fas-transgender-alt
|
|
699
|
+
fa-trash: fas-trash-alt
|
|
700
|
+
fa-trash-o: far-trash-alt
|
|
701
|
+
fa-tree: fas-tree
|
|
702
|
+
fa-trello: fab-trello
|
|
703
|
+
fa-tripadvisor: fab-tripadvisor
|
|
704
|
+
fa-trophy: fas-trophy
|
|
705
|
+
fa-truck: fas-truck
|
|
706
|
+
fa-try: fas-lira-sign
|
|
707
|
+
fa-tty: fas-tty
|
|
708
|
+
fa-tumblr: fab-tumblr
|
|
709
|
+
fa-tumblr-square: fab-tumblr-square
|
|
710
|
+
fa-turkish-lira: fas-lira-sign
|
|
711
|
+
fa-tv: fas-tv
|
|
712
|
+
fa-twitch: fab-twitch
|
|
713
|
+
fa-twitter: fab-twitter
|
|
714
|
+
fa-twitter-square: fab-twitter-square
|
|
715
|
+
fa-umbrella: fas-umbrella
|
|
716
|
+
fa-underline: fas-underline
|
|
717
|
+
fa-undo: fas-undo
|
|
718
|
+
fa-universal-access: fas-universal-access
|
|
719
|
+
fa-university: fas-university
|
|
720
|
+
fa-unlink: fas-unlink
|
|
721
|
+
fa-unlock: fas-unlock
|
|
722
|
+
fa-unlock-alt: fas-unlock-alt
|
|
723
|
+
fa-unsorted: fas-sort
|
|
724
|
+
fa-upload: fas-upload
|
|
725
|
+
fa-usb: fab-usb
|
|
726
|
+
fa-usd: fas-dollar-sign
|
|
727
|
+
fa-user: fas-user
|
|
728
|
+
fa-user-circle: fas-user-circle
|
|
729
|
+
fa-user-circle-o: far-user-circle
|
|
730
|
+
fa-user-md: fas-user-md
|
|
731
|
+
fa-user-o: far-user
|
|
732
|
+
fa-user-plus: fas-user-plus
|
|
733
|
+
fa-user-secret: fas-user-secret
|
|
734
|
+
fa-user-times: fas-user-times
|
|
735
|
+
fa-users: fas-users
|
|
736
|
+
fa-vcard: fas-address-card
|
|
737
|
+
fa-vcard-o: far-address-card
|
|
738
|
+
fa-venus: fas-venus
|
|
739
|
+
fa-venus-double: fas-venus-double
|
|
740
|
+
fa-venus-mars: fas-venus-mars
|
|
741
|
+
fa-viacoin: fab-viacoin
|
|
742
|
+
fa-viadeo: fab-viadeo
|
|
743
|
+
fa-viadeo-square: fab-viadeo-square
|
|
744
|
+
fa-video-camera: fas-video
|
|
745
|
+
fa-vimeo: fab-vimeo-v
|
|
746
|
+
fa-vimeo-square: fab-vimeo-square
|
|
747
|
+
fa-vine: fab-vine
|
|
748
|
+
fa-vk: fab-vk
|
|
749
|
+
fa-volume-control-phone: fas-phone-volume
|
|
750
|
+
fa-volume-down: fas-volume-down
|
|
751
|
+
fa-volume-off: fas-volume-off
|
|
752
|
+
fa-volume-up: fas-volume-up
|
|
753
|
+
fa-warning: fas-exclamation-triangle
|
|
754
|
+
fa-wechat: fab-weixin
|
|
755
|
+
fa-weibo: fab-weibo
|
|
756
|
+
fa-weixin: fab-weixin
|
|
757
|
+
fa-whatsapp: fab-whatsapp
|
|
758
|
+
fa-wheelchair: fas-wheelchair
|
|
759
|
+
fa-wheelchair-alt: fab-accessible-icon
|
|
760
|
+
fa-wifi: fas-wifi
|
|
761
|
+
fa-wikipedia-w: fab-wikipedia-w
|
|
762
|
+
fa-window-close: fas-window-close
|
|
763
|
+
fa-window-close-o: far-window-close
|
|
764
|
+
fa-window-maximize: far-window-maximize
|
|
765
|
+
fa-window-minimize: fas-window-minimize
|
|
766
|
+
fa-window-restore: far-window-restore
|
|
767
|
+
fa-windows: fab-windows
|
|
768
|
+
fa-won: fas-won-sign
|
|
769
|
+
fa-wordpress: fab-wordpress
|
|
770
|
+
fa-wpbeginner: fab-wpbeginner
|
|
771
|
+
fa-wpexplorer: fab-wpexplorer
|
|
772
|
+
fa-wpforms: fab-wpforms
|
|
773
|
+
fa-wrench: fas-wrench
|
|
774
|
+
fa-xing: fab-xing
|
|
775
|
+
fa-xing-square: fab-xing-square
|
|
776
|
+
fa-y-combinator: fab-y-combinator
|
|
777
|
+
fa-y-combinator-square: fab-hacker-news
|
|
778
|
+
fa-yahoo: fab-yahoo
|
|
779
|
+
fa-yc: fab-y-combinator
|
|
780
|
+
fa-yc-square: fab-hacker-news
|
|
781
|
+
fa-yelp: fab-yelp
|
|
782
|
+
fa-yen: fas-yen-sign
|
|
783
|
+
fa-yoast: fab-yoast
|
|
784
|
+
fa-youtube: fab-youtube
|
|
785
|
+
fa-youtube-play: fab-youtube
|
|
786
|
+
fa-youtube-square: fab-youtube-square
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -188,6 +188,12 @@ module Asciidoctor
|
|
|
188
188
|
font @theme.base_font_family, size: @root_font_size, style: @theme.base_font_style
|
|
189
189
|
end
|
|
190
190
|
|
|
191
|
+
# HACK: demote abstract section to styled open block to hide from TOC
|
|
192
|
+
if doctype == 'article' && (first_section = doc.sections[0]) && first_section.sectname === 'abstract'
|
|
193
|
+
first_section.context = :open
|
|
194
|
+
first_section.style = 'abstract'
|
|
195
|
+
end
|
|
196
|
+
|
|
191
197
|
unless title_as_page
|
|
192
198
|
body_start_page_number = page_number
|
|
193
199
|
theme_font :heading, level: 1 do
|
|
@@ -195,10 +201,10 @@ module Asciidoctor
|
|
|
195
201
|
end if doc.header? && !doc.notitle
|
|
196
202
|
end
|
|
197
203
|
|
|
198
|
-
num_front_matter_pages = toc_page_nums =
|
|
204
|
+
num_front_matter_pages = toc_page_nums = nil
|
|
199
205
|
|
|
206
|
+
toc_num_levels = resolve_toclevels doc
|
|
200
207
|
indent_section do
|
|
201
|
-
toc_num_levels = (doc.attr 'toclevels', 2).to_i
|
|
202
208
|
if (toc_at_top = (doc.attr? 'toc') && !((toc_placement = doc.attr 'toc-placement') == 'macro' || toc_placement == 'preamble') && !(get_entries_for_toc doc).empty?)
|
|
203
209
|
start_new_page if @ppbook && verso_page?
|
|
204
210
|
add_dest_for_block doc, id: 'toc', y: (at_page_top? ? page_height : nil)
|
|
@@ -634,11 +640,8 @@ module Asciidoctor
|
|
|
634
640
|
end
|
|
635
641
|
|
|
636
642
|
def convert_section sect, _opts = {}
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
sect.context = :open
|
|
640
|
-
return convert_abstract sect
|
|
641
|
-
elsif (index_section = sectname == 'index') && @index.empty?
|
|
643
|
+
sectname = sect.sectname
|
|
644
|
+
if (index_section = sectname == 'index') && @index.empty?
|
|
642
645
|
# override numbered_title to hide entry from TOC
|
|
643
646
|
sect.define_singleton_method :numbered_title, ->(*) { '' }
|
|
644
647
|
return
|
|
@@ -673,7 +676,7 @@ module Asciidoctor
|
|
|
673
676
|
# QUESTION: should we just assign the section this generated id?
|
|
674
677
|
# NOTE: section must have pdf-anchor in order to be listed in the TOC
|
|
675
678
|
sect.set_attr 'pdf-anchor', (sect_anchor = derive_anchor_from_id sect.id, %(#{start_pgnum}-#{y.ceil}))
|
|
676
|
-
add_dest_for_block sect,
|
|
679
|
+
add_dest_for_block sect, anchor: sect_anchor, y: (at_page_top? ? page_height : nil)
|
|
677
680
|
theme_font :heading, level: hlevel do
|
|
678
681
|
if part
|
|
679
682
|
ink_part_title sect, title, hopts
|
|
@@ -932,8 +935,8 @@ module Asciidoctor
|
|
|
932
935
|
if !(has_icon = node.attr? 'icon') && (doc.attr 'icons') == 'font'
|
|
933
936
|
icons = 'font'
|
|
934
937
|
icon_data = admonition_icon_data type.to_sym
|
|
935
|
-
icon_size = icon_data[:size] || 24
|
|
936
|
-
label_width = label_min_width
|
|
938
|
+
label_width = (icon_size = icon_data[:size] || 24) * 1.5
|
|
939
|
+
label_width = label_min_width if label_min_width && label_min_width > label_width
|
|
937
940
|
elsif (icon_path = has_icon || !(icon_path = (@theme[%(admonition_icon_#{type})] || {})[:image]) ?
|
|
938
941
|
(get_icon_image_path node, type) :
|
|
939
942
|
(ThemeLoader.resolve_theme_asset (apply_subs_discretely doc, icon_path, subs: [:attributes], imagesdir: @themesdir), @themesdir)) &&
|
|
@@ -2423,7 +2426,7 @@ module Asciidoctor
|
|
|
2423
2426
|
if ((doc = node.document).attr? 'toc-placement', placement) && (doc.attr? 'toc') && !(get_entries_for_toc doc).empty?
|
|
2424
2427
|
start_toc_page node, placement if (is_book = doc.doctype == 'book')
|
|
2425
2428
|
add_dest_for_block node, id: (node.id || 'toc') if is_macro
|
|
2426
|
-
toc_extent = @toc_extent = allocate_toc doc, (doc
|
|
2429
|
+
toc_extent = @toc_extent = allocate_toc doc, (resolve_toclevels doc), cursor, (title_as_page = is_book || (doc.attr? 'title-page'))
|
|
2427
2430
|
if title_as_page
|
|
2428
2431
|
if @theme.page_numbering_start_at == 'toc'
|
|
2429
2432
|
@index.start_page_number = toc_extent.from.page
|
|
@@ -2487,7 +2490,7 @@ module Asciidoctor
|
|
|
2487
2490
|
target = node.target
|
|
2488
2491
|
case node.type
|
|
2489
2492
|
when :link
|
|
2490
|
-
anchor = node.id ? %(<a id="#{node.id}">#{DummyText}</a>) : ''
|
|
2493
|
+
anchor = node.id ? %(<a id="#{derive_anchor_from_id node.id}">#{DummyText}</a>) : ''
|
|
2491
2494
|
attrs = []
|
|
2492
2495
|
if (role = node.role)
|
|
2493
2496
|
attrs << %( class="#{role}")
|
|
@@ -2522,7 +2525,7 @@ module Asciidoctor
|
|
|
2522
2525
|
text = text.gsub DropAnchorRx, ''
|
|
2523
2526
|
end
|
|
2524
2527
|
if ref.inline? && ref.type == :bibref && !scratch? && (@bibref_refs.add? refid)
|
|
2525
|
-
anchor = %(<a id="_bibref_ref_#{refid}">#{DummyText}</a>)
|
|
2528
|
+
anchor = %(<a id="#{derive_anchor_from_id "_bibref_ref_#{refid}"}">#{DummyText}</a>)
|
|
2526
2529
|
end
|
|
2527
2530
|
@resolving_xref = nil
|
|
2528
2531
|
end
|
|
@@ -2532,14 +2535,14 @@ module Asciidoctor
|
|
|
2532
2535
|
end
|
|
2533
2536
|
when :ref
|
|
2534
2537
|
# NOTE: destination is created inside callback registered by FormattedTextTransform#build_fragment
|
|
2535
|
-
%(<a id="#{node.id}">#{DummyText}</a>)
|
|
2538
|
+
%(<a id="#{derive_anchor_from_id node.id}">#{DummyText}</a>)
|
|
2536
2539
|
when :bibref
|
|
2537
2540
|
id = node.id
|
|
2538
2541
|
# NOTE: technically node.text should be node.reftext, but subs have already been applied to text
|
|
2539
2542
|
reftext = (reftext = node.reftext) ? %([#{reftext}]) : %([#{id}])
|
|
2540
|
-
reftext = %(<a anchor="_bibref_ref_#{id}">#{reftext}</a>) if @bibref_refs.include? id
|
|
2543
|
+
reftext = %(<a anchor="#{derive_anchor_from_id "_bibref_ref_#{id}"}">#{reftext}</a>) if @bibref_refs.include? id
|
|
2541
2544
|
# NOTE: destination is created inside callback registered by FormattedTextTransform#build_fragment
|
|
2542
|
-
%(<a id="#{id}">#{DummyText}</a>#{reftext})
|
|
2545
|
+
%(<a id="#{derive_anchor_from_id id}">#{DummyText}</a>#{reftext})
|
|
2543
2546
|
else
|
|
2544
2547
|
log :warn, %(unknown anchor type: #{node.type.inspect})
|
|
2545
2548
|
nil
|
|
@@ -2782,7 +2785,7 @@ module Asciidoctor
|
|
|
2782
2785
|
end
|
|
2783
2786
|
|
|
2784
2787
|
# NOTE: destination is created inside callback registered by FormattedTextTransform#build_fragment
|
|
2785
|
-
node.id ? %(<a id="#{node.id}">#{DummyText}</a>#{quoted_text}) : quoted_text
|
|
2788
|
+
node.id ? %(<a id="#{derive_anchor_from_id node.id}">#{DummyText}</a>#{quoted_text}) : quoted_text
|
|
2786
2789
|
end
|
|
2787
2790
|
|
|
2788
2791
|
# If an id is provided or the node passed as the first argument has an id,
|
|
@@ -2795,8 +2798,8 @@ module Asciidoctor
|
|
|
2795
2798
|
# experience. If the current x position is at or inside the left margin, set
|
|
2796
2799
|
# the x position equal to 0 (left edge of page) to improve the navigation
|
|
2797
2800
|
# experience.
|
|
2798
|
-
def add_dest_for_block node, id: nil, y: nil
|
|
2799
|
-
if !scratch? && (id ||= node.id)
|
|
2801
|
+
def add_dest_for_block node, anchor: nil, id: nil, y: nil
|
|
2802
|
+
if !scratch? && (anchor || ((id ||= node.id) && (anchor = derive_anchor_from_id id)))
|
|
2800
2803
|
dest_x = bounds.absolute_left.truncate 4
|
|
2801
2804
|
# QUESTION: when content is aligned to left margin, should we keep precise x value or just use 0?
|
|
2802
2805
|
dest_x = 0 if dest_x <= page_margin_left
|
|
@@ -2806,7 +2809,7 @@ module Asciidoctor
|
|
|
2806
2809
|
end
|
|
2807
2810
|
# TODO: find a way to store only the ref of the destination; look it up when we need it
|
|
2808
2811
|
node.set_attr 'pdf-destination', (node_dest = (dest_xyz dest_x, dest_y))
|
|
2809
|
-
add_dest
|
|
2812
|
+
add_dest anchor, node_dest
|
|
2810
2813
|
end
|
|
2811
2814
|
nil
|
|
2812
2815
|
end
|
|
@@ -2815,7 +2818,7 @@ module Asciidoctor
|
|
|
2815
2818
|
if ::String === num_levels
|
|
2816
2819
|
if num_levels.include? ':'
|
|
2817
2820
|
num_levels, expand_levels = num_levels.split ':', 2
|
|
2818
|
-
num_levels = num_levels.empty? ? (doc
|
|
2821
|
+
num_levels = num_levels.empty? ? (resolve_toclevels doc) : num_levels.to_i
|
|
2819
2822
|
expand_levels = expand_levels.to_i
|
|
2820
2823
|
else
|
|
2821
2824
|
num_levels = expand_levels = num_levels.to_i
|
|
@@ -2835,7 +2838,7 @@ module Asciidoctor
|
|
|
2835
2838
|
pagenum_labels[n] = { P: (::PDF::Core::LiteralString.new (i + 1).to_s) }
|
|
2836
2839
|
end
|
|
2837
2840
|
|
|
2838
|
-
unless toc_page_nums.none? || (toc_title = doc.attr 'toc-title').nil_or_empty?
|
|
2841
|
+
unless toc_page_nums.none? || (toc_title = doc.attr 'toc-title').nil_or_empty? || doc.sections.empty?
|
|
2839
2842
|
toc_section = insert_toc_section doc, toc_title, toc_page_nums
|
|
2840
2843
|
end
|
|
2841
2844
|
|
|
@@ -2864,6 +2867,7 @@ module Asciidoctor
|
|
|
2864
2867
|
next if (num_levels_for_sect = (sect.attr 'outlinelevels', num_levels).to_i) < (level = sect.level) ||
|
|
2865
2868
|
((sect.option? 'notitle') && sect == sect.document.last_child && sect.empty?)
|
|
2866
2869
|
sect_title = sanitize sect.numbered_title formal: true
|
|
2870
|
+
next if sect_title.empty?
|
|
2867
2871
|
sect_destination = sect.attr 'pdf-destination'
|
|
2868
2872
|
if level < num_levels_for_sect && sect.sections?
|
|
2869
2873
|
outline.section sect_title, destination: sect_destination, closed: expand_levels < 1 do
|
|
@@ -2910,6 +2914,11 @@ module Asciidoctor
|
|
|
2910
2914
|
# the next page. This method is not called if the cursor is already at the top of the page or
|
|
2911
2915
|
# whether this node has no node that follows it in document order.
|
|
2912
2916
|
def arrange_heading node, title, opts
|
|
2917
|
+
# quick optimization if font size itself won't fit in remaining space
|
|
2918
|
+
unless theme_font(:heading, level: (hlevel = opts[:level])) { font_size <= cursor }
|
|
2919
|
+
advance_page
|
|
2920
|
+
return
|
|
2921
|
+
end
|
|
2913
2922
|
if (min_height_after = @theme.heading_min_height_after) == 'auto' || (node.option? 'breakable')
|
|
2914
2923
|
orphaned = nil
|
|
2915
2924
|
doc = node.document
|
|
@@ -2917,7 +2926,7 @@ module Asciidoctor
|
|
|
2917
2926
|
dry_run single_page: true do
|
|
2918
2927
|
push_scratch doc
|
|
2919
2928
|
start_page_number ||= page_number # block will be restarted if first attempt fails
|
|
2920
|
-
theme_font :heading, level:
|
|
2929
|
+
theme_font :heading, level: hlevel do
|
|
2921
2930
|
if opts[:part]
|
|
2922
2931
|
ink_part_title node, title, opts
|
|
2923
2932
|
elsif opts[:chapterlike]
|
|
@@ -2937,7 +2946,7 @@ module Asciidoctor
|
|
|
2937
2946
|
end
|
|
2938
2947
|
advance_page if orphaned
|
|
2939
2948
|
else
|
|
2940
|
-
theme_font :heading, level:
|
|
2949
|
+
theme_font :heading, level: hlevel do
|
|
2941
2950
|
if (space_below = ::Numeric === min_height_after ? min_height_after : 0) > 0 && (node.context == :section ? node.blocks? : !node.last_child?)
|
|
2942
2951
|
space_below += @theme[%(heading_h#{hlevel}_margin_bottom)] || @theme.heading_margin_bottom
|
|
2943
2952
|
else
|
|
@@ -3650,7 +3659,7 @@ module Asciidoctor
|
|
|
3650
3659
|
end
|
|
3651
3660
|
toc_page_nums = nil if toc_page_nums.end == pgnum
|
|
3652
3661
|
elsif last_chap == :pre
|
|
3653
|
-
chapters_by_page[pgnum] = pgnum < body_start_page_number ? doc.doctitle : (doc.attr 'preface-title', 'Preface')
|
|
3662
|
+
chapters_by_page[pgnum] = pgnum < body_start_page_number ? doc.doctitle : (doc.attr 'preface-title', (doc.attr_unspecified? 'preface-title') ? 'Preface' : '')
|
|
3654
3663
|
sections_by_page[pgnum] = last_sect
|
|
3655
3664
|
else
|
|
3656
3665
|
chapters_by_page[pgnum] = last_chap
|
|
@@ -3928,6 +3937,13 @@ module Asciidoctor
|
|
|
3928
3937
|
node.sections
|
|
3929
3938
|
end
|
|
3930
3939
|
|
|
3940
|
+
def resolve_toclevels doc
|
|
3941
|
+
if (toc_num_levels = (doc.attr 'toclevels', 2).to_i) < 1
|
|
3942
|
+
toc_num_levels = doc.doctype == 'book' && doc.sections.find {|s| s.sectname == 'part' } ? 0 : 1
|
|
3943
|
+
end
|
|
3944
|
+
toc_num_levels
|
|
3945
|
+
end
|
|
3946
|
+
|
|
3931
3947
|
# NOTE: num_front_matter_pages not used during a dry run
|
|
3932
3948
|
def ink_toc doc, num_levels, toc_page_number, start_cursor, num_front_matter_pages = 0
|
|
3933
3949
|
go_to_page toc_page_number unless (page_number == toc_page_number) || scratch?
|
|
@@ -3978,9 +3994,9 @@ module Asciidoctor
|
|
|
3978
3994
|
entries.each do |entry|
|
|
3979
3995
|
next if (num_levels_for_entry = (entry.attr 'toclevels', num_levels).to_i) < (entry_level = entry.level + 1).pred ||
|
|
3980
3996
|
((entry.option? 'notitle') && entry == entry.document.last_child && entry.empty?)
|
|
3997
|
+
entry_title = entry.context == :section ? entry.numbered_title : (entry.title? ? entry.title : (entry.xreftext 'basic'))
|
|
3998
|
+
next if entry_title.empty?
|
|
3981
3999
|
theme_font :toc, level: entry_level do
|
|
3982
|
-
entry_title = entry.context == :section ? entry.numbered_title : (entry.title? ? entry.title : (entry.xreftext 'basic'))
|
|
3983
|
-
next if entry_title.empty?
|
|
3984
4000
|
entry_title = entry_title.gsub DropAnchorRx, '' if entry_title.include? '<a'
|
|
3985
4001
|
entry_title = transform_text entry_title, @text_transform if @text_transform
|
|
3986
4002
|
pgnum_label_placeholder_width = rendered_width_of_string '0' * @toc_max_pagenum_digits
|
|
@@ -4936,7 +4952,7 @@ module Asciidoctor
|
|
|
4936
4952
|
def derive_anchor_from_id value, default_value = nil
|
|
4937
4953
|
if value
|
|
4938
4954
|
value.ascii_only? ? value : %(0x#{::PDF::Core.string_to_hex value})
|
|
4939
|
-
|
|
4955
|
+
elsif default_value
|
|
4940
4956
|
%(__anchor-#{default_value})
|
|
4941
4957
|
end
|
|
4942
4958
|
end
|
|
@@ -26,6 +26,20 @@ class Asciidoctor::Document
|
|
|
26
26
|
|
|
27
27
|
# Internal: Returns whether the specified attribute has never been set and is not locked.
|
|
28
28
|
def attr_unspecified? name
|
|
29
|
-
|
|
29
|
+
if (attribute_locked? name) || (@attributes_modified.include? name)
|
|
30
|
+
false
|
|
31
|
+
else
|
|
32
|
+
@options[:attributes].each_pair.none? do |k, v|
|
|
33
|
+
if k == name
|
|
34
|
+
true
|
|
35
|
+
elsif v == '@'
|
|
36
|
+
k == %(!#{name}) || k == %(#{name}!)
|
|
37
|
+
elsif k.end_with? '@'
|
|
38
|
+
(k = k.chop) == name || k == %(!#{name}) || k == %(#{name}!)
|
|
39
|
+
else
|
|
40
|
+
false
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
30
44
|
end
|
|
31
45
|
end
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
Prawn::Font::AFM.instance_variable_set :@hide_m17n_warning, true
|
|
4
4
|
|
|
5
|
-
require 'prawn/icon'
|
|
6
|
-
|
|
7
|
-
Prawn::Icon::Compatibility.prepend (Module.new { def warning *_args; end })
|
|
8
|
-
|
|
9
5
|
module Asciidoctor
|
|
10
6
|
module Prawn
|
|
11
7
|
module Extensions
|
|
@@ -322,7 +318,7 @@ module Asciidoctor
|
|
|
322
318
|
if name
|
|
323
319
|
options = { size: options } if ::Numeric === options
|
|
324
320
|
if IconSets.include? name
|
|
325
|
-
|
|
321
|
+
icon_font_data name
|
|
326
322
|
options = options.reject {|k| k == :style } if options.key? :style
|
|
327
323
|
end
|
|
328
324
|
end
|
|
@@ -404,14 +400,6 @@ module Asciidoctor
|
|
|
404
400
|
string == PlaceholderChar ? @character_spacing : super
|
|
405
401
|
end
|
|
406
402
|
|
|
407
|
-
def icon_font_data family
|
|
408
|
-
::Prawn::Icon::FontData.load self, family
|
|
409
|
-
end
|
|
410
|
-
|
|
411
|
-
def resolve_legacy_icon_name name
|
|
412
|
-
::Prawn::Icon::Compatibility::SHIMS[%(fa-#{name})]
|
|
413
|
-
end
|
|
414
|
-
|
|
415
403
|
def calc_line_metrics line_height, font = self.font, font_size = self.font_size
|
|
416
404
|
line_height_length = line_height * font_size
|
|
417
405
|
leading = line_height_length - font_size
|
|
@@ -891,6 +879,8 @@ module Asciidoctor
|
|
|
891
879
|
# However, due to how page creation works in Prawn, understand that advancing
|
|
892
880
|
# to the next page is necessary to prevent the size & layout of the imported
|
|
893
881
|
# page from affecting a newly created page.
|
|
882
|
+
#
|
|
883
|
+
# Returns a Boolean indicating whether the page to import exists and was imported.
|
|
894
884
|
def import_page file, options = {}
|
|
895
885
|
prev_page_layout = page.layout
|
|
896
886
|
prev_page_size = page.size
|
|
@@ -912,6 +902,7 @@ module Asciidoctor
|
|
|
912
902
|
advance_page layout: prev_page_layout, margin: prev_page_margin, size: prev_page_size
|
|
913
903
|
(@bounding_box = prev_bounds).reset_top if ColumnBox === prev_bounds
|
|
914
904
|
end
|
|
905
|
+
imported = true
|
|
915
906
|
elsif options.fetch :advance_if_missing, true
|
|
916
907
|
delete_current_page
|
|
917
908
|
# NOTE: see previous comment
|
|
@@ -920,7 +911,7 @@ module Asciidoctor
|
|
|
920
911
|
else
|
|
921
912
|
delete_current_page
|
|
922
913
|
end
|
|
923
|
-
|
|
914
|
+
imported
|
|
924
915
|
end
|
|
925
916
|
|
|
926
917
|
# Create a new page for the specified image.
|
|
@@ -67,7 +67,7 @@ Prawn::Text::Formatted::Box.prepend (Module.new do
|
|
|
67
67
|
if doc.font.glyph_present? char
|
|
68
68
|
current_font
|
|
69
69
|
elsif fallback_fonts_to_check.empty?
|
|
70
|
-
if logger.info? && !doc.scratch?
|
|
70
|
+
if logger.info? && !doc.scratch? && char != ?\u000a
|
|
71
71
|
fonts_checked = [original_font].concat @fallback_fonts
|
|
72
72
|
missing_chars = (doc.instance_variable_defined? :@missing_chars) ?
|
|
73
73
|
(doc.instance_variable_get :@missing_chars) : (doc.instance_variable_set :@missing_chars, {})
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class Prawn::Icon::Legacy
|
|
4
|
+
FontsDir = ::File.absolute_path %(#{__dir__}/../../../../../data/fonts)
|
|
5
|
+
MappingDataPath = ::File.join FontsDir, 'fa-legacy-mapping.yml'
|
|
6
|
+
class << self
|
|
7
|
+
def mapping
|
|
8
|
+
@mapping ||= YAML.load_file MappingDataPath
|
|
9
|
+
end
|
|
10
|
+
end
|
|
11
|
+
end
|
data/lib/asciidoctor/pdf/ext.rb
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
require 'treetop'
|
|
4
|
+
module Kernel
|
|
5
|
+
alias require polyglot_original_require
|
|
6
|
+
end if defined? polyglot_original_require
|
|
4
7
|
require_relative 'formatted_text/parser'
|
|
5
8
|
require_relative 'formatted_text/transform'
|
|
6
9
|
require_relative 'formatted_text/formatter'
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: asciidoctor-pdf
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.3.
|
|
4
|
+
version: 2.3.25
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dan Allen
|
|
@@ -9,7 +9,7 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date:
|
|
12
|
+
date: 2026-08-31 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: asciidoctor
|
|
@@ -231,6 +231,7 @@ files:
|
|
|
231
231
|
- data/fonts/ABOUT-notoserif-subset
|
|
232
232
|
- data/fonts/LICENSE-mplus
|
|
233
233
|
- data/fonts/LICENSE-noto
|
|
234
|
+
- data/fonts/fa-legacy-mapping.yml
|
|
234
235
|
- data/fonts/mplus1mn-bold-subset.ttf
|
|
235
236
|
- data/fonts/mplus1mn-bold_italic-subset.ttf
|
|
236
237
|
- data/fonts/mplus1mn-italic-subset.ttf
|
|
@@ -273,6 +274,9 @@ files:
|
|
|
273
274
|
- lib/asciidoctor/pdf/ext/pdf-core.rb
|
|
274
275
|
- lib/asciidoctor/pdf/ext/pdf-core/page.rb
|
|
275
276
|
- lib/asciidoctor/pdf/ext/prawn-gmagick.rb
|
|
277
|
+
- lib/asciidoctor/pdf/ext/prawn-icon.rb
|
|
278
|
+
- lib/asciidoctor/pdf/ext/prawn-icon/interface.rb
|
|
279
|
+
- lib/asciidoctor/pdf/ext/prawn-icon/legacy.rb
|
|
276
280
|
- lib/asciidoctor/pdf/ext/prawn-svg.rb
|
|
277
281
|
- lib/asciidoctor/pdf/ext/prawn-svg/calculators/document_sizing.rb
|
|
278
282
|
- lib/asciidoctor/pdf/ext/prawn-svg/elements/image.rb
|