metanorma-iec 1.2.10 → 1.2.15

Sign up to get free protection for your applications and to get access to all the features.
@@ -13,8 +13,8 @@ module IsoDoc
13
13
 
14
14
  def default_fonts(options)
15
15
  {
16
- bodyfont: (options[:script] == "Hans" ? '"SimSun",serif' : '"Arial",sans-serif'),
17
- headerfont: (options[:script] == "Hans" ? '"SimHei",sans-serif' : '"Arial",sans-serif'),
16
+ bodyfont: (options[:script] == "Hans" ? '"Source Han Sans",serif' : '"Arial",sans-serif'),
17
+ headerfont: (options[:script] == "Hans" ? '"Source Han Sans",sans-serif' : '"Arial",sans-serif'),
18
18
  monospacefont: '"Courier New",monospace',
19
19
  normalfontsize: "10.0pt",
20
20
  footnotefontsize: "8.0pt",
@@ -18,6 +18,17 @@ module Metanorma
18
18
  )
19
19
  end
20
20
 
21
+ def fonts_manifest
22
+ {
23
+ "Arial" => nil,
24
+ "Times New Roman" => nil,
25
+ "STIX Two Math" => nil,
26
+ "Source Han Sans" => nil,
27
+ "Courier" => nil,
28
+ "Courier New" => nil,
29
+ }
30
+ end
31
+
21
32
  def version
22
33
  "Metanorma::Iec #{Metanorma::Iec::VERSION}"
23
34
  end
@@ -1,6 +1,6 @@
1
1
  module Metanorma
2
2
  module Iec
3
- VERSION = "1.2.10"
3
+ VERSION = "1.2.15"
4
4
  end
5
5
  end
6
6
 
@@ -13,7 +13,7 @@ Gem::Specification.new do |spec|
13
13
  spec.summary = "metanorma-iec lets you write IEC standards "\
14
14
  "in AsciiDoc."
15
15
  spec.description = <<~DESCRIPTION
16
- metanorma-iso lets you write IEC standards in AsciiDoc syntax.
16
+ metanorma-iec lets you write IEC standards in AsciiDoc syntax.
17
17
 
18
18
  This gem is in active development.
19
19
  DESCRIPTION
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.required_ruby_version = Gem::Requirement.new(">= 2.4.0")
29
29
 
30
30
  spec.add_dependency "ruby-jing"
31
- spec.add_dependency "metanorma-iso", "~> 1.5.10"
31
+ spec.add_dependency "metanorma-iso", "~> 1.7.0"
32
32
 
33
33
  spec.add_development_dependency "byebug"
34
34
  spec.add_development_dependency "sassc", "2.4.0"
@@ -2,6 +2,11 @@ require "spec_helper"
2
2
  require "fileutils"
3
3
 
4
4
  RSpec.describe Asciidoctor::Iec do
5
+ before(:all) do
6
+ @blank_hdr = blank_hdr_gen
7
+ end
8
+
9
+
5
10
  it "has a version number" do
6
11
  expect(Metanorma::Iec::VERSION).not_to be nil
7
12
  end
@@ -21,7 +26,7 @@ RSpec.describe Asciidoctor::Iec do
21
26
  expect(xmlpp(strip_guid(Asciidoctor.convert(<<~"INPUT", backend: :iec, header_footer: true)))).to be_equivalent_to xmlpp(<<~"OUTPUT")
22
27
  #{ASCIIDOC_BLANK_HDR}
23
28
  INPUT
24
- #{BLANK_HDR}
29
+ #{@blank_hdr}
25
30
  <sections/>
26
31
  </iec-standard>
27
32
  OUTPUT
@@ -38,7 +43,7 @@ RSpec.describe Asciidoctor::Iec do
38
43
  :novalid:
39
44
  :no-isobib:
40
45
  INPUT
41
- #{BLANK_HDR}
46
+ #{@blank_hdr}
42
47
  <sections/>
43
48
  </iec-standard>
44
49
  OUTPUT
@@ -93,6 +98,10 @@ RSpec.describe Asciidoctor::Iec do
93
98
  :library-ics: 1,2,3
94
99
  :accessibility-color-inside: true
95
100
  :price-code: XC
