metanorma-iso 1.6.1 → 1.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/asciidoctor/iso/base.rb +1 -1
- data/lib/asciidoctor/iso/basicdoc.rng +5 -3
- data/lib/asciidoctor/iso/front.rb +5 -5
- data/lib/asciidoctor/iso/isodoc.rng +3 -0
- data/lib/asciidoctor/iso/validate.rb +67 -1
- data/lib/isodoc/iso/html/header.html +12 -12
- data/lib/isodoc/iso/html/html_iso_intro.html +1 -1
- data/lib/isodoc/iso/html/html_iso_titlepage.html +1 -1
- data/lib/isodoc/iso/html/word_iso_intro.html +1 -1
- data/lib/isodoc/iso/html/word_iso_titlepage.html +1 -1
- data/lib/isodoc/iso/html_convert.rb +2 -2
- data/lib/isodoc/iso/i18n-en.yaml +2 -0
- data/lib/isodoc/iso/i18n-fr.yaml +1 -1
- data/lib/isodoc/iso/i18n-zh-Hans.yaml +1 -1
- data/lib/isodoc/iso/iso.amendment.xsl +82 -15
- data/lib/isodoc/iso/iso.international-standard.xsl +82 -15
- data/lib/isodoc/iso/word_convert.rb +2 -2
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +2 -2
- data/spec/asciidoctor-iso/base_spec.rb +2 -2
- data/spec/asciidoctor-iso/validate_spec.rb +70 -1
- data/spec/isodoc/iso_spec.rb +2 -2
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4ec4ec662c484d537eb81f3942a322462babc6f46faa2a4842cb3dd0d933a23a
|
4
|
+
data.tar.gz: 1967914fa124dbe03b21d008f615bb84f576665bf7562d85ef4740bf56d953c3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bbd9e8c580bc90dc62eb14bee46daecd43519b76028f80bb13d7076ad34ce5f1ccfe6cac8159d13ecf08aa82c7afb4a8560ea1d74bd442e2387f03afe1ce0491
|
7
|
+
data.tar.gz: 240233e6a5eca387b2def2da7660524f28bb11ddbe6d5ee61b9cf829f1baf9ee547ecb411626efa52b8b129434d31e2228a2f7c4c30bacbcf336893ada0f239c
|
data/lib/asciidoctor/iso/base.rb
CHANGED
@@ -729,9 +729,11 @@
|
|
729
729
|
</define>
|
730
730
|
<define name="index">
|
731
731
|
<element name="index">
|
732
|
-
<
|
733
|
-
<
|
734
|
-
|
732
|
+
<optional>
|
733
|
+
<attribute name="to">
|
734
|
+
<data type="IDREF"/>
|
735
|
+
</attribute>
|
736
|
+
</optional>
|
735
737
|
<element name="primary">
|
736
738
|
<oneOrMore>
|
737
739
|
<ref name="PureTextElement"/>
|
@@ -85,27 +85,27 @@ module Asciidoctor
|
|
85
85
|
def title_intro(node, t, lang, at)
|
86
86
|
return unless node.attr("title-intro-#{lang}")
|
87
87
|
t.title(**attr_code(at.merge(type: "title-intro"))) do |t1|
|
88
|
-
t1 <<
|
88
|
+
t1 << Metanorma::Utils::asciidoc_sub(node.attr("title-intro-#{lang}"))
|
89
89
|
end
|
90
90
|
end
|
91
91
|
|
92
92
|
def title_main(node, t, lang, at)
|
93
93
|
t.title **attr_code(at.merge(type: "title-main")) do |t1|
|
94
|
-
t1 <<
|
94
|
+
t1 << Metanorma::Utils::asciidoc_sub(node.attr("title-main-#{lang}"))
|
95
95
|
end
|
96
96
|
end
|
97
97
|
|
98
98
|
def title_part(node, t, lang, at)
|
99
99
|
return unless node.attr("title-part-#{lang}")
|
100
100
|
t.title(**attr_code(at.merge(type: "title-part"))) do |t1|
|
101
|
-
t1 <<
|
101
|
+
t1 << Metanorma::Utils::asciidoc_sub(node.attr("title-part-#{lang}"))
|
102
102
|
end
|
103
103
|
end
|
104
104
|
|
105
105
|
def title_amd(node, t, lang, at)
|
106
106
|
return unless node.attr("title-amendment-#{lang}")
|
107
107
|
t.title(**attr_code(at.merge(type: "title-amd"))) do |t1|
|
108
|
-
t1 <<
|
108
|
+
t1 << Metanorma::Utils::asciidoc_sub(node.attr("title-amendment-#{lang}"))
|
109
109
|
end
|
110
110
|
end
|
111
111
|
|
@@ -118,7 +118,7 @@ module Asciidoctor
|
|
118
118
|
title = "#{title} -- #{part}" if part
|
119
119
|
title = "#{title} -- #{amd}" if amd && @amd
|
120
120
|
t.title **attr_code(at.merge(type: "main")) do |t1|
|
121
|
-
t1 <<
|
121
|
+
t1 << Metanorma::Utils::asciidoc_sub(title)
|
122
122
|
end
|
123
123
|
end
|
124
124
|
|
@@ -147,7 +147,7 @@ module Asciidoctor
|
|
147
147
|
end
|
148
148
|
|
149
149
|
# DRG directives 3.7; but anticipated by standoc
|
150
|
-
def
|
150
|
+
def subfigure_validate(xmldoc)
|
151
151
|
xmldoc.xpath("//figure//figure").each do |f|
|
152
152
|
{ footnote: "fn", note: "note", key: "dl" }.each do |k, v|
|
153
153
|
f.xpath(".//#{v}").each do |n|
|
@@ -157,6 +157,72 @@ module Asciidoctor
|
|
157
157
|
end
|
158
158
|
end
|
159
159
|
|
160
|
+
def image_name_prefix(xmldoc)
|
161
|
+
std = xmldoc&.at("//bibdata/ext/structuredidentifier/project-number") or return
|
162
|
+
num = xmldoc&.at("//bibdata/docnumber")&.text or return
|
163
|
+
ed = xmldoc&.at("//bibdata/edition")&.text || "1"
|
164
|
+
prefix = num
|
165
|
+
part = std["part"] and prefix += "-#{std['part']}"
|
166
|
+
prefix += "_ed#{ed}"
|
167
|
+
amd = std["amendment"] and prefix += "amd#{amd}"
|
168
|
+
prefix
|
169
|
+
end
|
170
|
+
|
171
|
+
def image_name_suffix(xmldoc)
|
172
|
+
case xmldoc&.at("//bibdata/language")&.text
|
173
|
+
when "fr" then "_f"
|
174
|
+
when "de" then "_d"
|
175
|
+
when "ru" then "_r"
|
176
|
+
when "es" then "_s"
|
177
|
+
when "ar" then "_a"
|
178
|
+
when "en" then "_e"
|
179
|
+
else
|
180
|
+
"_e"
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
def disjunct_error(i, cond1, cond2, msg1, msg2)
|
185
|
+
cond1 && !cond2 and @log.add("Style", i, "image name #{i['src']} #{msg1}")
|
186
|
+
!cond1 && cond2 and @log.add("Style", i, "image name #{i['src']} #{msg2}")
|
187
|
+
end
|
188
|
+
|
189
|
+
def image_name_validate1(i, prefix)
|
190
|
+
m = %r[(SL)?#{prefix}fig(?<tab>Tab)?(?<annex>[A-Z])?(Text)?(?<num>\d+)
|
191
|
+
(?<subfig>[a-z])?(?<key>_key\d+)?(?<lang>_[a-z])?$]x.match(File.basename(i["src"], ".*"))
|
192
|
+
if m.nil?
|
193
|
+
@log.add("Style", i, "image name #{i['src']} does not match DRG requirements")
|
194
|
+
return
|
195
|
+
end
|
196
|
+
warn i['src']
|
197
|
+
disjunct_error(i, i.at("./ancestor::table"), !m[:tab].nil?,
|
198
|
+
"is under a table but is not so labelled", "is labelled as under a table but is not")
|
199
|
+
disjunct_error(i, i.at("./ancestor::annex"), !m[:annex].nil?,
|
200
|
+
"is under an annex but is not so labelled", "is labelled as under an annex but is not")
|
201
|
+
disjunct_error(i, i.xpath("./ancestor::figure").size > 1, !m[:subfig].nil?,
|
202
|
+
"does not have a subfigure letter but is a subfigure",
|
203
|
+
"has a subfigure letter but is not a subfigure")
|
204
|
+
lang = image_name_suffix(i.document.root)
|
205
|
+
(m[:lang] || "_e") == lang or @log.add("Style", i, "image name #{i['src']} expected to have suffix #{lang}")
|
206
|
+
end
|
207
|
+
|
208
|
+
# DRG directives 3.2
|
209
|
+
def image_name_validate(xmldoc)
|
210
|
+
prefix = image_name_prefix(xmldoc) or return
|
211
|
+
xmldoc.xpath("//image").each do |i|
|
212
|
+
if /^ISO_\d+_/.match(File.basename(i["src"]))
|
213
|
+
elsif /^(SL)?#{prefix}fig/.match(File.basename(i["src"]))
|
214
|
+
image_name_validate1(i, prefix)
|
215
|
+
else
|
216
|
+
@log.add("Style", i, "image name #{i['src']} does not match DRG requirements: expect #{prefix}fig")
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
def figure_validate(xmldoc)
|
222
|
+
image_name_validate(xmldoc)
|
223
|
+
subfigure_validate(xmldoc)
|
224
|
+
end
|
225
|
+
|
160
226
|
def bibdata_validate(doc)
|
161
227
|
doctype_validate(doc)
|
162
228
|
script_validate(doc)
|
@@ -74,7 +74,7 @@ mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber_reference }}{{ draft
|
|
74
74
|
|
75
75
|
<p class=MsoHeader style='margin-bottom:18.0pt'><span lang=EN-GB
|
76
76
|
style='font-size:10.0pt;mso-bidi-font-size:11.0pt;font-weight:normal'>©
|
77
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}</span><span lang=EN-GB
|
77
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}</span><span lang=EN-GB
|
78
78
|
style='font-weight:normal'><o:p></o:p></span></p>
|
79
79
|
|
80
80
|
</div>
|
@@ -93,7 +93,7 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
|
93
93
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
|
94
94
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
95
95
|
style='mso-tab-count:1'> </span>©
|
96
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
96
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
97
97
|
|
98
98
|
</div>
|
99
99
|
|
@@ -129,7 +129,7 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
|
129
129
|
style='mso-element:field-end'></span></span><![endif]--><span lang=EN-GB
|
130
130
|
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span style='mso-tab-count:
|
131
131
|
1'> </span>©
|
132
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
132
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
133
133
|
</div>
|
134
134
|
|
135
135
|
<div style='mso-element:footer' id=ef2l>
|
@@ -144,12 +144,12 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
|
144
144
|
style='mso-element:field-end'></span></span><![endif]--><span lang=EN-GB
|
145
145
|
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span style='mso-tab-count:
|
146
146
|
1'> </span>©
|
147
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
147
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
148
148
|
</div>
|
149
149
|
|
150
150
|
<div style='mso-element:footer' id=f2>
|
151
151
|
<p class=MsoFooter style='line-height:12.0pt'><span lang=EN-GB
|
152
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
152
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
153
153
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
154
154
|
style='mso-element:field-begin'></span> PAGE<span style='mso-spacerun:yes'>
|
155
155
|
</span>\* MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
|
@@ -162,7 +162,7 @@ style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span></p>
|
|
162
162
|
|
163
163
|
<div style='mso-element:footer' id=f2l>
|
164
164
|
<p class=MsoFooterLandscape style='line-height:12.0pt'><span lang=EN-GB
|
165
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
165
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><span
|
166
166
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
167
167
|
style='mso-element:field-begin'></span> PAGE<span style='mso-spacerun:yes'>
|
168
168
|
</span>\* MERGEFORMAT <span style='mso-element:field-separator'></span></span><![endif]--><span
|
@@ -186,7 +186,7 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
|
186
186
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
|
187
187
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
188
188
|
style='mso-tab-count:1'> </span>©
|
189
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
189
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
190
190
|
</div>
|
191
191
|
|
192
192
|
<div style='mso-element:footer' id=ef3l>
|
@@ -202,12 +202,12 @@ style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
|
202
202
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-end'></span></span></b><![endif]--><span
|
203
203
|
lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><span
|
204
204
|
style='mso-tab-count:1'> </span>©
|
205
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
205
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
206
206
|
</div>
|
207
207
|
|
208
208
|
<div style='mso-element:footer' id=f3>
|
209
209
|
<p class=MsoFooter style='line-height:12.0pt'><span lang=EN-GB
|
210
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
210
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
211
211
|
style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
212
212
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-begin'></span>
|
213
213
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
@@ -221,7 +221,7 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span>
|
|
221
221
|
|
222
222
|
<div style='mso-element:footer' id=f3l>
|
223
223
|
<p class=MsoFooterLandscape style='line-height:12.0pt'><span lang=EN-GB
|
224
|
-
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ all_rights_reserved }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
224
|
+
style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>© {{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<span style='mso-tab-count:1'> </span></span><!--[if supportFields]><b
|
225
225
|
style='mso-bidi-font-weight:normal'><span lang=EN-GB style='font-size:10.0pt;
|
226
226
|
mso-bidi-font-size:11.0pt'><span style='mso-element:field-begin'></span>
|
227
227
|
PAGE<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span
|
@@ -242,10 +242,10 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'><o:p></o:p></span>
|
|
242
242
|
{% endif %}
|
243
243
|
|
244
244
|
<p class=MsoFooter style='margin-top:0cm'><span lang=EN-AU style='font-size:
|
245
|
-
10.0pt;mso-ansi-language:EN-AU'>{{ price_based_on | replace: "%", "<span style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>NUMPAGES<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span><span style='mso-no-proof:yes'>26</span><span style='mso-element:field-end'></span>" }}</span></p>
|
245
|
+
10.0pt;mso-ansi-language:EN-AU'>{{ labels["price_based_on"] | replace: "%", "<span style='mso-element:field-begin'></span><span style='mso-spacerun:yes'> </span>NUMPAGES<span style='mso-spacerun:yes'> </span>\* MERGEFORMAT <span style='mso-element:field-separator'></span><span style='mso-no-proof:yes'>26</span><span style='mso-element:field-end'></span>" }}</span></p>
|
246
246
|
|
247
247
|
<p class=MsoFooter><span lang=EN-AU style='font-size:10.0pt;'>©
|
248
|
-
{{ agency }} {{ docyear }} – {{ all_rights_reserved }}<o:p></o:p></span></p>
|
248
|
+
{{ agency }} {{ docyear }} – {{ labels["all_rights_reserved"] }}<o:p></o:p></span></p>
|
249
249
|
|
250
250
|
</div>
|
251
251
|
|
@@ -8,7 +8,7 @@ margin-left:5.1pt;margin-right:5.1pt'>
|
|
8
8
|
{% if doctype == "Amendment" or doctype == "Technical Corrigendum" %}
|
9
9
|
{% else %}
|
10
10
|
|
11
|
-
<p class="zzContents" style='margin-top:0cm'><span lang="EN-GB">
|
11
|
+
<p class="zzContents" style='margin-top:0cm'><span lang="EN-GB">{{ labels["table_of_contents"] }}</span></p>
|
12
12
|
|
13
13
|
WORDTOC
|
14
14
|
{% endif %}
|
@@ -11,7 +11,7 @@ style='mso-bidi-font-weight:normal'><span lang="EN-GB" style='font-size:14.0pt'>
|
|
11
11
|
{% endif %}
|
12
12
|
|
13
13
|
{% if revdate %}
|
14
|
-
<p class="MsoNormal" align="right" style='text-align:right'><span lang="EN-GB" style='mso-no-proof:yes'>
|
14
|
+
<p class="MsoNormal" align="right" style='text-align:right'><span lang="EN-GB" style='mso-no-proof:yes'>{{ labels["date"]}}: {{ revdate }}</span></p>
|
15
15
|
{% endif %}
|
16
16
|
|
17
17
|
{% if tc_docnumber.size > 0 %}
|
@@ -19,9 +19,9 @@ module IsoDoc
|
|
19
19
|
|
20
20
|
def default_fonts(options)
|
21
21
|
{
|
22
|
-
bodyfont: (options[:script] == "Hans" ? '"
|
22
|
+
bodyfont: (options[:script] == "Hans" ? '"Source Han Sans",serif' :
|
23
23
|
options[:alt] ? '"Lato",sans-serif' : '"Cambria",serif'),
|
24
|
-
headerfont: (options[:script] == "Hans" ? '"
|
24
|
+
headerfont: (options[:script] == "Hans" ? '"Source Han Sans",sans-serif' :
|
25
25
|
options[:alt] ? '"Lato",sans-serif' : '"Cambria",serif'),
|
26
26
|
monospacefont: (options[:alt] ? '"Space Mono",monospace' :
|
27
27
|
'"Courier New",monospace'),
|
data/lib/isodoc/iso/i18n-en.yaml
CHANGED
data/lib/isodoc/iso/i18n-fr.yaml
CHANGED
@@ -1024,20 +1024,20 @@
|
|
1024
1024
|
<fo:block-container font-weight="bold">
|
1025
1025
|
|
1026
1026
|
<fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
|
1027
|
-
<
|
1028
|
-
|
1029
|
-
|
1027
|
+
<fo:inline font-size="16pt" font-weight="bold">
|
1028
|
+
<!-- Contents -->
|
1029
|
+
<xsl:call-template name="getLocalizedString">
|
1030
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
1030
1031
|
</xsl:call-template>
|
1031
|
-
</
|
1032
|
-
<fo:inline font-size="16pt" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:inline>
|
1032
|
+
</fo:inline>
|
1033
1033
|
<fo:inline keep-together.within-line="always">
|
1034
1034
|
<fo:leader leader-pattern="space"/>
|
1035
|
-
<
|
1036
|
-
|
1037
|
-
|
1038
|
-
</xsl:
|
1039
|
-
</xsl:
|
1040
|
-
|
1035
|
+
<fo:inline font-weight="normal" font-size="10pt">
|
1036
|
+
<!-- Page -->
|
1037
|
+
<xsl:call-template name="getLocalizedString">
|
1038
|
+
<xsl:with-param name="key">locality.page</xsl:with-param>
|
1039
|
+
</xsl:call-template>
|
1040
|
+
</fo:inline>
|
1041
1041
|
</fo:inline>
|
1042
1042
|
</fo:block>
|
1043
1043
|
|
@@ -2534,6 +2534,7 @@
|
|
2534
2534
|
|
2535
2535
|
|
2536
2536
|
|
2537
|
+
|
2537
2538
|
</xsl:attribute-set><xsl:attribute-set name="quote-source-style">
|
2538
2539
|
|
2539
2540
|
|
@@ -2670,7 +2671,7 @@
|
|
2670
2671
|
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
2671
2672
|
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
2672
2673
|
<xsl:call-template name="add-zero-spaces-java"/>
|
2673
|
-
</xsl:template><xsl:template match="*[local-name()='table']">
|
2674
|
+
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
2674
2675
|
|
2675
2676
|
<xsl:variable name="simple-table">
|
2676
2677
|
<xsl:call-template name="getSimpleTable"/>
|
@@ -4009,6 +4010,7 @@
|
|
4009
4010
|
|
4010
4011
|
|
4011
4012
|
|
4013
|
+
|
4012
4014
|
|
4013
4015
|
</xsl:variable>
|
4014
4016
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -4604,7 +4606,7 @@
|
|
4604
4606
|
</xsl:if> -->
|
4605
4607
|
</fo:inline>
|
4606
4608
|
</xsl:if>
|
4607
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
4609
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
4608
4610
|
<fo:block-container id="{@id}">
|
4609
4611
|
|
4610
4612
|
<fo:block>
|
@@ -4811,6 +4813,12 @@
|
|
4811
4813
|
<!-- <xsl:text> </xsl:text> -->
|
4812
4814
|
</xsl:template><xsl:template name="getSection">
|
4813
4815
|
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
4816
|
+
<!--
|
4817
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
4818
|
+
<xsl:value-of select="."/>
|
4819
|
+
</xsl:for-each>
|
4820
|
+
-->
|
4821
|
+
|
4814
4822
|
</xsl:template><xsl:template name="getName">
|
4815
4823
|
<xsl:choose>
|
4816
4824
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
@@ -4863,6 +4871,10 @@
|
|
4863
4871
|
<xsl:copy>
|
4864
4872
|
<xsl:apply-templates mode="contents_item"/>
|
4865
4873
|
</xsl:copy>
|
4874
|
+
</xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
|
4875
|
+
<xsl:copy>
|
4876
|
+
<xsl:apply-templates mode="contents_item"/>
|
4877
|
+
</xsl:copy>
|
4866
4878
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
4867
4879
|
<xsl:text> </xsl:text>
|
4868
4880
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
@@ -4888,6 +4900,7 @@
|
|
4888
4900
|
|
4889
4901
|
9
|
4890
4902
|
|
4903
|
+
|
4891
4904
|
|
4892
4905
|
|
4893
4906
|
|
@@ -5428,6 +5441,7 @@
|
|
5428
5441
|
<xsl:attribute name="space-before">18pt</xsl:attribute>
|
5429
5442
|
</xsl:if>
|
5430
5443
|
|
5444
|
+
|
5431
5445
|
|
5432
5446
|
|
5433
5447
|
|
@@ -5439,7 +5453,7 @@
|
|
5439
5453
|
|
5440
5454
|
|
5441
5455
|
|
5442
|
-
</xsl:template><xsl:template match="
|
5456
|
+
</xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
5443
5457
|
<fo:block break-after="page"/>
|
5444
5458
|
<fo:block>
|
5445
5459
|
<xsl:call-template name="setId"/>
|
@@ -5447,7 +5461,8 @@
|
|
5447
5461
|
</fo:block>
|
5448
5462
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
5449
5463
|
<fo:block>
|
5450
|
-
<xsl:call-template name="setId"/>
|
5464
|
+
<xsl:call-template name="setId"/>
|
5465
|
+
|
5451
5466
|
|
5452
5467
|
<xsl:apply-templates/>
|
5453
5468
|
</fo:block>
|
@@ -5619,6 +5634,57 @@
|
|
5619
5634
|
</xsl:variable>
|
5620
5635
|
<xsl:variable name="result">
|
5621
5636
|
<xsl:choose>
|
5637
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5638
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5639
|
+
<xsl:text> </xsl:text>
|
5640
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5641
|
+
</xsl:when>
|
5642
|
+
<xsl:when test="$format = 'ddMM'">
|
5643
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5644
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5645
|
+
</xsl:when>
|
5646
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
5647
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5648
|
+
</xsl:when>
|
5649
|
+
<xsl:otherwise>
|
5650
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
5651
|
+
</xsl:otherwise>
|
5652
|
+
</xsl:choose>
|
5653
|
+
</xsl:variable>
|
5654
|
+
<xsl:value-of select="$result"/>
|
5655
|
+
</xsl:template><xsl:template name="convertDateLocalized">
|
5656
|
+
<xsl:param name="date"/>
|
5657
|
+
<xsl:param name="format" select="'short'"/>
|
5658
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
5659
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
5660
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
5661
|
+
<xsl:variable name="monthStr">
|
5662
|
+
<xsl:choose>
|
5663
|
+
<xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
|
5664
|
+
<xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
|
5665
|
+
<xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
|
5666
|
+
<xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
|
5667
|
+
<xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
|
5668
|
+
<xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
|
5669
|
+
<xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
|
5670
|
+
<xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
|
5671
|
+
<xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
|
5672
|
+
<xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
|
5673
|
+
<xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
|
5674
|
+
<xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
|
5675
|
+
</xsl:choose>
|
5676
|
+
</xsl:variable>
|
5677
|
+
<xsl:variable name="result">
|
5678
|
+
<xsl:choose>
|
5679
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5680
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5681
|
+
<xsl:text> </xsl:text>
|
5682
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5683
|
+
</xsl:when>
|
5684
|
+
<xsl:when test="$format = 'ddMM'">
|
5685
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5686
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5687
|
+
</xsl:when>
|
5622
5688
|
<xsl:when test="$format = 'short' or $day = ''">
|
5623
5689
|
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5624
5690
|
</xsl:when>
|
@@ -5815,6 +5881,7 @@
|
|
5815
5881
|
|
5816
5882
|
|
5817
5883
|
|
5884
|
+
|
5818
5885
|
</xsl:variable>
|
5819
5886
|
<xsl:if test="$documentNS != $XSLNS">
|
5820
5887
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -1024,20 +1024,20 @@
|
|
1024
1024
|
<fo:block-container font-weight="bold">
|
1025
1025
|
|
1026
1026
|
<fo:block text-align-last="justify" font-size="16pt" margin-top="10pt" margin-bottom="18pt">
|
1027
|
-
<
|
1028
|
-
|
1029
|
-
|
1027
|
+
<fo:inline font-size="16pt" font-weight="bold">
|
1028
|
+
<!-- Contents -->
|
1029
|
+
<xsl:call-template name="getLocalizedString">
|
1030
|
+
<xsl:with-param name="key">table_of_contents</xsl:with-param>
|
1030
1031
|
</xsl:call-template>
|
1031
|
-
</
|
1032
|
-
<fo:inline font-size="16pt" font-weight="bold"><xsl:value-of select="$title-toc"/></fo:inline>
|
1032
|
+
</fo:inline>
|
1033
1033
|
<fo:inline keep-together.within-line="always">
|
1034
1034
|
<fo:leader leader-pattern="space"/>
|
1035
|
-
<
|
1036
|
-
|
1037
|
-
|
1038
|
-
</xsl:
|
1039
|
-
</xsl:
|
1040
|
-
|
1035
|
+
<fo:inline font-weight="normal" font-size="10pt">
|
1036
|
+
<!-- Page -->
|
1037
|
+
<xsl:call-template name="getLocalizedString">
|
1038
|
+
<xsl:with-param name="key">locality.page</xsl:with-param>
|
1039
|
+
</xsl:call-template>
|
1040
|
+
</fo:inline>
|
1041
1041
|
</fo:inline>
|
1042
1042
|
</fo:block>
|
1043
1043
|
|
@@ -2534,6 +2534,7 @@
|
|
2534
2534
|
|
2535
2535
|
|
2536
2536
|
|
2537
|
+
|
2537
2538
|
</xsl:attribute-set><xsl:attribute-set name="quote-source-style">
|
2538
2539
|
|
2539
2540
|
|
@@ -2670,7 +2671,7 @@
|
|
2670
2671
|
</xsl:template><xsl:template match="*[local-name()='td']//text() | *[local-name()='th']//text() | *[local-name()='dt']//text() | *[local-name()='dd']//text()" priority="1">
|
2671
2672
|
<!-- <xsl:call-template name="add-zero-spaces"/> -->
|
2672
2673
|
<xsl:call-template name="add-zero-spaces-java"/>
|
2673
|
-
</xsl:template><xsl:template match="*[local-name()='table']">
|
2674
|
+
</xsl:template><xsl:template match="*[local-name()='table']" name="table">
|
2674
2675
|
|
2675
2676
|
<xsl:variable name="simple-table">
|
2676
2677
|
<xsl:call-template name="getSimpleTable"/>
|
@@ -4009,6 +4010,7 @@
|
|
4009
4010
|
|
4010
4011
|
|
4011
4012
|
|
4013
|
+
|
4012
4014
|
|
4013
4015
|
</xsl:variable>
|
4014
4016
|
<xsl:variable name="font-size" select="normalize-space($_font-size)"/>
|
@@ -4604,7 +4606,7 @@
|
|
4604
4606
|
</xsl:if> -->
|
4605
4607
|
</fo:inline>
|
4606
4608
|
</xsl:if>
|
4607
|
-
</xsl:template><xsl:template match="*[local-name() = 'figure']">
|
4609
|
+
</xsl:template><xsl:template match="*[local-name() = 'figure']" name="figure">
|
4608
4610
|
<fo:block-container id="{@id}">
|
4609
4611
|
|
4610
4612
|
<fo:block>
|
@@ -4811,6 +4813,12 @@
|
|
4811
4813
|
<!-- <xsl:text> </xsl:text> -->
|
4812
4814
|
</xsl:template><xsl:template name="getSection">
|
4813
4815
|
<xsl:value-of select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()"/>
|
4816
|
+
<!--
|
4817
|
+
<xsl:for-each select="*[local-name() = 'title']/*[local-name() = 'tab'][1]/preceding-sibling::node()">
|
4818
|
+
<xsl:value-of select="."/>
|
4819
|
+
</xsl:for-each>
|
4820
|
+
-->
|
4821
|
+
|
4814
4822
|
</xsl:template><xsl:template name="getName">
|
4815
4823
|
<xsl:choose>
|
4816
4824
|
<xsl:when test="*[local-name() = 'title']/*[local-name() = 'tab']">
|
@@ -4863,6 +4871,10 @@
|
|
4863
4871
|
<xsl:copy>
|
4864
4872
|
<xsl:apply-templates mode="contents_item"/>
|
4865
4873
|
</xsl:copy>
|
4874
|
+
</xsl:template><xsl:template match="*[local-name() = 'em']" mode="contents_item">
|
4875
|
+
<xsl:copy>
|
4876
|
+
<xsl:apply-templates mode="contents_item"/>
|
4877
|
+
</xsl:copy>
|
4866
4878
|
</xsl:template><xsl:template match="*[local-name() = 'br']" mode="contents_item">
|
4867
4879
|
<xsl:text> </xsl:text>
|
4868
4880
|
</xsl:template><xsl:template match="*[local-name()='sourcecode']" name="sourcecode">
|
@@ -4888,6 +4900,7 @@
|
|
4888
4900
|
|
4889
4901
|
9
|
4890
4902
|
|
4903
|
+
|
4891
4904
|
|
4892
4905
|
|
4893
4906
|
|
@@ -5428,6 +5441,7 @@
|
|
5428
5441
|
<xsl:attribute name="space-before">18pt</xsl:attribute>
|
5429
5442
|
</xsl:if>
|
5430
5443
|
|
5444
|
+
|
5431
5445
|
|
5432
5446
|
|
5433
5447
|
|
@@ -5439,7 +5453,7 @@
|
|
5439
5453
|
|
5440
5454
|
|
5441
5455
|
|
5442
|
-
</xsl:template><xsl:template match="
|
5456
|
+
</xsl:template><xsl:template match="//*[contains(local-name(), '-standard')]/*[local-name() = 'preface']/*" priority="2"> <!-- /*/*[local-name() = 'preface']/* -->
|
5443
5457
|
<fo:block break-after="page"/>
|
5444
5458
|
<fo:block>
|
5445
5459
|
<xsl:call-template name="setId"/>
|
@@ -5447,7 +5461,8 @@
|
|
5447
5461
|
</fo:block>
|
5448
5462
|
</xsl:template><xsl:template match="*[local-name() = 'clause']">
|
5449
5463
|
<fo:block>
|
5450
|
-
<xsl:call-template name="setId"/>
|
5464
|
+
<xsl:call-template name="setId"/>
|
5465
|
+
|
5451
5466
|
|
5452
5467
|
<xsl:apply-templates/>
|
5453
5468
|
</fo:block>
|
@@ -5619,6 +5634,57 @@
|
|
5619
5634
|
</xsl:variable>
|
5620
5635
|
<xsl:variable name="result">
|
5621
5636
|
<xsl:choose>
|
5637
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5638
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5639
|
+
<xsl:text> </xsl:text>
|
5640
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5641
|
+
</xsl:when>
|
5642
|
+
<xsl:when test="$format = 'ddMM'">
|
5643
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5644
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5645
|
+
</xsl:when>
|
5646
|
+
<xsl:when test="$format = 'short' or $day = ''">
|
5647
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5648
|
+
</xsl:when>
|
5649
|
+
<xsl:otherwise>
|
5650
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $day, ', ' , $year))"/>
|
5651
|
+
</xsl:otherwise>
|
5652
|
+
</xsl:choose>
|
5653
|
+
</xsl:variable>
|
5654
|
+
<xsl:value-of select="$result"/>
|
5655
|
+
</xsl:template><xsl:template name="convertDateLocalized">
|
5656
|
+
<xsl:param name="date"/>
|
5657
|
+
<xsl:param name="format" select="'short'"/>
|
5658
|
+
<xsl:variable name="year" select="substring($date, 1, 4)"/>
|
5659
|
+
<xsl:variable name="month" select="substring($date, 6, 2)"/>
|
5660
|
+
<xsl:variable name="day" select="substring($date, 9, 2)"/>
|
5661
|
+
<xsl:variable name="monthStr">
|
5662
|
+
<xsl:choose>
|
5663
|
+
<xsl:when test="$month = '01'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_january</xsl:with-param></xsl:call-template></xsl:when>
|
5664
|
+
<xsl:when test="$month = '02'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_february</xsl:with-param></xsl:call-template></xsl:when>
|
5665
|
+
<xsl:when test="$month = '03'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_march</xsl:with-param></xsl:call-template></xsl:when>
|
5666
|
+
<xsl:when test="$month = '04'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_april</xsl:with-param></xsl:call-template></xsl:when>
|
5667
|
+
<xsl:when test="$month = '05'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_may</xsl:with-param></xsl:call-template></xsl:when>
|
5668
|
+
<xsl:when test="$month = '06'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_june</xsl:with-param></xsl:call-template></xsl:when>
|
5669
|
+
<xsl:when test="$month = '07'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_july</xsl:with-param></xsl:call-template></xsl:when>
|
5670
|
+
<xsl:when test="$month = '08'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_august</xsl:with-param></xsl:call-template></xsl:when>
|
5671
|
+
<xsl:when test="$month = '09'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_september</xsl:with-param></xsl:call-template></xsl:when>
|
5672
|
+
<xsl:when test="$month = '10'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_october</xsl:with-param></xsl:call-template></xsl:when>
|
5673
|
+
<xsl:when test="$month = '11'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_november</xsl:with-param></xsl:call-template></xsl:when>
|
5674
|
+
<xsl:when test="$month = '12'"><xsl:call-template name="getLocalizedString"><xsl:with-param name="key">month_december</xsl:with-param></xsl:call-template></xsl:when>
|
5675
|
+
</xsl:choose>
|
5676
|
+
</xsl:variable>
|
5677
|
+
<xsl:variable name="result">
|
5678
|
+
<xsl:choose>
|
5679
|
+
<xsl:when test="$format = 'ddMMyyyy'">
|
5680
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5681
|
+
<xsl:text> </xsl:text>
|
5682
|
+
<xsl:value-of select="normalize-space(concat($monthStr, ' ' , $year))"/>
|
5683
|
+
</xsl:when>
|
5684
|
+
<xsl:when test="$format = 'ddMM'">
|
5685
|
+
<xsl:if test="$day != ''"><xsl:value-of select="number($day)"/></xsl:if>
|
5686
|
+
<xsl:text> </xsl:text><xsl:value-of select="$monthStr"/>
|
5687
|
+
</xsl:when>
|
5622
5688
|
<xsl:when test="$format = 'short' or $day = ''">
|
5623
5689
|
<xsl:value-of select="normalize-space(concat($monthStr, ' ', $year))"/>
|
5624
5690
|
</xsl:when>
|
@@ -5815,6 +5881,7 @@
|
|
5815
5881
|
|
5816
5882
|
|
5817
5883
|
|
5884
|
+
|
5818
5885
|
</xsl:variable>
|
5819
5886
|
<xsl:if test="$documentNS != $XSLNS">
|
5820
5887
|
<xsl:message>[WARNING]: Document namespace: '<xsl:value-of select="$documentNS"/>' doesn't equal to xslt namespace '<xsl:value-of select="$XSLNS"/>'</xsl:message>
|
@@ -16,9 +16,9 @@ module IsoDoc
|
|
16
16
|
|
17
17
|
def default_fonts(options)
|
18
18
|
{
|
19
|
-
bodyfont: (options[:script] == "Hans" ? '"
|
19
|
+
bodyfont: (options[:script] == "Hans" ? '"Source Han Sans",serif' :
|
20
20
|
'"Cambria",serif'),
|
21
|
-
headerfont: (options[:script] == "Hans" ? '"
|
21
|
+
headerfont: (options[:script] == "Hans" ? '"Source Han Sans",sans-serif' :
|
22
22
|
'"Cambria",serif'),
|
23
23
|
monospacefont: '"Courier New",monospace',
|
24
24
|
normalfontsize: "11.0pt",
|
data/metanorma-iso.gemspec
CHANGED
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
|
|
30
30
|
spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
|
31
31
|
|
32
32
|
spec.add_dependency "ruby-jing"
|
33
|
-
spec.add_dependency "isodoc", "~> 1.
|
34
|
-
spec.add_dependency "metanorma-standoc", "~> 1.
|
33
|
+
spec.add_dependency "isodoc", "~> 1.5.0"
|
34
|
+
spec.add_dependency "metanorma-standoc", "~> 1.8.0"
|
35
35
|
spec.add_dependency "tokenizer", "~> 0.3.0"
|
36
36
|
spec.add_dependency "twitter_cldr"
|
37
37
|
spec.add_dependency "mn2sts", "~> 1.5.0"
|
@@ -668,8 +668,8 @@ OUTPUT
|
|
668
668
|
INPUT
|
669
669
|
html = File.read("test.html", encoding: "utf-8")
|
670
670
|
expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
|
671
|
-
expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "
|
672
|
-
expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "
|
671
|
+
expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Source Han Sans", serif;]m)
|
672
|
+
expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Source Han Sans", sans-serif;]m)
|
673
673
|
end
|
674
674
|
|
675
675
|
it "uses specified fonts" do
|
@@ -17,12 +17,81 @@ RSpec.describe Asciidoctor::ISO do
|
|
17
17
|
expect do
|
18
18
|
Metanorma::Compile
|
19
19
|
.new
|
20
|
-
.compile("spec/assets/xref_error.adoc", type: "iso")
|
20
|
+
.compile("spec/assets/xref_error.adoc", type: "iso", :"agree-to-terms" => true)
|
21
21
|
end.to(change { File.exist?("spec/assets/xref_error.err") }
|
22
22
|
.from(false).to(true))
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
it "Warns of image names not compliant with DRG" do
|
27
|
+
FileUtils.rm_f "test.err"
|
28
|
+
Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
|
29
|
+
= Document title
|
30
|
+
Author
|
31
|
+
:docfile: test.adoc
|
32
|
+
:nodoc:
|
33
|
+
:no-isobib:
|
34
|
+
:docnumber: 1000
|
35
|
+
:partnumber: 1
|
36
|
+
:edition: 2
|
37
|
+
:amendment-number: 3
|
38
|
+
|
39
|
+
.Split-it-right sample divider
|
40
|
+
image::spec/examples/rice_images/rice_image1.png[]
|
41
|
+
image::spec/examples/rice_images/SL1000-1_ed2amd3fig1.png[]
|
42
|
+
image::spec/examples/rice_images/1001_ed2amd3fig1.png[]
|
43
|
+
image::spec/examples/rice_images/ISO_1213_1.png[]
|
44
|
+
image::spec/examples/rice_images/1000-1_ed2amd3figA.png[]
|
45
|
+
|
46
|
+
|===
|
47
|
+
|a |b
|
48
|
+
|
49
|
+
a|image::spec/examples/rice_images/1000-1_ed2amd3figTab1.png[]
|
50
|
+
a|image::spec/examples/rice_images/1000-1_ed2amd3fig2.png[]
|
51
|
+
|===
|
52
|
+
|
53
|
+
image::spec/examples/rice_images/1000-1_ed2amd3figTab2.png[]
|
54
|
+
|
55
|
+
image::spec/examples/rice_images/1000-1_ed2amd3figA1.png[]
|
56
|
+
image::spec/examples/rice_images/1000-1_ed2amd3fig1a.png[]
|
57
|
+
|
58
|
+
.Stages of gelatinization
|
59
|
+
====
|
60
|
+
image::spec/examples/rice_images/1000-1_ed2amd3fig1b.png[]
|
61
|
+
|
62
|
+
image::spec/examples/rice_images/1000-1_ed2amd3fig4.png[]
|
63
|
+
====
|
64
|
+
|
65
|
+
image::spec/examples/rice_images/1000-1_ed2amd3fig5_f.png[]
|
66
|
+
|
67
|
+
[appendix]
|
68
|
+
== Annex
|
69
|
+
image::spec/examples/rice_images/1000-1_ed2amd3figA2.png[]
|
70
|
+
image::spec/examples/rice_images/1000-1_ed2amd3fig3.png[]
|
71
|
+
|
72
|
+
INPUT
|
73
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/rice_image1.png does not match DRG requirements: expect 1000-1_ed2amd3fig"
|
74
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1001_ed2amd3fig1.png does not match DRG requirements: expect 1000-1_ed2amd3fig"
|
75
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/SL1000-1_ed2amd3fig1.png does not match DRG requirements: expect 1000-1_ed2amd3fig"
|
76
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/ISO_1213_1.png does not match DRG requirements: expect 1000-1_ed2amd3fig"
|
77
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3figA.png does not match DRG requirements"
|
78
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3figTab1.png does not match DRG requirements"
|
79
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3figTab1.png is under a table but is not so labelled"
|
80
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3fig2.png is under a table but is not so labelled"
|
81
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3figTab2.png is labelled as under a table but is not"
|
82
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3fig1.png is labelled as under a table but is not"
|
83
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3figA2.png is under an annex but is not so labelled"
|
84
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3fig3.png is under an annex but is not so labelled"
|
85
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3figA1.png is labelled as under an annex but is not"
|
86
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3fig1.png is labelled as under an annex but is not"
|
87
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3fig1b.png has a subfigure letter but is not a subfigure"
|
88
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3fig4.png does not have a subfigure letter but is a subfigure"
|
89
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3fig1a.png has a subfigure letter but is not a subfigure"
|
90
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3fig1.png has a subfigure letter but is not a subfigure"
|
91
|
+
expect(File.read("test.err")).to include "image name spec/examples/rice_images/1000-1_ed2amd3fig5_f.png expected to have suffix _e"
|
92
|
+
expect(File.read("test.err")).not_to include "image name spec/examples/rice_images/1000-1_ed2amd3fig1.png expected to have suffix _e"
|
93
|
+
end
|
94
|
+
|
26
95
|
it "Warns of missing scope" do
|
27
96
|
FileUtils.rm_f "test.err"
|
28
97
|
Asciidoctor.convert(<<~"INPUT", backend: :iso, header_footer: true, agree_to_terms: true)
|
data/spec/isodoc/iso_spec.rb
CHANGED
@@ -49,8 +49,8 @@ RSpec.describe IsoDoc::Iso do
|
|
49
49
|
INPUT
|
50
50
|
html = File.read("test.html", encoding: "utf-8")
|
51
51
|
expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
|
52
|
-
expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "
|
53
|
-
expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "
|
52
|
+
expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Source Han Sans", serif;]m)
|
53
|
+
expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Source Han Sans", sans-serif;]m)
|
54
54
|
end
|
55
55
|
|
56
56
|
it "processes isodoc as ISO: user nominated fonts" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-iso
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-01-
|
11
|
+
date: 2021-01-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ruby-jing
|
@@ -30,28 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.
|
33
|
+
version: 1.5.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.
|
40
|
+
version: 1.5.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: metanorma-standoc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 1.
|
47
|
+
version: 1.8.0
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 1.
|
54
|
+
version: 1.8.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: tokenizer
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|