metanorma-iso 1.3.22 → 1.3.27
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/.github/workflows/macos.yml +8 -7
- data/.github/workflows/ubuntu.yml +8 -7
- data/.github/workflows/windows.yml +8 -8
- data/Gemfile +2 -0
- data/lib/asciidoctor/iso/base.rb +22 -0
- data/lib/asciidoctor/iso/biblio.rng +89 -32
- data/lib/asciidoctor/iso/cleanup.rb +20 -3
- data/lib/asciidoctor/iso/front.rb +16 -107
- data/lib/asciidoctor/iso/front_id.rb +196 -0
- data/lib/asciidoctor/iso/isodoc.rng +475 -2
- data/lib/asciidoctor/iso/isostandard-amd.rng +98 -0
- data/lib/asciidoctor/iso/isostandard.rng +12 -1
- data/lib/asciidoctor/iso/macros.rb +21 -0
- data/lib/asciidoctor/iso/reqt.rng +23 -0
- data/lib/asciidoctor/iso/section.rb +18 -32
- data/lib/asciidoctor/iso/term_lookup_cleanup.rb +87 -0
- data/lib/asciidoctor/iso/validate.rb +41 -25
- data/lib/asciidoctor/iso/validate_requirements.rb +1 -1
- data/lib/asciidoctor/iso/validate_section.rb +2 -2
- data/lib/asciidoctor/iso/validate_style.rb +6 -5
- data/lib/asciidoctor/iso/validate_title.rb +1 -1
- data/lib/isodoc/iso/base_convert.rb +77 -107
- data/lib/isodoc/iso/html/header.html +10 -6
- data/lib/isodoc/iso/html/html_iso_titlepage.html +27 -18
- data/lib/isodoc/iso/html/isodoc.scss +53 -28
- data/lib/isodoc/iso/html/scripts.html +23 -21
- data/lib/isodoc/iso/html/style-human.scss +23 -0
- data/lib/isodoc/iso/html/style-iso.scss +18 -0
- data/lib/isodoc/iso/html/word_iso_intro.html +4 -0
- data/lib/isodoc/iso/html/word_iso_titlepage.html +23 -2
- data/lib/isodoc/iso/html/wordstyle.scss +80 -39
- data/lib/isodoc/iso/html_convert.rb +7 -9
- data/lib/isodoc/iso/iso.amendment.xsl +4597 -0
- data/lib/isodoc/iso/iso.international-standard.xsl +4597 -0
- data/lib/isodoc/iso/metadata.rb +71 -23
- data/lib/isodoc/iso/pdf_convert.rb +39 -0
- data/lib/isodoc/iso/sections.rb +66 -0
- data/lib/isodoc/iso/sts_convert.rb +29 -0
- data/lib/isodoc/iso/xref.rb +105 -0
- data/lib/metanorma-iso.rb +2 -0
- data/lib/metanorma/iso/processor.rb +16 -1
- data/lib/metanorma/iso/version.rb +1 -1
- data/metanorma-iso.gemspec +4 -1
- data/spec/asciidoctor-iso/amd_spec.rb +726 -0
- data/spec/asciidoctor-iso/base_spec.rb +38 -21
- data/spec/asciidoctor-iso/blocks_spec.rb +6 -6
- data/spec/asciidoctor-iso/cleanup_spec.rb +195 -174
- data/spec/asciidoctor-iso/inline_spec.rb +2 -1
- data/spec/asciidoctor-iso/macros_spec.rb +289 -0
- data/spec/asciidoctor-iso/refs_spec.rb +8 -5
- data/spec/asciidoctor-iso/section_spec.rb +8 -8
- data/spec/assets/iso.xml +64 -1
- data/spec/isodoc/amd_spec.rb +652 -0
- data/spec/isodoc/blocks_spec.rb +112 -27
- data/spec/isodoc/i18n_spec.rb +12 -20
- data/spec/isodoc/inline_spec.rb +4 -4
- data/spec/isodoc/iso_spec.rb +1 -1
- data/spec/isodoc/metadata_spec.rb +92 -4
- data/spec/isodoc/postproc_spec.rb +21 -120
- data/spec/isodoc/ref_spec.rb +9 -9
- data/spec/isodoc/section_spec.rb +36 -13
- data/spec/isodoc/table_spec.rb +30 -30
- data/spec/isodoc/terms_spec.rb +6 -6
- data/spec/isodoc/xref_spec.rb +43 -37
- data/spec/metanorma/processor_spec.rb +2 -2
- data/spec/spec_helper.rb +11 -0
- metadata +58 -5
- data/asciidoctor-iso.gemspec.old +0 -50
@@ -22,7 +22,7 @@ module Asciidoctor
|
|
22
22
|
|
23
23
|
# ISO/IEC DIR 2, 15.4
|
24
24
|
def normref_validate(root)
|
25
|
-
f = root.at("//references[
|
25
|
+
f = root.at("//references[@normative = 'true']") || return
|
26
26
|
f.at("./references | ./clause") &&
|
27
27
|
@log.add("Style", f, "normative references contains subclauses")
|
28
28
|
end
|
@@ -168,7 +168,7 @@ module Asciidoctor
|
|
168
168
|
"//li[not(p)] | //dt | //dd[not(p)] | //td[not(p)] | //th[not(p)]".freeze
|
169
169
|
|
170
170
|
NORM_BIBITEMS =
|
171
|
-
"//references[
|
171
|
+
"//references[@normative = 'true']/bibitem".freeze
|
172
172
|
|
173
173
|
# ISO/IEC DIR 2, 10.2
|
174
174
|
def norm_bibitem_style(root)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require "metanorma-standoc"
|
2
2
|
require "nokogiri"
|
3
|
-
require "
|
3
|
+
require "tokenizer"
|
4
4
|
|
5
5
|
module Asciidoctor
|
6
6
|
module ISO
|
@@ -70,7 +70,7 @@ module Asciidoctor
|
|
70
70
|
# and a negative match on its preceding token
|
71
71
|
def style_two_regex_not_prev(n, text, re, re_prev, warning)
|
72
72
|
return if text.nil?
|
73
|
-
arr =
|
73
|
+
arr = Tokenizer::WhitespaceTokenizer.new.tokenize(text)
|
74
74
|
arr.each_index do |i|
|
75
75
|
m = re.match arr[i]
|
76
76
|
m_prev = i.zero? ? nil : re_prev.match(arr[i - 1])
|
@@ -91,9 +91,10 @@ module Asciidoctor
|
|
91
91
|
# ISO/IEC DIR 2, 9.1
|
92
92
|
# ISO/IEC DIR 2, Table B.1
|
93
93
|
def style_number(n, t)
|
94
|
-
style_two_regex_not_prev(
|
95
|
-
|
96
|
-
|
94
|
+
style_two_regex_not_prev(
|
95
|
+
n, t, /^(?<num>-?[0-9]{4,}[,0-9]*)$/,
|
96
|
+
%r{\b(ISO|IEC|IEEE/|(in|January|February|March|April|May|June|August|September|October|November|December)\b)$},
|
97
|
+
"number not broken up in threes")
|
97
98
|
style_regex(/\b(?<num>[0-9]+\.[0-9]+)/i,
|
98
99
|
"possible decimal point", n, t)
|
99
100
|
style_regex(/\b(?<num>billion[s]?)\b/i,
|
@@ -36,7 +36,7 @@ module Asciidoctor
|
|
36
36
|
|
37
37
|
# ISO/IEC DIR 2, 11.4
|
38
38
|
def title_subpart_validate(root)
|
39
|
-
docid = root.at("//bibdata/docidentifier[@type = '
|
39
|
+
docid = root.at("//bibdata/docidentifier[@type = 'ISO']")
|
40
40
|
subpart = /-\d+-\d+/.match docid
|
41
41
|
iec = root.at("//bibdata/contributor[role/@type = 'publisher']/"\
|
42
42
|
"organization[abbreviation = 'IEC' or "\
|
@@ -1,5 +1,7 @@
|
|
1
1
|
require "isodoc"
|
2
2
|
require_relative "metadata"
|
3
|
+
require_relative "sections"
|
4
|
+
require_relative "xref"
|
3
5
|
require "fileutils"
|
4
6
|
|
5
7
|
module IsoDoc
|
@@ -9,47 +11,18 @@ module IsoDoc
|
|
9
11
|
@meta = Metadata.new(lang, script, labels)
|
10
12
|
end
|
11
13
|
|
12
|
-
def
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
num = f.at(ns(".//clause")) ? "0" : nil
|
19
|
-
title_attr = { class: "IntroTitle" }
|
20
|
-
page_break(out)
|
21
|
-
out.div **{ class: "Section3", id: f["id"] } do |div|
|
22
|
-
clause_name(num, @introduction_lbl, div, title_attr)
|
23
|
-
f.elements.each do |e|
|
24
|
-
if e.name == "patent-notice"
|
25
|
-
e.elements.each { |e1| parse(e1, div) }
|
26
|
-
else
|
27
|
-
parse(e, div) unless e.name == "title"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
def foreword(isoxml, out)
|
34
|
-
f = isoxml.at(ns("//foreword")) || return
|
35
|
-
page_break(out)
|
36
|
-
out.div **attr_code(id: f["id"]) do |s|
|
37
|
-
s.h1(**{ class: "ForewordTitle" }) { |h1| h1 << @foreword_lbl }
|
38
|
-
f.elements.each { |e| parse(e, s) unless e.name == "title" }
|
14
|
+
def convert1(docxml, filename, dir)
|
15
|
+
doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
|
16
|
+
@amd = %w(amendment technical-corrigendum).include? doctype
|
17
|
+
if @amd
|
18
|
+
@oldsuppressheadingnumbers = @suppressheadingnumbers
|
19
|
+
@suppressheadingnumbers = true
|
39
20
|
end
|
40
|
-
end
|
41
|
-
|
42
|
-
def initial_anchor_names(d)
|
43
21
|
super
|
44
|
-
introduction_names(d.at(ns("//introduction")))
|
45
22
|
end
|
46
23
|
|
47
|
-
|
48
|
-
|
49
|
-
return if clause.nil?
|
50
|
-
clause.xpath(ns("./clause")).each_with_index do |c, i|
|
51
|
-
section_names1(c, "0.#{i + 1}", 2)
|
52
|
-
end
|
24
|
+
def implicit_reference(b)
|
25
|
+
b&.at(ns("./docidentifier"))&.text == "IEV"
|
53
26
|
end
|
54
27
|
|
55
28
|
# terms not defined in standoc
|
@@ -61,36 +34,6 @@ module IsoDoc
|
|
61
34
|
end
|
62
35
|
end
|
63
36
|
|
64
|
-
def annex_names(clause, num)
|
65
|
-
appendix_names(clause, num)
|
66
|
-
super
|
67
|
-
end
|
68
|
-
|
69
|
-
def appendix_names(clause, num)
|
70
|
-
clause.xpath(ns("./appendix")).each_with_index do |c, i|
|
71
|
-
@anchors[c["id"]] = anchor_struct(i + 1, nil, @appendix_lbl, "clause")
|
72
|
-
@anchors[c["id"]][:level] = 2
|
73
|
-
@anchors[c["id"]][:container] = clause["id"]
|
74
|
-
end
|
75
|
-
end
|
76
|
-
|
77
|
-
def section_names1(clause, num, level)
|
78
|
-
@anchors[clause["id"]] =
|
79
|
-
{ label: num, level: level, xref: num }
|
80
|
-
# subclauses are not prefixed with "Clause"
|
81
|
-
clause.xpath(ns("./clause | ./terms | ./term | ./definitions | ./references")).
|
82
|
-
each_with_index do |c, i|
|
83
|
-
section_names1(c, "#{num}.#{i + 1}", level + 1)
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def annex_names1(clause, num, level)
|
88
|
-
@anchors[clause["id"]] = { label: num, xref: num, level: level }
|
89
|
-
clause.xpath(ns("./clause | ./references")).each_with_index do |c, i|
|
90
|
-
annex_names1(c, "#{num}.#{i + 1}", level + 1)
|
91
|
-
end
|
92
|
-
end
|
93
|
-
|
94
37
|
def eref_localities1_zh(target, type, from, to, delim)
|
95
38
|
subsection = from&.text&.match(/\./)
|
96
39
|
ret = (delim == ";") ? ";" : (type == "list") ? "" : delim
|
@@ -104,6 +47,7 @@ module IsoDoc
|
|
104
47
|
end
|
105
48
|
|
106
49
|
def eref_localities1(target, type, from, to, delim, lang = "en")
|
50
|
+
return "" if type == "anchor"
|
107
51
|
subsection = from&.text&.match(/\./)
|
108
52
|
type = type.downcase
|
109
53
|
return l10n(eref_localities1_zh(target, type, from, to, delim)) if lang == "zh"
|
@@ -170,6 +114,15 @@ module IsoDoc
|
|
170
114
|
end
|
171
115
|
end
|
172
116
|
|
117
|
+
def insertall_after_here(node, insert, name)
|
118
|
+
node.children.each do |n|
|
119
|
+
next unless n.name == name
|
120
|
+
insert.next = n.remove
|
121
|
+
insert = n
|
122
|
+
end
|
123
|
+
insert
|
124
|
+
end
|
125
|
+
|
173
126
|
def termexamples_before_termnotes(node)
|
174
127
|
return unless node.at(ns("./termnote")) && node.at(ns("./termexample"))
|
175
128
|
return unless insert = node.at(ns("./definition"))
|
@@ -177,53 +130,27 @@ module IsoDoc
|
|
177
130
|
insert = insertall_after_here(node, insert, "termnote")
|
178
131
|
end
|
179
132
|
|
180
|
-
def
|
133
|
+
def termdef_parse(node, out)
|
181
134
|
termexamples_before_termnotes(node)
|
182
|
-
|
183
|
-
node.children.each { |c| parse(c, p) }
|
184
|
-
end
|
135
|
+
super
|
185
136
|
end
|
186
137
|
|
187
138
|
def clausedelim
|
188
139
|
""
|
189
140
|
end
|
190
141
|
|
191
|
-
def
|
192
|
-
ref = ref.sub(/ \(All Parts\)/i, "")
|
193
|
-
ref = docid_prefix(prefix, ref)
|
194
|
-
return "[#{ref}]" if /^\d+$/.match(ref) && !prefix &&
|
195
|
-
!/^\[.*\]$/.match(ref)
|
196
|
-
ref
|
197
|
-
end
|
198
|
-
|
199
|
-
def table_footnote_reference_format(a)
|
200
|
-
a.content = a.content + ")"
|
201
|
-
end
|
202
|
-
|
203
|
-
def clause_parse_title(node, div, c1, out)
|
204
|
-
return inline_header_title(out, node, c1) if c1.nil?
|
142
|
+
def reference_names(ref)
|
205
143
|
super
|
144
|
+
@anchors[ref["id"]] = { xref: @anchors[ref["id"]][:xref].
|
145
|
+
sub(/ \(All Parts\)/i, "") }
|
206
146
|
end
|
207
147
|
|
208
148
|
def cleanup(docxml)
|
209
149
|
super
|
210
|
-
remove_internal_hyperlinks(docxml)
|
211
150
|
table_th_center(docxml)
|
212
151
|
docxml
|
213
152
|
end
|
214
153
|
|
215
|
-
def remove_internal_hyperlinks(docxml)
|
216
|
-
docxml.xpath("//a[@href]").each do |a|
|
217
|
-
next unless /^#/.match(a[:href])
|
218
|
-
anchor = a[:href].sub(/^#/, "")
|
219
|
-
next if a["epub:type"] == "footnote"
|
220
|
-
next unless @anchors[anchor]
|
221
|
-
next unless @anchors[anchor][:type]
|
222
|
-
next if @anchors[anchor][:type] == "clause"
|
223
|
-
a.replace(a.children)
|
224
|
-
end
|
225
|
-
end
|
226
|
-
|
227
154
|
def table_th_center(docxml)
|
228
155
|
docxml.xpath("//thead//th | //thead//td").each do |th|
|
229
156
|
th["align"] = "center"
|
@@ -231,16 +158,59 @@ module IsoDoc
|
|
231
158
|
end
|
232
159
|
end
|
233
160
|
|
234
|
-
def
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
161
|
+
def formula_where(dl, out)
|
162
|
+
return if dl.nil?
|
163
|
+
return super unless (dl&.xpath(ns("./dt"))&.size == 1 &&
|
164
|
+
dl&.at(ns("./dd"))&.elements&.size == 1 &&
|
165
|
+
dl&.at(ns("./dd/p")))
|
166
|
+
out.span **{ class: "zzMoveToFollowing" } do |s|
|
167
|
+
s << "#{@where_lbl} "
|
168
|
+
dl.at(ns("./dt")).children.each { |n| parse(n, s) }
|
169
|
+
s << " "
|
170
|
+
end
|
171
|
+
parse(dl.at(ns("./dd/p")), out)
|
172
|
+
end
|
173
|
+
|
174
|
+
def admonition_parse(node, out)
|
175
|
+
type = node["type"]
|
176
|
+
name = admonition_name(node, type)
|
177
|
+
out.div **{ id: node["id"], class: admonition_class(node) } do |div|
|
178
|
+
node.first_element_child.name == "p" ?
|
179
|
+
admonition_p_parse(node, div, name) : admonition_parse1(node, div, name)
|
180
|
+
end
|
181
|
+
end
|
182
|
+
|
183
|
+
def admonition_parse1(node, div, name)
|
184
|
+
div.p do |p|
|
185
|
+
admonition_name_parse(node, p, name) if name
|
186
|
+
end
|
187
|
+
node.children.each { |n| parse(n, div) unless n.name == "name" }
|
188
|
+
end
|
189
|
+
|
190
|
+
def admonition_p_parse(node, div, name)
|
191
|
+
div.p do |p|
|
192
|
+
admonition_name_parse(node, p, name) if name
|
193
|
+
node.first_element_child.children.each { |n| parse(n, p) }
|
194
|
+
end
|
195
|
+
node.element_children[1..-1].each { |n| parse(n, div) }
|
196
|
+
end
|
197
|
+
|
198
|
+
def admonition_name_parse(_node, div, name)
|
199
|
+
name.children.each { |n| parse(n, div) }
|
200
|
+
div << " — "
|
243
201
|
end
|
202
|
+
|
203
|
+
def figure_name_parse(node, div, name)
|
204
|
+
lbl = anchor(node['id'], :label, false)
|
205
|
+
lbl = nil if labelled_ancestor(node) && node.ancestors("figure").empty?
|
206
|
+
return if lbl.nil? && name.nil?
|
207
|
+
div.p **{ class: "FigureTitle", style: "text-align:center;" } do |p|
|
208
|
+
figname = node.parent.name == "figure" ? "" : "#{@figure_lbl} "
|
209
|
+
lbl.nil? or p << l10n("#{figname}#{lbl}")
|
210
|
+
name and !lbl.nil? and p << " — "
|
211
|
+
name and name.children.each { |n| parse(n, div) }
|
212
|
+
end
|
213
|
+
end
|
244
214
|
end
|
245
215
|
end
|
246
216
|
end
|
@@ -66,7 +66,7 @@ normal'>
|
|
99
99
|
|
100
100
|
<div style='mso-element:header' id=eh2>
|
101
101
|
<p class=MsoHeader align=left style='text-align:left;line-height:12.0pt;
|
102
|
-
mso-line-height-rule:exactly'><span lang=EN-GB>{{
|
102
|
+
mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber_reference }}{{ draftinfo }}</span></p>
|
103
103
|
</div>
|
104
104
|
|
105
105
|
<div style='mso-element:header' id=eh2l>
|
106
106
|
<p class=MsoHeaderLandscape align=left style='text-align:left;line-height:12.0pt;
|
107
|
-
mso-line-height-rule:exactly'><span lang=EN-GB>{{
|
107
|
+
mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber_reference }}{{ draftinfo }}</span></p>
|
108
108
|
</div>
|
109
109
|
|
110
110
|
<div style='mso-element:header' id=h2>
|
111
111
|
<p class=MsoHeader align=right style='text-align:right;line-height:12.0pt;
|
112
|
-
mso-line-height-rule:exactly'><span lang=EN-GB>{{
|
112
|
+
mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber_reference }}{{ draftinfo }}</span></p>
|
113
113
|
</div>
|
114
114
|
|
115
115
|
<div style='mso-element:header' id=h2l>
|
116
116
|
<p class=MsoHeaderLandscape align=right style='text-align:right;line-height:12.0pt;
|
117
|
-
mso-line-height-rule:exactly'><span lang=EN-GB>{{
|
117
|
+
mso-line-height-rule:exactly'><span lang=EN-GB>{{ docnumber_reference }}{{ draftinfo }}</span></p>
|
118
118
|
</div>
|
119
119
|
|
120
120
|
<div style='mso-element:footer' id=ef2>
|
@@ -238,8 +238,12 @@ lang=EN-GB style='font-size:10.0pt;mso-bidi-font-size:11.0pt'>
|
|
238
238
|
</div>
|
239
239
|
|
240
240
|
<div style='mso-element:footer' id=f4>
|
241
|
-
|
241
|
+
{% if ics %}
|
242
242
|
<p class=MsoFooter><b style='mso-bidi-font-weight:normal'><span>ICS {{ ics }}<o:p></o:p></span></b></p>
|
243
|
+
{% endif %}
|
244
|
+
{% if keywords.size > 0 %}
|
245
|
+
<p class=MsoFooter><b>Descriptors:</b> {{ keywords | join: ", " }}</p>
|
246
|
+
{% endif %}
|
243
247
|
|
244
248
|
<p class=MsoFooter style='margin-top:0cm'><span lang=EN-AU style='font-size:
|
245
249
|
10.0pt;mso-ansi-language:EN-AU'>Price based on </span><!--[if supportFields]><span
|
@@ -4,7 +4,7 @@
|
|
4
4
|
<p class="coverpage_docnumber">{{ num }}</p>
|
5
5
|
{% endfor %}
|
6
6
|
{% else %}
|
7
|
-
<p class="coverpage_docnumber">{{
|
7
|
+
<p class="coverpage_docnumber">{{ docnumber_lang }} {{ draftinfo }}</p>
|
8
8
|
{% endif %}
|
9
9
|
|
10
10
|
{% if revdate %}
|
@@ -12,7 +12,7 @@
|
|
12
12
|
{% endif %}
|
13
13
|
|
14
14
|
{% if tc_docnumber.size > 0 %}
|
15
|
-
<p class="coverpage_docnumber">{{
|
15
|
+
<p class="coverpage_docnumber">{{ docnumber_lang }} {{ draftinfo }}</p>
|
16
16
|
{% endif %}
|
17
17
|
|
18
18
|
<p class="coverpage_techcommittee">{{ agency }}/{{ editorialgroup | join: "/" }}</p>
|
@@ -26,7 +26,14 @@ name="CVP_Secretariat_Loca">Secretariat: {{ secretariat }}
|
|
26
26
|
{% if doctitlepartlabel %}<span class="partlabel">{{ doctitlepartlabel }}: </span>{% endif %}
|
27
27
|
<span class="part">{{ doctitlepart }}</span>
|
28
28
|
{% endif %}
|
29
|
-
</div
|
29
|
+
</div>
|
30
|
+
{% if doctitleamdlabel %}
|
31
|
+
<div class="doctitle-part">{{ doctitleamdlabel }}{% if doctitleamd %}: {{ doctitleamd }}{% endif %}</div>
|
32
|
+
{% endif %}
|
33
|
+
{% if doctitlecorrlabel %}
|
34
|
+
<div class="doctitle-part">{{ doctitlecorrlabel }}</div>
|
35
|
+
{% endif %}
|
36
|
+
</div>
|
30
37
|
|
31
38
|
<div class="doctitle-fr"><div><span class="title">{{ docsubtitleintro }}{% if docsubtitleintro and docsubtitlemain %} — {% endif %}</span><span class="subtitle">{{ docsubtitlemain }}{% if docsubtitlemain and docsubtitlepart %} —{% endif %}</span>
|
32
39
|
{% if docsubtitlepart %}
|
@@ -34,7 +41,14 @@ name="CVP_Secretariat_Loca">Secretariat: {{ secretariat }}
|
|
34
41
|
{% if docsubtitlepartlabel %}<span class="partlabel">{{ docsubtitlepartlabel }}: </span>{% endif %}
|
35
42
|
<span class="part">{{ docsubtitlepart }}</span>
|
36
43
|
{% endif %}
|
37
|
-
</div
|
44
|
+
</div>
|
45
|
+
{% if docsubtitleamdlabel %}
|
46
|
+
<div>{{ docsubtitleamdlabel }}{% if docsubtitleamd %}: {{ docsubtitleamd }}{% endif %}</div>
|
47
|
+
{% endif %}
|
48
|
+
{% if docsubtitlecorrlabel %}
|
49
|
+
<div>{{ docsubtitlecorrlabel }}</div>
|
50
|
+
{% endif %}
|
51
|
+
</div>
|
38
52
|
|
39
53
|
<div class="coverpage_docstage">
|
40
54
|
{% if unpublished %}
|
@@ -45,19 +59,14 @@ name="CVP_Secretariat_Loca">Secretariat: {{ secretariat }}
|
|
45
59
|
{% if unpublished %}
|
46
60
|
<div class="coverpage_warning">
|
47
61
|
<div id="boilerplate-license-destination"/>
|
48
|
-
<!--
|
49
|
-
<p>Warning for WDs
|
50
|
-
and CDs</p>
|
51
|
-
|
52
|
-
<p>This
|
53
|
-
document is not an ISO International Standard. It is distributed for review and
|
54
|
-
comment. It is subject to change without notice and may not be referred to as
|
55
|
-
an International Standard.</p>
|
56
|
-
|
57
|
-
<p>Recipients
|
58
|
-
of this draft are invited to submit, with their comments, notification of any
|
59
|
-
relevant patent rights of which they are aware and to provide supporting
|
60
|
-
documentation.</p>
|
61
|
-
-->
|
62
62
|
</div>
|
63
63
|
{% endif %}
|
64
|
+
|
65
|
+
{% if ics %}
|
66
|
+
<p><b>ICS:</b> {{ ics }}</p>
|
67
|
+
{% endif %}
|
68
|
+
|
69
|
+
{% if keywords.size > 0 %}
|
70
|
+
<p><b>Descriptors:</b> {{ keywords | join: ", " }}
|
71
|
+
{% endif %}
|
72
|
+
|
@@ -12,7 +12,7 @@ p.Sourcecode, li.Sourcecode, div.Sourcecode, pre.Sourcecode
|
|
12
12
|
tab-stops:20.15pt;
|
13
13
|
font-size:9.0pt;
|
14
14
|
font-family:$monospacefont;
|
15
|
-
mso-fareast-font-family:
|
15
|
+
mso-fareast-font-family:"SimSun",serif;
|
16
16
|
mso-bidi-font-family:"Courier New";
|
17
17
|
mso-ansi-language:EN-GB;}
|
18
18
|
p.pseudocode, li.pseudocode, div.pseudocode
|
@@ -29,7 +29,7 @@ p.pseudocode, li.pseudocode, div.pseudocode
|
|
29
29
|
tab-stops:20.15pt;
|
30
30
|
font-size:10.0pt;
|
31
31
|
font-family:$bodyfont;
|
32
|
-
mso-fareast-font-family:
|
32
|
+
mso-fareast-font-family:"SimSun",serif;
|
33
33
|
mso-bidi-font-family:"Courier New";
|
34
34
|
mso-ansi-language:EN-GB;}
|
35
35
|
p.Biblio, li.Biblio, div.Biblio
|
@@ -46,7 +46,7 @@ p.Biblio, li.Biblio, div.Biblio
|
|
46
46
|
mso-pagination:widow-orphan;
|
47
47
|
font-size:11.0pt;
|
48
48
|
font-family:$bodyfont;
|
49
|
-
mso-fareast-font-family
|
49
|
+
mso-fareast-font-family:"SimSun",serif;
|
50
50
|
mso-bidi-font-family:$bodyfont;
|
51
51
|
mso-ansi-language:EN-GB;}
|
52
52
|
p.NormRef, li.NormRef, div.NormRef
|
@@ -63,7 +63,7 @@ p.NormRef, li.NormRef, div.NormRef
|
|
63
63
|
mso-pagination:widow-orphan;
|
64
64
|
font-size:11.0pt;
|
65
65
|
font-family:$bodyfont;
|
66
|
-
mso-fareast-font-family
|
66
|
+
mso-fareast-font-family:"SimSun",serif;
|
67
67
|
mso-bidi-font-family:$bodyfont;
|
68
68
|
mso-ansi-language:EN-GB;}
|
69
69
|
p.FigureTitle
|
@@ -82,7 +82,7 @@ p.FigureTitle
|
|
82
82
|
font-size:11.0pt;
|
83
83
|
font-family:$bodyfont;
|
84
84
|
font-weight:bold;
|
85
|
-
mso-fareast-font-family
|
85
|
+
mso-fareast-font-family:"SimSun",serif;
|
86
86
|
mso-bidi-font-family:$bodyfont;
|
87
87
|
mso-ansi-language:EN-GB;}
|
88
88
|
p.AdmonitionTitle, p.RecommendationTitle
|
@@ -101,7 +101,7 @@ p.AdmonitionTitle, p.RecommendationTitle
|
|
101
101
|
font-size:11.0pt;
|
102
102
|
font-family:$bodyfont;
|
103
103
|
font-weight:bold;
|
104
|
-
mso-fareast-font-family
|
104
|
+
mso-fareast-font-family:"SimSun",serif;
|
105
105
|
mso-bidi-font-family:$bodyfont;
|
106
106
|
mso-ansi-language:EN-GB;}
|
107
107
|
p.SourceTitle
|
@@ -120,7 +120,7 @@ p.SourceTitle
|
|
120
120
|
font-size:11.0pt;
|
121
121
|
font-family:$bodyfont;
|
122
122
|
font-weight:bold;
|
123
|
-
mso-fareast-font-family
|
123
|
+
mso-fareast-font-family:"SimSun",serif;
|
124
124
|
mso-bidi-font-family:$bodyfont;
|
125
125
|
mso-ansi-language:EN-GB;}
|
126
126
|
p.TableTitle
|
@@ -139,7 +139,7 @@ p.TableTitle
|
|
139
139
|
font-size:11.0pt;
|
140
140
|
font-weight:bold;
|
141
141
|
font-family:$bodyfont;
|
142
|
-
mso-fareast-font-family
|
142
|
+
mso-fareast-font-family:"SimSun",serif;
|
143
143
|
mso-bidi-font-family:$bodyfont;
|
144
144
|
mso-ansi-language:EN-GB;}
|
145
145
|
p.Note, div.Note, li.Note, p.TableFootnote, div.TableFootnote, li.TableFootnote
|
@@ -157,7 +157,7 @@ p.Note, div.Note, li.Note, p.TableFootnote, div.TableFootnote, li.TableFootnote
|
|
157
157
|
font-size:10.0pt;
|
158
158
|
mso-bidi-font-size:11.0pt;
|
159
159
|
font-family:$bodyfont;
|
160
|
-
mso-fareast-font-family
|
160
|
+
mso-fareast-font-family:"SimSun",serif;
|
161
161
|
mso-bidi-font-family:$bodyfont;
|
162
162
|
mso-ansi-language:EN-GB;}
|
163
163
|
/* may need to be revised */
|
@@ -183,7 +183,7 @@ p.ANNEX, li.ANNEX, div.ANNEX
|
|
183
183
|
font-size:14.0pt;
|
184
184
|
mso-bidi-font-size:11.0pt;
|
185
185
|
font-family:$headerfont;
|
186
|
-
mso-fareast-font-family
|
186
|
+
mso-fareast-font-family:"SimHei",serif;
|
187
187
|
mso-bidi-font-family:$headerfont;
|
188
188
|
mso-ansi-language:EN-GB;
|
189
189
|
mso-fareast-language:JA;
|
@@ -205,7 +205,7 @@ p.BiblioTitle, li.BiblioTitle, div.BiblioTitle
|
|
205
205
|
font-size:14.0pt;
|
206
206
|
mso-bidi-font-size:11.0pt;
|
207
207
|
font-family:$headerfont;
|
208
|
-
mso-fareast-font-family
|
208
|
+
mso-fareast-font-family:"SimHei",serif;
|
209
209
|
mso-bidi-font-family:$headerfont;
|
210
210
|
mso-ansi-language:EN-GB;
|
211
211
|
font-weight:bold;
|
@@ -224,7 +224,7 @@ p.Definition, li.Definition, div.Definition
|
|
224
224
|
tab-stops:20.15pt;
|
225
225
|
font-size:11.0pt;
|
226
226
|
font-family:$bodyfont;
|
227
|
-
mso-fareast-font-family
|
227
|
+
mso-fareast-font-family:"SimSun",serif;
|
228
228
|
mso-bidi-font-family:$bodyfont;
|
229
229
|
mso-ansi-language:EN-GB;}
|
230
230
|
p.ForewordTitle, li.ForewordTitle, div.ForewordTitle
|
@@ -246,7 +246,7 @@ p.ForewordTitle, li.ForewordTitle, div.ForewordTitle
|
|
246
246
|
font-size:14.0pt;
|
247
247
|
mso-bidi-font-size:11.0pt;
|
248
248
|
font-family:$headerfont;
|
249
|
-
mso-fareast-font-family
|
249
|
+
mso-fareast-font-family:"SimHei",serif;
|
250
250
|
mso-bidi-font-family:$headerfont;
|
251
251
|
mso-ansi-language:EN-GB;
|
252
252
|
font-weight:bold;
|
@@ -270,7 +270,7 @@ p.IntroTitle, li.IntroTitle, div.IntroTitle
|
|
270
270
|
font-size:14.0pt;
|
271
271
|
mso-bidi-font-size:11.0pt;
|
272
272
|
font-family:$headerfont;
|
273
|
-
mso-fareast-font-family
|
273
|
+
mso-fareast-font-family:"SimHei",serif;
|
274
274
|
mso-bidi-font-family:$headerfont;
|
275
275
|
mso-ansi-language:EN-GB;
|
276
276
|
font-weight:bold;
|
@@ -293,7 +293,7 @@ p.TitlePageSubhead, li.TitlePageSubhead, div.TitlePageSubhead {
|
|
293
293
|
font-size:14.0pt;
|
294
294
|
mso-bidi-font-size:11.0pt;
|
295
295
|
font-family:$headerfont;
|
296
|
-
mso-fareast-font-family
|
296
|
+
mso-fareast-font-family:"SimHei",serif;
|
297
297
|
mso-bidi-font-family:$headerfont;
|
298
298
|
mso-ansi-language:EN-GB;
|
299
299
|
font-weight:bold;
|
@@ -313,7 +313,7 @@ p.Terms, li.Terms, div.Terms
|
|
313
313
|
tab-stops:20.15pt;
|
314
314
|
font-size:11.0pt;
|
315
315
|
font-family:$headerfont;
|
316
|
-
mso-fareast-font-family
|
316
|
+
mso-fareast-font-family:"SimHei",serif;
|
317
317
|
mso-bidi-font-family:$headerfont;
|
318
318
|
mso-ansi-language:EN-GB;
|
319
319
|
font-weight:bold;
|
@@ -332,7 +332,7 @@ p.AltTerms, li.AltTerms, div.AltTerms
|
|
332
332
|
tab-stops:20.15pt;
|
333
333
|
font-size:11.0pt;
|
334
334
|
font-family:$bodyfont;
|
335
|
-
mso-fareast-font-family
|
335
|
+
mso-fareast-font-family:"SimSun",serif;
|
336
336
|
mso-bidi-font-family:$bodyfont;
|
337
337
|
mso-ansi-language:EN-GB;
|
338
338
|
mso-bidi-font-weight:normal;}
|
@@ -350,7 +350,7 @@ p.DeprecatedTerms, li.DeprecatedTerms, div.DeprecatedTerms
|
|
350
350
|
tab-stops:20.15pt;
|
351
351
|
font-size:11.0pt;
|
352
352
|
font-family:$bodyfont;
|
353
|
-
mso-fareast-font-family
|
353
|
+
mso-fareast-font-family:"SimSun",serif;
|
354
354
|
mso-bidi-font-family:$bodyfont;
|
355
355
|
mso-ansi-language:EN-GB;
|
356
356
|
mso-bidi-font-weight:normal;}
|
@@ -367,7 +367,7 @@ p.TermNum, li.TermNum, div.TermNum
|
|
367
367
|
tab-stops:20.15pt;
|
368
368
|
font-size:11.0pt;
|
369
369
|
font-family:$headerfont;
|
370
|
-
mso-fareast-font-family
|
370
|
+
mso-fareast-font-family:"SimHei",serif;
|
371
371
|
mso-bidi-font-family:$headerfont;
|
372
372
|
mso-ansi-language:EN-GB;
|
373
373
|
font-weight:bold;
|
@@ -391,7 +391,7 @@ p.zzContents, li.zzContents, div.zzContents
|
|
391
391
|
font-size:14.0pt;
|
392
392
|
mso-bidi-font-size:11.0pt;
|
393
393
|
font-family:$headerfont;
|
394
|
-
mso-fareast-font-family
|
394
|
+
mso-fareast-font-family:"SimHei",serif;
|
395
395
|
mso-bidi-font-family:$headerfont;
|
396
396
|
mso-ansi-language:EN-GB;
|
397
397
|
font-weight:bold;
|
@@ -412,7 +412,7 @@ p.zzCopyright, li.zzCopyright, div.zzCopyright
|
|
412
412
|
mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;
|
413
413
|
font-size:10.0pt;
|
414
414
|
font-family:$bodyfont;
|
415
|
-
mso-fareast-font-family
|
415
|
+
mso-fareast-font-family:"SimSun",serif;
|
416
416
|
mso-bidi-font-family:$bodyfont;
|
417
417
|
mso-ansi-language:EN-GB;}
|
418
418
|
p.zzCopyright1
|
@@ -431,7 +431,7 @@ p.zzCopyright1
|
|
431
431
|
mso-padding-alt:1.0pt 4.0pt 1.0pt 4.0pt;
|
432
432
|
font-size:10.0pt;
|
433
433
|
font-family:$bodyfont;
|
434
|
-
mso-fareast-font-family
|
434
|
+
mso-fareast-font-family:"SimSun",serif;
|
435
435
|
mso-bidi-font-family:$bodyfont;
|
436
436
|
mso-ansi-language:EN-GB;}
|
437
437
|
p.zzAddress {
|
@@ -483,7 +483,7 @@ p.zzSTDTitle, li.zzSTDTitle, div.zzSTDTitle
|
|
483
483
|
font-size:16.0pt;
|
484
484
|
mso-bidi-font-size:11.0pt;
|
485
485
|
font-family:$headerfont;
|
486
|
-
mso-fareast-font-family
|
486
|
+
mso-fareast-font-family:"SimHei",serif;
|
487
487
|
mso-bidi-font-family:$headerfont;
|
488
488
|
mso-ansi-language:EN-GB;
|
489
489
|
font-weight:bold;
|
@@ -505,11 +505,32 @@ p.zzSTDTitle1, li.zzSTDTitle1, div.zzSTDTitle1
|
|
505
505
|
font-size:16.0pt;
|
506
506
|
mso-bidi-font-size:11.0pt;
|
507
507
|
font-family:$headerfont;
|
508
|
-
mso-fareast-font-family
|
508
|
+
mso-fareast-font-family:"SimHei",serif;
|
509
509
|
mso-bidi-font-family:$headerfont;
|
510
510
|
mso-ansi-language:EN-GB;
|
511
511
|
font-weight:bold;
|
512
512
|
mso-bidi-font-weight:normal;}
|
513
|
+
p.zzSTDTitle2, li.zzSTDTitle2, div.zzSTDTitle2
|
514
|
+
{mso-style-name:zzSTDTitle;
|
515
|
+
mso-style-noshow:yes;
|
516
|
+
mso-style-unhide:no;
|
517
|
+
mso-style-next:Normal;
|
518
|
+
margin-top:0pt;
|
519
|
+
margin-right:0cm;
|
520
|
+
margin-bottom:18.0pt;
|
521
|
+
margin-left:0cm;
|
522
|
+
line-height:17.5pt;
|
523
|
+
mso-line-height-rule:exactly;
|
524
|
+
mso-pagination:widow-orphan;
|
525
|
+
mso-hyphenate:none;
|
526
|
+
tab-stops:20.15pt;
|
527
|
+
font-size:16.0pt;
|
528
|
+
mso-bidi-font-size:11.0pt;
|
529
|
+
font-family:$headerfont;
|
530
|
+
mso-fareast-font-family:"SimHei",serif;
|
531
|
+
mso-bidi-font-family:$headerfont;
|
532
|
+
mso-ansi-language:EN-GB;
|
533
|
+
mso-bidi-font-weight:normal;}
|
513
534
|
p.Quote, li.Quote, div.Quote
|
514
535
|
{mso-style-priority:99;
|
515
536
|
margin-top:0cm;
|
@@ -522,7 +543,7 @@ p.Quote, li.Quote, div.Quote
|
|
522
543
|
tab-stops:20.15pt;
|
523
544
|
font-size:11.0pt;
|
524
545
|
font-family:$bodyfont;
|
525
|
-
mso-fareast-font-family
|
546
|
+
mso-fareast-font-family:"SimSun",serif;
|
526
547
|
mso-bidi-font-family:$bodyfont;
|
527
548
|
mso-ansi-language:EN-GB;}
|
528
549
|
p.QuoteAttribution
|
@@ -536,7 +557,7 @@ p.Admonition, li.Admonition, div.Admonition
|
|
536
557
|
font-family:$bodyfont;
|
537
558
|
mso-ascii-font-family:$bodyfont;
|
538
559
|
mso-ascii-theme-font:minor-latin;
|
539
|
-
mso-fareast-font-family
|
560
|
+
mso-fareast-font-family:"SimSun",serif;
|
540
561
|
mso-fareast-theme-font:minor-fareast;
|
541
562
|
mso-hansi-font-family:$bodyfont;
|
542
563
|
mso-hansi-theme-font:minor-latin;
|
@@ -557,7 +578,7 @@ p.Code, li.Code, div.Code
|
|
557
578
|
font-size:9.0pt;
|
558
579
|
mso-bidi-font-size:11.0pt;
|
559
580
|
font-family:$monospacefont;
|
560
|
-
mso-fareast-font-family:
|
581
|
+
mso-fareast-font-family:"SimSun",serif;
|
561
582
|
mso-bidi-font-family:"Cambria";
|
562
583
|
mso-ansi-language:EN-GB;}
|
563
584
|
p.Formula, li.Formula, div.Formula
|
@@ -573,7 +594,7 @@ p.Formula, li.Formula, div.Formula
|
|
573
594
|
tab-stops:right 487.45pt;
|
574
595
|
font-size:11.0pt;
|
575
596
|
font-family:$bodyfont;
|
576
|
-
mso-fareast-font-family
|
597
|
+
mso-fareast-font-family:"SimSun",serif;
|
577
598
|
mso-bidi-font-family:$bodyfont;
|
578
599
|
mso-ansi-language:EN-GB;}
|
579
600
|
table.dl
|
@@ -598,6 +619,10 @@ table.figdl
|
|
598
619
|
margin-right: 0cm;
|
599
620
|
}
|
600
621
|
|
622
|
+
div.figdl p, table.figdl p {
|
623
|
+
font-size: 10.0pt;
|
624
|
+
}
|
625
|
+
|
601
626
|
table.formula_dl {
|
602
627
|
margin-left:20.15pt;
|
603
628
|
}
|