101
+ :cen-processing: true
102
+ :secretary: Fred Nerk
103
+ :interest-to-committees: TC 6121, SC 12
104
+ :obsoletes: ABC; DEF
96
105
  INPUT
97
106
  <?xml version="1.0" encoding="UTF-8"?>
98
107
  <iec-standard xmlns="https://www.metanorma.org/ns/iec" type="semantic" version="#{Metanorma::Iec::VERSION}">
@@ -142,6 +151,18 @@ RSpec.describe Asciidoctor::Iec do
142
151
  </organization>
143
152
  </owner>
144
153
  </copyright>
154
+ <relation type='obsoletes'>
155
+ <bibitem>
156
+ <title>--</title>
157
+ <docidentifier>ABC</docidentifier>
158
+ </bibitem>
159
+ </relation>
160
+ <relation type='obsoletes'>
161
+ <bibitem>
162
+ <title>--</title>
163
+ <docidentifier>DEF</docidentifier>
164
+ </bibitem>
165
+ </relation>
145
166
  <ext>
146
167
  <doctype>article</doctype>
147
168
  <horizontal>false</horizontal>
@@ -169,9 +190,142 @@ RSpec.describe Asciidoctor::Iec do
169
190
  <stagename>New work item proposal</stagename>
170
191
  <accessibility-color-inside>true</accessibility-color-inside>
171
192
  <price-code>XC</price-code>
193
+ <cen-processing>true</cen-processing>
194
+ <secretary>Fred Nerk</secretary>
195
+ <interest-to-committees>TC 6121, SC 12</interest-to-committees>
172
196
  </ext>
173
197
  </bibdata>
