metanorma-itu 1.2.4 → 1.2.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/rake.yml +62 -0
- data/README.adoc +3 -4
- data/lib/asciidoctor/itu/basicdoc.rng +32 -0
- data/lib/asciidoctor/itu/boilerplate.xml +3 -0
- data/lib/asciidoctor/itu/converter.rb +3 -2
- data/lib/asciidoctor/itu/front.rb +74 -15
- data/lib/asciidoctor/itu/isodoc.rng +29 -44
- data/lib/asciidoctor/itu/itu.rng +61 -0
- data/lib/asciidoctor/itu/validate.rb +2 -9
- data/lib/isodoc/itu/base_convert.rb +1 -6
- data/lib/isodoc/itu/html/_coverpage.css +8 -1
- data/lib/isodoc/itu/html/_coverpage.scss +4 -0
- data/lib/isodoc/itu/html/header.html +8 -16
- data/lib/isodoc/itu/html/html_itu_intro.html +4 -3
- data/lib/isodoc/itu/html/html_itu_titlepage.html +30 -13
- data/lib/isodoc/itu/html/htmlstyle.css +782 -759
- data/lib/isodoc/itu/html/htmlstyle.scss +7 -8
- data/lib/isodoc/itu/html/itu.css +43 -43
- data/lib/isodoc/itu/html/itu.scss +44 -43
- data/lib/isodoc/itu/html/logo-sp.png +0 -0
- data/lib/isodoc/itu/html/word_itu_intro.html +29 -3
- data/lib/isodoc/itu/html/word_itu_titlepage.html +143 -4
- data/lib/isodoc/itu/html/word_itu_titlepage_sp.html +108 -0
- data/lib/isodoc/itu/html/wordstyle.css +37 -37
- data/lib/isodoc/itu/html/wordstyle.scss +37 -37
- data/lib/isodoc/itu/html_convert.rb +7 -2
- data/lib/isodoc/itu/i18n-en.yaml +42 -0
- data/lib/isodoc/itu/itu.recommendation-annex.xsl +921 -180
- data/lib/isodoc/itu/itu.recommendation.xsl +921 -180
- data/lib/isodoc/itu/itu.resolution.xsl +921 -180
- data/lib/isodoc/itu/itu.technical-paper.xsl +5184 -0
- data/lib/isodoc/itu/itu.technical-report.xsl +5184 -0
- data/lib/isodoc/itu/metadata.rb +79 -4
- data/lib/isodoc/itu/pdf_convert.rb +2 -0
- data/lib/isodoc/itu/presentation_xml_convert.rb +68 -0
- data/lib/isodoc/itu/ref.rb +0 -13
- data/lib/isodoc/itu/terms.rb +7 -30
- data/lib/isodoc/itu/word_cleanup.rb +5 -1
- data/lib/isodoc/itu/word_convert.rb +15 -1
- data/lib/isodoc/itu/xref.rb +2 -2
- data/lib/metanorma/itu/fonts_manifest.yaml +4 -0
- data/lib/metanorma/itu/processor.rb +0 -8
- data/lib/metanorma/itu/version.rb +1 -1
- data/metanorma-itu.gemspec +3 -1
- metadata +38 -7
- data/.github/workflows/macos.yml +0 -38
- data/.github/workflows/ubuntu.yml +0 -56
- data/.github/workflows/windows.yml +0 -40
data/lib/isodoc/itu/metadata.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require "isodoc"
|
2
|
+
require "twitter_cldr"
|
2
3
|
|
3
4
|
module IsoDoc
|
4
5
|
module ITU
|
@@ -14,6 +15,8 @@ module IsoDoc
|
|
14
15
|
File.expand_path(File.join(here, "html", "itu-document-comb.png")))
|
15
16
|
set(:logo_word,
|
16
17
|
File.expand_path(File.join(here, "html", n)))
|
18
|
+
set(:logo_sp,
|
19
|
+
File.expand_path(File.join(here, "html", "logo-sp.png")))
|
17
20
|
end
|
18
21
|
|
19
22
|
def title(isoxml, _out)
|
@@ -23,6 +26,12 @@ module IsoDoc
|
|
23
26
|
main = isoxml&.at(ns("//bibdata/title[@language='#{@lang}']"\
|
24
27
|
"[@type = 'subtitle']"))&.text
|
25
28
|
set(:docsubtitle, main)
|
29
|
+
main = isoxml&.at(ns("//bibdata/title[@language='#{@lang}']"\
|
30
|
+
"[@type = 'amendment']"))&.text
|
31
|
+
set(:amendmenttitle, main)
|
32
|
+
main = isoxml&.at(ns("//bibdata/title[@language='#{@lang}']"\
|
33
|
+
"[@type = 'corrigendum']"))&.text
|
34
|
+
set(:corrigendumtitle, main)
|
26
35
|
series = isoxml&.at(ns("//bibdata/series[@type='main']/title"))&.text
|
27
36
|
set(:series, series)
|
28
37
|
series1 =
|
@@ -33,27 +42,64 @@ module IsoDoc
|
|
33
42
|
set(:series2, series2)
|
34
43
|
annext = isoxml&.at(ns("//bibdata/title[@type='annex']"))&.text
|
35
44
|
set(:annextitle, annext)
|
45
|
+
annext = isoxml&.at(ns("//bibdata/title[@type='position-sp']"))&.text
|
46
|
+
set(:positiontitle, annext)
|
36
47
|
end
|
37
48
|
|
38
49
|
def subtitle(_isoxml, _out)
|
39
50
|
nil
|
40
51
|
end
|
41
52
|
|
42
|
-
def author(
|
43
|
-
bureau =
|
53
|
+
def author(xml, _out)
|
54
|
+
bureau = xml.at(ns("//bibdata/ext/editorialgroup/bureau"))
|
44
55
|
set(:bureau, bureau.text) if bureau
|
45
|
-
tc =
|
56
|
+
tc = xml.at(ns("//bibdata/ext/editorialgroup/committee"))
|
46
57
|
set(:tc, tc.text) if tc
|
58
|
+
tc = xml.at(ns("//bibdata/ext/editorialgroup/group/name"))
|
59
|
+
set(:group, tc.text) if tc
|
60
|
+
tc = xml.at(ns("//bibdata/ext/editorialgroup/subgroup/name"))
|
61
|
+
set(:subgroup, tc.text) if tc
|
62
|
+
tc = xml.at(ns("//bibdata/ext/editorialgroup/workgroup/name"))
|
63
|
+
set(:workgroup, tc.text) if tc
|
47
64
|
super
|
65
|
+
authors = xml.xpath(ns("//bibdata/contributor[role/@type = 'author' "\
|
66
|
+
"or xmlns:role/@type = 'editor']/person"))
|
67
|
+
person_attributes(authors) unless authors.empty?
|
68
|
+
end
|
69
|
+
|
70
|
+
def append(key, value)
|
71
|
+
@metadata[key] << value
|
72
|
+
end
|
73
|
+
|
74
|
+
def person_attributes(authors)
|
75
|
+
%i(affiliations addresses emails faxes phones).each { |i| set(i, []) }
|
76
|
+
authors.each do |a|
|
77
|
+
append(:affiliations,
|
78
|
+
a&.at(ns("./affiliation/organization/name"))&.text)
|
79
|
+
append(:addresses, a&.at(ns("./affiliation/organization/address/"\
|
80
|
+
"formattedAddress"))&.text)
|
81
|
+
append(:emails, a&.at(ns("./email"))&.text)
|
82
|
+
append(:faxes, a&.at(ns("./phone[@type = 'fax']"))&.text)
|
83
|
+
append(:phones, a&.at(ns("./phone[not(@type = 'fax')]"))&.text)
|
84
|
+
end
|
48
85
|
end
|
49
86
|
|
50
87
|
def docid(isoxml, _out)
|
51
88
|
dn = isoxml.at(ns("//bibdata/docidentifier[@type = 'ITU']"))
|
52
89
|
set(:docnumber, dn&.text)
|
90
|
+
dn = isoxml.at(ns("//bibdata/docidentifier[@type = 'ITU-Recommendation']"))
|
91
|
+
dn and set(:recommendationnumber, dn&.text)
|
92
|
+
dn = isoxml.at(ns("//bibdata/docidentifier[@type = 'ITU-lang']"))
|
93
|
+
dn and set(:docnumber_lang, dn&.text)
|
53
94
|
dn = isoxml.at(ns("//bibdata/ext/structuredidentifier/annexid"))
|
54
95
|
oblig = isoxml&.at(ns("//annex/@obligation"))&.text
|
55
96
|
lbl = oblig == "informative" ? @labels["appendix"] : @labels["annex"]
|
56
97
|
dn and set(:annexid, @i18n.l10n("#{lbl} #{dn&.text}"))
|
98
|
+
dn = isoxml.at(ns("//bibdata/ext/structuredidentifier/amendment")) and
|
99
|
+
set(:amendmentid, @i18n.l10n("#{@labels["amendment"]} #{dn&.text}"))
|
100
|
+
dn = isoxml.at(ns("//bibdata/ext/structuredidentifier/corrigendum")) and
|
101
|
+
set(:corrigendumid,
|
102
|
+
@i18n.l10n("#{@labels["corrigendum"]} #{dn&.text}"))
|
57
103
|
end
|
58
104
|
|
59
105
|
def unpublished(status)
|
@@ -61,8 +107,14 @@ module IsoDoc
|
|
61
107
|
end
|
62
108
|
|
63
109
|
def bibdate(isoxml, _out)
|
64
|
-
pubdate = isoxml.
|
110
|
+
pubdate = isoxml.at(ns("//bibdata/date[not(@format)][@type = 'published']"))
|
65
111
|
pubdate and set(:pubdate_monthyear, monthyr(pubdate.text))
|
112
|
+
pubdate = isoxml.at(ns("//bibdata/date[@format = 'ddMMMyyyy'][@type = 'published']"))
|
113
|
+
pubdate and set(:pubdate_ddMMMyyyy, monthyr(pubdate.text))
|
114
|
+
pubdate = isoxml.at(ns("//bibdata/date[not(@format)][@type = 'published']")) ||
|
115
|
+
isoxml.at(ns("//bibdata/copyright/from"))
|
116
|
+
pubdate and set(:placedate_year,
|
117
|
+
@labels["placedate"].sub(/%/, pubdate.text.sub(/^(\d\d\d\d).*$/, "\\1")))
|
66
118
|
end
|
67
119
|
|
68
120
|
def monthyr(isodate)
|
@@ -79,8 +131,10 @@ module IsoDoc
|
|
79
131
|
def doctype(isoxml, _out)
|
80
132
|
d = isoxml&.at(ns("//bibdata/ext/doctype"))&.text
|
81
133
|
set(:doctype_original, d)
|
134
|
+
set(:doctype_abbreviated, @labels["doctype_abbrev"][d])
|
82
135
|
if d == "recommendation-annex"
|
83
136
|
set(:doctype, "Recommendation")
|
137
|
+
set(:doctype_display, "Recommendation")
|
84
138
|
else
|
85
139
|
super
|
86
140
|
end
|
@@ -91,6 +145,27 @@ module IsoDoc
|
|
91
145
|
"false"
|
92
146
|
set(:ip_notice_received, received)
|
93
147
|
end
|
148
|
+
|
149
|
+
def ddMMMYYYY(isodate)
|
150
|
+
m = /(?<yr>\d\d\d\d)-(?<mo>\d\d)-(?<dd>\d\d)/.match isodate
|
151
|
+
return isodate unless m && m[:yr] && m[:mo] && m[:dd]
|
152
|
+
mmm = DateTime.parse(isodate).localize(@lang.to_sym).#with_timezone("UCT").
|
153
|
+
to_additional_s("MMM")
|
154
|
+
@i18n.l10n("#{m[:dd]} #{mmm} #{m[:yr]}")
|
155
|
+
end
|
156
|
+
|
157
|
+
def techreport(isoxml, _out)
|
158
|
+
a = isoxml&.at(ns("//bibdata/ext/meeting"))&.text and set(:meeting, a)
|
159
|
+
a = isoxml&.at(ns("//bibdata/ext/intended-type"))&.text and
|
160
|
+
set(:intended_type, a)
|
161
|
+
a = isoxml&.at(ns("//bibdata/ext/source"))&.text and set(:source, a)
|
162
|
+
if o = isoxml&.at(ns("//bibdata/ext/meeting-date/on"))&.text
|
163
|
+
set(:meeting_date, ddMMMYYYY(o))
|
164
|
+
elsif f = isoxml&.at(ns("//bibdata/ext/meeting-date/from"))&.text
|
165
|
+
t = isoxml&.at(ns("//bibdata/ext/meeting-date/to"))&.text
|
166
|
+
set(:meeting_date, "#{ddMMMYYYY(f)}/#{ddMMMYYYY(t)}")
|
167
|
+
end
|
168
|
+
end
|
94
169
|
end
|
95
170
|
end
|
96
171
|
end
|
@@ -16,6 +16,8 @@ module IsoDoc
|
|
16
16
|
case doctype = docxml&.at(ns("//bibdata/ext/doctype"))&.text
|
17
17
|
when "resolution" then "itu.resolution.xsl"
|
18
18
|
when "recommendation-annex" then "itu.recommendation-annex.xsl"
|
19
|
+
when "technical-report" then "itu.technical-report.xsl"
|
20
|
+
when "technical-paper" then "itu.technical-paper.xsl"
|
19
21
|
else
|
20
22
|
"itu.recommendation.xsl"
|
21
23
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require_relative "init"
|
2
|
+
require "roman-numerals"
|
2
3
|
require "isodoc"
|
3
4
|
|
4
5
|
module IsoDoc
|
@@ -48,6 +49,73 @@ module IsoDoc
|
|
48
49
|
node.add_child(link)
|
49
50
|
end
|
50
51
|
|
52
|
+
def bibdata_i18n(b)
|
53
|
+
super
|
54
|
+
bibdata_dates(b)
|
55
|
+
bibdata_title(b)
|
56
|
+
amendment_id(b)
|
57
|
+
end
|
58
|
+
|
59
|
+
def bibdata_dates(b)
|
60
|
+
b.xpath(ns("./date")).each do |d|
|
61
|
+
d.next = d.dup
|
62
|
+
d.next["format"] = "ddMMMyyyy"
|
63
|
+
d.next.children = ddMMMyyyy(d.text)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def bibdata_title(b)
|
68
|
+
b&.at(ns("./ext/doctype"))&.text == "service-publication" or return
|
69
|
+
date = b&.at(ns("./date[@type = 'published']"))&.text or return
|
70
|
+
text = l10n(@i18n.get["position_on"].sub(/%/, ddmmmmyyyy(date)))
|
71
|
+
ins = b.at(ns("./title"))
|
72
|
+
ins.next = <<~END
|
73
|
+
<title language="#{@lang}" format="text/plain" type="position-sp">#{text}</title>
|
74
|
+
END
|
75
|
+
end
|
76
|
+
|
77
|
+
def ddMMMyyyy(date)
|
78
|
+
d = date.split(/-/).map { |x| x.sub(/^0/, "") }
|
79
|
+
if @lang == "zh"
|
80
|
+
d[0] += "年" if d.dig(0)
|
81
|
+
d[1] += "月" if d.dig(1)
|
82
|
+
d[2] += "日" if d.dig(2)
|
83
|
+
d.join("")
|
84
|
+
elsif @lang == "ar"
|
85
|
+
d[1] = ::RomanNumerals.to_roman(d[1].to_i).upcase if d.dig(1)
|
86
|
+
d.join(".")
|
87
|
+
else
|
88
|
+
d[1] = ::RomanNumerals.to_roman(d[1].to_i).upcase if d.dig(1)
|
89
|
+
d.reverse.join(".")
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
def ddmmmmyyyy(date)
|
94
|
+
if @lang == "zh"
|
95
|
+
ddMMMyyyy(date)
|
96
|
+
else
|
97
|
+
d = date.split(/-/)
|
98
|
+
d[1] = @meta.months[d[1].to_sym] if d.dig(1)
|
99
|
+
d[2] = d[2].sub(/^0/, "") if d.dig(2)
|
100
|
+
l10n(d.reverse.join(" "))
|
101
|
+
end
|
102
|
+
end
|
103
|
+
|
104
|
+
def amendment_id(b)
|
105
|
+
%w(amendment corrigendum).each do |w|
|
106
|
+
if dn = b.at(ns("./ext/structuredidentifier/#{w}"))
|
107
|
+
dn["language"] = ""
|
108
|
+
dn.next = dn.dup
|
109
|
+
dn.next["language"] = @lang
|
110
|
+
dn.next.children = @i18n.l10n("#{@i18n.get[w]} #{dn&.text}")
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def twitter_cldr_localiser_symbols
|
116
|
+
{group: "'"}
|
117
|
+
end
|
118
|
+
|
51
119
|
include Init
|
52
120
|
end
|
53
121
|
end
|
data/lib/isodoc/itu/ref.rb
CHANGED
@@ -5,19 +5,6 @@ require "fileutils"
|
|
5
5
|
module IsoDoc
|
6
6
|
module ITU
|
7
7
|
module BaseConvert
|
8
|
-
=begin
|
9
|
-
def norm_ref(isoxml, out, num)
|
10
|
-
q = "//bibliography/references[@normative = 'true']"
|
11
|
-
f = isoxml.at(ns(q)) or return num
|
12
|
-
out.div do |div|
|
13
|
-
num = num + 1
|
14
|
-
clause_name(num, f.at(ns("./title")), div, nil)
|
15
|
-
biblio_list(f, div, false)
|
16
|
-
end
|
17
|
-
num
|
18
|
-
end
|
19
|
-
=end
|
20
|
-
|
21
8
|
def nonstd_bibitem(list, b, ordinal, biblio)
|
22
9
|
list.tr **attr_code(iso_bibitem_entry_attrs(b, biblio)) do |ref|
|
23
10
|
id = render_identifier(bibitem_ref_code(b))
|
data/lib/isodoc/itu/terms.rb
CHANGED
@@ -1,35 +1,6 @@
|
|
1
1
|
module IsoDoc
|
2
2
|
module ITU
|
3
3
|
module BaseConvert
|
4
|
-
=begin
|
5
|
-
def terms_defs(node, out, num)
|
6
|
-
f = node.at(ns(IsoDoc::Convert::TERM_CLAUSE)) or return num
|
7
|
-
out.div **attr_code(id: f["id"]) do |div|
|
8
|
-
num = num + 1
|
9
|
-
clause_name(num, f.at(ns("./title")), div, nil)
|
10
|
-
if f.at(ns("./clause | ./terms | ./term")).nil? then out.p "None."
|
11
|
-
else
|
12
|
-
f.children.reject { |c1| c1.name == "title" }.each do |c1|
|
13
|
-
parse(c1, div)
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
num
|
18
|
-
end
|
19
|
-
|
20
|
-
def terms_parse(node, out)
|
21
|
-
out.div **attr_code(id: node["id"]) do |div|
|
22
|
-
clause_parse_title(node, div, node.at(ns("./title")), out)
|
23
|
-
if node.at(ns("./clause | ./term")).nil? then out.p "None."
|
24
|
-
else
|
25
|
-
node.children.reject { |c1| c1.name == "title" }.each do |c1|
|
26
|
-
parse(c1, div)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
=end
|
32
|
-
|
33
4
|
def termdef_parse1(node, div, defn, source)
|
34
5
|
div.p **{ class: "TermNum", id: node["id"] } do |p|
|
35
6
|
p.b do |b|
|
@@ -37,8 +8,8 @@ module IsoDoc
|
|
37
8
|
insert_tab(b, 1)
|
38
9
|
node&.at(ns("./preferred"))&.children&.each { |n| parse(n, b) }
|
39
10
|
end
|
40
|
-
source and p << " #{bracket_opt(source.value)}"
|
41
11
|
p << ": "
|
12
|
+
source and p << "#{bracket_opt(source.value)} "
|
42
13
|
end
|
43
14
|
defn and defn.children.each { |n| parse(n, div) }
|
44
15
|
end
|
@@ -56,6 +27,12 @@ module IsoDoc
|
|
56
27
|
end
|
57
28
|
end
|
58
29
|
|
30
|
+
def bracket_opt(b)
|
31
|
+
return b if b.nil?
|
32
|
+
return b if /^\[.+\]$/.match(b)
|
33
|
+
"[#{b}]"
|
34
|
+
end
|
35
|
+
|
59
36
|
def termnote_delim
|
60
37
|
" – "
|
61
38
|
end
|
@@ -55,14 +55,17 @@ module IsoDoc
|
|
55
55
|
historybox = docxml.at("//div[@id='historybox']")
|
56
56
|
sourcebox = docxml.at("//div[@id='sourcebox']")
|
57
57
|
keywordsbox = docxml.at("//div[@id='keywordsbox']")
|
58
|
+
changelogbox = docxml.at("//div[@id='change_logbox']")
|
58
59
|
abstract = docxml.at("//div[@class = 'Abstract']")
|
59
60
|
history = docxml.at("//div[@class = 'history']")
|
60
61
|
source = docxml.at("//div[@class = 'source']")
|
61
|
-
keywords = docxml.at("//div[@class = '
|
62
|
+
keywords = docxml.at("//div[@class = 'Keyword']")
|
63
|
+
changelog = docxml.at("//div[@id = 'change_log']")
|
62
64
|
abstract.parent = abstractbox if abstract && abstractbox
|
63
65
|
history.parent = historybox if history && historybox
|
64
66
|
source.parent = sourcebox if source && sourcebox
|
65
67
|
keywords.parent = keywordsbox if keywords && keywordsbox
|
68
|
+
changelog.parent = changelogbox if changelog && changelogbox
|
66
69
|
end
|
67
70
|
|
68
71
|
def toWord(result, filename, dir, header)
|
@@ -109,6 +112,7 @@ module IsoDoc
|
|
109
112
|
%w(copyright license legal).each do |t|
|
110
113
|
dest = docxml.at("//div[@id = 'boilerplate-#{t}-destination']")
|
111
114
|
auth = docxml.at("//div[@class = 'boilerplate-#{t}']")
|
115
|
+
auth.remove if auth && !dest
|
112
116
|
next unless auth && dest
|
113
117
|
t == "copyright" and p = auth&.at(".//p") and
|
114
118
|
p["class"] = "boilerplateHdr"
|
@@ -64,12 +64,26 @@ module IsoDoc
|
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
67
|
+
def convert1(docxml, filename, dir)
|
68
|
+
if docxml&.at(ns("//bibdata/ext/doctype"))&.text == "service-publication"
|
69
|
+
@wordcoverpage = html_doc_path("word_itu_titlepage_sp.html")
|
70
|
+
options[:bodyfont] = "Arial"
|
71
|
+
options[:headerfont] = "Arial"
|
72
|
+
end
|
73
|
+
super
|
74
|
+
end
|
75
|
+
|
67
76
|
def default_fonts(options)
|
68
77
|
{ bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' :
|
69
78
|
'"Times New Roman",serif'),
|
70
79
|
headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' :
|
71
80
|
'"Times New Roman",serif'),
|
72
|
-
monospacefont: '"Courier New",monospace'
|
81
|
+
monospacefont: '"Courier New",monospace',
|
82
|
+
normalfontsize: "12.0pt",
|
83
|
+
footnotefontsize: "11.0pt",
|
84
|
+
smallerfontsize: "11.0pt",
|
85
|
+
monospacefontsize: "10.0pt",
|
86
|
+
}
|
73
87
|
end
|
74
88
|
|
75
89
|
def default_file_locations(options)
|
data/lib/isodoc/itu/xref.rb
CHANGED
@@ -20,7 +20,7 @@ module IsoDoc
|
|
20
20
|
@labels["appendix"] : @labels["annex"]
|
21
21
|
@anchors[clause["id"]] =
|
22
22
|
{ label: annex_name_lbl(clause, num), type: "clause",
|
23
|
-
xref: "#{lbl} #{num}", level: 1, value: num }
|
23
|
+
xref: l10n("#{lbl} #{num}"), level: 1, value: num }
|
24
24
|
if a = single_annex_special_section(clause)
|
25
25
|
annex_names1(a, "#{num}", 1)
|
26
26
|
else
|
@@ -51,7 +51,7 @@ module IsoDoc
|
|
51
51
|
|
52
52
|
def annex_names1(clause, num, level)
|
53
53
|
@anchors[clause["id"]] =
|
54
|
-
{ label: num, xref: "#{@labels["annex_subclause"]} #{num}",
|
54
|
+
{ label: num, xref: l10n("#{@labels["annex_subclause"]} #{num}"),
|
55
55
|
level: level, type: "clause" }
|
56
56
|
clause.xpath(ns("./clause | ./references | ./terms | ./definitions"))
|
57
57
|
.each_with_index do |c, i|
|
@@ -2,14 +2,6 @@ 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
|
-
|
13
5
|
class Processor < Metanorma::Processor
|
14
6
|
|
15
7
|
def initialize
|
data/metanorma-itu.gemspec
CHANGED
@@ -27,7 +27,9 @@ Gem::Specification.new do |spec|
|
|
27
27
|
spec.add_dependency "htmlentities", "~> 4.3.4"
|
28
28
|
spec.add_dependency "ruby-jing"
|
29
29
|
spec.add_dependency "metanorma-standoc", "~> 1.6.0"
|
30
|
-
spec.add_dependency "isodoc", "~> 1.
|
30
|
+
spec.add_dependency "isodoc", "~> 1.3.0"
|
31
|
+
spec.add_dependency "twitter_cldr"
|
32
|
+
spec.add_dependency "tzinfo-data" # we need this for windows only
|
31
33
|
|
32
34
|
spec.add_development_dependency "byebug", "~> 9.1"
|
33
35
|
spec.add_development_dependency "sassc", "2.4.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: metanorma-itu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ribose Inc.
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: htmlentities
|
@@ -58,14 +58,42 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 1.
|
61
|
+
version: 1.3.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 1.
|
68
|
+
version: 1.3.0
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: twitter_cldr
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: tzinfo-data
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
69
97
|
- !ruby/object:Gem::Dependency
|
70
98
|
name: byebug
|
71
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -243,9 +271,7 @@ executables: []
|
|
243
271
|
extensions: []
|
244
272
|
extra_rdoc_files: []
|
245
273
|
files:
|
246
|
-
- ".github/workflows/
|
247
|
-
- ".github/workflows/ubuntu.yml"
|
248
|
-
- ".github/workflows/windows.yml"
|
274
|
+
- ".github/workflows/rake.yml"
|
249
275
|
- ".gitignore"
|
250
276
|
- ".hound.yml"
|
251
277
|
- ".rubocop.yml"
|
@@ -283,10 +309,12 @@ files:
|
|
283
309
|
- lib/isodoc/itu/html/itu-document-comb.png
|
284
310
|
- lib/isodoc/itu/html/itu.css
|
285
311
|
- lib/isodoc/itu/html/itu.scss
|
312
|
+
- lib/isodoc/itu/html/logo-sp.png
|
286
313
|
- lib/isodoc/itu/html/logo.png
|
287
314
|
- lib/isodoc/itu/html/scripts.html
|
288
315
|
- lib/isodoc/itu/html/word_itu_intro.html
|
289
316
|
- lib/isodoc/itu/html/word_itu_titlepage.html
|
317
|
+
- lib/isodoc/itu/html/word_itu_titlepage_sp.html
|
290
318
|
- lib/isodoc/itu/html/wordstyle.css
|
291
319
|
- lib/isodoc/itu/html/wordstyle.scss
|
292
320
|
- lib/isodoc/itu/html_convert.rb
|
@@ -296,6 +324,8 @@ files:
|
|
296
324
|
- lib/isodoc/itu/itu.recommendation-annex.xsl
|
297
325
|
- lib/isodoc/itu/itu.recommendation.xsl
|
298
326
|
- lib/isodoc/itu/itu.resolution.xsl
|
327
|
+
- lib/isodoc/itu/itu.technical-paper.xsl
|
328
|
+
- lib/isodoc/itu/itu.technical-report.xsl
|
299
329
|
- lib/isodoc/itu/metadata.rb
|
300
330
|
- lib/isodoc/itu/pdf_convert.rb
|
301
331
|
- lib/isodoc/itu/presentation_xml_convert.rb
|
@@ -306,6 +336,7 @@ files:
|
|
306
336
|
- lib/isodoc/itu/xref.rb
|
307
337
|
- lib/metanorma-itu.rb
|
308
338
|
- lib/metanorma/itu.rb
|
339
|
+
- lib/metanorma/itu/fonts_manifest.yaml
|
309
340
|
- lib/metanorma/itu/processor.rb
|
310
341
|
- lib/metanorma/itu/version.rb
|
311
342
|
- metanorma-itu.gemspec
|