metanorma-itu 1.0.13 → 1.0.18
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 +12 -9
- data/.github/workflows/windows.yml +8 -8
- data/lib/asciidoctor/itu/biblio.rng +89 -32
- data/lib/asciidoctor/itu/cleanup.rb +80 -71
- data/lib/asciidoctor/itu/converter.rb +7 -11
- data/lib/asciidoctor/itu/front.rb +47 -18
- data/lib/asciidoctor/itu/isodoc.rng +475 -2
- data/lib/asciidoctor/itu/reqt.rng +23 -0
- data/lib/isodoc/itu/base_convert.rb +66 -16
- data/lib/isodoc/itu/html/_coverpage.scss +7 -3
- data/lib/isodoc/itu/html/header.html +8 -8
- data/lib/isodoc/itu/html/html_itu_titlepage.html +6 -7
- data/lib/isodoc/itu/html/htmlstyle.scss +9 -5
- data/lib/isodoc/itu/html/itu.scss +28 -1
- data/lib/isodoc/itu/html/scripts.html +14 -27
- data/lib/isodoc/itu/html/word_itu_intro.html +11 -1
- data/lib/isodoc/itu/html/word_itu_titlepage.html +3 -6
- data/lib/isodoc/itu/html/wordstyle.scss +6 -5
- data/lib/isodoc/itu/html_convert.rb +3 -3
- data/lib/isodoc/itu/i18n-en.yaml +2 -1
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +3903 -0
- data/lib/isodoc/itu/itu.recommendation.xsl +3903 -0
- data/lib/isodoc/itu/itu.resolution.xsl +3903 -0
- data/lib/isodoc/itu/metadata.rb +16 -6
- data/lib/isodoc/itu/pdf_convert.rb +17 -44
- data/lib/isodoc/itu/ref.rb +48 -21
- data/lib/isodoc/itu/terms.rb +5 -6
- data/lib/isodoc/itu/word_convert.rb +10 -8
- data/lib/isodoc/itu/xref.rb +27 -16
- data/lib/metanorma/itu/processor.rb +8 -0
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +1 -1
- metadata +7 -5
- data/lib/isodoc/itu/html/scripts.pdf.html +0 -72
data/lib/isodoc/itu/metadata.rb
CHANGED
@@ -11,12 +11,15 @@ module IsoDoc
|
|
11
11
|
File.expand_path(File.join(here, "html", "International_Telecommunication_Union_Logo.svg")))
|
12
12
|
set(:logo_comb,
|
13
13
|
File.expand_path(File.join(here, "html", "itu-document-comb.png")))
|
14
|
-
set(:logo_word,
|
14
|
+
set(:logo_word,
|
15
|
+
File.expand_path(File.join(here, "html", "International_Telecommunication_Union_Logo.svg")))
|
15
16
|
end
|
16
17
|
|
17
18
|
def title(isoxml, _out)
|
18
|
-
main = isoxml&.at(ns("//bibdata/title[@language='
|
19
|
+
main = isoxml&.at(ns("//bibdata/title[@language='#{@lang}'][@type = 'main']"))&.text
|
19
20
|
set(:doctitle, main)
|
21
|
+
main = isoxml&.at(ns("//bibdata/title[@language='#{@lang}'][@type = 'subtitle']"))&.text
|
22
|
+
set(:docsubtitle, main)
|
20
23
|
series = isoxml&.at(ns("//bibdata/series[@type='main']/title"))&.text
|
21
24
|
set(:series, series)
|
22
25
|
series1 =
|
@@ -66,11 +69,18 @@ module IsoDoc
|
|
66
69
|
end
|
67
70
|
|
68
71
|
def keywords(isoxml, _out)
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
+
super
|
73
|
+
set(:keywords, get[:keywords].sort)
|
74
|
+
end
|
75
|
+
|
76
|
+
def doctype(isoxml, _out)
|
77
|
+
d = isoxml&.at(ns("//bibdata/ext/doctype"))&.text
|
78
|
+
set(:doctype_original, d)
|
79
|
+
if d == "recommendation-annex"
|
80
|
+
set(:doctype, "Recommendation")
|
81
|
+
else
|
82
|
+
super
|
72
83
|
end
|
73
|
-
set(:keywords, keywords.sort)
|
74
84
|
end
|
75
85
|
|
76
86
|
def ip_notice_received(isoxml, _out)
|
@@ -6,61 +6,34 @@ module IsoDoc
|
|
6
6
|
module ITU
|
7
7
|
# A {Converter} implementation that generates PDF HTML output, and a
|
8
8
|
# document schema encapsulation of the document for validation
|
9
|
-
class PdfConvert < IsoDoc::
|
9
|
+
class PdfConvert < IsoDoc::XslfoPdfConvert
|
10
10
|
def initialize(options)
|
11
11
|
@libdir = File.dirname(__FILE__)
|
12
12
|
@hierarchical_assets = options[:hierarchical_assets]
|
13
13
|
super
|
14
14
|
end
|
15
15
|
|
16
|
-
def
|
17
|
-
docxml
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Open Sans",sans-serif'),
|
23
|
-
headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Open Sans",sans-serif'),
|
24
|
-
monospacefont: '"Space Mono",monospace'
|
25
|
-
}
|
26
|
-
end
|
27
|
-
|
28
|
-
def default_file_locations(_options)
|
29
|
-
{
|
30
|
-
htmlstylesheet: html_doc_path("htmlstyle.scss"),
|
31
|
-
htmlcoverpage: html_doc_path("html_itu_titlepage.html"),
|
32
|
-
htmlintropage: html_doc_path("html_itu_intro.html"),
|
33
|
-
scripts_pdf: html_doc_path("scripts.pdf.html"),
|
34
|
-
}
|
35
|
-
end
|
36
|
-
|
37
|
-
def googlefonts()
|
38
|
-
<<~HEAD.freeze
|
39
|
-
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,800|Space+Mono:400,700" rel="stylesheet">
|
40
|
-
HEAD
|
41
|
-
end
|
42
|
-
|
43
|
-
def make_body(xml, docxml)
|
44
|
-
body_attr = { lang: "EN-US", link: "blue", vlink: "#954F72", "xml:lang": "EN-US", class: "container" }
|
45
|
-
xml.body **body_attr do |body|
|
46
|
-
make_body1(body, docxml)
|
47
|
-
make_body2(body, docxml)
|
48
|
-
make_body3(body, docxml)
|
16
|
+
def pdf_stylesheet(docxml)
|
17
|
+
case doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
|
18
|
+
when "resolution" then "itu.resolution.xsl"
|
19
|
+
when "recommendation-annex" then "itu.recommendation-annex.xsl"
|
20
|
+
else
|
21
|
+
"itu.recommendation.xsl"
|
49
22
|
end
|
50
23
|
end
|
51
24
|
|
52
|
-
def
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
comments div3
|
25
|
+
def convert(filename, file = nil, debug = false)
|
26
|
+
file = File.read(filename, encoding: "utf-8") if file.nil?
|
27
|
+
docxml, outname_html, dir = convert_init(file, filename, debug)
|
28
|
+
/\.xml$/.match(filename) or
|
29
|
+
filename = Tempfile.open([outname_html, ".xml"], encoding: "utf-8") do |f|
|
30
|
+
f.write file
|
31
|
+
f.path
|
60
32
|
end
|
33
|
+
FileUtils.rm_rf dir
|
34
|
+
::Metanorma::Output::XslfoPdf.new.convert(
|
35
|
+
filename, outname_html + ".pdf", File.join(@libdir, pdf_stylesheet(docxml)))
|
61
36
|
end
|
62
|
-
|
63
|
-
include BaseConvert
|
64
37
|
end
|
65
38
|
end
|
66
39
|
end
|
data/lib/isodoc/itu/ref.rb
CHANGED
@@ -6,7 +6,7 @@ module IsoDoc
|
|
6
6
|
module ITU
|
7
7
|
module BaseConvert
|
8
8
|
def norm_ref(isoxml, out, num)
|
9
|
-
q = "//bibliography/references[
|
9
|
+
q = "//bibliography/references[@normative = 'true']"
|
10
10
|
f = isoxml.at(ns(q)) or return num
|
11
11
|
out.div do |div|
|
12
12
|
num = num + 1
|
@@ -17,11 +17,14 @@ module IsoDoc
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def nonstd_bibitem(list, b, ordinal, biblio)
|
20
|
-
list.
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
20
|
+
list.tr **attr_code(iso_bibitem_entry_attrs(b, biblio)) do |ref|
|
21
|
+
id = render_identifier(bibitem_ref_code(b))
|
22
|
+
ref.td **{style: "vertical-align:top"} do |td|
|
23
|
+
td << (id[0] || "[#{id[1]}]")&.
|
24
|
+
gsub(/-/, "‑")&.gsub(/ /, " ")
|
25
|
+
date_note_process(b, td)
|
26
|
+
end
|
27
|
+
ref.td { |td| reference_format(b, td) }
|
25
28
|
end
|
26
29
|
end
|
27
30
|
|
@@ -29,6 +32,36 @@ module IsoDoc
|
|
29
32
|
nonstd_bibitem(list, b, ordinal, biblio)
|
30
33
|
end
|
31
34
|
|
35
|
+
def biblio_list(f, div, biblio)
|
36
|
+
div.table **{ class: "biblio", border: "0" } do |t|
|
37
|
+
i = 0
|
38
|
+
t.tbody do |tbody|
|
39
|
+
f.elements.each do |b|
|
40
|
+
if b.name == "bibitem"
|
41
|
+
next if implicit_reference(b)
|
42
|
+
i += 1
|
43
|
+
nonstd_bibitem(tbody, b, i, biblio)
|
44
|
+
else
|
45
|
+
unless %w(title clause references).include? b.name
|
46
|
+
tbody.tx do |tx|
|
47
|
+
parse(b, tx)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
f.xpath(ns("./clause | ./references")).each do |x|
|
55
|
+
parse(x, div)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def bracket_if_num(x)
|
60
|
+
return nil if x.nil?
|
61
|
+
x = x.text.sub(/^\[/, "").sub(/\]$/, "")
|
62
|
+
"[#{x}]"
|
63
|
+
end
|
64
|
+
|
32
65
|
def reference_format(b, r)
|
33
66
|
reference_format_start(b, r)
|
34
67
|
reference_format_title(b, r)
|
@@ -38,20 +71,13 @@ module IsoDoc
|
|
38
71
|
s.gsub(/ |\_|\-/, " ").split(/ /).map(&:capitalize).join(" ")
|
39
72
|
end
|
40
73
|
|
74
|
+
def pref_ref_code(b)
|
75
|
+
b.at(ns("./docidentifier[@type = 'ITU']")) || super
|
76
|
+
end
|
77
|
+
|
41
78
|
IGNORE_IDS =
|
42
79
|
"@type = 'DOI' or @type = 'ISSN' or @type = 'ISBN' or @type = 'rfc-anchor'".freeze
|
43
80
|
|
44
|
-
def bibitem_ref_code(b)
|
45
|
-
id = b.at(ns("./docidentifier[@type = 'metanorma']"))
|
46
|
-
id ||= b.at(ns("./docidentifier[@type = 'ITU']"))
|
47
|
-
id ||= b.at(ns("./docidentifier[not(#{IGNORE_IDS})]"))
|
48
|
-
id ||= b.at(ns("./docidentifier"))
|
49
|
-
return id if id
|
50
|
-
id = Nokogiri::XML::Node.new("docidentifier", b.document)
|
51
|
-
id.text = "(NO ID)"
|
52
|
-
id
|
53
|
-
end
|
54
|
-
|
55
81
|
def multi_bibitem_ref_code(b)
|
56
82
|
id = b.xpath(ns("./docidentifier[not(@type = 'metanorma' or #{IGNORE_IDS})]"))
|
57
83
|
id.empty? and id = b.xpath(ns("./docidentifier[not(@type = 'metanorma')]"))
|
@@ -59,7 +85,7 @@ module IsoDoc
|
|
59
85
|
id.sort_by { |i| i["type"] == "ITU" ? 0 : 1 }
|
60
86
|
end
|
61
87
|
|
62
|
-
def
|
88
|
+
def render_multi_identifiers(ids)
|
63
89
|
ids.map do |id|
|
64
90
|
id["type"] == "ITU" ? doctype_title(id) :
|
65
91
|
docid_prefix(id["type"], id.text.sub(/^\[/, "").sub(/\]$/, ""))
|
@@ -78,7 +104,7 @@ module IsoDoc
|
|
78
104
|
|
79
105
|
def reference_format_start(b, r)
|
80
106
|
id = multi_bibitem_ref_code(b)
|
81
|
-
id1 =
|
107
|
+
id1 = render_multi_identifiers(id)
|
82
108
|
r << id1
|
83
109
|
date = b.at(ns("./date[@type = 'published']")) and
|
84
110
|
r << " (#{date.text.sub(/-.*$/, '')})"
|
@@ -97,8 +123,9 @@ module IsoDoc
|
|
97
123
|
end
|
98
124
|
end
|
99
125
|
|
100
|
-
def
|
101
|
-
|
126
|
+
def reference_names(ref)
|
127
|
+
super
|
128
|
+
@anchors[ref["id"]] = { xref: @anchors[ref["id"]][:xref].sub(/^\[/, '').sub(/\]$/, '') }
|
102
129
|
end
|
103
130
|
end
|
104
131
|
end
|
data/lib/isodoc/itu/terms.rb
CHANGED
@@ -1,16 +1,15 @@
|
|
1
1
|
module IsoDoc
|
2
2
|
module ITU
|
3
3
|
module BaseConvert
|
4
|
-
def
|
5
|
-
|
6
|
-
super
|
4
|
+
def term_def_title(node)
|
5
|
+
node
|
7
6
|
end
|
8
7
|
|
9
8
|
def terms_defs(node, out, num)
|
10
9
|
f = node.at(ns(IsoDoc::Convert::TERM_CLAUSE)) or return num
|
11
10
|
out.div **attr_code(id: f["id"]) do |div|
|
12
11
|
num = num + 1
|
13
|
-
clause_name(num,
|
12
|
+
clause_name(num, term_def_title(f.at(ns("./title"))), div, nil)
|
14
13
|
if f.at(ns("./clause | ./terms | ./term")).nil? then out.p "None."
|
15
14
|
else
|
16
15
|
f.children.reject { |c1| c1.name == "title" }.each do |c1|
|
@@ -40,7 +39,7 @@ module IsoDoc
|
|
40
39
|
insert_tab(b, 1)
|
41
40
|
term.children.each { |n| parse(n, b) }
|
42
41
|
end
|
43
|
-
source and p << "
|
42
|
+
source and p << " #{bracket_opt(source.value)}"
|
44
43
|
p << ": "
|
45
44
|
end
|
46
45
|
defn and defn.children.each { |n| parse(n, div) }
|
@@ -61,7 +60,7 @@ module IsoDoc
|
|
61
60
|
end
|
62
61
|
|
63
62
|
def termnote_parse(node, out)
|
64
|
-
out.div **
|
63
|
+
out.div **note_attrs(node) do |div|
|
65
64
|
first = node.first_element_child
|
66
65
|
div.p do |p|
|
67
66
|
p << note_label(node) # "#{anchor(node['id'], :label) || '???'}: "
|
@@ -48,7 +48,7 @@ module IsoDoc
|
|
48
48
|
kw.nil? || kw.empty? and return
|
49
49
|
out.div do |div|
|
50
50
|
clause_name(nil, "Keywords", div, class: "IntroTitle")
|
51
|
-
div.p kw.
|
51
|
+
div.p kw.join(", ") + "."
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
@@ -105,19 +105,22 @@ module IsoDoc
|
|
105
105
|
super
|
106
106
|
abstractbox = docxml.at("//div[@id='abstractbox']")
|
107
107
|
historybox = docxml.at("//div[@id='historybox']")
|
108
|
+
sourcebox = docxml.at("//div[@id='sourcebox']")
|
108
109
|
keywordsbox = docxml.at("//div[@id='keywordsbox']")
|
109
110
|
abstract = docxml.at("//p[@class = 'h1Preface' and text() = 'Summary']/..")
|
110
111
|
history = docxml.at("//p[@class = 'h1Preface' and text() = 'History']/..")
|
112
|
+
source = docxml.at("//p[@class = 'h1Preface' and text() = 'Source']/..")
|
111
113
|
keywords = docxml.at("//p[@class = 'h1Preface' and text() = 'Keywords']/..")
|
112
114
|
abstract.parent = abstractbox if abstract && abstractbox
|
113
115
|
history.parent = historybox if history && historybox
|
116
|
+
source.parent = sourcebox if source && sourcebox
|
114
117
|
keywords.parent = keywordsbox if keywords && keywordsbox
|
115
118
|
end
|
116
119
|
|
117
120
|
def formula_parse1(node, out)
|
118
|
-
out.div **attr_code(
|
121
|
+
out.div **attr_code(class: "formula") do |div|
|
119
122
|
div.p **attr_code(class: "formula") do |p|
|
120
|
-
insert_tab(div,
|
123
|
+
insert_tab(div, 1)
|
121
124
|
parse(node.at(ns("./stem")), div)
|
122
125
|
lbl = anchor(node['id'], :label, false)
|
123
126
|
unless lbl.nil?
|
@@ -150,10 +153,8 @@ module IsoDoc
|
|
150
153
|
super.merge(valign: "top")
|
151
154
|
end
|
152
155
|
|
153
|
-
def
|
154
|
-
|
155
|
-
node.children.each { |n| parse(n, ol) }
|
156
|
-
end
|
156
|
+
def ol_attrs(node)
|
157
|
+
{ class: node["class"], id: node["id"], style: keep_style(node) }
|
157
158
|
end
|
158
159
|
|
159
160
|
def toWord(result, filename, dir, header)
|
@@ -211,8 +212,9 @@ module IsoDoc
|
|
211
212
|
next unless auth && dest
|
212
213
|
t == "copyright" and p = auth&.at(".//p") and
|
213
214
|
p["class"] = "boilerplateHdr"
|
214
|
-
auth&.xpath(".//p[not(@class)]")&.
|
215
|
+
auth&.xpath(".//p[not(@class)]")&.each_with_index do |p, i|
|
215
216
|
p["class"] = "boilerplate"
|
217
|
+
i == 0 && t == "copyright" and p["style"] = "text-align:center;"
|
216
218
|
end
|
217
219
|
auth << "<p> </p><p> </p><p> </p>" unless t == "copyright"
|
218
220
|
dest.replace(auth.remove)
|
data/lib/isodoc/itu/xref.rb
CHANGED
@@ -15,9 +15,13 @@ module IsoDoc
|
|
15
15
|
@anchors[clause["id"]] =
|
16
16
|
{ label: annex_name_lbl(clause, num), type: "clause",
|
17
17
|
xref: "#{lbl} #{num}", level: 1 }
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
if a = single_annex_special_section(clause)
|
19
|
+
annex_names1(a, "#{num}", 1)
|
20
|
+
else
|
21
|
+
clause.xpath(ns("./clause | ./references | ./terms | ./definitions")).
|
22
|
+
each_with_index do |c, i|
|
23
|
+
annex_names1(c, "#{num}.#{i + 1}", 2)
|
24
|
+
end
|
21
25
|
end
|
22
26
|
hierarchical_asset_names(clause, num)
|
23
27
|
end
|
@@ -52,8 +56,8 @@ module IsoDoc
|
|
52
56
|
hierarchical_asset_names(d.xpath("//xmlns:preface/child::*"), "Preface") :
|
53
57
|
sequential_asset_names(d.xpath("//xmlns:preface/child::*"))
|
54
58
|
n = section_names(d.at(ns("//clause[title = 'Scope']")), 0, 1)
|
55
|
-
n = section_names(d.at(ns("//bibliography/clause[
|
56
|
-
"//bibliography/references[
|
59
|
+
n = section_names(d.at(ns("//bibliography/clause[.//references[@normative = 'true']] | "\
|
60
|
+
"//bibliography/references[@normative = 'true']")), n, 1)
|
57
61
|
n = section_names(d.at(ns("//sections/terms | "\
|
58
62
|
"//sections/clause[descendant::terms]")), n, 1)
|
59
63
|
n = section_names(d.at(ns("//sections/definitions")), n, 1)
|
@@ -63,15 +67,11 @@ module IsoDoc
|
|
63
67
|
termexample_anchor_names(d)
|
64
68
|
end
|
65
69
|
|
66
|
-
def hiersep
|
67
|
-
"-"
|
68
|
-
end
|
69
|
-
|
70
70
|
MIDDLE_SECTIONS = "//clause[title = 'Scope'] | "\
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
71
|
+
"//foreword | //introduction | //acknowledgements | "\
|
72
|
+
"//references[@normative = 'true'] | "\
|
73
|
+
"//sections/terms | //preface/clause | "\
|
74
|
+
"//sections/definitions | //clause[parent::sections]".freeze
|
75
75
|
|
76
76
|
def middle_section_asset_names(d)
|
77
77
|
return super unless @hierarchical_assets
|
@@ -89,7 +89,7 @@ module IsoDoc
|
|
89
89
|
j = 0
|
90
90
|
c.increment(t)
|
91
91
|
end
|
92
|
-
label = c.print + (j.zero? ? "" : "-#{(
|
92
|
+
label = c.print + (j.zero? ? "" : "-#{(96 + j).chr.to_s}")
|
93
93
|
next if t["id"].nil? || t["id"].empty?
|
94
94
|
@anchors[t["id"]] =
|
95
95
|
anchor_struct(label, nil, @figure_lbl, "figure", t["unnumbered"])
|
@@ -106,7 +106,7 @@ module IsoDoc
|
|
106
106
|
c.increment(t)
|
107
107
|
end
|
108
108
|
label = "#{num}#{hiersep}#{c.print}" +
|
109
|
-
(j.zero? ? "" : "#{hierfigsep}#{(
|
109
|
+
(j.zero? ? "" : "#{hierfigsep}#{(96 + j).chr.to_s}")
|
110
110
|
next if t["id"].nil? || t["id"].empty?
|
111
111
|
@anchors[t["id"]] = anchor_struct(label, nil, @figure_lbl, "figure",
|
112
112
|
t["unnumbered"])
|
@@ -116,12 +116,23 @@ module IsoDoc
|
|
116
116
|
def sequential_formula_names(clause)
|
117
117
|
clause&.first&.xpath(ns(MIDDLE_SECTIONS))&.each do |c|
|
118
118
|
if c["id"] && @anchors[c["id"]]
|
119
|
-
|
119
|
+
hierarchical_formula_names(c, @anchors[c["id"]][:label] || @anchors[c["id"]][:xref] || "???")
|
120
120
|
else
|
121
121
|
hierarchical_formula_names(c, "???")
|
122
122
|
end
|
123
123
|
end
|
124
124
|
end
|
125
|
+
|
126
|
+
def hierarchical_formula_names(clause, num)
|
127
|
+
c = IsoDoc::Function::XrefGen::Counter.new
|
128
|
+
clause.xpath(ns(".//formula")).each do |t|
|
129
|
+
next if t["id"].nil? || t["id"].empty?
|
130
|
+
@anchors[t["id"]] =
|
131
|
+
anchor_struct("#{num}-#{c.increment(t).print}", nil,
|
132
|
+
t["inequality"] ? @inequality_lbl : @formula_lbl,
|
133
|
+
"formula", t["unnumbered"])
|
134
|
+
end
|
135
|
+
end
|
125
136
|
end
|
126
137
|
end
|
127
138
|
end
|
@@ -2,6 +2,14 @@ require "metanorma/processor"
|
|
2
2
|
|
3
3
|
module Metanorma
|
4
4
|
module ITU
|
5
|
+
def self.fonts_used
|
6
|
+
{
|
7
|
+
html: ["Arial", "Courier New", "Times New Roman"],
|
8
|
+
doc: ["Arial", "Courier New", "Times New Roman"],
|
9
|
+
pdf: ["Arial", "Courier New", "Times New Roman"]
|
10
|
+
}
|
11
|
+
end
|
12
|
+
|
5
13
|
class Processor < Metanorma::Processor
|
6
14
|
|
7
15
|
def initialize
|
data/metanorma-itu.gemspec
CHANGED
@@ -26,7 +26,7 @@ Gem::Specification.new do |spec|
|
|
26
26
|
|
27
27
|
spec.add_dependency "htmlentities", "~> 4.3.4"
|
28
28
|
spec.add_dependency "ruby-jing"
|
29
|
-
spec.add_dependency "metanorma-standoc", "~> 1.
|
29
|
+
spec.add_dependency "metanorma-standoc", "~> 1.4.0"
|
30
30
|
spec.add_dependency "isodoc", "~> 1.0.0"
|
31
31
|
|
32
32
|
spec.add_development_dependency "byebug", "~> 9.1"
|