174
- #{UNPUBLISHED_BOILERPLATE}
198
+ <boilerplate>
199
+ <copyright-statement>
200
+ <clause>
201
+ <p id='_'>
202
+ <strong>Copyright © #{Time.now.year} International Electrotechnical Commission, IEC.</strong>
203
+ All rights reserved. It is permitted to download this electronic
204
+ file, to make a copy and to print out the content for the sole purpose
205
+ of preparing National Committee positions. You may not copy or
206
+ “mirror” the file or printed version of the document, or any part of
207
+ it, for any other purpose without permission in writing from IEC.
208
+ </p>
209
+ </clause>
210
+ </copyright-statement>
211
+ <legal-statement>
212
+ <clause>
213
+ <ol id='_'>
214
+ <li>
215
+ <p id='_'>
216
+ The International Electrotechnical Commission (IEC) is a worldwide
217
+ organization for standardization comprising all national
218
+ electrotechnical committees (IEC National Committees). The object
219
+ of IEC is to promote international co-operation on all questions
220
+ concerning standardization in the electrical and electronic
221
+ fields. To this end and in addition to other activities, IEC
222
+ publishes International Standards, Technical Specifications,
223
+ Technical Reports, Publicly Available Specifications (PAS) and
224
+ Guides (hereafter referred to as “IEC Publication(s)”). Their
225
+ preparation is entrusted to technical committees; any IEC National
226
+ Committee interested in the subject dealt with may participate in
227
+ this preparatory work. International, governmental and
228
+ non-governmental organizations liaising with the IEC also
229
+ participate in this preparation. IEC collaborates closely with the
230
+ International Organization for Standardization (ISO) in accordance
231
+ with conditions determined by agreement between the two
232
+ organizations.
233
+ </p>
234
+ </li>
235
+ <li>
236
+ <p id='_'>
237
+ The formal decisions or agreements of IEC on technical matters
238
+ express, as nearly as possible, an international consensus of
239
+ opinion on the relevant subjects since each technical committee
240
+ has representation from all interested IEC National Committees.
241
+ </p>
242
+ </li>
243
+ <li>
244
+ <p id='_'>
245
+ IEC Publications have the form of recommendations for
246
+ international use and are accepted by IEC National Committees in
247
+ that sense. While all reasonable efforts are made to ensure that
248
+ the technical content of IEC Publications is accurate, IEC cannot
249
+ be held responsible for the way in which they are used or for any
250
+ misinterpretation by any end user.
251
+ </p>
252
+ </li>
253
+ <li>
254
+ <p id='_'>
255
+ In order to promote international uniformity, IEC National
256
+ Committees undertake to apply IEC Publications transparently to
257
+ the maximum extent possible in their national and regional
258
+ publications. Any divergence between any IEC Publication and the
259
+ corresponding national or regional publication shall be clearly
260
+ indicated in the latter.
261
+ </p>
262
+ </li>
263
+ <li>
264
+ <p id='_'>
265
+ IEC itself does not provide any attestation of conformity.
266
+ Independent certification bodies provide conformity assessment
267
+ services and, in some areas, access to IEC marks of conformity.
268
+ IEC is not responsible for any services carried out by independent
269
+ certification bodies.
270
+ </p>
271
+ </li>
272
+ <li>
273
+ <p id='_'>All users should ensure that they have the latest edition of this publication.</p>
274
+ </li>
275
+ <li>
276
+ <p id='_'>
277
+ No liability shall attach to IEC or its directors, employees,
278
+ servants or agents including individual experts and members of its
279
+ technical committees and IEC National Committees for any personal
280
+ injury, property damage or other damage of any nature whatsoever,
281
+ whether direct or indirect, or for costs (including legal fees)
282
+ and expenses arising out of the publication, use of, or reliance
283
+ upon, this IEC Publication or any other IEC Publications.
284
+ </p>
285
+ </li>
286
+ <li>
287
+ <p id='_'>
288
+ Attention is drawn to the Normative references cited in this
289
+ publication. Use of the referenced publications is indispensable
290
+ for the correct application of this publication.
291
+ </p>
292
+ </li>
293
+ <li>
294
+ <p id='_'>
295
+ Attention is drawn to the possibility that some of the elements of
296
+ this IEC Publication may be the subject of patent rights. IEC
297
+ shall not be held responsible for identifying any or all such
298
+ patent rights.
299
+ </p>
300
+ </li>
301
+ </ol>
302
+ </clause>
303
+ </legal-statement>
304
+ <license-statement>
305
+ <clause>
306
+ <p id='_'>
307
+ This document is still under study and subject to change. It should
308
+ not be used for reference purposes.
309
+ </p>
310
+ until published as such.
311
+ <p id='_'>
312
+ Recipients of this document are invited to submit, with their
313
+ comments, notification of any relevant patent rights of which they are
314
+ aware and to provide supporting documentation.
315
+ </p>
316
+ </clause>
317
+ </license-statement>
318
+ <feedback-statement>
319
+ <clause id='boilerplate-cenelec-attention'>
320
+ <title>Attention IEC-CENELEC parallel voting</title>
321
+ <p id='_'>
322
+ The attention of IEC National Committees, members of CENELEC, is drawn
323
+ to the fact that this (NWIP) is submitted for parallel voting.
324
+ </p>
325
+ <p id='_'>The CENELEC members are invited to vote through the CENELEC voting system.</p>
326
+ </clause>
327
+ </feedback-statement>
328
+ </boilerplate>
175
329
  <sections/>
176
330
  </iec-standard>
177
331
  OUTPUT
@@ -191,7 +345,7 @@ RSpec.describe Asciidoctor::Iec do
191
345
  :tc-docnumber: 2000
192
346
  :language: el
193
347
  :script: Grek
194
- :publisher: IEC,IETF,ISO
348
+ :publisher: IEC;IETF;ISO
195
349
  :copyright-year: 2001
196
350
  :docstage: A2CD
197
351
  :doctype: technical-specification
@@ -292,7 +446,138 @@ RSpec.describe Asciidoctor::Iec do
292
446
  <stagename>Committee draft</stagename>
293
447
  </ext>
294
448
  </bibdata>
295
- #{UNPUBLISHED_BOILERPLATE.sub(/IEC #{Date.today.year}/, "ISO/IEC/IETF 2001")}
449
+ <boilerplate>
450
+ <copyright-statement>
451
+ <clause>
452
+ <p id='_'>
453
+ <strong>Copyright © 2001 International Electrotechnical Commission, IEC.</strong>
454
+ All rights reserved. It is permitted to download this electronic
455
+ file, to make a copy and to print out the content for the sole purpose
456
+ of preparing National Committee positions. You may not copy or
457
+ “mirror” the file or printed version of the document, or any part of
458
+ it, for any other purpose without permission in writing from IEC.
459
+ </p>
460
+ </clause>
461
+ </copyright-statement>
462
+ <legal-statement>
463
+ <clause>
464
+ <ol id='_'>
465
+ <li>
466
+ <p id='_'>
467
+ The International Electrotechnical Commission (IEC) is a worldwide
468
+ organization for standardization comprising all national
469
+ electrotechnical committees (IEC National Committees). The object
470
+ of IEC is to promote international co-operation on all questions
471
+ concerning standardization in the electrical and electronic
472
+ fields. To this end and in addition to other activities, IEC
473
+ publishes International Standards, Technical Specifications,
474
+ Technical Reports, Publicly Available Specifications (PAS) and
475
+ Guides (hereafter referred to as “IEC Publication(s)”). Their
476
+ preparation is entrusted to technical committees; any IEC National
477
+ Committee interested in the subject dealt with may participate in
478
+ this preparatory work. International, governmental and
479
+ non-governmental organizations liaising with the IEC also
480
+ participate in this preparation. IEC collaborates closely with the
481
+ International Organization for Standardization (ISO) in accordance
482
+ with conditions determined by agreement between the two
483
+ organizations.
484
+ </p>
485
+ </li>
486
+ <li>
487
+ <p id='_'>
488
+ The formal decisions or agreements of IEC on technical matters
489
+ express, as nearly as possible, an international consensus of
490
+ opinion on the relevant subjects since each technical committee
491
+ has representation from all interested IEC National Committees.
492
+ </p>
493
+ </li>
494
+ <li>
495
+ <p id='_'>
496
+ IEC Publications have the form of recommendations for
497
+ international use and are accepted by IEC National Committees in
498
+ that sense. While all reasonable efforts are made to ensure that
499
+ the technical content of IEC Publications is accurate, IEC cannot
500
+ be held responsible for the way in which they are used or for any
501
+ misinterpretation by any end user.
502
+ </p>
503
+ </li>
504
+ <li>
505
+ <p id='_'>
506
+ In order to promote international uniformity, IEC National
507
+ Committees undertake to apply IEC Publications transparently to
508
+ the maximum extent possible in their national and regional
509
+ publications. Any divergence between any IEC Publication and the
510
+ corresponding national or regional publication shall be clearly
511
+ indicated in the latter.
512
+ </p>
513
+ </li>
514
+ <li>
515
+ <p id='_'>
516
+ IEC itself does not provide any attestation of conformity.
517
+ Independent certification bodies provide conformity assessment
518
+ services and, in some areas, access to IEC marks of conformity.
519
+ IEC is not responsible for any services carried out by independent
520
+ certification bodies.
521
+ </p>
522
+ </li>
523
+ <li>
524
+ <p id='_'>All users should ensure that they have the latest edition of this publication.</p>
525
+ </li>
526
+ <li>
527
+ <p id='_'>
528
+ No liability shall attach to IEC or its directors, employees,
529
+ servants or agents including individual experts and members of its
530
+ technical committees and IEC National Committees for any personal
531
+ injury, property damage or other damage of any nature whatsoever,
532
+ whether direct or indirect, or for costs (including legal fees)
533
+ and expenses arising out of the publication, use of, or reliance
534
+ upon, this IEC Publication or any other IEC Publications.
535
+ </p>
536
+ </li>
537
+ <li>
538
+ <p id='_'>
539
+ Attention is drawn to the Normative references cited in this
540
+ publication. Use of the referenced publications is indispensable
541
+ for the correct application of this publication.
542
+ </p>
543
+ </li>
544
+ <li>
545
+ <p id='_'>
546
+ Attention is drawn to the possibility that some of the elements of
547
+ this IEC Publication may be the subject of patent rights. IEC
548
+ shall not be held responsible for identifying any or all such
549
+ patent rights.
550
+ </p>
551
+ </li>
552
+ </ol>
553
+ </clause>
554
+ </legal-statement>
555
+ <license-statement>
556
+ <clause>
557
+ <p id='_'>
558
+ This document is still under study and subject to change. It should
559
+ not be used for reference purposes.
560
+ </p>
561
+ until published as such.
562
+ <p id='_'>
563
+ Recipients of this document are invited to submit, with their
564
+ comments, notification of any relevant patent rights of which they are
565
+ aware and to provide supporting documentation.
566
+ </p>
567
+ </clause>
568
+ </license-statement>
569
+ <feedback-statement>
570
+ <clause id='boilerplate-cenelec-attention'>
571
+ <title>Attention IEC-CENELEC parallel voting</title>
572
+ <p id='_'>
573
+ The attention of IEC National Committees, members of CENELEC, is drawn
574
+ to the fact that this Committee Draft (CD) is submitted for parallel
575
+ voting.
576
+ </p>
577
+ <p id='_'>The CENELEC members are invited to vote through the CENELEC voting system.</p>
578
+ </clause>
579
+ </feedback-statement>
580
+ </boilerplate>
296
581
  <sections/>
297
582
  </iec-standard>
298
583
  OUTPUT
@@ -397,7 +682,144 @@ RSpec.describe Asciidoctor::Iec do
397
682
  <stagename>Final draft international standard</stagename>
398
683
  </ext>
399
684
  </bibdata>
400
- #{UNPUBLISHED_BOILERPLATE}
685
+ <boilerplate>
686
+ <copyright-statement>
687
+ <clause>
688
+ <p id='_'>
689
+ <strong>Copyright © #{Time.now.year} International Electrotechnical Commission, IEC.</strong>
690
+ All rights reserved. It is permitted to download this electronic
691
+ file, to make a copy and to print out the content for the sole purpose
692
+ of preparing National Committee positions. You may not copy or
693
+ “mirror” the file or printed version of the document, or any part of
694
+ it, for any other purpose without permission in writing from IEC.
695
+ </p>
696
+ </clause>
697
+ </copyright-statement>
698
+ <legal-statement>
699
+ <clause>
700
+ <ol id='_'>
701
+ <li>
702
+ <p id='_'>
703
+ The International Electrotechnical Commission (IEC) is a worldwide
704
+ organization for standardization comprising all national
705
+ electrotechnical committees (IEC National Committees). The object
706
+ of IEC is to promote international co-operation on all questions
707
+ concerning standardization in the electrical and electronic
708
+ fields. To this end and in addition to other activities, IEC
709
+ publishes International Standards, Technical Specifications,
710
+ Technical Reports, Publicly Available Specifications (PAS) and
711
+ Guides (hereafter referred to as “IEC Publication(s)”). Their
712
+ preparation is entrusted to technical committees; any IEC National
713
+ Committee interested in the subject dealt with may participate in
714
+ this preparatory work. International, governmental and
715
+ non-governmental organizations liaising with the IEC also
716
+ participate in this preparation. IEC collaborates closely with the
717
+ International Organization for Standardization (ISO) in accordance
718
+ with conditions determined by agreement between the two
719
+ organizations.
720
+ </p>
721
+ </li>
722
+ <li>
723
+ <p id='_'>
724
+ The formal decisions or agreements of IEC on technical matters
725
+ express, as nearly as possible, an international consensus of
726
+ opinion on the relevant subjects since each technical committee
727
+ has representation from all interested IEC National Committees.
728
+ </p>
729
+ </li>
730
+ <li>
731
+ <p id='_'>
732
+ IEC Publications have the form of recommendations for
733
+ international use and are accepted by IEC National Committees in
734
+ that sense. While all reasonable efforts are made to ensure that
735
+ the technical content of IEC Publications is accurate, IEC cannot
736
+ be held responsible for the way in which they are used or for any
737
+ misinterpretation by any end user.
738
+ </p>
739
+ </li>
740
+ <li>
741
+ <p id='_'>
742
+ In order to promote international uniformity, IEC National
743
+ Committees undertake to apply IEC Publications transparently to
744
+ the maximum extent possible in their national and regional
745
+ publications. Any divergence between any IEC Publication and the
746
+ corresponding national or regional publication shall be clearly
747
+ indicated in the latter.
748
+ </p>
749
+ </li>
750
+ <li>
751
+ <p id='_'>
752
+ IEC itself does not provide any attestation of conformity.
753
+ Independent certification bodies provide conformity assessment
754
+ services and, in some areas, access to IEC marks of conformity.
755
+ IEC is not responsible for any services carried out by independent
756
+ certification bodies.
757
+ </p>
758
+ </li>
759
+ <li>
760
+ <p id='_'>All users should ensure that they have the latest edition of this publication.</p>
761
+ </li>
762
+ <li>
763
+ <p id='_'>
764
+ No liability shall attach to IEC or its directors, employees,
765
+ servants or agents including individual experts and members of its
766
+ technical committees and IEC National Committees for any personal
767
+ injury, property damage or other damage of any nature whatsoever,
768
+ whether direct or indirect, or for costs (including legal fees)
769
+ and expenses arising out of the publication, use of, or reliance
770
+ upon, this IEC Publication or any other IEC Publications.
771
+ </p>
772
+ </li>
773
+ <li>
774
+ <p id='_'>
775
+ Attention is drawn to the Normative references cited in this
776
+ publication. Use of the referenced publications is indispensable
777
+ for the correct application of this publication.
778
+ </p>
779
+ </li>
780
+ <li>
781
+ <p id='_'>
782
+ Attention is drawn to the possibility that some of the elements of
783
+ this IEC Publication may be the subject of patent rights. IEC
784
+ shall not be held responsible for identifying any or all such
785
+ patent rights.
786
+ </p>
787
+ </li>
788
+ </ol>
789
+ </clause>
790
+ </legal-statement>
791
+ <license-statement>
792
+ <clause>
793
+ <p id='_'>
794
+ This document is a draft distributed for approval. It may not be
795
+ referred to as an International Standard until published as such.
796
+ </p>
797
+ <p id='_'>
798
+ In addition to their evaluation as being acceptable for industrial,
799
+ technological, commercial and user purposes, Final Draft International
800
+ Standards may on occasion have to be considered in the light of their
801
+ potential to become standards to which reference may be made in
802
+ national regulations.
803
+ </p>
804
+ <p id='_'>
805
+ Recipients of this document are invited to submit, with their
806
+ comments, notification of any relevant patent rights of which they are
807
+ aware and to provide supporting documentation.
808
+ </p>
809
+ </clause>
810
+ </license-statement>
811
+ <feedback-statement>
812
+ <clause id='boilerplate-cenelec-attention'>
813
+ <title>Attention IEC-CENELEC parallel voting</title>
814
+ <p id='_'>
815
+ The attention of IEC National Committees, members of CENELEC, is drawn
816
+ to the fact that this Final Draft International Standard (FDIS) is
817
+ submitted for parallel voting.
818
+ </p>
819
+ <p id='_'>The CENELEC members are invited to vote through the CENELEC voting system.</p>
820
+ </clause>
821
+ </feedback-statement>
822
+ </boilerplate>
401
823
  <sections/>
402
824
  </iec-standard>
403
825
  OUTPUT
@@ -462,7 +884,7 @@ OUTPUT
462
884
  <stagename>International standard</stagename>
463
885
  </ext>
464
886
  </bibdata>
465
- #{BOILERPLATE}
887
+ #{boilerplate(Nokogiri::XML(BLANK_HDR + "</iec-standard>"))}
466
888
  <sections/>
467
889
  </iec-standard>
468
890
  OUTPUT
@@ -528,7 +950,7 @@ OUTPUT
528
950
  <stagename>International standard</stagename>
529
951
  </ext>
530
952
  </bibdata>
531
- #{BOILERPLATE}
953
+ #{boilerplate(Nokogiri::XML(BLANK_HDR + "</iec-standard>"))}
532
954
  <sections/>
533
955
  </iec-standard>
534
956
  OUTPUT
@@ -578,8 +1000,8 @@ OUTPUT
578
1000
  INPUT
579
1001
  html = File.read("test.html", encoding: "utf-8")
580
1002
  expect(html).to match(%r[\bpre[^{]+\{[^{]+font-family: "Courier New", monospace;]m)
581
- expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "SimSun", serif;]m)
582
- expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "SimHei", sans-serif;]m)
1003
+ expect(html).to match(%r[blockquote[^{]+\{[^{]+font-family: "Source Han Sans", serif;]m)
1004
+ expect(html).to match(%r[\.h2Annex[^{]+\{[^{]+font-family: "Source Han Sans", sans-serif;]m)
583
1005
  end
584
1006
 
585
1007
  it "uses specified fonts" do